| 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 |