| Index: chrome/browser/extensions/permissions_apitest.cc
|
| diff --git a/chrome/browser/extensions/permissions_apitest.cc b/chrome/browser/extensions/permissions_apitest.cc
|
| index def0595b60fca3d7323402fcf2e18df3cc50a716..841f941bdfb3a126380cb34bc4f12482c4a4671f 100644
|
| --- a/chrome/browser/extensions/permissions_apitest.cc
|
| +++ b/chrome/browser/extensions/permissions_apitest.cc
|
| @@ -9,6 +9,16 @@
|
| #include "chrome/browser/ui/browser.h"
|
| #include "chrome/common/chrome_switches.h"
|
| #include "chrome/common/extensions/extension_permission_set.h"
|
| +#include "net/base/mock_host_resolver.h"
|
| +
|
| +namespace {
|
| +
|
| +static void AddPattern(URLPatternSet* extent, const std::string& pattern) {
|
| + int schemes = URLPattern::SCHEME_ALL;
|
| + extent->AddPattern(URLPattern(schemes, pattern));
|
| +}
|
| +
|
| +} // namespace
|
|
|
| class ExperimentalApiTest : public ExtensionApiTest {
|
| public:
|
| @@ -60,14 +70,19 @@ IN_PROC_BROWSER_TEST_F(ExperimentalApiTest, OptionalPermissionsGranted) {
|
| apis.insert(ExtensionAPIPermission::kTab);
|
| apis.insert(ExtensionAPIPermission::kManagement);
|
| apis.insert(ExtensionAPIPermission::kPermissions);
|
| + URLPatternSet explicit_hosts;
|
| + AddPattern(&explicit_hosts, "http://a.com/*");
|
| + AddPattern(&explicit_hosts, "http://*.c.com/*");
|
| scoped_refptr<ExtensionPermissionSet> granted_permissions =
|
| - new ExtensionPermissionSet(apis, URLPatternSet(), URLPatternSet());
|
| + new ExtensionPermissionSet(apis, explicit_hosts, URLPatternSet());
|
|
|
| ExtensionPrefs* prefs =
|
| browser()->profile()->GetExtensionService()->extension_prefs();
|
| prefs->AddGrantedPermissions("kjmkgkdkpedkejedfhmfcenooemhbpbo",
|
| granted_permissions);
|
|
|
| + host_resolver()->AddRule("*.com", "127.0.0.1");
|
| + ASSERT_TRUE(StartTestServer());
|
| EXPECT_TRUE(RunExtensionTest("permissions/optional")) << message_;
|
| }
|
|
|
| @@ -76,11 +91,15 @@ IN_PROC_BROWSER_TEST_F(ExperimentalApiTest, OptionalPermissionsAutoConfirm) {
|
| // Rather than setting the granted permissions, set the UI autoconfirm flag
|
| // and run the same tests.
|
| RequestPermissionsFunction::SetAutoConfirmForTests(true);
|
| + host_resolver()->AddRule("*.com", "127.0.0.1");
|
| + ASSERT_TRUE(StartTestServer());
|
| EXPECT_TRUE(RunExtensionTest("permissions/optional")) << message_;
|
| }
|
|
|
| // Test that denying the optional permissions confirmation dialog works.
|
| IN_PROC_BROWSER_TEST_F(ExperimentalApiTest, OptionalPermissionsDeny) {
|
| RequestPermissionsFunction::SetAutoConfirmForTests(false);
|
| + host_resolver()->AddRule("*.com", "127.0.0.1");
|
| + ASSERT_TRUE(StartTestServer());
|
| EXPECT_TRUE(RunExtensionTest("permissions/optional_deny")) << message_;
|
| }
|
|
|