Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(101)

Unified Diff: Source/modules/serviceworkers/BodyStreamBuffer.cpp

Issue 795323003: Move Fetch API releted code to modules/fetch. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/modules/serviceworkers/BodyStreamBuffer.cpp
diff --git a/Source/modules/serviceworkers/BodyStreamBuffer.cpp b/Source/modules/serviceworkers/BodyStreamBuffer.cpp
deleted file mode 100644
index d92a25b79d9307f451d274b8afe6792c4871ceca..0000000000000000000000000000000000000000
--- a/Source/modules/serviceworkers/BodyStreamBuffer.cpp
+++ /dev/null
@@ -1,146 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "config.h"
-#include "modules/serviceworkers/BodyStreamBuffer.h"
-
-#include "core/dom/DOMArrayBuffer.h"
-
-namespace blink {
-
-namespace {
-
-class BlobCreator final : public BodyStreamBuffer::Observer {
-public:
- BlobCreator(BodyStreamBuffer* buffer, const String& contentType, BodyStreamBuffer::BlobHandleCreatorClient* client)
- : m_buffer(buffer)
- , m_client(client)
- , m_blobData(BlobData::create())
- {
- m_blobData->setContentType(contentType);
- }
- ~BlobCreator() override { }
- void trace(Visitor* visitor) override
- {
- visitor->trace(m_buffer);
- visitor->trace(m_client);
- BodyStreamBuffer::Observer::trace(visitor);
- }
- void onWrite() override
- {
- ASSERT(m_buffer);
- while (RefPtr<DOMArrayBuffer> buf = m_buffer->read()) {
- m_blobData->appendBytes(buf->data(), buf->byteLength());
- }
- }
- void onClose() override
- {
- ASSERT(m_buffer);
- const long long size = m_blobData->length();
- m_client->didCreateBlobHandle(BlobDataHandle::create(m_blobData.release(), size));
- cleanup();
- }
- void onError() override
- {
- ASSERT(m_buffer);
- m_client->didFail(m_buffer->exception());
- cleanup();
- }
- void start()
- {
- ASSERT(!m_buffer->isObserverRegistered());
- m_buffer->registerObserver(this);
- onWrite();
- if (m_buffer->hasError()) {
- return onError();
- }
- if (m_buffer->isClosed())
- return onClose();
- }
- void cleanup()
- {
- m_buffer->unregisterObserver();
- m_buffer.clear();
- m_client.clear();
- m_blobData.clear();
- }
-private:
- Member<BodyStreamBuffer> m_buffer;
- Member<BodyStreamBuffer::BlobHandleCreatorClient> m_client;
- OwnPtr<BlobData> m_blobData;
-};
-
-} // namespace
-
-PassRefPtr<DOMArrayBuffer> BodyStreamBuffer::read()
-{
- if (m_queue.isEmpty())
- return PassRefPtr<DOMArrayBuffer>();
- return m_queue.takeFirst();
-}
-
-void BodyStreamBuffer::write(PassRefPtr<DOMArrayBuffer> chunk)
-{
- ASSERT(!m_isClosed);
- ASSERT(!m_exception);
- ASSERT(chunk);
- m_queue.append(chunk);
- if (m_observer)
- m_observer->onWrite();
-}
-
-void BodyStreamBuffer::close()
-{
- ASSERT(!m_isClosed);
- ASSERT(!m_exception);
- m_isClosed = true;
- if (m_observer)
- m_observer->onClose();
-}
-
-void BodyStreamBuffer::error(PassRefPtrWillBeRawPtr<DOMException> exception)
-{
- ASSERT(exception);
- ASSERT(!m_isClosed);
- ASSERT(!m_exception);
- m_exception = exception;
- if (m_observer)
- m_observer->onError();
-}
-
-bool BodyStreamBuffer::readAllAndCreateBlobHandle(const String& contentType, BlobHandleCreatorClient* client)
-{
- if (m_observer)
- return false;
- BlobCreator* blobCreator = new BlobCreator(this, contentType, client);
- blobCreator->start();
- return true;
-}
-
-bool BodyStreamBuffer::registerObserver(Observer* observer)
-{
- if (m_observer)
- return false;
- ASSERT(observer);
- m_observer = observer;
- return true;
-}
-
-void BodyStreamBuffer::unregisterObserver()
-{
- m_observer.clear();
-}
-
-void BodyStreamBuffer::trace(Visitor* visitor)
-{
- visitor->trace(m_exception);
- visitor->trace(m_observer);
-}
-
-BodyStreamBuffer::BodyStreamBuffer()
- : m_isClosed(false)
-{
-}
-
-} // namespace blink
« no previous file with comments | « Source/modules/serviceworkers/BodyStreamBuffer.h ('k') | Source/modules/serviceworkers/BodyStreamBufferTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698