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..064e00de4af15fed8b1896902e302be9507bc990 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,8 @@ |
#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/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 +77,8 @@ class PushMessagingBrowserTest : public InProcessBrowserTest { |
// InProcessBrowserTest: |
void SetUpCommandLine(base::CommandLine* command_line) override { |
command_line->AppendSwitch(switches::kEnablePushMessagePayload); |
+ command_line->AppendSwitch(switches::kEnablePermissionsBubbles); |
+ EXPECT_TRUE(PermissionBubbleManager::Enabled()); |
InProcessBrowserTest::SetUpCommandLine(command_line); |
} |
@@ -143,6 +145,15 @@ class PushMessagingBrowserTest : public InProcessBrowserTest { |
result); |
} |
+ PermissionBubbleManager* GetPermissionBubbleManager() { |
+ return PermissionBubbleManager::FromWebContents( |
+ GetBrowser()->tab_strip_model()->GetActiveWebContents()); |
+ } |
+ |
+ void PrepareToAcceptPermission(); |
+ 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,29 @@ class PushMessagingBrowserTestEmptySubscriptionOptions |
} |
}; |
+void PushMessagingBrowserTest::PrepareToAcceptPermission() { |
+ GetPermissionBubbleManager()->set_auto_response_for_testing_only_( |
msw
2015/06/05 01:51:59
optional nit: just inline this (if you make the se
felt
2015/06/05 06:37:29
Done.
|
+ PermissionBubbleManager::ACCEPT_ALL); |
+} |
+ |
+void PushMessagingBrowserTest::RequestAndAcceptPermission() { |
+ std::string script_result; |
+ |
+ GetPermissionBubbleManager()->set_auto_response_for_testing_only_( |
+ PermissionBubbleManager::ACCEPT_ALL); |
+ EXPECT_TRUE(RunScript("requestNotificationPermission();", &script_result)); |
+ EXPECT_EQ("permission status - granted", script_result); |
+} |
+ |
+void PushMessagingBrowserTest::RequestAndDenyPermission() { |
+ std::string script_result; |
+ |
+ GetPermissionBubbleManager()->set_auto_response_for_testing_only_( |
+ PermissionBubbleManager::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 +252,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 +296,7 @@ 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); |
+ PrepareToAcceptPermission(); |
ASSERT_TRUE(RunScript("subscribePush()", &script_result)); |
EXPECT_EQ(GetEndpointForSubscriptionId("1-0"), |
script_result); |
@@ -287,9 +314,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 +327,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 +346,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 +697,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 +713,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", |