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

Side by Side Diff: Source/modules/serviceworkers/BodyStreamBuffer.cpp

Issue 787793002: [ServiceWorker] Add contentType argument to BodyStreamBuffer::readAllAndCreateBlobHandle. (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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "config.h" 5 #include "config.h"
6 #include "modules/serviceworkers/BodyStreamBuffer.h" 6 #include "modules/serviceworkers/BodyStreamBuffer.h"
7 7
8 #include "core/dom/DOMArrayBuffer.h" 8 #include "core/dom/DOMArrayBuffer.h"
9 9
10 namespace blink { 10 namespace blink {
11 11
12 namespace { 12 namespace {
13 13
14 class BlobCreator final : public BodyStreamBuffer::Observer { 14 class BlobCreator final : public BodyStreamBuffer::Observer {
15 public: 15 public:
16 BlobCreator(BodyStreamBuffer* buffer, BodyStreamBuffer::BlobHandleCreatorCli ent* client) 16 BlobCreator(BodyStreamBuffer* buffer, const String& contentType, BodyStreamB uffer::BlobHandleCreatorClient* client)
17 : m_buffer(buffer) 17 : m_buffer(buffer)
18 , m_client(client) 18 , m_client(client)
19 , m_blobData(BlobData::create()) 19 , m_blobData(BlobData::create())
20 { 20 {
21 m_blobData->setContentType(contentType);
21 } 22 }
22 ~BlobCreator() override { } 23 ~BlobCreator() override { }
23 void trace(Visitor* visitor) override 24 void trace(Visitor* visitor) override
24 { 25 {
25 visitor->trace(m_buffer); 26 visitor->trace(m_buffer);
26 visitor->trace(m_client); 27 visitor->trace(m_client);
27 BodyStreamBuffer::Observer::trace(visitor); 28 BodyStreamBuffer::Observer::trace(visitor);
28 } 29 }
29 void onWrite() override 30 void onWrite() override
30 { 31 {
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 void BodyStreamBuffer::error(PassRefPtrWillBeRawPtr<DOMException> exception) 102 void BodyStreamBuffer::error(PassRefPtrWillBeRawPtr<DOMException> exception)
102 { 103 {
103 ASSERT(exception); 104 ASSERT(exception);
104 ASSERT(!m_isClosed); 105 ASSERT(!m_isClosed);
105 ASSERT(!m_exception); 106 ASSERT(!m_exception);
106 m_exception = exception; 107 m_exception = exception;
107 if (m_observer) 108 if (m_observer)
108 m_observer->onError(); 109 m_observer->onError();
109 } 110 }
110 111
111 bool BodyStreamBuffer::readAllAndCreateBlobHandle(BlobHandleCreatorClient* clien t) 112 bool BodyStreamBuffer::readAllAndCreateBlobHandle(const String& contentType, Blo bHandleCreatorClient* client)
112 { 113 {
113 if (m_observer) 114 if (m_observer)
114 return false; 115 return false;
115 BlobCreator* blobCreator = new BlobCreator(this, client); 116 BlobCreator* blobCreator = new BlobCreator(this, contentType, client);
116 blobCreator->start(); 117 blobCreator->start();
117 return true; 118 return true;
118 } 119 }
119 120
120 bool BodyStreamBuffer::registerObserver(Observer* observer) 121 bool BodyStreamBuffer::registerObserver(Observer* observer)
121 { 122 {
122 if (m_observer) 123 if (m_observer)
123 return false; 124 return false;
124 ASSERT(observer); 125 ASSERT(observer);
125 m_observer = observer; 126 m_observer = observer;
(...skipping 10 matching lines...) Expand all
136 visitor->trace(m_exception); 137 visitor->trace(m_exception);
137 visitor->trace(m_observer); 138 visitor->trace(m_observer);
138 } 139 }
139 140
140 BodyStreamBuffer::BodyStreamBuffer() 141 BodyStreamBuffer::BodyStreamBuffer()
141 : m_isClosed(false) 142 : m_isClosed(false)
142 { 143 {
143 } 144 }
144 145
145 } // namespace blink 146 } // namespace blink
OLDNEW
« 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