From 244c8ef1f729b5c89a2c3483ea3acd552d4fb5a7 Mon Sep 17 00:00:00 2001 From: Moonchild Date: Thu, 23 Apr 2020 16:48:48 +0000 Subject: Issue #80 - De-unify dom/xhr --- dom/xhr/XMLHttpRequestString.cpp | 91 ---------------------------------------- 1 file changed, 91 deletions(-) (limited to 'dom/xhr/XMLHttpRequestString.cpp') diff --git a/dom/xhr/XMLHttpRequestString.cpp b/dom/xhr/XMLHttpRequestString.cpp index c668b94f6..c2bde5e0e 100644 --- a/dom/xhr/XMLHttpRequestString.cpp +++ b/dom/xhr/XMLHttpRequestString.cpp @@ -12,97 +12,6 @@ namespace mozilla { namespace dom { -class XMLHttpRequestStringBuffer final -{ - friend class XMLHttpRequestStringWriterHelper; - friend class XMLHttpRequestStringSnapshotReaderHelper; - -public: - NS_INLINE_DECL_THREADSAFE_REFCOUNTING(XMLHttpRequestStringBuffer) - NS_DECL_OWNINGTHREAD - - XMLHttpRequestStringBuffer() - : mMutex("XMLHttpRequestStringBuffer::mMutex") - { - } - - uint32_t - Length() - { - MutexAutoLock lock(mMutex); - return mData.Length(); - } - - uint32_t - UnsafeLength() const - { - return mData.Length(); - } - - void - Append(const nsAString& aString) - { - NS_ASSERT_OWNINGTHREAD(XMLHttpRequestStringBuffer); - - MutexAutoLock lock(mMutex); - mData.Append(aString); - } - - MOZ_MUST_USE bool - GetAsString(nsAString& aString) - { - MutexAutoLock lock(mMutex); - return aString.Assign(mData, mozilla::fallible); - } - - size_t - SizeOfThis(MallocSizeOf aMallocSizeOf) const - { - return mData.SizeOfExcludingThisIfUnshared(aMallocSizeOf); - } - - MOZ_MUST_USE bool - GetAsString(DOMString& aString, uint32_t aLength) - { - MutexAutoLock lock(mMutex); - MOZ_ASSERT(aLength <= mData.Length()); - nsStringBuffer* buf = nsStringBuffer::FromString(mData); - if (buf) { - // We have to use SetEphemeralStringBuffer, because once we release our - // mutex mData can get mutated from some other thread while the DOMString - // is still alive. - aString.SetEphemeralStringBuffer(buf, aLength); - return true; - } - - // We can get here if mData is empty. In that case it won't have an - // nsStringBuffer.... - MOZ_ASSERT(mData.IsEmpty()); - return aString.AsAString().Assign(mData.BeginReading(), aLength, - mozilla::fallible); - } - - void - CreateSnapshot(XMLHttpRequestStringSnapshot& aSnapshot) - { - MutexAutoLock lock(mMutex); - aSnapshot.Set(this, mData.Length()); - } - -private: - ~XMLHttpRequestStringBuffer() - {} - - nsString& UnsafeData() - { - return mData; - } - - Mutex mMutex; - - // The following member variable is protected by mutex. - nsString mData; -}; // --------------------------------------------------------------------------- // XMLHttpRequestString -- cgit v1.2.3