| Index: content/browser/background_sync/background_sync_browsertest.cc
|
| diff --git a/content/browser/background_sync/background_sync_browsertest.cc b/content/browser/background_sync/background_sync_browsertest.cc
|
| index ed09304eec3b7945a35caab0870f42f201623020..b3aeecd34a33b2afb31f0186c3ac586d0eaeca99 100644
|
| --- a/content/browser/background_sync/background_sync_browsertest.cc
|
| +++ b/content/browser/background_sync/background_sync_browsertest.cc
|
| @@ -6,6 +6,7 @@
|
| #include <string>
|
| #include <vector>
|
|
|
| +#include "background_sync_registration_handle.h"
|
| #include "base/command_line.h"
|
| #include "base/strings/string_split.h"
|
| #include "base/strings/stringprintf.h"
|
| @@ -60,9 +61,9 @@ void OneShotPendingCallback(
|
| void OneShotPendingDidGetSyncRegistration(
|
| const base::Callback<void(bool)>& callback,
|
| BackgroundSyncStatus error_type,
|
| - const BackgroundSyncRegistration& registration) {
|
| + scoped_ptr<BackgroundSyncRegistrationHandle> registration_handle) {
|
| ASSERT_EQ(BACKGROUND_SYNC_STATUS_OK, error_type);
|
| - callback.Run(registration.sync_state() == SYNC_STATE_PENDING);
|
| + callback.Run(registration_handle->sync_state() == SYNC_STATE_PENDING);
|
| }
|
|
|
| void OneShotPendingDidGetSWRegistration(
|
| @@ -155,6 +156,8 @@ class BackgroundSyncBrowserTest : public ContentBrowserTest {
|
| bool PopConsole(const std::string& expected_msg);
|
| bool RegisterServiceWorker();
|
| bool RegisterOneShot(const std::string& tag);
|
| + bool UnregisterOneShot(const std::string& tag);
|
| + bool UnregisterOneShotTwice(const std::string& tag);
|
| bool GetRegistrationOneShot(const std::string& tag);
|
| bool GetRegistrationsOneShot(const std::vector<std::string>& expected_tags);
|
| bool CompleteDelayedOneShot();
|
| @@ -223,6 +226,21 @@ bool BackgroundSyncBrowserTest::RegisterOneShot(const std::string& tag) {
|
| return script_result == BuildExpectedResult(tag, "registered");
|
| }
|
|
|
| +bool BackgroundSyncBrowserTest::UnregisterOneShot(const std::string& tag) {
|
| + std::string script_result;
|
| + EXPECT_TRUE(
|
| + RunScript(BuildScriptString("unregisterOneShot", tag), &script_result));
|
| + return script_result == BuildExpectedResult(tag, "unregistered");
|
| +}
|
| +
|
| +bool BackgroundSyncBrowserTest::UnregisterOneShotTwice(const std::string& tag) {
|
| + std::string script_result;
|
| + EXPECT_TRUE(RunScript(BuildScriptString("unregisterOneShotTwice", tag),
|
| + &script_result));
|
| + return script_result ==
|
| + BuildExpectedResult(tag, "failed to unregister twice");
|
| +}
|
| +
|
| bool BackgroundSyncBrowserTest::GetRegistrationOneShot(const std::string& tag) {
|
| std::string script_result;
|
| EXPECT_TRUE(RunScript(BuildScriptString("getRegistrationOneShot", tag),
|
| @@ -374,6 +392,34 @@ IN_PROC_BROWSER_TEST_F(BackgroundSyncBrowserTest, GetRegistrations) {
|
| EXPECT_TRUE(GetRegistrationsOneShot(registered_tags));
|
| }
|
|
|
| +IN_PROC_BROWSER_TEST_F(BackgroundSyncBrowserTest, Unregister) {
|
| + EXPECT_TRUE(RegisterServiceWorker());
|
| + EXPECT_TRUE(LoadTestPage(kDefaultTestURL)); // Control the page.
|
| +
|
| + SetOnline(false);
|
| + EXPECT_TRUE(RegisterOneShot("foo"));
|
| + EXPECT_TRUE(UnregisterOneShot("foo"));
|
| + EXPECT_FALSE(GetRegistrationOneShot("foo"));
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(BackgroundSyncBrowserTest, UnregisterTwice) {
|
| + EXPECT_TRUE(RegisterServiceWorker());
|
| + EXPECT_TRUE(LoadTestPage(kDefaultTestURL)); // Control the page.
|
| +
|
| + SetOnline(false);
|
| + EXPECT_TRUE(RegisterOneShot("foo"));
|
| + EXPECT_TRUE(UnregisterOneShotTwice("foo"));
|
| + EXPECT_FALSE(GetRegistrationOneShot("foo"));
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(BackgroundSyncBrowserTest, UnregisterMidSync) {
|
| + EXPECT_TRUE(RegisterServiceWorker());
|
| + EXPECT_TRUE(LoadTestPage(kDefaultTestURL)); // Control the page.
|
| +
|
| + EXPECT_TRUE(RegisterOneShot("unregister"));
|
| + EXPECT_TRUE(PopConsole("ok - unregister completed"));
|
| +}
|
| +
|
| } // namespace
|
|
|
| } // namespace content
|
|
|