| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 WaitUntilObserver* observer = WaitUntilObserver::create( | 144 WaitUntilObserver* observer = WaitUntilObserver::create( |
| 145 workerGlobalScope(), WaitUntilObserver::Message, eventID); | 145 workerGlobalScope(), WaitUntilObserver::Message, eventID); |
| 146 | 146 |
| 147 Event* event = | 147 Event* event = |
| 148 ExtendableMessageEvent::create(value, origin, ports, source, observer); | 148 ExtendableMessageEvent::create(value, origin, ports, source, observer); |
| 149 workerGlobalScope()->dispatchExtendableEvent(event, observer); | 149 workerGlobalScope()->dispatchExtendableEvent(event, observer); |
| 150 } | 150 } |
| 151 | 151 |
| 152 void ServiceWorkerGlobalScopeProxy::dispatchFetchEvent( | 152 void ServiceWorkerGlobalScopeProxy::dispatchFetchEvent( |
| 153 int fetchEventID, | 153 int fetchEventID, |
| 154 const WebServiceWorkerRequest& webRequest) { | 154 const WebServiceWorkerRequest& webRequest, |
| 155 bool navigationPreloadSent) { |
| 155 ScriptState::Scope scope( | 156 ScriptState::Scope scope( |
| 156 workerGlobalScope()->scriptController()->getScriptState()); | 157 workerGlobalScope()->scriptController()->getScriptState()); |
| 157 WaitUntilObserver* waitUntilObserver = WaitUntilObserver::create( | 158 WaitUntilObserver* waitUntilObserver = WaitUntilObserver::create( |
| 158 workerGlobalScope(), WaitUntilObserver::Fetch, fetchEventID); | 159 workerGlobalScope(), WaitUntilObserver::Fetch, fetchEventID); |
| 159 RespondWithObserver* respondWithObserver = RespondWithObserver::create( | 160 RespondWithObserver* respondWithObserver = RespondWithObserver::create( |
| 160 workerGlobalScope(), fetchEventID, webRequest.url(), webRequest.mode(), | 161 workerGlobalScope(), fetchEventID, webRequest.url(), webRequest.mode(), |
| 161 webRequest.frameType(), webRequest.requestContext(), waitUntilObserver); | 162 webRequest.frameType(), webRequest.requestContext(), waitUntilObserver); |
| 162 Request* request = Request::create( | 163 Request* request = Request::create( |
| 163 workerGlobalScope()->scriptController()->getScriptState(), webRequest); | 164 workerGlobalScope()->scriptController()->getScriptState(), webRequest); |
| 164 request->getHeaders()->setGuard(Headers::ImmutableGuard); | 165 request->getHeaders()->setGuard(Headers::ImmutableGuard); |
| 165 FetchEventInit eventInit; | 166 FetchEventInit eventInit; |
| 166 eventInit.setCancelable(true); | 167 eventInit.setCancelable(true); |
| 167 eventInit.setRequest(request); | 168 eventInit.setRequest(request); |
| 168 eventInit.setClientId( | 169 eventInit.setClientId( |
| 169 webRequest.isMainResourceLoad() ? WebString() : webRequest.clientId()); | 170 webRequest.isMainResourceLoad() ? WebString() : webRequest.clientId()); |
| 170 eventInit.setIsReload(webRequest.isReload()); | 171 eventInit.setIsReload(webRequest.isReload()); |
| 172 ScriptState* scriptState = |
| 173 workerGlobalScope()->scriptController()->getScriptState(); |
| 171 FetchEvent* fetchEvent = FetchEvent::create( | 174 FetchEvent* fetchEvent = FetchEvent::create( |
| 172 workerGlobalScope()->scriptController()->getScriptState(), | 175 scriptState, EventTypeNames::fetch, eventInit, respondWithObserver, |
| 173 EventTypeNames::fetch, eventInit, respondWithObserver, waitUntilObserver); | 176 waitUntilObserver, navigationPreloadSent); |
| 177 if (navigationPreloadSent) { |
| 178 ServiceWorkerGlobalScopeClient::from(workerGlobalScope()) |
| 179 ->registerPreloadResponseCallback( |
| 180 fetchEventID, |
| 181 fetchEvent->createPreloadResponseCallback(scriptState)); |
| 182 } |
| 174 waitUntilObserver->willDispatchEvent(); | 183 waitUntilObserver->willDispatchEvent(); |
| 175 respondWithObserver->willDispatchEvent(); | 184 respondWithObserver->willDispatchEvent(); |
| 176 DispatchEventResult dispatchResult = | 185 DispatchEventResult dispatchResult = |
| 177 workerGlobalScope()->dispatchEvent(fetchEvent); | 186 workerGlobalScope()->dispatchEvent(fetchEvent); |
| 178 respondWithObserver->didDispatchEvent(dispatchResult); | 187 respondWithObserver->didDispatchEvent(dispatchResult); |
| 179 // false is okay because waitUntil for fetch event doesn't care about the | 188 // false is okay because waitUntil for fetch event doesn't care about the |
| 180 // promise rejection or an uncaught runtime script error. | 189 // promise rejection or an uncaught runtime script error. |
| 181 waitUntilObserver->didDispatchEvent(false /* errorOccurred */); | 190 waitUntilObserver->didDispatchEvent(false /* errorOccurred */); |
| 182 } | 191 } |
| 183 | 192 |
| (...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 407 return *m_document; | 416 return *m_document; |
| 408 } | 417 } |
| 409 | 418 |
| 410 ServiceWorkerGlobalScope* ServiceWorkerGlobalScopeProxy::workerGlobalScope() | 419 ServiceWorkerGlobalScope* ServiceWorkerGlobalScopeProxy::workerGlobalScope() |
| 411 const { | 420 const { |
| 412 DCHECK(m_workerGlobalScope); | 421 DCHECK(m_workerGlobalScope); |
| 413 return m_workerGlobalScope; | 422 return m_workerGlobalScope; |
| 414 } | 423 } |
| 415 | 424 |
| 416 } // namespace blink | 425 } // namespace blink |
| OLD | NEW |