| 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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 60 #include "public/platform/Platform.h" | 60 #include "public/platform/Platform.h" |
| 61 #include "public/platform/WebServiceWorkerSkipWaitingCallbacks.h" | 61 #include "public/platform/WebServiceWorkerSkipWaitingCallbacks.h" |
| 62 #include "public/platform/WebURL.h" | 62 #include "public/platform/WebURL.h" |
| 63 #include "wtf/CurrentTime.h" | 63 #include "wtf/CurrentTime.h" |
| 64 | 64 |
| 65 namespace blink { | 65 namespace blink { |
| 66 | 66 |
| 67 class ServiceWorkerGlobalScope::SkipWaitingCallback final : public WebServiceWor
kerSkipWaitingCallbacks { | 67 class ServiceWorkerGlobalScope::SkipWaitingCallback final : public WebServiceWor
kerSkipWaitingCallbacks { |
| 68 WTF_MAKE_NONCOPYABLE(SkipWaitingCallback); | 68 WTF_MAKE_NONCOPYABLE(SkipWaitingCallback); |
| 69 public: | 69 public: |
| 70 explicit SkipWaitingCallback(PassRefPtrWillBeRawPtr<ScriptPromiseResolver> r
esolver) | 70 explicit SkipWaitingCallback(ScriptPromiseResolver* resolver) |
| 71 : m_resolver(resolver) { } | 71 : m_resolver(resolver) { } |
| 72 ~SkipWaitingCallback() { } | 72 ~SkipWaitingCallback() { } |
| 73 | 73 |
| 74 void onSuccess() override | 74 void onSuccess() override |
| 75 { | 75 { |
| 76 m_resolver->resolve(); | 76 m_resolver->resolve(); |
| 77 } | 77 } |
| 78 | 78 |
| 79 private: | 79 private: |
| 80 RefPtrWillBePersistent<ScriptPromiseResolver> m_resolver; | 80 Persistent<ScriptPromiseResolver> m_resolver; |
| 81 }; | 81 }; |
| 82 | 82 |
| 83 PassRefPtrWillBeRawPtr<ServiceWorkerGlobalScope> ServiceWorkerGlobalScope::creat
e(ServiceWorkerThread* thread, PassOwnPtr<WorkerThreadStartupData> startupData) | 83 PassRefPtrWillBeRawPtr<ServiceWorkerGlobalScope> ServiceWorkerGlobalScope::creat
e(ServiceWorkerThread* thread, PassOwnPtr<WorkerThreadStartupData> startupData) |
| 84 { | 84 { |
| 85 // Note: startupData is finalized on return. After the relevant parts has be
en | 85 // Note: startupData is finalized on return. After the relevant parts has be
en |
| 86 // passed along to the created 'context'. | 86 // passed along to the created 'context'. |
| 87 RefPtrWillBeRawPtr<ServiceWorkerGlobalScope> context = adoptRefWillBeNoop(ne
w ServiceWorkerGlobalScope(startupData->m_scriptURL, startupData->m_userAgent, t
hread, monotonicallyIncreasingTime(), startupData->m_starterOrigin, startupData-
>m_workerClients.release())); | 87 RefPtrWillBeRawPtr<ServiceWorkerGlobalScope> context = adoptRefWillBeNoop(ne
w ServiceWorkerGlobalScope(startupData->m_scriptURL, startupData->m_userAgent, t
hread, monotonicallyIncreasingTime(), startupData->m_starterOrigin, startupData-
>m_workerClients.release())); |
| 88 | 88 |
| 89 context->setV8CacheOptions(startupData->m_v8CacheOptions); | 89 context->setV8CacheOptions(startupData->m_v8CacheOptions); |
| 90 context->applyContentSecurityPolicyFromVector(*startupData->m_contentSecurit
yPolicyHeaders); | 90 context->applyContentSecurityPolicyFromVector(*startupData->m_contentSecurit
yPolicyHeaders); |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 exceptionState.throwDOMException(InvalidAccessError, "Not supported."); | 140 exceptionState.throwDOMException(InvalidAccessError, "Not supported."); |
| 141 } | 141 } |
| 142 | 142 |
| 143 ScriptPromise ServiceWorkerGlobalScope::skipWaiting(ScriptState* scriptState) | 143 ScriptPromise ServiceWorkerGlobalScope::skipWaiting(ScriptState* scriptState) |
| 144 { | 144 { |
| 145 ExecutionContext* executionContext = scriptState->executionContext(); | 145 ExecutionContext* executionContext = scriptState->executionContext(); |
| 146 // FIXME: short-term fix, see details at: https://codereview.chromium.org/53
5193002/. | 146 // FIXME: short-term fix, see details at: https://codereview.chromium.org/53
5193002/. |
| 147 if (!executionContext) | 147 if (!executionContext) |
| 148 return ScriptPromise(); | 148 return ScriptPromise(); |
| 149 | 149 |
| 150 RefPtrWillBeRawPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::
create(scriptState); | 150 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState)
; |
| 151 ScriptPromise promise = resolver->promise(); | 151 ScriptPromise promise = resolver->promise(); |
| 152 | 152 |
| 153 ServiceWorkerGlobalScopeClient::from(executionContext)->skipWaiting(new Skip
WaitingCallback(resolver)); | 153 ServiceWorkerGlobalScopeClient::from(executionContext)->skipWaiting(new Skip
WaitingCallback(resolver)); |
| 154 return promise; | 154 return promise; |
| 155 } | 155 } |
| 156 | 156 |
| 157 void ServiceWorkerGlobalScope::setRegistration(WebServiceWorkerRegistration* reg
istration) | 157 void ServiceWorkerGlobalScope::setRegistration(WebServiceWorkerRegistration* reg
istration) |
| 158 { | 158 { |
| 159 if (!executionContext()) { | 159 if (!executionContext()) { |
| 160 ServiceWorkerRegistration::dispose(registration); | 160 ServiceWorkerRegistration::dispose(registration); |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 236 } | 236 } |
| 237 | 237 |
| 238 void ServiceWorkerGlobalScope::scriptLoaded(size_t scriptSize, size_t cachedMeta
dataSize) | 238 void ServiceWorkerGlobalScope::scriptLoaded(size_t scriptSize, size_t cachedMeta
dataSize) |
| 239 { | 239 { |
| 240 ++m_scriptCount; | 240 ++m_scriptCount; |
| 241 m_scriptTotalSize += scriptSize; | 241 m_scriptTotalSize += scriptSize; |
| 242 m_scriptCachedMetadataTotalSize += cachedMetadataSize; | 242 m_scriptCachedMetadataTotalSize += cachedMetadataSize; |
| 243 } | 243 } |
| 244 | 244 |
| 245 } // namespace blink | 245 } // namespace blink |
| OLD | NEW |