| Index: third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerContainerTest.cpp
|
| diff --git a/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerContainerTest.cpp b/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerContainerTest.cpp
|
| index 615342cc3ed0d85236e8aa889b122349677cadf7..e47603ada2e1fc1de7251d6f7d1fb162101d5c43 100644
|
| --- a/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerContainerTest.cpp
|
| +++ b/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerContainerTest.cpp
|
| @@ -129,6 +129,7 @@ class NotReachedWebServiceWorkerProvider : public WebServiceWorkerProvider {
|
| void registerServiceWorker(
|
| const WebURL& pattern,
|
| const WebURL& scriptURL,
|
| + bool useCache,
|
| std::unique_ptr<WebServiceWorkerRegistrationCallbacks> callbacks)
|
| override {
|
| ADD_FAILURE()
|
| @@ -279,6 +280,7 @@ class StubWebServiceWorkerProvider {
|
| const WebURL& registerScriptURL() { return m_registerScriptURL; }
|
| size_t getRegistrationCallCount() { return m_getRegistrationCallCount; }
|
| const WebURL& getRegistrationURL() { return m_getRegistrationURL; }
|
| + bool useCache() const { return m_useCache; }
|
|
|
| private:
|
| class WebServiceWorkerProviderImpl : public WebServiceWorkerProvider {
|
| @@ -291,11 +293,13 @@ class StubWebServiceWorkerProvider {
|
| void registerServiceWorker(
|
| const WebURL& pattern,
|
| const WebURL& scriptURL,
|
| + bool useCache,
|
| std::unique_ptr<WebServiceWorkerRegistrationCallbacks> callbacks)
|
| override {
|
| m_owner.m_registerCallCount++;
|
| m_owner.m_registerScope = pattern;
|
| m_owner.m_registerScriptURL = scriptURL;
|
| + m_owner.m_useCache = useCache;
|
| m_registrationCallbacksToDelete.push_back(std::move(callbacks));
|
| }
|
|
|
| @@ -328,6 +332,7 @@ class StubWebServiceWorkerProvider {
|
| WebURL m_registerScriptURL;
|
| size_t m_getRegistrationCallCount;
|
| WebURL m_getRegistrationURL;
|
| + bool m_useCache;
|
| };
|
|
|
| TEST_F(ServiceWorkerContainerTest,
|
| @@ -353,6 +358,7 @@ TEST_F(ServiceWorkerContainerTest,
|
| stubProvider.registerScope());
|
| EXPECT_EQ(WebURL(KURL(KURL(), "http://localhost/x/y/worker.js")),
|
| stubProvider.registerScriptURL());
|
| + EXPECT_EQ(false, stubProvider.useCache());
|
| }
|
| }
|
|
|
| @@ -375,5 +381,32 @@ TEST_F(ServiceWorkerContainerTest,
|
| }
|
| }
|
|
|
| +TEST_F(ServiceWorkerContainerTest,
|
| + RegisterUnregister_UseCacheOptionDelegatesToProvider) {
|
| + setPageURL("http://localhost/x/index.html");
|
| +
|
| + StubWebServiceWorkerProvider stubProvider;
|
| + provide(stubProvider.provider());
|
| +
|
| + ServiceWorkerContainer* container = ServiceWorkerContainer::create(
|
| + getExecutionContext(), getNavigatorServiceWorker());
|
| +
|
| + // register
|
| + {
|
| + ScriptState::Scope scriptScope(getScriptState());
|
| + RegistrationOptions options;
|
| + options.setUseCache(true);
|
| + container->registerServiceWorker(getScriptState(), "/x/y/worker.js",
|
| + options);
|
| +
|
| + EXPECT_EQ(1ul, stubProvider.registerCallCount());
|
| + EXPECT_EQ(WebURL(KURL(KURL(), "http://localhost/x/y/")),
|
| + stubProvider.registerScope());
|
| + EXPECT_EQ(WebURL(KURL(KURL(), "http://localhost/x/y/worker.js")),
|
| + stubProvider.registerScriptURL());
|
| + EXPECT_EQ(true, stubProvider.useCache());
|
| + }
|
| +}
|
| +
|
| } // namespace
|
| } // namespace blink
|
|
|