| 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
|
|
|