Index: Source/modules/serviceworkers/ServiceWorkerContainer.cpp |
diff --git a/Source/modules/serviceworkers/ServiceWorkerContainer.cpp b/Source/modules/serviceworkers/ServiceWorkerContainer.cpp |
index 8a2e6484a3d6e3517145bc8c814731f84e8b866c..db1d58c50849453cb2407ac75f58c31cae1d33fa 100644 |
--- a/Source/modules/serviceworkers/ServiceWorkerContainer.cpp |
+++ b/Source/modules/serviceworkers/ServiceWorkerContainer.cpp |
@@ -32,6 +32,7 @@ |
#include "RuntimeEnabledFeatures.h" |
#include "bindings/v8/CallbackPromiseAdapter.h" |
+#include "bindings/v8/ScriptPromise.h" |
#include "bindings/v8/ScriptPromiseResolverWithContext.h" |
#include "bindings/v8/ScriptState.h" |
#include "bindings/v8/SerializedScriptValue.h" |
@@ -141,6 +142,19 @@ ScriptPromise ServiceWorkerContainer::unregisterServiceWorker(ScriptState* scrip |
return promise; |
} |
+ScriptPromise ServiceWorkerContainer::ready(ScriptState* scriptState) |
+{ |
+ if (m_controller.get()) { |
+ RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scriptState); |
+ ScriptPromise promise = resolver->promise(); |
+ resolver->resolve(m_controller.get()); |
+ return promise; |
+ } |
+ // FIXME: Elaborate the implementation when the "waiting" property |
+ // or replace() is implemented. |
+ return ScriptPromise(); |
+} |
+ |
void ServiceWorkerContainer::setCurrentServiceWorker(blink::WebServiceWorker* serviceWorker) |
{ |
setController(serviceWorker); |