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 |