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

Unified Diff: chrome/browser/extensions/permissions_apitest.cc

Issue 7508029: Add origin permissions to the extension permissions API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix dcheck Created 9 years, 4 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/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_;
}
« no previous file with comments | « chrome/browser/extensions/extension_permissions_api_constants.cc ('k') | chrome/common/extensions/api/extension_api.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698