| Index: third_party/WebKit/Source/modules/serviceworkers/NavigationPreloadManager.cpp
|
| diff --git a/third_party/WebKit/Source/modules/serviceworkers/NavigationPreloadManager.cpp b/third_party/WebKit/Source/modules/serviceworkers/NavigationPreloadManager.cpp
|
| index 9e89e742e841bfd088d59555146a89e1be49197b..9d2a79c8be0dbd4f836b0e09599dc2d4ceb7e34f 100644
|
| --- a/third_party/WebKit/Source/modules/serviceworkers/NavigationPreloadManager.cpp
|
| +++ b/third_party/WebKit/Source/modules/serviceworkers/NavigationPreloadManager.cpp
|
| @@ -25,9 +25,19 @@ ScriptPromise NavigationPreloadManager::setHeaderValue(ScriptState*,
|
| return ScriptPromise();
|
| }
|
|
|
| -ScriptPromise NavigationPreloadManager::getState(ScriptState*) {
|
| - NOTIMPLEMENTED();
|
| - return ScriptPromise();
|
| +ScriptPromise NavigationPreloadManager::getState(ScriptState* scriptState) {
|
| + ServiceWorkerContainerClient* client =
|
| + ServiceWorkerContainerClient::from(m_registration->getExecutionContext());
|
| + if (!client || !client->provider()) {
|
| + return ScriptPromise::rejectWithDOMException(
|
| + scriptState, DOMException::create(InvalidStateError, "No provider."));
|
| + }
|
| + ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState);
|
| + ScriptPromise promise = resolver->promise();
|
| + m_registration->webRegistration()->getNavigationPreloadState(
|
| + client->provider(),
|
| + wrapUnique(new GetNavigationPreloadStateCallbacks(resolver)));
|
| + return promise;
|
| }
|
|
|
| NavigationPreloadManager::NavigationPreloadManager(
|
|
|