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..8d8ecc85630c2d12ea4266961e5e07a6e12eca89 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,7 @@ class PushMessagingBrowserTest : public InProcessBrowserTest { |
| // InProcessBrowserTest: |
| void SetUpCommandLine(base::CommandLine* command_line) override { |
| command_line->AppendSwitch(switches::kEnablePushMessagePayload); |
| + command_line->AppendSwitch(switches::kEnablePermissionsBubbles); |
|
johnme
2015/06/03 14:14:35
Nit: Isn't this the default now?
felt
2015/06/03 20:44:54
I've been going back and forth with some test fail
|
| InProcessBrowserTest::SetUpCommandLine(command_line); |
| } |
| @@ -143,6 +145,9 @@ class PushMessagingBrowserTest : public InProcessBrowserTest { |
| result); |
| } |
| + void RequestAndAcceptPermission(); |
| + void RequestAndDenyPermission(); |
| + |
| void TryToSubscribeSuccessfully( |
| const std::string& expected_push_subscription_id); |
| @@ -192,11 +197,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 +216,36 @@ class PushMessagingBrowserTestEmptySubscriptionOptions |
| } |
| }; |
| +void PushMessagingBrowserTest::RequestAndAcceptPermission() { |
| + std::string script_result; |
| + |
| + EXPECT_TRUE(PermissionBubbleManager::Enabled()); |
| + |
| + PermissionBubbleManager* bubble_manager = |
| + PermissionBubbleManager::FromWebContents( |
| + GetBrowser()->tab_strip_model()->GetActiveWebContents()); |
| + scoped_ptr<PermissionBubbleResponder> bubble_accept_responder( |
| + new PermissionBubbleResponder(bubble_manager, |
| + PermissionBubbleResponder::ACCEPT_ALL)); |
| + EXPECT_TRUE(RunScript("requestNotificationPermission();", &script_result)); |
| + EXPECT_EQ("permission status - granted", script_result); |
| +} |
| + |
| +void PushMessagingBrowserTest::RequestAndDenyPermission() { |
| + std::string script_result; |
| + |
| + EXPECT_TRUE(PermissionBubbleManager::Enabled()); |
| + |
| + PermissionBubbleManager* bubble_manager = |
| + PermissionBubbleManager::FromWebContents( |
| + GetBrowser()->tab_strip_model()->GetActiveWebContents()); |
| + scoped_ptr<PermissionBubbleResponder> bubble_deny_responder( |
| + new PermissionBubbleResponder(bubble_manager, |
| + 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 +253,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 +297,8 @@ 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); |
| + RequestAndAcceptPermission(); |
|
johnme
2015/06/03 14:14:35
Actually, I think the point of this test is that i
felt
2015/06/03 20:44:54
Ah, I missed the point of this test. Fixed.
|
| + |
| ASSERT_TRUE(RunScript("subscribePush()", &script_result)); |
| EXPECT_EQ(GetEndpointForSubscriptionId("1-0"), |
| script_result); |
| @@ -287,9 +316,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 +329,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 +348,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 +699,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 +715,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", |