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", |