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

Unified Diff: Source/modules/serviceworkers/NavigatorServiceWorker.cpp

Issue 26004002: Decouple ScriptPromise creation from ScriptPromiseResolver. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rebase Created 7 years, 2 months 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 side-by-side diff with in-line comments
Download patch
Index: Source/modules/serviceworkers/NavigatorServiceWorker.cpp
diff --git a/Source/modules/serviceworkers/NavigatorServiceWorker.cpp b/Source/modules/serviceworkers/NavigatorServiceWorker.cpp
index 172589dabc8495c7d21d80b0122b92f60e03ac66..eeae61fa6168e3ed69e10a6e10a74d086f5d3801 100644
--- a/Source/modules/serviceworkers/NavigatorServiceWorker.cpp
+++ b/Source/modules/serviceworkers/NavigatorServiceWorker.cpp
@@ -84,14 +84,15 @@ ScriptPromise NavigatorServiceWorker::registerServiceWorker(ScriptExecutionConte
// WTF? Surely there's a better way to resolve a url?
KURL scriptUrl = m_navigator->frame()->document()->completeURL(scriptSrc);
WebKit::WebServiceWorkerRegistry* peer = client->serviceWorkerRegistry();
- RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scriptExecutionContext);
+ ScriptPromise promise = ScriptPromise::create(scriptExecutionContext);
+ RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(promise, scriptExecutionContext);
if (peer)
peer->registerServiceWorker(pattern, scriptUrl, new CallbackPromiseAdapter(resolver, scriptExecutionContext));
else
resolver->reject(PassRefPtr<ServiceWorker>(0));
// call here?
- return resolver->promise();
+ return promise;
}
ScriptPromise NavigatorServiceWorker::unregisterServiceWorker(ScriptExecutionContext* context, Navigator* navigator, const String& pattern, ExceptionState& es)
@@ -104,12 +105,13 @@ ScriptPromise NavigatorServiceWorker::unregisterServiceWorker(ScriptExecutionCon
ASSERT(RuntimeEnabledFeatures::serviceWorkerEnabled());
FrameLoaderClient* client = m_navigator->frame()->loader()->client();
WebKit::WebServiceWorkerRegistry* peer = client->serviceWorkerRegistry();
- RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scriptExecutionContext);
+ ScriptPromise promise = ScriptPromise::create(scriptExecutionContext);
+ RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(promise, scriptExecutionContext);
if (peer)
peer->unregisterServiceWorker(pattern, new CallbackPromiseAdapter(resolver, scriptExecutionContext));
else
resolver->reject(PassRefPtr<ServiceWorker>(0));
- return resolver->promise();
+ return promise;
}
} // namespace WebCore

Powered by Google App Engine
This is Rietveld 408576698