OLD | NEW |
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 "modules/fetch/FetchManager.h" | 5 #include "modules/fetch/FetchManager.h" |
6 | 6 |
7 #include "bindings/core/v8/ExceptionState.h" | 7 #include "bindings/core/v8/ExceptionState.h" |
8 #include "bindings/core/v8/ScriptPromiseResolver.h" | 8 #include "bindings/core/v8/ScriptPromiseResolver.h" |
9 #include "bindings/core/v8/ScriptState.h" | 9 #include "bindings/core/v8/ScriptState.h" |
10 #include "bindings/core/v8/V8ThrowException.h" | 10 #include "bindings/core/v8/V8ThrowException.h" |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
226 // be called before didGetReadable() is called | 226 // be called before didGetReadable() is called |
227 // when the data is ready. In that case, | 227 // when the data is ready. In that case, |
228 // didFinishLoading() doesn't clean up and call | 228 // didFinishLoading() doesn't clean up and call |
229 // notifyFinished(), so it is necessary to | 229 // notifyFinished(), so it is necessary to |
230 // explicitly finish the loader here. | 230 // explicitly finish the loader here. |
231 if (m_loader->m_didFinishLoading) | 231 if (m_loader->m_didFinishLoading) |
232 m_loader->loadSucceeded(); | 232 m_loader->loadSucceeded(); |
233 return; | 233 return; |
234 } | 234 } |
235 } | 235 } |
236 m_updater->update(new BytesConsumerForDataConsumerHandle( | 236 m_updater->update( |
237 m_response->getExecutionContext(), | 237 BytesConsumer::createErrored(BytesConsumer::Error(errorMessage))); |
238 createFetchDataConsumerHandleFromWebHandle( | |
239 createUnexpectedErrorDataConsumerHandle()))); | |
240 m_loader->performNetworkError(errorMessage); | 238 m_loader->performNetworkError(errorMessage); |
241 } | 239 } |
242 | 240 |
243 bool isFinished() const { return m_finished; } | 241 bool isFinished() const { return m_finished; } |
244 | 242 |
245 DEFINE_INLINE_TRACE() { | 243 DEFINE_INLINE_TRACE() { |
246 visitor->trace(m_updater); | 244 visitor->trace(m_updater); |
247 visitor->trace(m_response); | 245 visitor->trace(m_response); |
248 visitor->trace(m_loader); | 246 visitor->trace(m_loader); |
249 } | 247 } |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
412 RELEASE_NOTREACHED(); | 410 RELEASE_NOTREACHED(); |
413 break; | 411 break; |
414 } | 412 } |
415 } | 413 } |
416 | 414 |
417 FetchResponseData* responseData = nullptr; | 415 FetchResponseData* responseData = nullptr; |
418 SRIBytesConsumer* sriConsumer = nullptr; | 416 SRIBytesConsumer* sriConsumer = nullptr; |
419 if (m_request->integrity().isEmpty()) { | 417 if (m_request->integrity().isEmpty()) { |
420 responseData = FetchResponseData::createWithBuffer(new BodyStreamBuffer( | 418 responseData = FetchResponseData::createWithBuffer(new BodyStreamBuffer( |
421 scriptState, | 419 scriptState, |
422 createFetchDataConsumerHandleFromWebHandle(std::move(handle)))); | 420 new BytesConsumerForDataConsumerHandle( |
| 421 scriptState->getExecutionContext(), |
| 422 createFetchDataConsumerHandleFromWebHandle(std::move(handle))))); |
423 } else { | 423 } else { |
424 sriConsumer = new SRIBytesConsumer(); | 424 sriConsumer = new SRIBytesConsumer(); |
425 responseData = FetchResponseData::createWithBuffer( | 425 responseData = FetchResponseData::createWithBuffer( |
426 new BodyStreamBuffer(scriptState, sriConsumer)); | 426 new BodyStreamBuffer(scriptState, sriConsumer)); |
427 } | 427 } |
428 responseData->setStatus(response.httpStatusCode()); | 428 responseData->setStatus(response.httpStatusCode()); |
429 responseData->setStatusMessage(response.httpStatusText()); | 429 responseData->setStatusMessage(response.httpStatusText()); |
430 for (auto& it : response.httpHeaderFields()) | 430 for (auto& it : response.httpHeaderFields()) |
431 responseData->headerList()->append(it.key, it.value); | 431 responseData->headerList()->append(it.key, it.value); |
432 responseData->setURL(response.url()); | 432 responseData->setURL(response.url()); |
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
911 m_loaders.remove(loader); | 911 m_loaders.remove(loader); |
912 loader->dispose(); | 912 loader->dispose(); |
913 } | 913 } |
914 | 914 |
915 DEFINE_TRACE(FetchManager) { | 915 DEFINE_TRACE(FetchManager) { |
916 visitor->trace(m_loaders); | 916 visitor->trace(m_loaders); |
917 ContextLifecycleObserver::trace(visitor); | 917 ContextLifecycleObserver::trace(visitor); |
918 } | 918 } |
919 | 919 |
920 } // namespace blink | 920 } // namespace blink |
OLD | NEW |