Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(325)

Side by Side Diff: chrome/browser/notifications/platform_notification_service_interactive_uitest.cc

Issue 2713083003: Use ContentSetting in chrome/ instead of PermissionStatus (Closed)
Patch Set: maybe fix android compile + address comments + basic tests Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <memory> 5 #include <memory>
6 #include <string> 6 #include <string>
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/feature_list.h" 10 #include "base/feature_list.h"
11 #include "base/files/file_path.h" 11 #include "base/files/file_path.h"
12 #include "base/path_service.h" 12 #include "base/path_service.h"
13 #include "base/strings/string_piece.h" 13 #include "base/strings/string_piece.h"
14 #include "base/strings/string_split.h" 14 #include "base/strings/string_split.h"
15 #include "base/strings/utf_string_conversions.h" 15 #include "base/strings/utf_string_conversions.h"
16 #include "base/test/scoped_feature_list.h" 16 #include "base/test/scoped_feature_list.h"
17 #include "base/time/time.h" 17 #include "base/time/time.h"
18 #include "chrome/browser/notifications/desktop_notification_profile_util.h" 18 #include "chrome/browser/notifications/desktop_notification_profile_util.h"
19 #include "chrome/browser/notifications/message_center_display_service.h" 19 #include "chrome/browser/notifications/message_center_display_service.h"
20 #include "chrome/browser/notifications/notification.h" 20 #include "chrome/browser/notifications/notification.h"
21 #include "chrome/browser/notifications/notification_test_util.h" 21 #include "chrome/browser/notifications/notification_test_util.h"
22 #include "chrome/browser/notifications/platform_notification_service_impl.h" 22 #include "chrome/browser/notifications/platform_notification_service_impl.h"
23 #include "chrome/browser/notifications/web_notification_delegate.h" 23 #include "chrome/browser/notifications/web_notification_delegate.h"
24 #include "chrome/browser/permissions/permission_manager.h" 24 #include "chrome/browser/permissions/permission_manager.h"
25 #include "chrome/browser/permissions/permission_request_manager.h" 25 #include "chrome/browser/permissions/permission_request_manager.h"
26 #include "chrome/browser/permissions/permission_result.h"
26 #include "chrome/browser/ui/browser.h" 27 #include "chrome/browser/ui/browser.h"
27 #include "chrome/browser/ui/browser_window.h" 28 #include "chrome/browser/ui/browser_window.h"
28 #include "chrome/browser/ui/exclusive_access/exclusive_access_context.h" 29 #include "chrome/browser/ui/exclusive_access/exclusive_access_context.h"
29 #include "chrome/browser/ui/tabs/tab_strip_model.h" 30 #include "chrome/browser/ui/tabs/tab_strip_model.h"
30 #include "chrome/common/chrome_features.h" 31 #include "chrome/common/chrome_features.h"
31 #include "chrome/test/base/in_process_browser_test.h" 32 #include "chrome/test/base/in_process_browser_test.h"
32 #include "chrome/test/base/interactive_test_utils.h" 33 #include "chrome/test/base/interactive_test_utils.h"
33 #include "chrome/test/base/ui_test_utils.h" 34 #include "chrome/test/base/ui_test_utils.h"
34 #include "components/content_settings/core/common/content_settings_types.h" 35 #include "components/content_settings/core/common/content_settings_types.h"
35 #include "content/public/common/content_features.h" 36 #include "content/public/common/content_features.h"
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 156
156 void PlatformNotificationServiceBrowserTest::TearDown() { 157 void PlatformNotificationServiceBrowserTest::TearDown() {
157 service()->SetNotificationDisplayServiceForTesting(nullptr); 158 service()->SetNotificationDisplayServiceForTesting(nullptr);
158 } 159 }
159 160
160 void PlatformNotificationServiceBrowserTest:: 161 void PlatformNotificationServiceBrowserTest::
161 GrantNotificationPermissionForTest() const { 162 GrantNotificationPermissionForTest() const {
162 GURL origin = TestPageUrl().GetOrigin(); 163 GURL origin = TestPageUrl().GetOrigin();
163 164
164 DesktopNotificationProfileUtil::GrantPermission(browser()->profile(), origin); 165 DesktopNotificationProfileUtil::GrantPermission(browser()->profile(), origin);
165 ASSERT_EQ(blink::mojom::PermissionStatus::GRANTED, 166 ASSERT_EQ(CONTENT_SETTING_ALLOW,
166 PermissionManager::Get(browser()->profile()) 167 PermissionManager::Get(browser()->profile())
167 ->GetPermissionStatus(CONTENT_SETTINGS_TYPE_NOTIFICATIONS, 168 ->GetPermissionStatus(CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
168 origin, origin)); 169 origin, origin)
170 .content_setting);
169 } 171 }
170 172
171 void PlatformNotificationServiceBrowserTest::NavigateToTestPage( 173 void PlatformNotificationServiceBrowserTest::NavigateToTestPage(
172 const std::string& path) const { 174 const std::string& path) const {
173 ui_test_utils::NavigateToURL(browser(), https_server_->GetURL(path)); 175 ui_test_utils::NavigateToURL(browser(), https_server_->GetURL(path));
174 } 176 }
175 177
176 bool PlatformNotificationServiceBrowserTest::RunScript( 178 bool PlatformNotificationServiceBrowserTest::RunScript(
177 const std::string& script, std::string* result) const { 179 const std::string& script, std::string* result) const {
178 return content::ExecuteScriptAndExtractString( 180 return content::ExecuteScriptAndExtractString(
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 // TODO(felt): This DCHECKs when bubbles are enabled, when the file_url is 464 // TODO(felt): This DCHECKs when bubbles are enabled, when the file_url is
463 // persisted. crbug.com/502057 465 // persisted. crbug.com/502057
464 IN_PROC_BROWSER_TEST_F(PlatformNotificationServiceBrowserTest, 466 IN_PROC_BROWSER_TEST_F(PlatformNotificationServiceBrowserTest,
465 DISABLED_CheckFilePermissionNotGranted) { 467 DISABLED_CheckFilePermissionNotGranted) {
466 // This case should succeed because a normal page URL is used. 468 // This case should succeed because a normal page URL is used.
467 std::string script_result; 469 std::string script_result;
468 470
469 PermissionManager* permission_manager = 471 PermissionManager* permission_manager =
470 PermissionManager::Get(browser()->profile()); 472 PermissionManager::Get(browser()->profile());
471 473
472 EXPECT_EQ(blink::mojom::PermissionStatus::ASK, 474 EXPECT_EQ(CONTENT_SETTING_ASK,
473 permission_manager->GetPermissionStatus( 475 permission_manager
474 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, TestPageUrl(), 476 ->GetPermissionStatus(CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
475 TestPageUrl())); 477 TestPageUrl(), TestPageUrl())
478 .content_setting);
476 479
477 RequestAndAcceptPermission(); 480 RequestAndAcceptPermission();
478 EXPECT_EQ(blink::mojom::PermissionStatus::GRANTED, 481 EXPECT_EQ(CONTENT_SETTING_ALLOW,
479 permission_manager->GetPermissionStatus( 482 permission_manager
480 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, TestPageUrl(), 483 ->GetPermissionStatus(CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
481 TestPageUrl())); 484 TestPageUrl(), TestPageUrl())
485 .content_setting);
482 486
483 // This case should fail because a file URL is used. 487 // This case should fail because a file URL is used.
484 base::FilePath dir_source_root; 488 base::FilePath dir_source_root;
485 EXPECT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &dir_source_root)); 489 EXPECT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &dir_source_root));
486 base::FilePath full_file_path = 490 base::FilePath full_file_path =
487 dir_source_root.Append(server_root()).AppendASCII(kTestFileName); 491 dir_source_root.Append(server_root()).AppendASCII(kTestFileName);
488 GURL file_url(net::FilePathToFileURL(full_file_path)); 492 GURL file_url(net::FilePathToFileURL(full_file_path));
489 493
490 ui_test_utils::NavigateToURL(browser(), file_url); 494 ui_test_utils::NavigateToURL(browser(), file_url);
491 495
492 EXPECT_EQ(blink::mojom::PermissionStatus::ASK, 496 EXPECT_EQ(CONTENT_SETTING_ASK,
493 permission_manager->GetPermissionStatus( 497 permission_manager
494 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, file_url, file_url)); 498 ->GetPermissionStatus(CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
499 file_url, file_url)
500 .content_setting);
495 501
496 RequestAndAcceptPermission(); 502 RequestAndAcceptPermission();
497 EXPECT_EQ(blink::mojom::PermissionStatus::ASK, 503 EXPECT_EQ(CONTENT_SETTING_ASK,
498 permission_manager->GetPermissionStatus( 504 permission_manager
499 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, file_url, file_url)) 505 ->GetPermissionStatus(CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
506 file_url, file_url)
507 .content_setting)
500 << "If this test fails, you may have fixed a bug preventing file origins " 508 << "If this test fails, you may have fixed a bug preventing file origins "
501 << "from sending their origin from Blink; if so you need to update the " 509 << "from sending their origin from Blink; if so you need to update the "
502 << "display function for notification origins to show the file path."; 510 << "display function for notification origins to show the file path.";
503 } 511 }
504 512
505 IN_PROC_BROWSER_TEST_F(PlatformNotificationServiceBrowserTest, 513 IN_PROC_BROWSER_TEST_F(PlatformNotificationServiceBrowserTest,
506 DataUrlAsNotificationImage) { 514 DataUrlAsNotificationImage) {
507 ASSERT_NO_FATAL_FAILURE(GrantNotificationPermissionForTest()); 515 ASSERT_NO_FATAL_FAILURE(GrantNotificationPermissionForTest());
508 516
509 std::string script_result; 517 std::string script_result;
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after
781 RunScript("DisplayPersistentAllOptionsNotification()", &script_result)); 789 RunScript("DisplayPersistentAllOptionsNotification()", &script_result));
782 EXPECT_EQ("ok", script_result); 790 EXPECT_EQ("ok", script_result);
783 791
784 ASSERT_EQ(1u, ui_manager()->GetNotificationCount()); 792 ASSERT_EQ(1u, ui_manager()->GetNotificationCount());
785 const Notification& notification = ui_manager()->GetNotificationAt(0); 793 const Notification& notification = ui_manager()->GetNotificationAt(0);
786 794
787 // Since the kNotificationContentImage kill switch has disabled images, the 795 // Since the kNotificationContentImage kill switch has disabled images, the
788 // notification should be shown without an image. 796 // notification should be shown without an image.
789 EXPECT_TRUE(notification.image().IsEmpty()); 797 EXPECT_TRUE(notification.image().IsEmpty());
790 } 798 }
OLDNEW
« no previous file with comments | « chrome/browser/notifications/platform_notification_service_impl.cc ('k') | chrome/browser/permissions/permission_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698