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

Unified Diff: chrome/browser/ui/website_settings/permission_bubble_manager_browsertest.cc

Issue 2081103002: Rename PermissionBubbleManager to PermissionRequestManager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Review comments Created 4 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/website_settings/permission_bubble_manager_browsertest.cc
diff --git a/chrome/browser/ui/website_settings/permission_bubble_manager_browsertest.cc b/chrome/browser/ui/website_settings/permission_bubble_manager_browsertest.cc
deleted file mode 100644
index 01155cb091ea1ad2f0df2fac0b2fa44d438b921b..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/website_settings/permission_bubble_manager_browsertest.cc
+++ /dev/null
@@ -1,251 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/ui/website_settings/permission_bubble_manager.h"
-
-#include "base/command_line.h"
-#include "base/metrics/field_trial.h"
-#include "build/build_config.h"
-#include "chrome/browser/permissions/permission_context_base.h"
-#include "chrome/browser/permissions/permission_util.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/tabs/tab_strip_model.h"
-#include "chrome/browser/ui/website_settings/mock_permission_bubble_factory.h"
-#include "chrome/test/base/in_process_browser_test.h"
-#include "chrome/test/base/ui_test_utils.h"
-#include "components/variations/variations_associated_data.h"
-#include "content/public/browser/permission_type.h"
-#include "content/public/test/browser_test_utils.h"
-#include "content/public/test/test_utils.h"
-#include "net/test/embedded_test_server/embedded_test_server.h"
-
-namespace {
-
-const char* kPermissionsKillSwitchFieldStudy =
- PermissionContextBase::kPermissionsKillSwitchFieldStudy;
-const char* kPermissionsKillSwitchBlockedValue =
- PermissionContextBase::kPermissionsKillSwitchBlockedValue;
-const char kPermissionsKillSwitchTestGroup[] = "TestGroup";
-
-class PermissionBubbleManagerBrowserTest : public InProcessBrowserTest {
- public:
- PermissionBubbleManagerBrowserTest() = default;
- ~PermissionBubbleManagerBrowserTest() override = default;
-
- void SetUpOnMainThread() override {
- InProcessBrowserTest::SetUpOnMainThread();
- PermissionBubbleManager* manager = GetPermissionBubbleManager();
- mock_permission_bubble_factory_.reset(
- new MockPermissionBubbleFactory(manager));
- manager->DisplayPendingRequests();
- }
-
- void TearDownOnMainThread() override {
- mock_permission_bubble_factory_.reset();
- InProcessBrowserTest::TearDownOnMainThread();
- }
-
- PermissionBubbleManager* GetPermissionBubbleManager() {
- return PermissionBubbleManager::FromWebContents(
- browser()->tab_strip_model()->GetActiveWebContents());
- }
-
- MockPermissionBubbleFactory* bubble_factory() {
- return mock_permission_bubble_factory_.get();
- }
-
- void EnableKillSwitch(content::PermissionType permission_type) {
- std::map<std::string, std::string> params;
- params[PermissionUtil::GetPermissionString(permission_type)] =
- kPermissionsKillSwitchBlockedValue;
- variations::AssociateVariationParams(
- kPermissionsKillSwitchFieldStudy, kPermissionsKillSwitchTestGroup,
- params);
- base::FieldTrialList::CreateFieldTrial(kPermissionsKillSwitchFieldStudy,
- kPermissionsKillSwitchTestGroup);
- }
-
- private:
- std::unique_ptr<MockPermissionBubbleFactory> mock_permission_bubble_factory_;
-};
-
-// Requests before the load event should be bundled into one bubble.
-// http://crbug.com/512849 flaky
-IN_PROC_BROWSER_TEST_F(PermissionBubbleManagerBrowserTest,
- DISABLED_RequestsBeforeLoad) {
- ASSERT_TRUE(embedded_test_server()->Start());
-
- ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(
- browser(),
- embedded_test_server()->GetURL("/permissions/requests-before-load.html"),
- 1);
- bubble_factory()->WaitForPermissionBubble();
-
- EXPECT_EQ(1, bubble_factory()->show_count());
- EXPECT_EQ(2, bubble_factory()->total_request_count());
-}
-
-// Requests before the load should not be bundled with a request after the load.
-IN_PROC_BROWSER_TEST_F(PermissionBubbleManagerBrowserTest,
- RequestsBeforeAfterLoad) {
- ASSERT_TRUE(embedded_test_server()->Start());
-
- ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(
- browser(),
- embedded_test_server()->GetURL(
- "/permissions/requests-before-after-load.html"),
- 1);
- bubble_factory()->WaitForPermissionBubble();
-
- EXPECT_EQ(1, bubble_factory()->show_count());
- EXPECT_EQ(1, bubble_factory()->total_request_count());
-}
-
-// Navigating twice to the same URL should be equivalent to refresh. This means
-// showing the bubbles twice.
-// http://crbug.com/512849 flaky
-#if defined(OS_WIN)
-#define MAYBE_NavTwice DISABLED_NavTwice
-#else
-#define MAYBE_NavTwice NavTwice
-#endif
-IN_PROC_BROWSER_TEST_F(PermissionBubbleManagerBrowserTest, MAYBE_NavTwice) {
- ASSERT_TRUE(embedded_test_server()->Start());
-
- ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(
- browser(),
- embedded_test_server()->GetURL("/permissions/requests-before-load.html"),
- 1);
- bubble_factory()->WaitForPermissionBubble();
-
- ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(
- browser(),
- embedded_test_server()->GetURL("/permissions/requests-before-load.html"),
- 1);
- bubble_factory()->WaitForPermissionBubble();
-
- EXPECT_EQ(2, bubble_factory()->show_count());
- EXPECT_EQ(4, bubble_factory()->total_request_count());
-}
-
-// Navigating twice to the same URL with a hash should be navigation within the
-// page. This means the bubble is only shown once.
-// http://crbug.com/512849 flaky
-#if defined(OS_WIN)
-#define MAYBE_NavTwiceWithHash DISABLED_NavTwiceWithHash
-#else
-#define MAYBE_NavTwiceWithHash NavTwiceWithHash
-#endif
-IN_PROC_BROWSER_TEST_F(PermissionBubbleManagerBrowserTest,
- MAYBE_NavTwiceWithHash) {
- ASSERT_TRUE(embedded_test_server()->Start());
-
- ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(
- browser(),
- embedded_test_server()->GetURL("/permissions/requests-before-load.html"),
- 1);
- bubble_factory()->WaitForPermissionBubble();
-
- ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(
- browser(),
- embedded_test_server()->GetURL(
- "/permissions/requests-before-load.html#0"),
- 1);
- bubble_factory()->WaitForPermissionBubble();
-
- EXPECT_EQ(1, bubble_factory()->show_count());
- EXPECT_EQ(2, bubble_factory()->total_request_count());
-}
-
-// Bubble requests should be shown after in-page navigation.
-IN_PROC_BROWSER_TEST_F(PermissionBubbleManagerBrowserTest, InPageNavigation) {
- ASSERT_TRUE(embedded_test_server()->Start());
-
- ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(
- browser(),
- embedded_test_server()->GetURL("/empty.html"),
- 1);
-
- ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(
- browser(),
- embedded_test_server()->GetURL("/empty.html#0"),
- 1);
-
- // Request 'geolocation' permission.
- ExecuteScriptAndGetValue(
- browser()->tab_strip_model()->GetActiveWebContents()->GetMainFrame(),
- "navigator.geolocation.getCurrentPosition(function(){});");
- bubble_factory()->WaitForPermissionBubble();
-
- EXPECT_EQ(1, bubble_factory()->show_count());
- EXPECT_EQ(1, bubble_factory()->total_request_count());
-}
-
-// Bubble requests should not be shown when the killswitch is on.
-IN_PROC_BROWSER_TEST_F(PermissionBubbleManagerBrowserTest,
- KillSwitchGeolocation) {
- ASSERT_TRUE(embedded_test_server()->Start());
-
- ui_test_utils::NavigateToURL(
- browser(),
- embedded_test_server()->GetURL("/permissions/killswitch_tester.html"));
-
- // Now enable the geolocation killswitch.
- EnableKillSwitch(content::PermissionType::GEOLOCATION);
- content::WebContents* web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
-
- std::string result;
- EXPECT_TRUE(content::ExecuteScriptAndExtractString(
- web_contents, "requestGeolocation();", &result));
- EXPECT_EQ("denied", result);
- EXPECT_EQ(0, bubble_factory()->show_count());
- EXPECT_EQ(0, bubble_factory()->total_request_count());
-
- // Disable the trial.
- variations::testing::ClearAllVariationParams();
-
- // Reload the page to get around blink layer caching for geolocation
- // requests.
- ui_test_utils::NavigateToURL(
- browser(),
- embedded_test_server()->GetURL("/permissions/killswitch_tester.html"));
-
- EXPECT_TRUE(content::ExecuteScript(web_contents, "requestGeolocation();"));
- bubble_factory()->WaitForPermissionBubble();
- EXPECT_EQ(1, bubble_factory()->show_count());
- EXPECT_EQ(1, bubble_factory()->total_request_count());
-}
-
-// Bubble requests should not be shown when the killswitch is on.
-IN_PROC_BROWSER_TEST_F(PermissionBubbleManagerBrowserTest,
- KillSwitchNotifications) {
- ASSERT_TRUE(embedded_test_server()->Start());
-
- ui_test_utils::NavigateToURL(
- browser(),
- embedded_test_server()->GetURL("/permissions/killswitch_tester.html"));
-
- // Now enable the notifications killswitch.
- EnableKillSwitch(content::PermissionType::NOTIFICATIONS);
- content::WebContents* web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
-
- std::string result;
- EXPECT_TRUE(content::ExecuteScriptAndExtractString(
- web_contents, "requestNotification();", &result));
- EXPECT_EQ("denied", result);
- EXPECT_EQ(0, bubble_factory()->show_count());
- EXPECT_EQ(0, bubble_factory()->total_request_count());
-
- // Disable the trial.
- variations::testing::ClearAllVariationParams();
-
- EXPECT_TRUE(content::ExecuteScript(web_contents, "requestNotification();"));
- bubble_factory()->WaitForPermissionBubble();
- EXPECT_EQ(1, bubble_factory()->show_count());
- EXPECT_EQ(1, bubble_factory()->total_request_count());
-}
-
-} // anonymous namespace

Powered by Google App Engine
This is Rietveld 408576698