Chromium Code Reviews| Index: chrome/browser/push_messaging/push_messaging_browsertest.cc |
| diff --git a/chrome/browser/push_messaging/push_messaging_browsertest.cc b/chrome/browser/push_messaging/push_messaging_browsertest.cc |
| index 94afec494158e1af8092f5939372fd4fc9c0c8ec..9bd1d0947e2a8e2343c59500e659262c6f0b2748 100644 |
| --- a/chrome/browser/push_messaging/push_messaging_browsertest.cc |
| +++ b/chrome/browser/push_messaging/push_messaging_browsertest.cc |
| @@ -14,8 +14,6 @@ |
| #include "chrome/browser/browsing_data/browsing_data_helper.h" |
| #include "chrome/browser/browsing_data/browsing_data_remover.h" |
| #include "chrome/browser/browsing_data/browsing_data_remover_test_util.h" |
| -#include "chrome/browser/infobars/infobar_responder.h" |
| -#include "chrome/browser/infobars/infobar_service.h" |
| #include "chrome/browser/notifications/notification_test_util.h" |
| #include "chrome/browser/notifications/platform_notification_service_impl.h" |
| #include "chrome/browser/profiles/profile.h" |
| @@ -27,6 +25,9 @@ |
| #include "chrome/browser/services/gcm/gcm_profile_service_factory.h" |
| #include "chrome/browser/ui/browser.h" |
| #include "chrome/browser/ui/tabs/tab_strip_model.h" |
| +#include "chrome/browser/ui/website_settings/permission_bubble_manager.h" |
| +#include "chrome/browser/ui/website_settings/permission_bubble_responder.h" |
| +#include "chrome/common/chrome_switches.h" |
| #include "chrome/test/base/in_process_browser_test.h" |
| #include "chrome/test/base/ui_test_utils.h" |
| #include "components/content_settings/core/browser/host_content_settings_map.h" |
| @@ -77,6 +78,8 @@ class PushMessagingBrowserTest : public InProcessBrowserTest { |
| // InProcessBrowserTest: |
| void SetUpCommandLine(base::CommandLine* command_line) override { |
| command_line->AppendSwitch(switches::kEnablePushMessagePayload); |
| + command_line->AppendSwitch(switches::kEnablePermissionsBubbles); |
|
msw
2015/06/04 01:22:08
Should we continue testing the old code path until
felt
2015/06/05 00:38:21
IMO there isn't a lot of value in testing the old
msw
2015/06/05 01:51:59
Hmm, I worry about dropping testing for an on-by-d
felt
2015/06/05 06:37:29
OK, so I've gone back to my original parameterized
|
| + EXPECT_TRUE(PermissionBubbleManager::Enabled()); |
| InProcessBrowserTest::SetUpCommandLine(command_line); |
| } |
| @@ -143,6 +146,14 @@ class PushMessagingBrowserTest : public InProcessBrowserTest { |
| result); |
| } |
| + PermissionBubbleManager* GetPermissionBubbleManager() { |
| + return PermissionBubbleManager::FromWebContents( |
| + GetBrowser()->tab_strip_model()->GetActiveWebContents()); |
| + } |
| + |
| + void RequestAndAcceptPermission(); |
| + void RequestAndDenyPermission(); |
| + |
| void TryToSubscribeSuccessfully( |
| const std::string& expected_push_subscription_id); |
| @@ -192,11 +203,6 @@ class PushMessagingBrowserTest : public InProcessBrowserTest { |
| virtual Browser* GetBrowser() const { return browser(); } |
| - InfoBarService* GetInfoBarService() { |
| - return InfoBarService::FromWebContents( |
| - GetBrowser()->tab_strip_model()->GetActiveWebContents()); |
| - } |
| - |
| private: |
| scoped_ptr<net::SpawnedTestServer> https_server_; |
| gcm::FakeGCMProfileService* gcm_service_; |
| @@ -216,6 +222,26 @@ class PushMessagingBrowserTestEmptySubscriptionOptions |
| } |
| }; |
| +void PushMessagingBrowserTest::RequestAndAcceptPermission() { |
| + std::string script_result; |
| + |
| + scoped_ptr<PermissionBubbleResponder> bubble_accept_responder( |
|
msw
2015/06/04 01:22:08
nit: why scoped_ptr? ditto below.
|
| + new PermissionBubbleResponder(GetPermissionBubbleManager(), |
| + PermissionBubbleResponder::ACCEPT_ALL)); |
| + EXPECT_TRUE(RunScript("requestNotificationPermission();", &script_result)); |
| + EXPECT_EQ("permission status - granted", script_result); |
| +} |
| + |
| +void PushMessagingBrowserTest::RequestAndDenyPermission() { |
| + std::string script_result; |
| + |
| + scoped_ptr<PermissionBubbleResponder> bubble_deny_responder( |
| + new PermissionBubbleResponder(GetPermissionBubbleManager(), |
| + PermissionBubbleResponder::DENY_ALL)); |
| + EXPECT_TRUE(RunScript("requestNotificationPermission();", &script_result)); |
| + EXPECT_EQ("permission status - denied", script_result); |
| +} |
| + |
| void PushMessagingBrowserTest::TryToSubscribeSuccessfully( |
| const std::string& expected_push_subscription_id) { |
| std::string script_result; |
| @@ -223,9 +249,7 @@ void PushMessagingBrowserTest::TryToSubscribeSuccessfully( |
| EXPECT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
| EXPECT_EQ("ok - service worker registered", script_result); |
| - InfoBarResponder accepting_responder(GetInfoBarService(), true); |
| - EXPECT_TRUE(RunScript("requestNotificationPermission()", &script_result)); |
| - EXPECT_EQ("permission status - granted", script_result); |
| + RequestAndAcceptPermission(); |
| EXPECT_TRUE(RunScript("subscribePush()", &script_result)); |
| EXPECT_EQ(GetEndpointForSubscriptionId(expected_push_subscription_id), |
| @@ -269,7 +293,9 @@ IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, |
| ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
| ASSERT_EQ("ok - service worker registered", script_result); |
| - InfoBarResponder accepting_responder(GetInfoBarService(), true); |
| + scoped_ptr<PermissionBubbleResponder> bubble_accept_responder( |
| + new PermissionBubbleResponder(GetPermissionBubbleManager(), |
| + PermissionBubbleResponder::ACCEPT_ALL)); |
| ASSERT_TRUE(RunScript("subscribePush()", &script_result)); |
| EXPECT_EQ(GetEndpointForSubscriptionId("1-0"), |
| script_result); |
| @@ -287,9 +313,7 @@ IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, |
| ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
| ASSERT_EQ("ok - service worker registered", script_result); |
| - InfoBarResponder cancelling_responder(GetInfoBarService(), false); |
| - ASSERT_TRUE(RunScript("requestNotificationPermission();", &script_result)); |
| - ASSERT_EQ("permission status - denied", script_result); |
| + RequestAndDenyPermission(); |
| ASSERT_TRUE(RunScript("subscribePush()", &script_result)); |
| EXPECT_EQ("AbortError - Registration failed - permission denied", |
| @@ -302,9 +326,7 @@ IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, SubscribeFailureNoManifest) { |
| ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
| ASSERT_EQ("ok - service worker registered", script_result); |
| - InfoBarResponder accepting_responder(GetInfoBarService(), true); |
| - ASSERT_TRUE(RunScript("requestNotificationPermission();", &script_result)); |
| - ASSERT_EQ("permission status - granted", script_result); |
| + RequestAndAcceptPermission(); |
| ASSERT_TRUE(RunScript("removeManifest()", &script_result)); |
| ASSERT_EQ("manifest removed", script_result); |
| @@ -323,9 +345,7 @@ IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTestEmptySubscriptionOptions, |
| ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
| ASSERT_EQ("ok - service worker registered", script_result); |
| - InfoBarResponder accepting_responder(GetInfoBarService(), true); |
| - ASSERT_TRUE(RunScript("requestNotificationPermission();", &script_result)); |
| - ASSERT_EQ("permission status - granted", script_result); |
| + RequestAndAcceptPermission(); |
| ASSERT_TRUE(RunScript("subscribePush()", &script_result)); |
| EXPECT_EQ("AbortError - Registration failed - permission denied", |
| @@ -676,9 +696,7 @@ IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, PermissionStateSaysGranted) { |
| ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
| ASSERT_EQ("ok - service worker registered", script_result); |
| - InfoBarResponder accepting_responder(GetInfoBarService(), true); |
| - ASSERT_TRUE(RunScript("requestNotificationPermission();", &script_result)); |
| - EXPECT_EQ("permission status - granted", script_result); |
| + RequestAndAcceptPermission(); |
| ASSERT_TRUE(RunScript("subscribePush()", &script_result)); |
| EXPECT_EQ(GetEndpointForSubscriptionId("1-0"), |
| @@ -694,9 +712,7 @@ IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, PermissionStateSaysDenied) { |
| ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
| ASSERT_EQ("ok - service worker registered", script_result); |
| - InfoBarResponder cancelling_responder(GetInfoBarService(), false); |
| - ASSERT_TRUE(RunScript("requestNotificationPermission();", &script_result)); |
| - EXPECT_EQ("permission status - denied", script_result); |
| + RequestAndDenyPermission(); |
| ASSERT_TRUE(RunScript("subscribePush()", &script_result)); |
| EXPECT_EQ("AbortError - Registration failed - permission denied", |