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

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

Issue 7432006: Add an experimental permissions API for extensions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: missed a scoped_refptr Created 9 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/extensions/extension_prefs_unittest.cc
diff --git a/chrome/browser/extensions/extension_prefs_unittest.cc b/chrome/browser/extensions/extension_prefs_unittest.cc
index 5098e775153643dd6b9b4a1745efafc3d9667e6a..b2bb12a3a5ac6845bffa09b141783d8a463e14d1 100644
--- a/chrome/browser/extensions/extension_prefs_unittest.cc
+++ b/chrome/browser/extensions/extension_prefs_unittest.cc
@@ -321,6 +321,54 @@ class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest {
};
TEST_F(ExtensionPrefsGrantedPermissions, GrantedPermissions) {}
+// Tests the SetActivePermissions / GetActivePermissions functions.
+class ExtensionPrefsActivePermissions : public ExtensionPrefsTest {
+ public:
+ virtual void Initialize() {
+ extension_id_ = prefs_.AddExtensionAndReturnId("test");
+
+ ExtensionAPIPermissionSet api_perms;
+ api_perms.insert(ExtensionAPIPermission::kTab);
+ api_perms.insert(ExtensionAPIPermission::kBookmark);
+ api_perms.insert(ExtensionAPIPermission::kHistory);
+
+ URLPatternSet ehosts;
+ AddPattern(&ehosts, "http://*.google.com/*");
+ AddPattern(&ehosts, "http://example.com/*");
+ AddPattern(&ehosts, "chrome://favicon/*");
+
+ URLPatternSet shosts;
+ AddPattern(&shosts, "https://*.google.com/*");
+ AddPattern(&shosts, "http://reddit.com/r/test/*");
+
+ active_perms_.reset(new ExtensionPermissionSet(api_perms, ehosts, shosts));
+
+ // Make sure the active permissions start empty.
+ scoped_ptr<ExtensionPermissionSet> active(
+ prefs()->GetActivePermissions(extension_id_));
+ EXPECT_TRUE(active->IsEmpty());
+
+ // Set the active permissions.
+ prefs()->SetActivePermissions(extension_id_, active_perms_.get());
+ active.reset(prefs()->GetActivePermissions(extension_id_));
+ EXPECT_EQ(active_perms_->apis(), active->apis());
+ EXPECT_EQ(active_perms_->explicit_hosts(), active->explicit_hosts());
+ EXPECT_EQ(active_perms_->scriptable_hosts(), active->scriptable_hosts());
+ EXPECT_EQ(*active_perms_, *active);
+ }
+
+ virtual void Verify() {
+ scoped_ptr<ExtensionPermissionSet> permissions(
+ prefs()->GetActivePermissions(extension_id_));
+ EXPECT_EQ(*active_perms_, *permissions);
+ }
+
+ private:
+ std::string extension_id_;
+ scoped_ptr<ExtensionPermissionSet> active_perms_;
+};
+TEST_F(ExtensionPrefsActivePermissions, SetAndGetActivePermissions) {}
+
// Tests the GetVersionString function.
class ExtensionPrefsVersionString : public ExtensionPrefsTest {
public:

Powered by Google App Engine
This is Rietveld 408576698