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/serviceworkers/FetchEvent.h" | 5 #include "modules/serviceworkers/FetchEvent.h" |
6 | 6 |
7 #include "bindings/core/v8/ScriptState.h" | 7 #include "bindings/core/v8/ScriptState.h" |
8 #include "bindings/core/v8/ToV8.h" | 8 #include "bindings/core/v8/ToV8.h" |
9 #include "bindings/core/v8/V8HiddenValue.h" | 9 #include "bindings/core/v8/V8HiddenValue.h" |
10 #include "modules/fetch/BytesConsumerForDataConsumerHandle.h" | 10 #include "modules/fetch/BytesConsumerForDataConsumerHandle.h" |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
114 std::unique_ptr<WebDataConsumerHandle> dataConsumeHandle) { | 114 std::unique_ptr<WebDataConsumerHandle> dataConsumeHandle) { |
115 if (!m_scriptState->contextIsValid()) | 115 if (!m_scriptState->contextIsValid()) |
116 return; | 116 return; |
117 DCHECK(m_preloadResponseProperty); | 117 DCHECK(m_preloadResponseProperty); |
118 ScriptState::Scope scope(m_scriptState.get()); | 118 ScriptState::Scope scope(m_scriptState.get()); |
119 FetchResponseData* responseData = | 119 FetchResponseData* responseData = |
120 FetchResponseData::createWithBuffer(new BodyStreamBuffer( | 120 FetchResponseData::createWithBuffer(new BodyStreamBuffer( |
121 m_scriptState.get(), new BytesConsumerForDataConsumerHandle( | 121 m_scriptState.get(), new BytesConsumerForDataConsumerHandle( |
122 m_scriptState->getExecutionContext(), | 122 m_scriptState->getExecutionContext(), |
123 std::move(dataConsumeHandle)))); | 123 std::move(dataConsumeHandle)))); |
124 responseData->setURL(response->url()); | 124 const blink::WebVector<blink::WebURL>& webURLList = response->urlList(); |
125 // Navigation preload doesn't support redirect. | |
126 DCHECK_EQ(1u, webURLList.size()); | |
127 Vector<blink::KURL> urlList(1); | |
falken
2016/11/30 14:57:38
Sorry for the repeat comment aren't we in blink na
horo
2016/12/01 07:42:14
Done.
| |
128 urlList[0] = webURLList[0]; | |
129 responseData->setURLList(urlList); | |
125 responseData->setStatus(response->status()); | 130 responseData->setStatus(response->status()); |
126 responseData->setStatusMessage(response->statusText()); | 131 responseData->setStatusMessage(response->statusText()); |
127 responseData->setResponseTime(response->responseTime()); | 132 responseData->setResponseTime(response->responseTime()); |
128 for (const auto& header : response->headers()) | 133 for (const auto& header : response->headers()) |
129 responseData->headerList()->append(header.key, header.value); | 134 responseData->headerList()->append(header.key, header.value); |
130 FetchResponseData* taintedResponse = | 135 FetchResponseData* taintedResponse = |
131 responseData->createBasicFilteredResponse(); | 136 responseData->createBasicFilteredResponse(); |
132 m_preloadResponseProperty->resolve( | 137 m_preloadResponseProperty->resolve( |
133 Response::create(m_scriptState->getExecutionContext(), taintedResponse)); | 138 Response::create(m_scriptState->getExecutionContext(), taintedResponse)); |
134 } | 139 } |
135 | 140 |
136 void FetchEvent::onNavigationPreloadError( | 141 void FetchEvent::onNavigationPreloadError( |
137 std::unique_ptr<WebServiceWorkerError> error) { | 142 std::unique_ptr<WebServiceWorkerError> error) { |
138 if (!m_scriptState->contextIsValid()) | 143 if (!m_scriptState->contextIsValid()) |
139 return; | 144 return; |
140 DCHECK(m_preloadResponseProperty); | 145 DCHECK(m_preloadResponseProperty); |
141 m_preloadResponseProperty->reject( | 146 m_preloadResponseProperty->reject( |
142 ServiceWorkerError::take(nullptr, *error.get())); | 147 ServiceWorkerError::take(nullptr, *error.get())); |
143 } | 148 } |
144 | 149 |
145 DEFINE_TRACE(FetchEvent) { | 150 DEFINE_TRACE(FetchEvent) { |
146 visitor->trace(m_observer); | 151 visitor->trace(m_observer); |
147 visitor->trace(m_request); | 152 visitor->trace(m_request); |
148 visitor->trace(m_preloadResponseProperty); | 153 visitor->trace(m_preloadResponseProperty); |
149 ExtendableEvent::trace(visitor); | 154 ExtendableEvent::trace(visitor); |
150 } | 155 } |
151 | 156 |
152 } // namespace blink | 157 } // namespace blink |
OLD | NEW |