| Index: chrome/browser/extensions/api/permissions/permissions_apitest.cc
|
| diff --git a/chrome/browser/extensions/api/permissions/permissions_apitest.cc b/chrome/browser/extensions/api/permissions/permissions_apitest.cc
|
| index 910bf6222fb5cb769d0e24be714d5e6ad0642e90..01608531f56da3edca572b9072c68c2e5195c071 100644
|
| --- a/chrome/browser/extensions/api/permissions/permissions_apitest.cc
|
| +++ b/chrome/browser/extensions/api/permissions/permissions_apitest.cc
|
| @@ -34,7 +34,15 @@ class ExperimentalApiTest : public ExtensionApiTest {
|
| }
|
| };
|
|
|
| -IN_PROC_BROWSER_TEST_F(ExtensionApiTest, PermissionsFail) {
|
| +class PermissionsApiTest : public ExtensionApiTest {
|
| + public:
|
| + void SetUpOnMainThread() override {
|
| + ExtensionApiTest::SetUpOnMainThread();
|
| + host_resolver()->AddRule("*", "127.0.0.1");
|
| + }
|
| +};
|
| +
|
| +IN_PROC_BROWSER_TEST_F(PermissionsApiTest, PermissionsFail) {
|
| ASSERT_TRUE(RunExtensionTest("permissions/disabled")) << message_;
|
|
|
| // Since the experimental APIs require a flag, this will fail even though
|
| @@ -50,7 +58,7 @@ IN_PROC_BROWSER_TEST_F(ExperimentalApiTest, PermissionsSucceed) {
|
| ASSERT_TRUE(RunExtensionTest("permissions/enabled")) << message_;
|
| }
|
|
|
| -IN_PROC_BROWSER_TEST_F(ExtensionApiTest, ExperimentalPermissionsFail) {
|
| +IN_PROC_BROWSER_TEST_F(PermissionsApiTest, ExperimentalPermissionsFail) {
|
| // At the time this test is being created, there is no experimental
|
| // function that will not be graduating soon, and does not require a
|
| // tab id as an argument. So, we need the tab permission to get
|
| @@ -59,18 +67,18 @@ IN_PROC_BROWSER_TEST_F(ExtensionApiTest, ExperimentalPermissionsFail) {
|
| << message_;
|
| }
|
|
|
| -IN_PROC_BROWSER_TEST_F(ExtensionApiTest, FaviconPermission) {
|
| +IN_PROC_BROWSER_TEST_F(PermissionsApiTest, FaviconPermission) {
|
| ASSERT_TRUE(RunExtensionTest("permissions/favicon")) << message_;
|
| }
|
|
|
| // Test functions and APIs that are always allowed (even if you ask for no
|
| // permissions).
|
| -IN_PROC_BROWSER_TEST_F(ExtensionApiTest, AlwaysAllowed) {
|
| +IN_PROC_BROWSER_TEST_F(PermissionsApiTest, AlwaysAllowed) {
|
| ASSERT_TRUE(RunExtensionTest("permissions/always_allowed")) << message_;
|
| }
|
|
|
| // Tests that the optional permissions API works correctly.
|
| -IN_PROC_BROWSER_TEST_F(ExtensionApiTest, OptionalPermissionsGranted) {
|
| +IN_PROC_BROWSER_TEST_F(PermissionsApiTest, OptionalPermissionsGranted) {
|
| // Mark all the tested APIs as granted to bypass the confirmation UI.
|
| APIPermissionSet apis;
|
| apis.insert(APIPermission::kBookmark);
|
| @@ -84,46 +92,41 @@ IN_PROC_BROWSER_TEST_F(ExtensionApiTest, OptionalPermissionsGranted) {
|
| explicit_hosts, URLPatternSet()));
|
|
|
| PermissionsRequestFunction::SetIgnoreUserGestureForTests(true);
|
| - host_resolver()->AddRule("*.com", "127.0.0.1");
|
| ASSERT_TRUE(StartEmbeddedTestServer());
|
| EXPECT_TRUE(RunExtensionTest("permissions/optional")) << message_;
|
| }
|
|
|
| // Tests that the optional permissions API works correctly.
|
| -IN_PROC_BROWSER_TEST_F(ExtensionApiTest, OptionalPermissionsAutoConfirm) {
|
| +IN_PROC_BROWSER_TEST_F(PermissionsApiTest, OptionalPermissionsAutoConfirm) {
|
| // Rather than setting the granted permissions, set the UI autoconfirm flag
|
| // and run the same tests.
|
| PermissionsRequestFunction::SetAutoConfirmForTests(true);
|
| PermissionsRequestFunction::SetIgnoreUserGestureForTests(true);
|
| - host_resolver()->AddRule("*.com", "127.0.0.1");
|
| ASSERT_TRUE(StartEmbeddedTestServer());
|
| EXPECT_TRUE(RunExtensionTest("permissions/optional")) << message_;
|
| }
|
|
|
| // Test that denying the optional permissions confirmation dialog works.
|
| -IN_PROC_BROWSER_TEST_F(ExtensionApiTest, OptionalPermissionsDeny) {
|
| +IN_PROC_BROWSER_TEST_F(PermissionsApiTest, OptionalPermissionsDeny) {
|
| PermissionsRequestFunction::SetAutoConfirmForTests(false);
|
| PermissionsRequestFunction::SetIgnoreUserGestureForTests(true);
|
| - host_resolver()->AddRule("*.com", "127.0.0.1");
|
| ASSERT_TRUE(StartEmbeddedTestServer());
|
| EXPECT_TRUE(RunExtensionTest("permissions/optional_deny")) << message_;
|
| }
|
|
|
| // Tests that the permissions.request function must be called from within a
|
| // user gesture.
|
| -IN_PROC_BROWSER_TEST_F(ExtensionApiTest, OptionalPermissionsGesture) {
|
| +IN_PROC_BROWSER_TEST_F(PermissionsApiTest, OptionalPermissionsGesture) {
|
| PermissionsRequestFunction::SetIgnoreUserGestureForTests(false);
|
| - host_resolver()->AddRule("*.com", "127.0.0.1");
|
| ASSERT_TRUE(StartEmbeddedTestServer());
|
| EXPECT_TRUE(RunExtensionTest("permissions/optional_gesture")) << message_;
|
| }
|
|
|
| // Tests that the user gesture is retained in the permissions.request function
|
| // callback.
|
| -IN_PROC_BROWSER_TEST_F(ExtensionApiTest, OptionalPermissionsRetainGesture) {
|
| +IN_PROC_BROWSER_TEST_F(PermissionsApiTest, OptionalPermissionsRetainGesture) {
|
| PermissionsRequestFunction::SetAutoConfirmForTests(true);
|
| PermissionsRequestFunction::SetIgnoreUserGestureForTests(false);
|
| - host_resolver()->AddRule("*.com", "127.0.0.1");
|
| ASSERT_TRUE(StartEmbeddedTestServer());
|
| EXPECT_TRUE(RunExtensionTest("permissions/optional_retain_gesture"))
|
| << message_;
|
| @@ -147,7 +150,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionApiTestWithManagementPolicy,
|
|
|
| // Tests that an extension can't gain access to file: URLs without the checkbox
|
| // entry in prefs. There shouldn't be a warning either.
|
| -IN_PROC_BROWSER_TEST_F(ExtensionApiTest, OptionalPermissionsFileAccess) {
|
| +IN_PROC_BROWSER_TEST_F(PermissionsApiTest, OptionalPermissionsFileAccess) {
|
| // There shouldn't be a warning, so we shouldn't need to autoconfirm.
|
| PermissionsRequestFunction::SetAutoConfirmForTests(false);
|
| PermissionsRequestFunction::SetIgnoreUserGestureForTests(true);
|
| @@ -172,7 +175,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionApiTest, OptionalPermissionsFileAccess) {
|
|
|
| // Test requesting, querying, and removing host permissions for host
|
| // permissions that are a subset of the optional permissions.
|
| -IN_PROC_BROWSER_TEST_F(ExtensionApiTest, HostSubsets) {
|
| +IN_PROC_BROWSER_TEST_F(PermissionsApiTest, HostSubsets) {
|
| PermissionsRequestFunction::SetAutoConfirmForTests(true);
|
| PermissionsRequestFunction::SetIgnoreUserGestureForTests(true);
|
| EXPECT_TRUE(RunExtensionTest("permissions/host_subsets")) << message_;
|
| @@ -182,7 +185,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionApiTest, HostSubsets) {
|
| // another window open, grants the permission and updates the bindings
|
| // (chrome.whatever, in this case chrome.alarms). Regression test for
|
| // crbug.com/435141, see details there for trickiness.
|
| -IN_PROC_BROWSER_TEST_F(ExtensionApiTest, OptionalPermissionsUpdatesBindings) {
|
| +IN_PROC_BROWSER_TEST_F(PermissionsApiTest, OptionalPermissionsUpdatesBindings) {
|
| ASSERT_TRUE(RunExtensionTest("permissions/optional_updates_bindings"))
|
| << message_;
|
| }
|
|
|