OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <map> | 5 #include <map> |
6 #include <string> | 6 #include <string> |
7 | 7 |
8 #include "base/barrier_closure.h" | 8 #include "base/barrier_closure.h" |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 if (!web_contents) | 143 if (!web_contents) |
144 web_contents = GetBrowser()->tab_strip_model()->GetActiveWebContents(); | 144 web_contents = GetBrowser()->tab_strip_model()->GetActiveWebContents(); |
145 return content::ExecuteScriptAndExtractString(web_contents->GetMainFrame(), | 145 return content::ExecuteScriptAndExtractString(web_contents->GetMainFrame(), |
146 script, | 146 script, |
147 result); | 147 result); |
148 } | 148 } |
149 | 149 |
150 void TryToSubscribeSuccessfully( | 150 void TryToSubscribeSuccessfully( |
151 const std::string& expected_push_subscription_id); | 151 const std::string& expected_push_subscription_id); |
152 | 152 |
| 153 std::string GetEndpointForSubscriptionId(const std::string& subscription_id) { |
| 154 return std::string(kPushMessagingEndpoint) + "/" + subscription_id; |
| 155 } |
| 156 |
153 PushMessagingApplicationId GetServiceWorkerAppId( | 157 PushMessagingApplicationId GetServiceWorkerAppId( |
154 int64 service_worker_registration_id); | 158 int64 service_worker_registration_id); |
155 | 159 |
156 void SendMessageAndWaitUntilHandled( | 160 void SendMessageAndWaitUntilHandled( |
157 const PushMessagingApplicationId& app_id, | 161 const PushMessagingApplicationId& app_id, |
158 const gcm::GCMClient::IncomingMessage& message); | 162 const gcm::GCMClient::IncomingMessage& message); |
159 | 163 |
160 net::SpawnedTestServer* https_server() const { return https_server_.get(); } | 164 net::SpawnedTestServer* https_server() const { return https_server_.get(); } |
161 | 165 |
162 gcm::FakeGCMProfileService* gcm_service() const { return gcm_service_; } | 166 gcm::FakeGCMProfileService* gcm_service() const { return gcm_service_; } |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 std::string script_result; | 220 std::string script_result; |
217 | 221 |
218 EXPECT_TRUE(RunScript("registerServiceWorker()", &script_result)); | 222 EXPECT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
219 EXPECT_EQ("ok - service worker registered", script_result); | 223 EXPECT_EQ("ok - service worker registered", script_result); |
220 | 224 |
221 InfoBarResponder accepting_responder(GetInfoBarService(), true); | 225 InfoBarResponder accepting_responder(GetInfoBarService(), true); |
222 EXPECT_TRUE(RunScript("requestNotificationPermission()", &script_result)); | 226 EXPECT_TRUE(RunScript("requestNotificationPermission()", &script_result)); |
223 EXPECT_EQ("permission status - granted", script_result); | 227 EXPECT_EQ("permission status - granted", script_result); |
224 | 228 |
225 EXPECT_TRUE(RunScript("subscribePush()", &script_result)); | 229 EXPECT_TRUE(RunScript("subscribePush()", &script_result)); |
226 | 230 EXPECT_EQ(GetEndpointForSubscriptionId(expected_push_subscription_id), |
227 // TODO(peter): Add an EXPECT for the given endpoint after the value change | 231 script_result); |
228 // has gone through. | |
229 } | 232 } |
230 | 233 |
231 PushMessagingApplicationId PushMessagingBrowserTest::GetServiceWorkerAppId( | 234 PushMessagingApplicationId PushMessagingBrowserTest::GetServiceWorkerAppId( |
232 int64 service_worker_registration_id) { | 235 int64 service_worker_registration_id) { |
233 GURL origin = https_server()->GetURL(std::string()).GetOrigin(); | 236 GURL origin = https_server()->GetURL(std::string()).GetOrigin(); |
234 PushMessagingApplicationId application_id = PushMessagingApplicationId::Get( | 237 PushMessagingApplicationId application_id = PushMessagingApplicationId::Get( |
235 GetBrowser()->profile(), origin, service_worker_registration_id); | 238 GetBrowser()->profile(), origin, service_worker_registration_id); |
236 EXPECT_TRUE(application_id.IsValid()); | 239 EXPECT_TRUE(application_id.IsValid()); |
237 return application_id; | 240 return application_id; |
238 } | 241 } |
(...skipping 18 matching lines...) Expand all Loading... |
257 | 260 |
258 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, | 261 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, |
259 SubscribeSuccessNotificationsPrompt) { | 262 SubscribeSuccessNotificationsPrompt) { |
260 std::string script_result; | 263 std::string script_result; |
261 | 264 |
262 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); | 265 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
263 ASSERT_EQ("ok - service worker registered", script_result); | 266 ASSERT_EQ("ok - service worker registered", script_result); |
264 | 267 |
265 InfoBarResponder accepting_responder(GetInfoBarService(), true); | 268 InfoBarResponder accepting_responder(GetInfoBarService(), true); |
266 ASSERT_TRUE(RunScript("subscribePush()", &script_result)); | 269 ASSERT_TRUE(RunScript("subscribePush()", &script_result)); |
267 | 270 EXPECT_EQ(GetEndpointForSubscriptionId("1-0"), |
268 // TODO(peter): Add an EXPECT for the given endpoint after the value change | 271 script_result); |
269 // has gone through. | |
270 | 272 |
271 PushMessagingApplicationId app_id = GetServiceWorkerAppId(0LL); | 273 PushMessagingApplicationId app_id = GetServiceWorkerAppId(0LL); |
272 EXPECT_EQ(app_id.app_id_guid(), gcm_service()->last_registered_app_id()); | 274 EXPECT_EQ(app_id.app_id_guid(), gcm_service()->last_registered_app_id()); |
273 EXPECT_EQ("1234567890", gcm_service()->last_registered_sender_ids()[0]); | 275 EXPECT_EQ("1234567890", gcm_service()->last_registered_sender_ids()[0]); |
274 } | 276 } |
275 | 277 |
276 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, | 278 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, |
277 SubscribeFailureNotificationsBlocked) { | 279 SubscribeFailureNotificationsBlocked) { |
278 std::string script_result; | 280 std::string script_result; |
279 | 281 |
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
583 std::string script_result; | 585 std::string script_result; |
584 | 586 |
585 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); | 587 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
586 ASSERT_EQ("ok - service worker registered", script_result); | 588 ASSERT_EQ("ok - service worker registered", script_result); |
587 | 589 |
588 InfoBarResponder accepting_responder(GetInfoBarService(), true); | 590 InfoBarResponder accepting_responder(GetInfoBarService(), true); |
589 ASSERT_TRUE(RunScript("requestNotificationPermission();", &script_result)); | 591 ASSERT_TRUE(RunScript("requestNotificationPermission();", &script_result)); |
590 EXPECT_EQ("permission status - granted", script_result); | 592 EXPECT_EQ("permission status - granted", script_result); |
591 | 593 |
592 ASSERT_TRUE(RunScript("subscribePush()", &script_result)); | 594 ASSERT_TRUE(RunScript("subscribePush()", &script_result)); |
593 | 595 EXPECT_EQ(GetEndpointForSubscriptionId("1-0"), |
594 // TODO(peter): Add an EXPECT for the given endpoint after the value change | 596 script_result); |
595 // has gone through. | |
596 | 597 |
597 ASSERT_TRUE(RunScript("permissionState()", &script_result)); | 598 ASSERT_TRUE(RunScript("permissionState()", &script_result)); |
598 EXPECT_EQ("permission status - granted", script_result); | 599 EXPECT_EQ("permission status - granted", script_result); |
599 } | 600 } |
600 | 601 |
601 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, PermissionStateSaysDenied) { | 602 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, PermissionStateSaysDenied) { |
602 std::string script_result; | 603 std::string script_result; |
603 | 604 |
604 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); | 605 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
605 ASSERT_EQ("ok - service worker registered", script_result); | 606 ASSERT_EQ("ok - service worker registered", script_result); |
(...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1018 std::string script_result; | 1019 std::string script_result; |
1019 | 1020 |
1020 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); | 1021 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
1021 ASSERT_EQ("ok - service worker registered", script_result); | 1022 ASSERT_EQ("ok - service worker registered", script_result); |
1022 | 1023 |
1023 // In Incognito mode the promise returned by getSubscription should not hang, | 1024 // In Incognito mode the promise returned by getSubscription should not hang, |
1024 // it should just fulfill with null. | 1025 // it should just fulfill with null. |
1025 ASSERT_TRUE(RunScript("hasSubscription()", &script_result)); | 1026 ASSERT_TRUE(RunScript("hasSubscription()", &script_result)); |
1026 ASSERT_EQ("false - not subscribed", script_result); | 1027 ASSERT_EQ("false - not subscribed", script_result); |
1027 } | 1028 } |
OLD | NEW |