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

Side by Side Diff: third_party/WebKit/Source/modules/serviceworkers/FetchEvent.cpp

Issue 2475663003: Rename navigationPreload of FetchEvent to preloadResponse (Closed)
Patch Set: update global-interface-listing-service-worker-expected.txt Created 4 years, 1 month 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 "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 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 } 49 }
50 50
51 void FetchEvent::respondWith(ScriptState* scriptState, 51 void FetchEvent::respondWith(ScriptState* scriptState,
52 ScriptPromise scriptPromise, 52 ScriptPromise scriptPromise,
53 ExceptionState& exceptionState) { 53 ExceptionState& exceptionState) {
54 stopImmediatePropagation(); 54 stopImmediatePropagation();
55 if (m_observer) 55 if (m_observer)
56 m_observer->respondWith(scriptState, scriptPromise, exceptionState); 56 m_observer->respondWith(scriptState, scriptPromise, exceptionState);
57 } 57 }
58 58
59 ScriptPromise FetchEvent::navigationPreload(ScriptState* scriptState) { 59 ScriptPromise FetchEvent::preloadResponse(ScriptState* scriptState) {
60 return m_navigationPreloadProperty->promise(scriptState->world()); 60 return m_preloadResponseProperty->promise(scriptState->world());
61 } 61 }
62 62
63 const AtomicString& FetchEvent::interfaceName() const { 63 const AtomicString& FetchEvent::interfaceName() const {
64 return EventNames::FetchEvent; 64 return EventNames::FetchEvent;
65 } 65 }
66 66
67 FetchEvent::FetchEvent(ScriptState* scriptState, 67 FetchEvent::FetchEvent(ScriptState* scriptState,
68 const AtomicString& type, 68 const AtomicString& type,
69 const FetchEventInit& initializer, 69 const FetchEventInit& initializer,
70 RespondWithObserver* respondWithObserver, 70 RespondWithObserver* respondWithObserver,
71 WaitUntilObserver* waitUntilObserver, 71 WaitUntilObserver* waitUntilObserver,
72 bool navigationPreloadSent) 72 bool navigationPreloadSent)
73 : ExtendableEvent(type, initializer, waitUntilObserver), 73 : ExtendableEvent(type, initializer, waitUntilObserver),
74 m_scriptState(scriptState), 74 m_scriptState(scriptState),
75 m_observer(respondWithObserver), 75 m_observer(respondWithObserver),
76 m_navigationPreloadProperty(new PreloadResponseProperty( 76 m_preloadResponseProperty(new PreloadResponseProperty(
77 scriptState->getExecutionContext(), 77 scriptState->getExecutionContext(),
78 this, 78 this,
79 PreloadResponseProperty::PreloadResponse)) { 79 PreloadResponseProperty::PreloadResponse)) {
80 if (!navigationPreloadSent) { 80 if (!navigationPreloadSent) {
81 // TODO(horo): This behavior is still under the spec discussion. 81 // TODO(horo): This behavior is still under the spec discussion.
82 // https://github.com/w3c/ServiceWorker/issues/920#issuecomment-255874864 82 // https://github.com/w3c/ServiceWorker/issues/920#issuecomment-255874864
83 m_navigationPreloadProperty->resolve(nullptr); 83 m_preloadResponseProperty->resolve(nullptr);
84 } 84 }
85 85
86 m_clientId = initializer.clientId(); 86 m_clientId = initializer.clientId();
87 m_isReload = initializer.isReload(); 87 m_isReload = initializer.isReload();
88 if (initializer.hasRequest()) { 88 if (initializer.hasRequest()) {
89 ScriptState::Scope scope(scriptState); 89 ScriptState::Scope scope(scriptState);
90 m_request = initializer.request(); 90 m_request = initializer.request();
91 v8::Local<v8::Value> request = toV8(m_request, scriptState); 91 v8::Local<v8::Value> request = toV8(m_request, scriptState);
92 v8::Local<v8::Value> event = toV8(this, scriptState); 92 v8::Local<v8::Value> event = toV8(this, scriptState);
93 if (event.IsEmpty()) { 93 if (event.IsEmpty()) {
(...skipping 13 matching lines...) Expand all
107 // TODO(yhirano): Add an assertion that it returns true once the 107 // TODO(yhirano): Add an assertion that it returns true once the
108 // graceful shutdown mechanism is introduced. 108 // graceful shutdown mechanism is introduced.
109 } 109 }
110 } 110 }
111 111
112 void FetchEvent::onNavigationPreloadResponse( 112 void FetchEvent::onNavigationPreloadResponse(
113 std::unique_ptr<WebServiceWorkerResponse> response, 113 std::unique_ptr<WebServiceWorkerResponse> response,
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_navigationPreloadProperty); 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 responseData->setURL(response->url());
125 responseData->setStatus(response->status()); 125 responseData->setStatus(response->status());
126 responseData->setStatusMessage(response->statusText()); 126 responseData->setStatusMessage(response->statusText());
127 responseData->setResponseTime(response->responseTime()); 127 responseData->setResponseTime(response->responseTime());
128 for (const auto& header : response->headers()) 128 for (const auto& header : response->headers())
129 responseData->headerList()->append(header.key, header.value); 129 responseData->headerList()->append(header.key, header.value);
130 FetchResponseData* taintedResponse = 130 FetchResponseData* taintedResponse =
131 responseData->createBasicFilteredResponse(); 131 responseData->createBasicFilteredResponse();
132 m_navigationPreloadProperty->resolve( 132 m_preloadResponseProperty->resolve(
133 Response::create(m_scriptState->getExecutionContext(), taintedResponse)); 133 Response::create(m_scriptState->getExecutionContext(), taintedResponse));
134 } 134 }
135 135
136 void FetchEvent::onNavigationPreloadError( 136 void FetchEvent::onNavigationPreloadError(
137 std::unique_ptr<WebServiceWorkerError> error) { 137 std::unique_ptr<WebServiceWorkerError> error) {
138 if (!m_scriptState->contextIsValid()) 138 if (!m_scriptState->contextIsValid())
139 return; 139 return;
140 DCHECK(m_navigationPreloadProperty); 140 DCHECK(m_preloadResponseProperty);
141 m_navigationPreloadProperty->reject( 141 m_preloadResponseProperty->reject(
142 ServiceWorkerError::take(nullptr, *error.get())); 142 ServiceWorkerError::take(nullptr, *error.get()));
143 } 143 }
144 144
145 DEFINE_TRACE(FetchEvent) { 145 DEFINE_TRACE(FetchEvent) {
146 visitor->trace(m_observer); 146 visitor->trace(m_observer);
147 visitor->trace(m_request); 147 visitor->trace(m_request);
148 visitor->trace(m_navigationPreloadProperty); 148 visitor->trace(m_preloadResponseProperty);
149 ExtendableEvent::trace(visitor); 149 ExtendableEvent::trace(visitor);
150 } 150 }
151 151
152 } // namespace blink 152 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698