summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions
diff options
context:
space:
mode:
authorpenghuang@chromium.org <penghuang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-27 06:27:06 +0000
committerpenghuang@chromium.org <penghuang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-27 06:27:06 +0000
commitc2e66e129d73bd28f2911731591c1e0ac74cd95b (patch)
tree040be611b5c97d75eaa8fbb8cd80031727d5c706 /chrome/browser/extensions
parent1e03cdff9cdb66731a7543cf357a6f5af264685f (diff)
downloadchromium_src-c2e66e129d73bd28f2911731591c1e0ac74cd95b.zip
chromium_src-c2e66e129d73bd28f2911731591c1e0ac74cd95b.tar.gz
chromium_src-c2e66e129d73bd28f2911731591c1e0ac74cd95b.tar.bz2
Move each permission classes to its own files in extensions/permissions and rename classes from ExtensionPermission* to extensions::Permission*
This CL replaces CL 10649003 TBR=estade BUG=133049 TEST=unit_tests & browser_tests Review URL: https://chromiumcodereview.appspot.com/10675007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144408 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions')
-rw-r--r--chrome/browser/extensions/active_tab_permission_manager.cc4
-rw-r--r--chrome/browser/extensions/api/declarative/rules_registry_storage_delegate.cc2
-rw-r--r--chrome/browser/extensions/api/permissions/permissions_api.cc35
-rw-r--r--chrome/browser/extensions/api/permissions/permissions_api.h5
-rw-r--r--chrome/browser/extensions/api/permissions/permissions_api_helpers.cc25
-rw-r--r--chrome/browser/extensions/api/permissions/permissions_api_helpers.h8
-rw-r--r--chrome/browser/extensions/api/permissions/permissions_api_helpers_unittest.cc25
-rw-r--r--chrome/browser/extensions/api/permissions/permissions_apitest.cc14
-rw-r--r--chrome/browser/extensions/api/tabs/tabs.cc2
-rw-r--r--chrome/browser/extensions/api/web_request/web_request_api.cc2
-rw-r--r--chrome/browser/extensions/bundle_installer.cc4
-rw-r--r--chrome/browser/extensions/convert_web_app_browsertest.cc8
-rw-r--r--chrome/browser/extensions/extension_font_settings_api.cc6
-rw-r--r--chrome/browser/extensions/extension_info_map.cc2
-rw-r--r--chrome/browser/extensions/extension_info_map.h2
-rw-r--r--chrome/browser/extensions/extension_info_map_unittest.cc11
-rw-r--r--chrome/browser/extensions/extension_install_prompt.cc5
-rw-r--r--chrome/browser/extensions/extension_install_prompt.h11
-rw-r--r--chrome/browser/extensions/extension_management_api.cc9
-rw-r--r--chrome/browser/extensions/extension_preference_api.cc46
-rw-r--r--chrome/browser/extensions/extension_preference_helpers.cc2
-rw-r--r--chrome/browser/extensions/extension_preference_helpers.h4
-rw-r--r--chrome/browser/extensions/extension_prefs.cc52
-rw-r--r--chrome/browser/extensions/extension_prefs.h19
-rw-r--r--chrome/browser/extensions/extension_prefs_unittest.cc64
-rw-r--r--chrome/browser/extensions/extension_service.cc27
-rw-r--r--chrome/browser/extensions/extension_service_unittest.cc33
-rw-r--r--chrome/browser/extensions/extension_special_storage_policy.cc17
-rw-r--r--chrome/browser/extensions/extension_tab_helper.cc2
-rw-r--r--chrome/browser/extensions/permissions_updater.cc31
-rw-r--r--chrome/browser/extensions/permissions_updater.h12
-rw-r--r--chrome/browser/extensions/permissions_updater_unittest.cc40
-rw-r--r--chrome/browser/extensions/settings/settings_frontend.cc2
33 files changed, 288 insertions, 243 deletions
diff --git a/chrome/browser/extensions/active_tab_permission_manager.cc b/chrome/browser/extensions/active_tab_permission_manager.cc
index 1c52caf..130d63a 100644
--- a/chrome/browser/extensions/active_tab_permission_manager.cc
+++ b/chrome/browser/extensions/active_tab_permission_manager.cc
@@ -12,7 +12,7 @@
#include "chrome/common/chrome_notification_types.h"
#include "chrome/common/extensions/extension.h"
#include "chrome/common/extensions/extension_messages.h"
-#include "chrome/common/extensions/extension_permission_set.h"
+#include "chrome/common/extensions/permissions/permission_set.h"
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/notification_details.h"
#include "content/public/browser/notification_service.h"
@@ -38,7 +38,7 @@ ActiveTabPermissionManager::ActiveTabPermissionManager(
ActiveTabPermissionManager::~ActiveTabPermissionManager() {}
void ActiveTabPermissionManager::GrantIfRequested(const Extension* extension) {
- if (!extension->HasAPIPermission(ExtensionAPIPermission::kActiveTab))
+ if (!extension->HasAPIPermission(extensions::APIPermission::kActiveTab))
return;
if (active_urls_.is_empty())
diff --git a/chrome/browser/extensions/api/declarative/rules_registry_storage_delegate.cc b/chrome/browser/extensions/api/declarative/rules_registry_storage_delegate.cc
index 3f71318..f212096 100644
--- a/chrome/browser/extensions/api/declarative/rules_registry_storage_delegate.cc
+++ b/chrome/browser/extensions/api/declarative/rules_registry_storage_delegate.cc
@@ -178,7 +178,7 @@ void RulesRegistryStorageDelegate::Inner::Observe(
// TODO(mpcomplete): This API check should generalize to any use of
// declarative rules, not just webRequest.
if (extension->HasAPIPermission(
- ExtensionAPIPermission::kDeclarativeWebRequest)) {
+ APIPermission::kDeclarativeWebRequest)) {
ReadFromStorage(extension->id());
}
} else if (type == chrome::NOTIFICATION_EXTENSIONS_READY) {
diff --git a/chrome/browser/extensions/api/permissions/permissions_api.cc b/chrome/browser/extensions/api/permissions/permissions_api.cc
index bd87039..0e8ccb2 100644
--- a/chrome/browser/extensions/api/permissions/permissions_api.cc
+++ b/chrome/browser/extensions/api/permissions/permissions_api.cc
@@ -13,10 +13,15 @@
#include "chrome/common/extensions/api/permissions.h"
#include "chrome/common/extensions/extension.h"
#include "chrome/common/extensions/extension_error_utils.h"
+#include "chrome/common/extensions/permissions/permissions_info.h"
#include "chrome/common/extensions/url_pattern_set.h"
#include "googleurl/src/gurl.h"
using extensions::api::permissions::Permissions;
+using extensions::APIPermission;
+using extensions::APIPermissionSet;
+using extensions::PermissionSet;
+using extensions::PermissionsInfo;
using extensions::PermissionsUpdater;
namespace Contains = extensions::api::permissions::Contains;
@@ -49,7 +54,7 @@ bool ignore_user_gesture_for_tests = false;
bool ContainsPermissionsFunction::RunImpl() {
scoped_ptr<Contains::Params> params(Contains::Params::Create(*args_));
- scoped_refptr<ExtensionPermissionSet> permissions =
+ scoped_refptr<PermissionSet> permissions =
helpers::UnpackPermissionSet(params->permissions, &error_);
if (!permissions.get())
return false;
@@ -70,19 +75,19 @@ bool RemovePermissionsFunction::RunImpl() {
scoped_ptr<Remove::Params> params(Remove::Params::Create(*args_));
EXTENSION_FUNCTION_VALIDATE(params.get());
- scoped_refptr<ExtensionPermissionSet> permissions =
+ scoped_refptr<PermissionSet> permissions =
helpers::UnpackPermissionSet(params->permissions, &error_);
if (!permissions.get())
return false;
const extensions::Extension* extension = GetExtension();
- ExtensionPermissionsInfo* info = ExtensionPermissionsInfo::GetInstance();
+ PermissionsInfo* info = PermissionsInfo::GetInstance();
// Make sure they're only trying to remove permissions supported by this API.
- ExtensionAPIPermissionSet apis = permissions->apis();
- for (ExtensionAPIPermissionSet::const_iterator i = apis.begin();
+ APIPermissionSet apis = permissions->apis();
+ for (APIPermissionSet::const_iterator i = apis.begin();
i != apis.end(); ++i) {
- const ExtensionAPIPermission* api = info->GetByID(*i);
+ const APIPermission* api = info->GetByID(*i);
if (!api->supports_optional()) {
error_ = ExtensionErrorUtils::FormatErrorMessage(
kNotWhitelistedError, api->name());
@@ -91,9 +96,9 @@ bool RemovePermissionsFunction::RunImpl() {
}
// Make sure we don't remove any required pemissions.
- const ExtensionPermissionSet* required = extension->required_permission_set();
- scoped_refptr<ExtensionPermissionSet> intersection(
- ExtensionPermissionSet::CreateIntersection(permissions.get(), required));
+ const PermissionSet* required = extension->required_permission_set();
+ scoped_refptr<PermissionSet> intersection(
+ PermissionSet::CreateIntersection(permissions.get(), required));
if (!intersection->IsEmpty()) {
error_ = kCantRemoveRequiredPermissionsError;
result_.reset(Remove::Result::Create(false));
@@ -151,14 +156,14 @@ bool RequestPermissionsFunction::RunImpl() {
if (!requested_permissions_.get())
return false;
- ExtensionPermissionsInfo* info = ExtensionPermissionsInfo::GetInstance();
+ PermissionsInfo* info = PermissionsInfo::GetInstance();
ExtensionPrefs* prefs = profile()->GetExtensionService()->extension_prefs();
// Make sure they're only requesting permissions supported by this API.
- ExtensionAPIPermissionSet apis = requested_permissions_->apis();
- for (ExtensionAPIPermissionSet::const_iterator i = apis.begin();
+ APIPermissionSet apis = requested_permissions_->apis();
+ for (APIPermissionSet::const_iterator i = apis.begin();
i != apis.end(); ++i) {
- const ExtensionAPIPermission* api = info->GetByID(*i);
+ const APIPermission* api = info->GetByID(*i);
if (!api->supports_optional()) {
error_ = ExtensionErrorUtils::FormatErrorMessage(
kNotWhitelistedError, api->name());
@@ -176,7 +181,7 @@ bool RequestPermissionsFunction::RunImpl() {
// We don't need to prompt the user if the requested permissions are a subset
// of the granted permissions set.
- scoped_refptr<const ExtensionPermissionSet> granted =
+ scoped_refptr<const PermissionSet> granted =
prefs->GetGrantedPermissions(GetExtension()->id());
if (granted.get() && granted->Contains(*requested_permissions_)) {
PermissionsUpdater perms_updater(profile());
@@ -187,7 +192,7 @@ bool RequestPermissionsFunction::RunImpl() {
}
// Filter out the granted permissions so we only prompt for new ones.
- requested_permissions_ = ExtensionPermissionSet::CreateDifference(
+ requested_permissions_ = PermissionSet::CreateDifference(
requested_permissions_.get(), granted.get());
AddRef(); // Balanced in InstallUIProceed() / InstallUIAbort().
diff --git a/chrome/browser/extensions/api/permissions/permissions_api.h b/chrome/browser/extensions/api/permissions/permissions_api.h
index 662b8c2..a1bf462 100644
--- a/chrome/browser/extensions/api/permissions/permissions_api.h
+++ b/chrome/browser/extensions/api/permissions/permissions_api.h
@@ -11,9 +11,8 @@
#include "base/compiler_specific.h"
#include "chrome/browser/extensions/extension_function.h"
#include "chrome/browser/extensions/extension_install_prompt.h"
-#include "chrome/common/extensions/extension_permission_set.h"
+#include "chrome/common/extensions/permissions/permission_set.h"
-class ExtensionPermissionSet;
class ExtensionService;
// chrome.permissions.contains
@@ -76,7 +75,7 @@ class RequestPermissionsFunction : public AsyncExtensionFunction,
private:
scoped_ptr<ExtensionInstallPrompt> install_ui_;
- scoped_refptr<ExtensionPermissionSet> requested_permissions_;
+ scoped_refptr<extensions::PermissionSet> requested_permissions_;
};
#endif // CHROME_BROWSER_EXTENSIONS_API_PERMISSIONS_PERMISSIONS_API_H_
diff --git a/chrome/browser/extensions/api/permissions/permissions_api_helpers.cc b/chrome/browser/extensions/api/permissions/permissions_api_helpers.cc
index e5c31f6..a421a9d 100644
--- a/chrome/browser/extensions/api/permissions/permissions_api_helpers.cc
+++ b/chrome/browser/extensions/api/permissions/permissions_api_helpers.cc
@@ -8,9 +8,14 @@
#include "chrome/common/extensions/api/permissions.h"
#include "chrome/common/extensions/extension.h"
#include "chrome/common/extensions/extension_error_utils.h"
-#include "chrome/common/extensions/extension_permission_set.h"
+#include "chrome/common/extensions/permissions/permission_set.h"
+#include "chrome/common/extensions/permissions/permissions_info.h"
#include "chrome/common/extensions/url_pattern_set.h"
+using extensions::APIPermission;
+using extensions::PermissionSet;
+using extensions::PermissionsInfo;
+
namespace extensions {
using api::permissions::Permissions;
@@ -26,12 +31,12 @@ const char kUnknownPermissionError[] =
} // namespace
-scoped_ptr<Permissions> PackPermissionSet(const ExtensionPermissionSet* set) {
+scoped_ptr<Permissions> PackPermissionSet(const PermissionSet* set) {
Permissions* permissions(new Permissions());
permissions->permissions.reset(new std::vector<std::string>());
- ExtensionPermissionsInfo* info = ExtensionPermissionsInfo::GetInstance();
- for (ExtensionAPIPermissionSet::const_iterator i = set->apis().begin();
+ PermissionsInfo* info = PermissionsInfo::GetInstance();
+ for (APIPermissionSet::const_iterator i = set->apis().begin();
i != set->apis().end(); ++i) {
permissions->permissions->push_back(info->GetByID(*i)->name());
}
@@ -44,15 +49,15 @@ scoped_ptr<Permissions> PackPermissionSet(const ExtensionPermissionSet* set) {
return scoped_ptr<Permissions>(permissions);
}
-scoped_refptr<ExtensionPermissionSet> UnpackPermissionSet(
+scoped_refptr<PermissionSet> UnpackPermissionSet(
const Permissions& permissions, std::string* error) {
- ExtensionAPIPermissionSet apis;
+ APIPermissionSet apis;
std::vector<std::string>* permissions_list = permissions.permissions.get();
if (permissions_list) {
- ExtensionPermissionsInfo* info = ExtensionPermissionsInfo::GetInstance();
+ PermissionsInfo* info = PermissionsInfo::GetInstance();
for (std::vector<std::string>::iterator it = permissions_list->begin();
it != permissions_list->end(); ++it) {
- ExtensionAPIPermission* permission = info->GetByName(*it);
+ APIPermission* permission = info->GetByName(*it);
if (!permission) {
*error = ExtensionErrorUtils::FormatErrorMessage(
kUnknownPermissionError, *it);
@@ -79,8 +84,8 @@ scoped_refptr<ExtensionPermissionSet> UnpackPermissionSet(
}
}
- return scoped_refptr<ExtensionPermissionSet>(
- new ExtensionPermissionSet(apis, origins, URLPatternSet()));
+ return scoped_refptr<PermissionSet>(
+ new PermissionSet(apis, origins, URLPatternSet()));
}
} // namespace permissions_api
diff --git a/chrome/browser/extensions/api/permissions/permissions_api_helpers.h b/chrome/browser/extensions/api/permissions/permissions_api_helpers.h
index 158ca04..65cc591 100644
--- a/chrome/browser/extensions/api/permissions/permissions_api_helpers.h
+++ b/chrome/browser/extensions/api/permissions/permissions_api_helpers.h
@@ -14,10 +14,12 @@ namespace base {
class DictionaryValue;
}
-class ExtensionPermissionSet;
+
namespace extensions {
+class PermissionSet;
+
namespace api {
namespace permissions {
struct Permissions;
@@ -28,11 +30,11 @@ namespace permissions_api_helpers {
// Converts the permission |set| to a permissions object.
scoped_ptr<api::permissions::Permissions> PackPermissionSet(
- const ExtensionPermissionSet* set);
+ const PermissionSet* set);
// Creates a permission set from |permissions|. Returns NULL if the permissions
// cannot be converted to a permission set, in which case |error| will be set.
-scoped_refptr<ExtensionPermissionSet> UnpackPermissionSet(
+scoped_refptr<PermissionSet> UnpackPermissionSet(
const api::permissions::Permissions& permissions, std::string* error);
} // namespace permissions_api_helpers
diff --git a/chrome/browser/extensions/api/permissions/permissions_api_helpers_unittest.cc b/chrome/browser/extensions/api/permissions/permissions_api_helpers_unittest.cc
index 7d03989d..d7606ab 100644
--- a/chrome/browser/extensions/api/permissions/permissions_api_helpers_unittest.cc
+++ b/chrome/browser/extensions/api/permissions/permissions_api_helpers_unittest.cc
@@ -6,7 +6,7 @@
#include "base/values.h"
#include "chrome/browser/extensions/api/permissions/permissions_api_helpers.h"
#include "chrome/common/extensions/api/permissions.h"
-#include "chrome/common/extensions/extension_permission_set.h"
+#include "chrome/common/extensions/permissions/permission_set.h"
#include "chrome/common/extensions/url_pattern_set.h"
#include "googleurl/src/gurl.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -14,6 +14,9 @@
using extensions::permissions_api_helpers::PackPermissionSet;
using extensions::permissions_api_helpers::UnpackPermissionSet;
using extensions::api::permissions::Permissions;
+using extensions::APIPermission;
+using extensions::APIPermissionSet;
+using extensions::PermissionSet;
namespace {
@@ -24,17 +27,17 @@ static void AddPattern(URLPatternSet* extent, const std::string& pattern) {
} // namespace
-// Tests that we can convert ExtensionPermissionSets to and from values.
+// Tests that we can convert PermissionSets to and from values.
TEST(ExtensionPermissionsAPIHelpers, Pack) {
- ExtensionAPIPermissionSet apis;
- apis.insert(ExtensionAPIPermission::kTab);
- apis.insert(ExtensionAPIPermission::kWebRequest);
+ APIPermissionSet apis;
+ apis.insert(APIPermission::kTab);
+ apis.insert(APIPermission::kWebRequest);
URLPatternSet hosts;
AddPattern(&hosts, "http://a.com/*");
AddPattern(&hosts, "http://b.com/*");
- scoped_refptr<ExtensionPermissionSet> permission_set =
- new ExtensionPermissionSet(apis, hosts, URLPatternSet());
+ scoped_refptr<PermissionSet> permission_set =
+ new PermissionSet(apis, hosts, URLPatternSet());
// Pack the permission set to value and verify its contents.
scoped_ptr<Permissions> permissions(PackPermissionSet(permission_set));
@@ -61,7 +64,7 @@ TEST(ExtensionPermissionsAPIHelpers, Pack) {
// Unpack the value back to a permission set and make sure its equal to the
// original one.
- scoped_refptr<ExtensionPermissionSet> from_value;
+ scoped_refptr<PermissionSet> from_value;
std::string error;
Permissions permissions_object;
EXPECT_TRUE(Permissions::Populate(*value, &permissions_object));
@@ -72,7 +75,7 @@ TEST(ExtensionPermissionsAPIHelpers, Pack) {
}
// Tests various error conditions and edge cases when unpacking values
-// into ExtensionPermissionSets.
+// into PermissionSets.
TEST(ExtensionPermissionsAPIHelpers, Unpack) {
scoped_ptr<ListValue> apis(new ListValue());
apis->Append(Value::CreateStringValue("tabs"));
@@ -80,7 +83,7 @@ TEST(ExtensionPermissionsAPIHelpers, Unpack) {
origins->Append(Value::CreateStringValue("http://a.com/*"));
scoped_ptr<DictionaryValue> value(new DictionaryValue());
- scoped_refptr<ExtensionPermissionSet> permissions;
+ scoped_refptr<PermissionSet> permissions;
std::string error;
// Origins shouldn't have to be present.
@@ -89,7 +92,7 @@ TEST(ExtensionPermissionsAPIHelpers, Unpack) {
value->Set("permissions", apis->DeepCopy());
EXPECT_TRUE(Permissions::Populate(*value, &permissions_object));
permissions = UnpackPermissionSet(permissions_object, &error);
- EXPECT_TRUE(permissions->HasAPIPermission(ExtensionAPIPermission::kTab));
+ EXPECT_TRUE(permissions->HasAPIPermission(APIPermission::kTab));
EXPECT_TRUE(permissions);
EXPECT_TRUE(error.empty());
}
diff --git a/chrome/browser/extensions/api/permissions/permissions_apitest.cc b/chrome/browser/extensions/api/permissions/permissions_apitest.cc
index 252038e..fd07016 100644
--- a/chrome/browser/extensions/api/permissions/permissions_apitest.cc
+++ b/chrome/browser/extensions/api/permissions/permissions_apitest.cc
@@ -9,9 +9,13 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/common/chrome_switches.h"
-#include "chrome/common/extensions/extension_permission_set.h"
+#include "chrome/common/extensions/permissions/permission_set.h"
#include "net/base/mock_host_resolver.h"
+using extensions::APIPermission;
+using extensions::APIPermissionSet;
+using extensions::PermissionSet;
+
namespace {
static void AddPattern(URLPatternSet* extent, const std::string& pattern) {
@@ -68,12 +72,12 @@ IN_PROC_BROWSER_TEST_F(ExtensionApiTest, DISABLED_AlwaysAllowed) {
// Tests that the optional permissions API works correctly.
IN_PROC_BROWSER_TEST_F(ExtensionApiTest, OptionalPermissionsGranted) {
// Mark all the tested APIs as granted to bypass the confirmation UI.
- ExtensionAPIPermissionSet apis;
- apis.insert(ExtensionAPIPermission::kTab);
+ APIPermissionSet apis;
+ apis.insert(APIPermission::kTab);
URLPatternSet explicit_hosts;
AddPattern(&explicit_hosts, "http://*.c.com/*");
- scoped_refptr<ExtensionPermissionSet> granted_permissions =
- new ExtensionPermissionSet(apis, explicit_hosts, URLPatternSet());
+ scoped_refptr<PermissionSet> granted_permissions =
+ new PermissionSet(apis, explicit_hosts, URLPatternSet());
ExtensionPrefs* prefs =
browser()->profile()->GetExtensionService()->extension_prefs();
diff --git a/chrome/browser/extensions/api/tabs/tabs.cc b/chrome/browser/extensions/api/tabs/tabs.cc
index 8b2ed1b..00b86b1 100644
--- a/chrome/browser/extensions/api/tabs/tabs.cc
+++ b/chrome/browser/extensions/api/tabs/tabs.cc
@@ -1353,7 +1353,7 @@ void UpdateTabFunction::PopulateResult() {
if (!has_callback())
return;
- if (GetExtension()->HasAPIPermission(ExtensionAPIPermission::kTab)) {
+ if (GetExtension()->HasAPIPermission(extensions::APIPermission::kTab)) {
result_.reset(
ExtensionTabUtil::CreateTabValue(tab_contents_->web_contents()));
} else {
diff --git a/chrome/browser/extensions/api/web_request/web_request_api.cc b/chrome/browser/extensions/api/web_request/web_request_api.cc
index 59b6fa5..1c61a18 100644
--- a/chrome/browser/extensions/api/web_request/web_request_api.cc
+++ b/chrome/browser/extensions/api/web_request/web_request_api.cc
@@ -1577,7 +1577,7 @@ bool WebRequestAddEventListener::RunImpl() {
(ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING |
ExtensionWebRequestEventRouter::ExtraInfoSpec::ASYNC_BLOCKING)) &&
!extension->HasAPIPermission(
- ExtensionAPIPermission::kWebRequestBlocking)) {
+ extensions::APIPermission::kWebRequestBlocking)) {
error_ = keys::kBlockingPermissionRequired;
return false;
}
diff --git a/chrome/browser/extensions/bundle_installer.cc b/chrome/browser/extensions/bundle_installer.cc
index ffd5f1f..b64a623 100644
--- a/chrome/browser/extensions/bundle_installer.cc
+++ b/chrome/browser/extensions/bundle_installer.cc
@@ -255,9 +255,9 @@ void BundleInstaller::ShowPrompt() {
return;
}
- scoped_refptr<ExtensionPermissionSet> permissions;
+ scoped_refptr<PermissionSet> permissions;
for (size_t i = 0; i < dummy_extensions_.size(); ++i) {
- permissions = ExtensionPermissionSet::CreateUnion(
+ permissions = PermissionSet::CreateUnion(
permissions, dummy_extensions_[i]->required_permission_set());
}
diff --git a/chrome/browser/extensions/convert_web_app_browsertest.cc b/chrome/browser/extensions/convert_web_app_browsertest.cc
index 7ec70b9..7744ce3 100644
--- a/chrome/browser/extensions/convert_web_app_browsertest.cc
+++ b/chrome/browser/extensions/convert_web_app_browsertest.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 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.
@@ -17,6 +17,8 @@
#include "content/public/browser/notification_registrar.h"
#include "content/public/browser/notification_service.h"
+using extensions::APIPermission;
+
class ExtensionFromWebAppTest
: public InProcessBrowserTest, public content::NotificationObserver {
protected:
@@ -74,9 +76,9 @@ IN_PROC_BROWSER_TEST_F(ExtensionFromWebAppTest, Basic) {
ASSERT_EQ(2u, installed_extension_->GetActivePermissions()->apis().size());
EXPECT_TRUE(installed_extension_->HasAPIPermission(
- ExtensionAPIPermission::kGeolocation));
+ APIPermission::kGeolocation));
EXPECT_TRUE(installed_extension_->HasAPIPermission(
- ExtensionAPIPermission::kNotification));
+ APIPermission::kNotification));
ASSERT_EQ(3u, installed_extension_->icons().map().size());
EXPECT_EQ("icons/16.png", installed_extension_->icons().Get(
diff --git a/chrome/browser/extensions/extension_font_settings_api.cc b/chrome/browser/extensions/extension_font_settings_api.cc
index e8a0c39..f3bc3e4 100644
--- a/chrome/browser/extensions/extension_font_settings_api.cc
+++ b/chrome/browser/extensions/extension_font_settings_api.cc
@@ -30,6 +30,8 @@
#include "ui/gfx/platform_font_win.h"
#endif
+using extensions::APIPermission;
+
namespace fonts = extensions::api::experimental_font_settings;
namespace {
@@ -210,7 +212,7 @@ void ExtensionFontSettingsEventRouter::OnFontNamePrefChanged(
profile_,
kOnFontChanged,
&args,
- ExtensionAPIPermission::kExperimental,
+ APIPermission::kExperimental,
incognito,
pref_name);
}
@@ -234,7 +236,7 @@ void ExtensionFontSettingsEventRouter::OnFontPrefChanged(
profile_,
event_name,
&args,
- ExtensionAPIPermission::kExperimental,
+ APIPermission::kExperimental,
incognito,
pref_name);
}
diff --git a/chrome/browser/extensions/extension_info_map.cc b/chrome/browser/extensions/extension_info_map.cc
index 8401ceb..39357c1 100644
--- a/chrome/browser/extensions/extension_info_map.cc
+++ b/chrome/browser/extensions/extension_info_map.cc
@@ -124,7 +124,7 @@ void ExtensionInfoMap::UnregisterAllExtensionsInProcess(int process_id) {
bool ExtensionInfoMap::SecurityOriginHasAPIPermission(
const GURL& origin, int process_id,
- ExtensionAPIPermission::ID permission) const {
+ extensions::APIPermission::ID permission) const {
if (origin.SchemeIs(chrome::kExtensionScheme)) {
const std::string& id = origin.host();
return extensions_.GetByID(id)->HasAPIPermission(permission) &&
diff --git a/chrome/browser/extensions/extension_info_map.h b/chrome/browser/extensions/extension_info_map.h
index 8a64d55..54e8ed2 100644
--- a/chrome/browser/extensions/extension_info_map.h
+++ b/chrome/browser/extensions/extension_info_map.h
@@ -70,7 +70,7 @@ class ExtensionInfoMap : public base::RefCountedThreadSafe<ExtensionInfoMap> {
// |origin| in |process_id| with |permission|.
bool SecurityOriginHasAPIPermission(
const GURL& origin, int process_id,
- ExtensionAPIPermission::ID permission) const;
+ extensions::APIPermission::ID permission) const;
ExtensionsQuotaService* GetQuotaService();
diff --git a/chrome/browser/extensions/extension_info_map_unittest.cc b/chrome/browser/extensions/extension_info_map_unittest.cc
index 79ec2d4..49235ed 100644
--- a/chrome/browser/extensions/extension_info_map_unittest.cc
+++ b/chrome/browser/extensions/extension_info_map_unittest.cc
@@ -15,6 +15,7 @@
#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebURL.h"
using content::BrowserThread;
+using extensions::APIPermission;
using extensions::Extension;
using WebKit::WebSecurityOrigin;
using WebKit::WebString;
@@ -149,21 +150,21 @@ TEST_F(ExtensionInfoMapTest, CheckPermissions) {
const Extension* match = info_map->extensions().GetExtensionOrAppByURL(
ExtensionURLInfo(app_origin, app->GetResourceURL("a.html")));
EXPECT_TRUE(match &&
- match->HasAPIPermission(ExtensionAPIPermission::kNotification));
+ match->HasAPIPermission(APIPermission::kNotification));
match = info_map->extensions().GetExtensionOrAppByURL(
ExtensionURLInfo(app_origin, app_url));
EXPECT_TRUE(match &&
- match->HasAPIPermission(ExtensionAPIPermission::kNotification));
+ match->HasAPIPermission(APIPermission::kNotification));
EXPECT_FALSE(match &&
- match->HasAPIPermission(ExtensionAPIPermission::kTab));
+ match->HasAPIPermission(APIPermission::kTab));
// The extension should have the tabs permission.
match = info_map->extensions().GetExtensionOrAppByURL(
ExtensionURLInfo(app_origin, extension->GetResourceURL("a.html")));
EXPECT_TRUE(match &&
- match->HasAPIPermission(ExtensionAPIPermission::kTab));
+ match->HasAPIPermission(APIPermission::kTab));
EXPECT_FALSE(match &&
- match->HasAPIPermission(ExtensionAPIPermission::kNotification));
+ match->HasAPIPermission(APIPermission::kNotification));
// Random URL should not have any permissions.
GURL evil_url("http://evil.com/a.html");
diff --git a/chrome/browser/extensions/extension_install_prompt.cc b/chrome/browser/extensions/extension_install_prompt.cc
index 807b098..2254cdd 100644
--- a/chrome/browser/extensions/extension_install_prompt.cc
+++ b/chrome/browser/extensions/extension_install_prompt.cc
@@ -40,6 +40,7 @@
using extensions::BundleInstaller;
using extensions::Extension;
+using extensions::PermissionSet;
static const int kTitleIds[ExtensionInstallPrompt::NUM_PROMPT_TYPES] = {
0, // The regular install prompt depends on what's being installed.
@@ -254,7 +255,7 @@ ExtensionInstallPrompt::~ExtensionInstallPrompt() {
void ExtensionInstallPrompt::ConfirmBundleInstall(
extensions::BundleInstaller* bundle,
- const ExtensionPermissionSet* permissions) {
+ const PermissionSet* permissions) {
DCHECK(ui_loop_ == MessageLoop::current());
bundle_ = bundle;
permissions_ = permissions;
@@ -330,7 +331,7 @@ void ExtensionInstallPrompt::ConfirmReEnable(Delegate* delegate,
void ExtensionInstallPrompt::ConfirmPermissions(
Delegate* delegate,
const Extension* extension,
- const ExtensionPermissionSet* permissions) {
+ const PermissionSet* permissions) {
DCHECK(ui_loop_ == MessageLoop::current());
extension_ = extension;
permissions_ = permissions;
diff --git a/chrome/browser/extensions/extension_install_prompt.h b/chrome/browser/extensions/extension_install_prompt.h
index ce1f546..ba46c5f 100644
--- a/chrome/browser/extensions/extension_install_prompt.h
+++ b/chrome/browser/extensions/extension_install_prompt.h
@@ -22,7 +22,6 @@
class Browser;
class ExtensionInstallUI;
-class ExtensionPermissionSet;
class MessageLoop;
class InfoBarDelegate;
@@ -34,6 +33,7 @@ namespace extensions {
class BundleInstaller;
class Extension;
class ExtensionWebstorePrivateApiTest;
+class PermissionSet;
} // namespace extensions
// Displays all the UI around extension installation.
@@ -159,8 +159,9 @@ class ExtensionInstallPrompt : public ImageLoadingTracker::Observer {
// should be installed.
//
// We *MUST* eventually call either Proceed() or Abort() on |delegate|.
- virtual void ConfirmBundleInstall(extensions::BundleInstaller* bundle,
- const ExtensionPermissionSet* permissions);
+ virtual void ConfirmBundleInstall(
+ extensions::BundleInstaller* bundle,
+ const extensions::PermissionSet* permissions);
// This is called by the inline installer to verify whether the inline
// install from the webstore should proceed.
@@ -199,7 +200,7 @@ class ExtensionInstallPrompt : public ImageLoadingTracker::Observer {
// We *MUST* eventually call either Proceed() or Abort() on |delegate|.
virtual void ConfirmPermissions(Delegate* delegate,
const extensions::Extension* extension,
- const ExtensionPermissionSet* permissions);
+ const extensions::PermissionSet* permissions);
// Installation was successful. This is declared virtual for testing.
virtual void OnInstallSuccess(const extensions::Extension* extension,
@@ -245,7 +246,7 @@ class ExtensionInstallPrompt : public ImageLoadingTracker::Observer {
const extensions::BundleInstaller* bundle_;
// The permissions being prompted for.
- scoped_refptr<const ExtensionPermissionSet> permissions_;
+ scoped_refptr<const extensions::PermissionSet> permissions_;
// The object responsible for doing the UI specific actions.
scoped_ptr<ExtensionInstallUI> install_ui_;
diff --git a/chrome/browser/extensions/extension_management_api.cc b/chrome/browser/extensions/extension_management_api.cc
index 017a963..3c5a998 100644
--- a/chrome/browser/extensions/extension_management_api.cc
+++ b/chrome/browser/extensions/extension_management_api.cc
@@ -44,6 +44,7 @@ using content::BrowserThread;
using content::UtilityProcessHost;
using content::UtilityProcessHostClient;
using extensions::Extension;
+using extensions::PermissionMessages;
namespace events = extension_event_names;
namespace keys = extension_management_api_constants;
@@ -195,9 +196,9 @@ bool GetPermissionWarningsByIdFunction::RunImpl() {
return false;
}
- ExtensionPermissionMessages warnings = extension->GetPermissionMessages();
+ PermissionMessages warnings = extension->GetPermissionMessages();
ListValue* result = new ListValue();
- for (ExtensionPermissionMessages::const_iterator i = warnings.begin();
+ for (PermissionMessages::const_iterator i = warnings.begin();
i < warnings.end(); ++i)
result->Append(Value::CreateStringValue(i->message()));
result_.reset(result);
@@ -319,9 +320,9 @@ void GetPermissionWarningsByManifestFunction::OnParseSuccess(
return;
}
- ExtensionPermissionMessages warnings = extension->GetPermissionMessages();
+ PermissionMessages warnings = extension->GetPermissionMessages();
ListValue* result = new ListValue();
- for (ExtensionPermissionMessages::const_iterator i = warnings.begin();
+ for (PermissionMessages::const_iterator i = warnings.begin();
i < warnings.end(); ++i)
result->Append(Value::CreateStringValue(i->message()));
result_.reset(result);
diff --git a/chrome/browser/extensions/extension_preference_api.cc b/chrome/browser/extensions/extension_preference_api.cc
index 2de541a..1e3bcde 100644
--- a/chrome/browser/extensions/extension_preference_api.cc
+++ b/chrome/browser/extensions/extension_preference_api.cc
@@ -22,7 +22,7 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/chrome_notification_types.h"
#include "chrome/common/extensions/extension_error_utils.h"
-#include "chrome/common/extensions/extension_permission_set.h"
+#include "chrome/common/extensions/permissions/api_permission.h"
#include "chrome/common/pref_names.h"
#include "content/public/browser/notification_details.h"
#include "content/public/browser/notification_source.h"
@@ -30,6 +30,8 @@
namespace keys = extension_preference_api_constants;
namespace helpers = extension_preference_helpers;
+using extensions::APIPermission;
+
namespace {
struct PrefMappingEntry {
@@ -40,9 +42,9 @@ struct PrefMappingEntry {
const char* browser_pref;
// Permission required to access this preference.
- // Use ExtensionAPIPermission::kInvalid for |permission| to express that no
+ // Use APIPermission::kInvalid for |permission| to express that no
// permission is necessary.
- ExtensionAPIPermission::ID permission;
+ APIPermission::ID permission;
};
const char kOnPrefChangeFormat[] = "types.ChromeSetting.%s.onChange";
@@ -51,60 +53,60 @@ PrefMappingEntry kPrefMapping[] = {
#if defined(OS_CHROMEOS)
{ "protectedContentEnabled",
prefs::kEnableCrosDRM,
- ExtensionAPIPermission::kPrivacy
+ APIPermission::kPrivacy
},
#endif // defined(OS_CHROMEOS)
{ "alternateErrorPagesEnabled",
prefs::kAlternateErrorPagesEnabled,
- ExtensionAPIPermission::kPrivacy
+ APIPermission::kPrivacy
},
{ "autofillEnabled",
prefs::kAutofillEnabled,
- ExtensionAPIPermission::kPrivacy
+ APIPermission::kPrivacy
},
{ "hyperlinkAuditingEnabled",
prefs::kEnableHyperlinkAuditing,
- ExtensionAPIPermission::kPrivacy
+ APIPermission::kPrivacy
},
{ "instantEnabled",
prefs::kInstantEnabled,
- ExtensionAPIPermission::kPrivacy
+ APIPermission::kPrivacy
},
{ "managedModeEnabled",
prefs::kInManagedMode,
- ExtensionAPIPermission::kManagedModePrivate
+ APIPermission::kManagedModePrivate
},
{ "networkPredictionEnabled",
prefs::kNetworkPredictionEnabled,
- ExtensionAPIPermission::kPrivacy
+ APIPermission::kPrivacy
},
{ "proxy",
prefs::kProxy,
- ExtensionAPIPermission::kProxy
+ APIPermission::kProxy
},
{ "referrersEnabled",
prefs::kEnableReferrers,
- ExtensionAPIPermission::kPrivacy
+ APIPermission::kPrivacy
},
{ "safeBrowsingEnabled",
prefs::kSafeBrowsingEnabled,
- ExtensionAPIPermission::kPrivacy
+ APIPermission::kPrivacy
},
{ "searchSuggestEnabled",
prefs::kSearchSuggestEnabled,
- ExtensionAPIPermission::kPrivacy
+ APIPermission::kPrivacy
},
{ "spellingServiceEnabled",
prefs::kSpellCheckUseSpellingService,
- ExtensionAPIPermission::kPrivacy
+ APIPermission::kPrivacy
},
{ "thirdPartyCookiesAllowed",
prefs::kBlockThirdPartyCookies,
- ExtensionAPIPermission::kPrivacy
+ APIPermission::kPrivacy
},
{ "translationServiceEnabled",
prefs::kEnableTranslate,
- ExtensionAPIPermission::kPrivacy
+ APIPermission::kPrivacy
}
};
@@ -150,7 +152,7 @@ class PrefMapping {
bool FindBrowserPrefForExtensionPref(const std::string& extension_pref,
std::string* browser_pref,
- ExtensionAPIPermission::ID* permission) {
+ APIPermission::ID* permission) {
PrefMap::iterator it = mapping_.find(extension_pref);
if (it != mapping_.end()) {
*browser_pref = it->second.first;
@@ -162,7 +164,7 @@ class PrefMapping {
bool FindEventForBrowserPref(const std::string& browser_pref,
std::string* event_name,
- ExtensionAPIPermission::ID* permission) {
+ APIPermission::ID* permission) {
PrefMap::iterator it = event_mapping_.find(browser_pref);
if (it != event_mapping_.end()) {
*event_name = it->second.first;
@@ -218,7 +220,7 @@ class PrefMapping {
}
typedef std::map<std::string,
- std::pair<std::string, ExtensionAPIPermission::ID> >
+ std::pair<std::string, APIPermission::ID> >
PrefMap;
// Mapping from extension pref keys to browser pref keys and permissions.
@@ -268,7 +270,7 @@ void ExtensionPreferenceEventRouter::OnPrefChanged(
bool incognito = (pref_service != profile_->GetPrefs());
std::string event_name;
- ExtensionAPIPermission::ID permission = ExtensionAPIPermission::kInvalid;
+ APIPermission::ID permission = APIPermission::kInvalid;
bool rv = PrefMapping::GetInstance()->FindEventForBrowserPref(
browser_pref, &event_name, &permission);
DCHECK(rv);
@@ -303,7 +305,7 @@ PreferenceFunction::~PreferenceFunction() { }
bool PreferenceFunction::ValidateBrowserPref(
const std::string& extension_pref_key,
std::string* browser_pref_key) {
- ExtensionAPIPermission::ID permission = ExtensionAPIPermission::kInvalid;
+ APIPermission::ID permission = APIPermission::kInvalid;
EXTENSION_FUNCTION_VALIDATE(
PrefMapping::GetInstance()->FindBrowserPrefForExtensionPref(
extension_pref_key, browser_pref_key, &permission));
diff --git a/chrome/browser/extensions/extension_preference_helpers.cc b/chrome/browser/extensions/extension_preference_helpers.cc
index bbfbd06..1652c8a 100644
--- a/chrome/browser/extensions/extension_preference_helpers.cc
+++ b/chrome/browser/extensions/extension_preference_helpers.cc
@@ -77,7 +77,7 @@ void DispatchEventToExtensions(
Profile* profile,
const std::string& event_name,
ListValue* args,
- ExtensionAPIPermission::ID permission,
+ extensions::APIPermission::ID permission,
bool incognito,
const std::string& browser_pref) {
ExtensionEventRouter* router = profile->GetExtensionEventRouter();
diff --git a/chrome/browser/extensions/extension_preference_helpers.h b/chrome/browser/extensions/extension_preference_helpers.h
index b4d275e..410faa3 100644
--- a/chrome/browser/extensions/extension_preference_helpers.h
+++ b/chrome/browser/extensions/extension_preference_helpers.h
@@ -8,7 +8,7 @@
#include <string>
-#include "chrome/common/extensions/extension_permission_set.h"
+#include "chrome/common/extensions/permissions/permission_set.h"
#include "chrome/browser/extensions/extension_prefs_scope.h"
class Profile;
@@ -38,7 +38,7 @@ void DispatchEventToExtensions(
Profile* profile,
const std::string& event_name,
base::ListValue* args,
- ExtensionAPIPermission::ID permission,
+ extensions::APIPermission::ID permission,
bool incognito,
const std::string& browser_pref);
diff --git a/chrome/browser/extensions/extension_prefs.cc b/chrome/browser/extensions/extension_prefs.cc
index 1efc4ae..1768880 100644
--- a/chrome/browser/extensions/extension_prefs.cc
+++ b/chrome/browser/extensions/extension_prefs.cc
@@ -18,6 +18,7 @@
#include "chrome/common/chrome_notification_types.h"
#include "chrome/common/extensions/extension_switch_utils.h"
#include "chrome/common/extensions/manifest.h"
+#include "chrome/common/extensions/permissions/permissions_info.h"
#include "chrome/common/extensions/url_pattern.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/url_constants.h"
@@ -25,8 +26,13 @@
#include "grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
+using extensions::APIPermission;
+using extensions::APIPermissionSet;
using extensions::Extension;
using extensions::ExtensionInfo;
+using extensions::OAuth2Scopes;
+using extensions::PermissionsInfo;
+using extensions::PermissionSet;
namespace {
@@ -132,7 +138,7 @@ const char kBrowserActionPinned[] = "browser_action_pinned";
const char kPrefActivePermissions[] = "active_permissions";
const char kPrefGrantedPermissions[] = "granted_permissions";
-// The preference names for ExtensionPermissionSet values.
+// The preference names for PermissionSet values.
const char kPrefAPIs[] = "api";
const char kPrefExplicitHosts[] = "explicit_host";
const char kPrefScriptableHosts[] = "scriptable_host";
@@ -468,22 +474,22 @@ void ExtensionPrefs::SetExtensionPrefURLPatternSet(
UpdateExtensionPref(extension_id, pref_key, new_value.ToValue().release());
}
-ExtensionPermissionSet* ExtensionPrefs::ReadExtensionPrefPermissionSet(
+PermissionSet* ExtensionPrefs::ReadExtensionPrefPermissionSet(
const std::string& extension_id,
const std::string& pref_key) {
if (!GetExtensionPref(extension_id))
return NULL;
// Retrieve the API permissions.
- ExtensionAPIPermissionSet apis;
+ APIPermissionSet apis;
const ListValue* api_values = NULL;
std::string api_pref = JoinPrefs(pref_key, kPrefAPIs);
if (ReadExtensionPrefList(extension_id, api_pref, &api_values)) {
- ExtensionPermissionsInfo* info = ExtensionPermissionsInfo::GetInstance();
+ PermissionsInfo* info = PermissionsInfo::GetInstance();
for (size_t i = 0; i < api_values->GetSize(); ++i) {
std::string permission_name;
if (api_values->GetString(i, &permission_name)) {
- ExtensionAPIPermission *permission = info->GetByName(permission_name);
+ APIPermission *permission = info->GetByName(permission_name);
if (permission)
apis.insert(permission->id());
}
@@ -503,7 +509,7 @@ ExtensionPermissionSet* ExtensionPrefs::ReadExtensionPrefPermissionSet(
&scriptable_hosts, UserScript::kValidUserScriptSchemes);
// Retrieve the oauth2 scopes.
- ExtensionOAuth2Scopes scopes;
+ OAuth2Scopes scopes;
const ListValue* scope_values = NULL;
std::string scope_pref = JoinPrefs(pref_key, kPrefScopes);
if (ReadExtensionPrefList(extension_id, scope_pref, &scope_values)) {
@@ -514,22 +520,22 @@ ExtensionPermissionSet* ExtensionPrefs::ReadExtensionPrefPermissionSet(
}
}
- return new ExtensionPermissionSet(
+ return new PermissionSet(
apis, explicit_hosts, scriptable_hosts, scopes);
}
void ExtensionPrefs::SetExtensionPrefPermissionSet(
const std::string& extension_id,
const std::string& pref_key,
- const ExtensionPermissionSet* new_value) {
+ const PermissionSet* new_value) {
// Set the API permissions.
ListValue* api_values = new ListValue();
- ExtensionAPIPermissionSet apis = new_value->apis();
- ExtensionPermissionsInfo* info = ExtensionPermissionsInfo::GetInstance();
+ APIPermissionSet apis = new_value->apis();
+ PermissionsInfo* info = PermissionsInfo::GetInstance();
std::string api_pref = JoinPrefs(pref_key, kPrefAPIs);
- for (ExtensionAPIPermissionSet::const_iterator i = apis.begin();
+ for (APIPermissionSet::const_iterator i = apis.begin();
i != apis.end(); ++i) {
- ExtensionAPIPermission* perm = info->GetByID(*i);
+ APIPermission* perm = info->GetByID(*i);
if (perm)
api_values->Append(Value::CreateStringValue(perm->name()));
}
@@ -550,10 +556,10 @@ void ExtensionPrefs::SetExtensionPrefPermissionSet(
}
// Set the oauth2 scopes.
- ExtensionOAuth2Scopes scopes = new_value->scopes();
+ OAuth2Scopes scopes = new_value->scopes();
if (!scopes.empty()) {
ListValue* scope_values = new ListValue();
- for (ExtensionOAuth2Scopes::iterator i = scopes.begin();
+ for (OAuth2Scopes::iterator i = scopes.begin();
i != scopes.end(); ++i) {
scope_values->Append(Value::CreateStringValue(*i));
}
@@ -853,7 +859,7 @@ void ExtensionPrefs::SetActiveBit(const std::string& extension_id,
}
void ExtensionPrefs::MigratePermissions(const ExtensionIdSet& extension_ids) {
- ExtensionPermissionsInfo* info = ExtensionPermissionsInfo::GetInstance();
+ PermissionsInfo* info = PermissionsInfo::GetInstance();
for (ExtensionIdSet::const_iterator ext_id =
extension_ids.begin(); ext_id != extension_ids.end(); ++ext_id) {
@@ -882,7 +888,7 @@ void ExtensionPrefs::MigratePermissions(const ExtensionIdSet& extension_ids) {
new_apis = new ListValue();
std::string plugin_name = info->GetByID(
- ExtensionAPIPermission::kPlugin)->name();
+ APIPermission::kPlugin)->name();
new_apis->Append(Value::CreateStringValue(plugin_name));
UpdateExtensionPref(*ext_id, granted_apis, new_apis);
}
@@ -906,7 +912,7 @@ void ExtensionPrefs::MigratePermissions(const ExtensionIdSet& extension_ids) {
}
}
-ExtensionPermissionSet* ExtensionPrefs::GetGrantedPermissions(
+PermissionSet* ExtensionPrefs::GetGrantedPermissions(
const std::string& extension_id) {
CHECK(Extension::IdIsValid(extension_id));
return ReadExtensionPrefPermissionSet(extension_id, kPrefGrantedPermissions);
@@ -914,23 +920,23 @@ ExtensionPermissionSet* ExtensionPrefs::GetGrantedPermissions(
void ExtensionPrefs::AddGrantedPermissions(
const std::string& extension_id,
- const ExtensionPermissionSet* permissions) {
+ const PermissionSet* permissions) {
CHECK(Extension::IdIsValid(extension_id));
- scoped_refptr<ExtensionPermissionSet> granted_permissions(
+ scoped_refptr<PermissionSet> granted_permissions(
GetGrantedPermissions(extension_id));
// The new granted permissions are the union of the already granted
// permissions and the newly granted permissions.
- scoped_refptr<ExtensionPermissionSet> new_perms(
- ExtensionPermissionSet::CreateUnion(
+ scoped_refptr<PermissionSet> new_perms(
+ PermissionSet::CreateUnion(
permissions, granted_permissions.get()));
SetExtensionPrefPermissionSet(
extension_id, kPrefGrantedPermissions, new_perms.get());
}
-ExtensionPermissionSet* ExtensionPrefs::GetActivePermissions(
+PermissionSet* ExtensionPrefs::GetActivePermissions(
const std::string& extension_id) {
CHECK(Extension::IdIsValid(extension_id));
return ReadExtensionPrefPermissionSet(extension_id, kPrefActivePermissions);
@@ -938,7 +944,7 @@ ExtensionPermissionSet* ExtensionPrefs::GetActivePermissions(
void ExtensionPrefs::SetActivePermissions(
const std::string& extension_id,
- const ExtensionPermissionSet* permissions) {
+ const PermissionSet* permissions) {
SetExtensionPrefPermissionSet(
extension_id, kPrefActivePermissions, permissions);
}
diff --git a/chrome/browser/extensions/extension_prefs.h b/chrome/browser/extensions/extension_prefs.h
index 429131a..f42c62c 100644
--- a/chrome/browser/extensions/extension_prefs.h
+++ b/chrome/browser/extensions/extension_prefs.h
@@ -251,24 +251,24 @@ class ExtensionPrefs : public extensions::ContentSettingsStore::Observer,
// Returns the granted permission set for the extension with |extension_id|,
// and NULL if no preferences were found for |extension_id|.
// This passes ownership of the returned set to the caller.
- ExtensionPermissionSet* GetGrantedPermissions(
+ extensions::PermissionSet* GetGrantedPermissions(
const std::string& extension_id);
// Adds |permissions| to the granted permissions set for the extension with
// |extension_id|. The new granted permissions set will be the union of
// |permissions| and the already granted permissions.
void AddGrantedPermissions(const std::string& extension_id,
- const ExtensionPermissionSet* permissions);
+ const extensions::PermissionSet* permissions);
// Gets the active permission set for the specified extension. This may
// differ from the permissions in the manifest due to the optional
// permissions API. This passes ownership of the set to the caller.
- ExtensionPermissionSet* GetActivePermissions(
+ extensions::PermissionSet* GetActivePermissions(
const std::string& extension_id);
// Sets the active |permissions| for the extension with |extension_id|.
void SetActivePermissions(const std::string& extension_id,
- const ExtensionPermissionSet* permissions);
+ const extensions::PermissionSet* permissions);
// Returns the list of events that the given extension has registered for.
std::set<std::string> GetRegisteredEvents(const std::string& extension_id);
@@ -492,16 +492,17 @@ class ExtensionPrefs : public extensions::ContentSettingsStore::Observer,
const URLPatternSet& new_value);
// Interprets |pref_key| in |extension_id|'s preferences as an
- // ExtensionPermissionSet, and passes ownership of the set to the caller.
- ExtensionPermissionSet* ReadExtensionPrefPermissionSet(
+ // PermissionSet, and passes ownership of the set to the caller.
+ extensions::PermissionSet* ReadExtensionPrefPermissionSet(
const std::string& extension_id,
const std::string& pref_key);
// Converts the |new_value| to its value and sets the |pref_key| pref
// belonging to |extension_id|.
- void SetExtensionPrefPermissionSet(const std::string& extension_id,
- const std::string& pref_key,
- const ExtensionPermissionSet* new_value);
+ void SetExtensionPrefPermissionSet(
+ const std::string& extension_id,
+ const std::string& pref_key,
+ const extensions::PermissionSet* new_value);
// Returns a dictionary for extension |id|'s prefs or NULL if it doesn't
// exist.
diff --git a/chrome/browser/extensions/extension_prefs_unittest.cc b/chrome/browser/extensions/extension_prefs_unittest.cc
index c71f4fb..37412b23c 100644
--- a/chrome/browser/extensions/extension_prefs_unittest.cc
+++ b/chrome/browser/extensions/extension_prefs_unittest.cc
@@ -16,7 +16,7 @@
#include "chrome/browser/prefs/scoped_user_pref_update.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/extensions/extension_manifest_constants.h"
-#include "chrome/common/extensions/extension_permission_set.h"
+#include "chrome/common/extensions/permissions/permission_set.h"
#include "chrome/common/string_ordinal.h"
#include "content/public/browser/notification_details.h"
#include "content/public/browser/notification_source.h"
@@ -25,8 +25,12 @@
using base::Time;
using base::TimeDelta;
using content::BrowserThread;
+using extensions::APIPermission;
+using extensions::APIPermissionSet;
using extensions::Extension;
using extensions::ExtensionList;
+using extensions::OAuth2Scopes;
+using extensions::PermissionSet;
namespace {
@@ -168,10 +172,10 @@ class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest {
virtual void Initialize() {
extension_id_ = prefs_.AddExtensionAndReturnId("test");
- api_perm_set1_.insert(ExtensionAPIPermission::kTab);
- api_perm_set1_.insert(ExtensionAPIPermission::kBookmark);
+ api_perm_set1_.insert(APIPermission::kTab);
+ api_perm_set1_.insert(APIPermission::kBookmark);
- api_perm_set2_.insert(ExtensionAPIPermission::kHistory);
+ api_perm_set2_.insert(APIPermission::kHistory);
scopes_set1_.insert("scope1");
@@ -192,7 +196,7 @@ class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest {
AddPattern(&shost_perm_set2_, "http://somesite.com/*");
AddPattern(&shost_perm_set2_, "http://example.com/*");
- ExtensionAPIPermissionSet expected_apis = api_perm_set1_;
+ APIPermissionSet expected_apis = api_perm_set1_;
AddPattern(&ehost_permissions_, "http://*.google.com/*");
AddPattern(&ehost_permissions_, "http://example.com/*");
@@ -207,18 +211,18 @@ class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest {
scope_permissions_.insert("scope2");
scope_permissions_.insert("scope3");
- ExtensionAPIPermissionSet empty_set;
+ APIPermissionSet empty_set;
URLPatternSet empty_extent;
- ExtensionOAuth2Scopes empty_scopes;
- scoped_refptr<ExtensionPermissionSet> permissions;
- scoped_refptr<ExtensionPermissionSet> granted_permissions;
+ OAuth2Scopes empty_scopes;
+ scoped_refptr<PermissionSet> permissions;
+ scoped_refptr<PermissionSet> granted_permissions;
// Make sure both granted api and host permissions start empty.
granted_permissions =
prefs()->GetGrantedPermissions(extension_id_);
EXPECT_TRUE(granted_permissions->IsEmpty());
- permissions = new ExtensionPermissionSet(
+ permissions = new PermissionSet(
api_perm_set1_, empty_extent, empty_extent);
// Add part of the api permissions.
@@ -233,7 +237,7 @@ class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest {
granted_permissions = NULL;
// Add part of the explicit host permissions.
- permissions = new ExtensionPermissionSet(
+ permissions = new PermissionSet(
empty_set, ehost_perm_set1_, empty_extent);
prefs()->AddGrantedPermissions(extension_id_, permissions.get());
granted_permissions = prefs()->GetGrantedPermissions(extension_id_);
@@ -247,7 +251,7 @@ class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest {
EXPECT_EQ(empty_scopes, granted_permissions->scopes());
// Add part of the scriptable host permissions.
- permissions = new ExtensionPermissionSet(
+ permissions = new PermissionSet(
empty_set, empty_extent, shost_perm_set1_);
prefs()->AddGrantedPermissions(extension_id_, permissions.get());
granted_permissions = prefs()->GetGrantedPermissions(extension_id_);
@@ -265,7 +269,7 @@ class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest {
EXPECT_EQ(effective_permissions_, granted_permissions->effective_hosts());
// Add part of the oauth2 scopes.
- permissions = new ExtensionPermissionSet(
+ permissions = new PermissionSet(
empty_set, empty_extent, empty_extent, scopes_set1_);
prefs()->AddGrantedPermissions(extension_id_, permissions.get());
granted_permissions = prefs()->GetGrantedPermissions(extension_id_);
@@ -279,7 +283,7 @@ class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest {
EXPECT_EQ(scopes_set1_, granted_permissions->scopes());
// Add the rest of the permissions.
- permissions = new ExtensionPermissionSet(
+ permissions = new PermissionSet(
api_perm_set2_, ehost_perm_set2_, shost_perm_set2_, scopes_set2_);
std::set_union(expected_apis.begin(), expected_apis.end(),
@@ -303,7 +307,7 @@ class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest {
}
virtual void Verify() {
- scoped_refptr<ExtensionPermissionSet> permissions(
+ scoped_refptr<PermissionSet> permissions(
prefs()->GetGrantedPermissions(extension_id_));
EXPECT_TRUE(permissions.get());
EXPECT_FALSE(permissions->HasEffectiveFullAccess());
@@ -318,19 +322,19 @@ class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest {
private:
std::string extension_id_;
- ExtensionAPIPermissionSet api_perm_set1_;
- ExtensionAPIPermissionSet api_perm_set2_;
+ APIPermissionSet api_perm_set1_;
+ APIPermissionSet api_perm_set2_;
URLPatternSet ehost_perm_set1_;
URLPatternSet ehost_perm_set2_;
URLPatternSet shost_perm_set1_;
URLPatternSet shost_perm_set2_;
- ExtensionOAuth2Scopes scopes_set1_;
- ExtensionOAuth2Scopes scopes_set2_;
+ OAuth2Scopes scopes_set1_;
+ OAuth2Scopes scopes_set2_;
- ExtensionAPIPermissionSet api_permissions_;
+ APIPermissionSet api_permissions_;
URLPatternSet ehost_permissions_;
URLPatternSet shost_permissions_;
- ExtensionOAuth2Scopes scope_permissions_;
+ OAuth2Scopes scope_permissions_;
URLPatternSet effective_permissions_;
};
TEST_F(ExtensionPrefsGrantedPermissions, GrantedPermissions) {}
@@ -341,10 +345,10 @@ class ExtensionPrefsActivePermissions : public ExtensionPrefsTest {
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);
+ APIPermissionSet api_perms;
+ api_perms.insert(APIPermission::kTab);
+ api_perms.insert(APIPermission::kBookmark);
+ api_perms.insert(APIPermission::kHistory);
URLPatternSet ehosts;
AddPattern(&ehosts, "http://*.google.com/*");
@@ -355,14 +359,14 @@ class ExtensionPrefsActivePermissions : public ExtensionPrefsTest {
AddPattern(&shosts, "https://*.google.com/*");
AddPattern(&shosts, "http://reddit.com/r/test/*");
- ExtensionOAuth2Scopes scopes;
+ OAuth2Scopes scopes;
scopes.insert("my-new-scope");
- active_perms_ = new ExtensionPermissionSet(
+ active_perms_ = new PermissionSet(
api_perms, ehosts, shosts, scopes);
// Make sure the active permissions start empty.
- scoped_refptr<ExtensionPermissionSet> active(
+ scoped_refptr<PermissionSet> active(
prefs()->GetActivePermissions(extension_id_));
EXPECT_TRUE(active->IsEmpty());
@@ -377,14 +381,14 @@ class ExtensionPrefsActivePermissions : public ExtensionPrefsTest {
}
virtual void Verify() {
- scoped_refptr<ExtensionPermissionSet> permissions(
+ scoped_refptr<PermissionSet> permissions(
prefs()->GetActivePermissions(extension_id_));
EXPECT_EQ(*active_perms_, *permissions);
}
private:
std::string extension_id_;
- scoped_refptr<ExtensionPermissionSet> active_perms_;
+ scoped_refptr<PermissionSet> active_perms_;
};
TEST_F(ExtensionPrefsActivePermissions, SetAndGetActivePermissions) {}
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
index ce70648..751325b 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -134,6 +134,9 @@ using extensions::Extension;
using extensions::ExtensionIdSet;
using extensions::ExtensionInfo;
using extensions::UnloadedExtensionInfo;
+using extensions::PermissionMessage;
+using extensions::PermissionMessages;
+using extensions::PermissionSet;
namespace errors = extension_manifest_errors;
@@ -903,15 +906,15 @@ void ExtensionService::RecordPermissionMessagesHistogram(
base::Histogram* counter = base::LinearHistogram::FactoryGet(
histogram,
1,
- ExtensionPermissionMessage::kEnumBoundary,
- ExtensionPermissionMessage::kEnumBoundary + 1,
+ PermissionMessage::kEnumBoundary,
+ PermissionMessage::kEnumBoundary + 1,
base::Histogram::kUmaTargetedHistogramFlag);
- ExtensionPermissionMessages permissions = e->GetPermissionMessages();
+ PermissionMessages permissions = e->GetPermissionMessages();
if (permissions.empty()) {
- counter->Add(ExtensionPermissionMessage::kNone);
+ counter->Add(PermissionMessage::kNone);
} else {
- for (ExtensionPermissionMessages::iterator it = permissions.begin();
+ for (PermissionMessages::iterator it = permissions.begin();
it != permissions.end(); ++it)
counter->Add(it->id());
}
@@ -1957,7 +1960,7 @@ void ExtensionService::InitializePermissions(const Extension* extension) {
// If the extension has used the optional permissions API, it will have a
// custom set of active permissions defined in the extension prefs. Here,
// we update the extension's active permissions based on the prefs.
- scoped_refptr<ExtensionPermissionSet> active_permissions =
+ scoped_refptr<PermissionSet> active_permissions =
extension_prefs()->GetActivePermissions(extension->id());
if (active_permissions.get()) {
@@ -1965,18 +1968,18 @@ void ExtensionService::InitializePermissions(const Extension* extension) {
// extension's manifest.
// a) active permissions must be a subset of optional + default permissions
// b) active permissions must contains all default permissions
- scoped_refptr<ExtensionPermissionSet> total_permissions =
- ExtensionPermissionSet::CreateUnion(
+ scoped_refptr<PermissionSet> total_permissions =
+ PermissionSet::CreateUnion(
extension->required_permission_set(),
extension->optional_permission_set());
// Make sure the active permissions contain no more than optional + default.
- scoped_refptr<ExtensionPermissionSet> adjusted_active =
- ExtensionPermissionSet::CreateIntersection(
+ scoped_refptr<PermissionSet> adjusted_active =
+ PermissionSet::CreateIntersection(
total_permissions.get(), active_permissions.get());
// Make sure the active permissions contain the default permissions.
- adjusted_active = ExtensionPermissionSet::CreateUnion(
+ adjusted_active = PermissionSet::CreateUnion(
extension->required_permission_set(), adjusted_active.get());
extensions::PermissionsUpdater perms_updater(profile());
@@ -2017,7 +2020,7 @@ void ExtensionService::InitializePermissions(const Extension* extension) {
if (!extension->CanSilentlyIncreasePermissions()) {
// Add all the recognized permissions if the granted permissions list
// hasn't been initialized yet.
- scoped_refptr<ExtensionPermissionSet> granted_permissions =
+ scoped_refptr<PermissionSet> granted_permissions =
extension_prefs_->GetGrantedPermissions(extension->id());
CHECK(granted_permissions.get());
diff --git a/chrome/browser/extensions/extension_service_unittest.cc b/chrome/browser/extensions/extension_service_unittest.cc
index ae998a2..bbf5124 100644
--- a/chrome/browser/extensions/extension_service_unittest.cc
+++ b/chrome/browser/extensions/extension_service_unittest.cc
@@ -96,7 +96,10 @@ using content::BrowserThread;
using content::DOMStorageContext;
using content::IndexedDBContext;
using content::PluginService;
+using extensions::APIPermission;
+using extensions::APIPermissionSet;
using extensions::Extension;
+using extensions::PermissionSet;
namespace keys = extension_manifest_keys;
@@ -1466,12 +1469,12 @@ TEST_F(ExtensionServiceTest, GrantedPermissions) {
ExtensionPrefs* prefs = service_->extension_prefs();
- ExtensionAPIPermissionSet expected_api_perms;
+ APIPermissionSet expected_api_perms;
URLPatternSet expected_host_perms;
// Make sure there aren't any granted permissions before the
// extension is installed.
- scoped_refptr<ExtensionPermissionSet> known_perms(
+ scoped_refptr<PermissionSet> known_perms(
prefs->GetGrantedPermissions(permissions_crx));
EXPECT_FALSE(known_perms.get());
@@ -1482,7 +1485,7 @@ TEST_F(ExtensionServiceTest, GrantedPermissions) {
EXPECT_EQ(permissions_crx, extension->id());
// Verify that the valid API permissions have been recognized.
- expected_api_perms.insert(ExtensionAPIPermission::kTab);
+ expected_api_perms.insert(APIPermission::kTab);
AddPattern(&expected_host_perms, "http://*.google.com/*");
AddPattern(&expected_host_perms, "https://*.google.com/*");
@@ -1518,12 +1521,12 @@ TEST_F(ExtensionServiceTest, GrantedFullAccessPermissions) {
EXPECT_EQ(1u, service_->extensions()->size());
ExtensionPrefs* prefs = service_->extension_prefs();
- scoped_refptr<ExtensionPermissionSet> permissions(
+ scoped_refptr<PermissionSet> permissions(
prefs->GetGrantedPermissions(extension->id()));
EXPECT_FALSE(permissions->IsEmpty());
EXPECT_TRUE(permissions->HasEffectiveFullAccess());
EXPECT_FALSE(permissions->apis().empty());
- EXPECT_TRUE(permissions->HasAPIPermission(ExtensionAPIPermission::kPlugin));
+ EXPECT_TRUE(permissions->HasAPIPermission(APIPermission::kPlugin));
// Full access implies full host access too...
EXPECT_TRUE(permissions->HasEffectiveAccessToAllHosts());
@@ -1550,10 +1553,10 @@ TEST_F(ExtensionServiceTest, GrantedAPIAndHostPermissions) {
ExtensionPrefs* prefs = service_->extension_prefs();
- ExtensionAPIPermissionSet expected_api_permissions;
+ APIPermissionSet expected_api_permissions;
URLPatternSet expected_host_permissions;
- expected_api_permissions.insert(ExtensionAPIPermission::kTab);
+ expected_api_permissions.insert(APIPermission::kTab);
AddPattern(&expected_host_permissions, "http://*.google.com/*");
AddPattern(&expected_host_permissions, "https://*.google.com/*");
AddPattern(&expected_host_permissions, "http://*.google.com.hk/*");
@@ -1582,7 +1585,7 @@ TEST_F(ExtensionServiceTest, GrantedAPIAndHostPermissions) {
ASSERT_TRUE(service_->IsExtensionEnabled(extension_id));
ASSERT_FALSE(prefs->DidExtensionEscalatePermissions(extension_id));
- scoped_refptr<ExtensionPermissionSet> current_perms(
+ scoped_refptr<PermissionSet> current_perms(
prefs->GetGrantedPermissions(extension_id));
ASSERT_TRUE(current_perms.get());
ASSERT_FALSE(current_perms->IsEmpty());
@@ -1603,7 +1606,7 @@ TEST_F(ExtensionServiceTest, GrantedAPIAndHostPermissions) {
ListValue* api_permissions = new ListValue();
api_permissions->Append(
- Value::CreateIntegerValue(ExtensionAPIPermission::kTab));
+ Value::CreateIntegerValue(APIPermission::kTab));
SetPref(extension_id, "granted_permissions.api",
api_permissions, "granted_permissions.api");
SetPrefStringSet(
@@ -2086,7 +2089,7 @@ TEST_F(ExtensionServiceTest, InstallAppsWithUnlimitedStorage) {
ASSERT_EQ(1u, service_->extensions()->size());
const std::string id1 = extension->id();
EXPECT_TRUE(extension->HasAPIPermission(
- ExtensionAPIPermission::kUnlimitedStorage));
+ APIPermission::kUnlimitedStorage));
EXPECT_TRUE(extension->web_extent().MatchesURL(
extension->GetFullLaunchURL()));
const GURL origin1(extension->GetFullLaunchURL().GetOrigin());
@@ -2099,7 +2102,7 @@ TEST_F(ExtensionServiceTest, InstallAppsWithUnlimitedStorage) {
ASSERT_EQ(2u, service_->extensions()->size());
const std::string id2 = extension->id();
EXPECT_TRUE(extension->HasAPIPermission(
- ExtensionAPIPermission::kUnlimitedStorage));
+ APIPermission::kUnlimitedStorage));
EXPECT_TRUE(extension->web_extent().MatchesURL(
extension->GetFullLaunchURL()));
const GURL origin2(extension->GetFullLaunchURL().GetOrigin());
@@ -2456,12 +2459,12 @@ TEST_F(ExtensionServiceTest, LoadExtensionsWithPlugins) {
EXPECT_TRUE(service_->extensions()->Contains(good2));
// Make sure the granted permissions have been setup.
- scoped_refptr<ExtensionPermissionSet> permissions(
+ scoped_refptr<PermissionSet> permissions(
service_->extension_prefs()->GetGrantedPermissions(good1));
EXPECT_FALSE(permissions->IsEmpty());
EXPECT_TRUE(permissions->HasEffectiveFullAccess());
EXPECT_FALSE(permissions->apis().empty());
- EXPECT_TRUE(permissions->HasAPIPermission(ExtensionAPIPermission::kPlugin));
+ EXPECT_TRUE(permissions->HasAPIPermission(APIPermission::kPlugin));
// We should be able to reload the extension without getting another prompt.
loaded_.clear();
@@ -3380,7 +3383,7 @@ TEST_F(ExtensionServiceTest, ClearAppData) {
ASSERT_EQ(1u, service_->extensions()->size());
const std::string id1 = extension->id();
EXPECT_TRUE(extension->HasAPIPermission(
- ExtensionAPIPermission::kUnlimitedStorage));
+ APIPermission::kUnlimitedStorage));
const GURL origin1(extension->GetFullLaunchURL().GetOrigin());
EXPECT_TRUE(profile_->GetExtensionSpecialStoragePolicy()->
IsStorageUnlimited(origin1));
@@ -3393,7 +3396,7 @@ TEST_F(ExtensionServiceTest, ClearAppData) {
ASSERT_EQ(2u, service_->extensions()->size());
const std::string id2 = extension->id();
EXPECT_TRUE(extension->HasAPIPermission(
- ExtensionAPIPermission::kUnlimitedStorage));
+ APIPermission::kUnlimitedStorage));
EXPECT_TRUE(extension->web_extent().MatchesURL(
extension->GetFullLaunchURL()));
const GURL origin2(extension->GetFullLaunchURL().GetOrigin());
diff --git a/chrome/browser/extensions/extension_special_storage_policy.cc b/chrome/browser/extensions/extension_special_storage_policy.cc
index 1fa3a02..8d85eea 100644
--- a/chrome/browser/extensions/extension_special_storage_policy.cc
+++ b/chrome/browser/extensions/extension_special_storage_policy.cc
@@ -14,6 +14,7 @@
#include "content/public/browser/browser_thread.h"
using content::BrowserThread;
+using extensions::APIPermission;
ExtensionSpecialStoragePolicy::ExtensionSpecialStoragePolicy(
CookieSettings* cookie_settings)
@@ -70,19 +71,19 @@ void ExtensionSpecialStoragePolicy::GrantRightsForExtension(
DCHECK(extension);
if (!extension->is_hosted_app() &&
!extension->HasAPIPermission(
- ExtensionAPIPermission::kUnlimitedStorage) &&
+ APIPermission::kUnlimitedStorage) &&
!extension->HasAPIPermission(
- ExtensionAPIPermission::kFileBrowserHandler)) {
+ APIPermission::kFileBrowserHandler)) {
return;
}
{
base::AutoLock locker(lock_);
if (NeedsProtection(extension))
protected_apps_.Add(extension);
- if (extension->HasAPIPermission(ExtensionAPIPermission::kUnlimitedStorage))
+ if (extension->HasAPIPermission(APIPermission::kUnlimitedStorage))
unlimited_extensions_.Add(extension);
if (extension->HasAPIPermission(
- ExtensionAPIPermission::kFileBrowserHandler)) {
+ APIPermission::kFileBrowserHandler)) {
file_handler_extensions_.Add(extension);
}
}
@@ -94,19 +95,19 @@ void ExtensionSpecialStoragePolicy::RevokeRightsForExtension(
DCHECK(extension);
if (!extension->is_hosted_app() &&
!extension->HasAPIPermission(
- ExtensionAPIPermission::kUnlimitedStorage) &&
+ APIPermission::kUnlimitedStorage) &&
!extension->HasAPIPermission(
- ExtensionAPIPermission::kFileBrowserHandler)) {
+ APIPermission::kFileBrowserHandler)) {
return;
}
{
base::AutoLock locker(lock_);
if (extension->is_hosted_app() && !extension->from_bookmark())
protected_apps_.Remove(extension);
- if (extension->HasAPIPermission(ExtensionAPIPermission::kUnlimitedStorage))
+ if (extension->HasAPIPermission(APIPermission::kUnlimitedStorage))
unlimited_extensions_.Remove(extension);
if (extension->HasAPIPermission(
- ExtensionAPIPermission::kFileBrowserHandler)) {
+ APIPermission::kFileBrowserHandler)) {
file_handler_extensions_.Remove(extension);
}
}
diff --git a/chrome/browser/extensions/extension_tab_helper.cc b/chrome/browser/extensions/extension_tab_helper.cc
index beac878..3195913 100644
--- a/chrome/browser/extensions/extension_tab_helper.cc
+++ b/chrome/browser/extensions/extension_tab_helper.cc
@@ -232,7 +232,7 @@ void ExtensionTabHelper::OnGetAppNotifyChannel(
std::string error;
if (!extension ||
!extension->HasAPIPermission(
- ExtensionAPIPermission::kAppNotifications) ||
+ extensions::APIPermission::kAppNotifications) ||
!process_map->Contains(extension->id(), process->GetID()))
error = kPermissionError;
diff --git a/chrome/browser/extensions/permissions_updater.cc b/chrome/browser/extensions/permissions_updater.cc
index de08784..94defaf 100644
--- a/chrome/browser/extensions/permissions_updater.cc
+++ b/chrome/browser/extensions/permissions_updater.cc
@@ -16,7 +16,6 @@
#include "chrome/common/chrome_notification_types.h"
#include "chrome/common/extensions/extension.h"
#include "chrome/common/extensions/extension_messages.h"
-#include "chrome/common/extensions/extension_permission_set.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/render_process_host.h"
@@ -38,13 +37,13 @@ PermissionsUpdater::PermissionsUpdater(Profile* profile)
PermissionsUpdater::~PermissionsUpdater() {}
void PermissionsUpdater::AddPermissions(
- const Extension* extension, const ExtensionPermissionSet* permissions) {
- scoped_refptr<const ExtensionPermissionSet> existing(
+ const Extension* extension, const PermissionSet* permissions) {
+ scoped_refptr<const PermissionSet> existing(
extension->GetActivePermissions());
- scoped_refptr<ExtensionPermissionSet> total(
- ExtensionPermissionSet::CreateUnion(existing, permissions));
- scoped_refptr<ExtensionPermissionSet> added(
- ExtensionPermissionSet::CreateDifference(total.get(), existing));
+ scoped_refptr<PermissionSet> total(
+ PermissionSet::CreateUnion(existing, permissions));
+ scoped_refptr<PermissionSet> added(
+ PermissionSet::CreateDifference(total.get(), existing));
UpdateActivePermissions(extension, total.get());
@@ -55,13 +54,13 @@ void PermissionsUpdater::AddPermissions(
}
void PermissionsUpdater::RemovePermissions(
- const Extension* extension, const ExtensionPermissionSet* permissions) {
- scoped_refptr<const ExtensionPermissionSet> existing(
+ const Extension* extension, const PermissionSet* permissions) {
+ scoped_refptr<const PermissionSet> existing(
extension->GetActivePermissions());
- scoped_refptr<ExtensionPermissionSet> total(
- ExtensionPermissionSet::CreateDifference(existing, permissions));
- scoped_refptr<ExtensionPermissionSet> removed(
- ExtensionPermissionSet::CreateDifference(existing, total.get()));
+ scoped_refptr<PermissionSet> total(
+ PermissionSet::CreateDifference(existing, permissions));
+ scoped_refptr<PermissionSet> removed(
+ PermissionSet::CreateDifference(existing, total.get()));
// We update the active permissions, and not the granted permissions, because
// the extension, not the user, removed the permissions. This allows the
@@ -85,7 +84,7 @@ void PermissionsUpdater::GrantActivePermissions(const Extension* extension) {
}
void PermissionsUpdater::UpdateActivePermissions(
- const Extension* extension, const ExtensionPermissionSet* permissions) {
+ const Extension* extension, const PermissionSet* permissions) {
GetExtensionPrefs()->SetActivePermissions(extension->id(), permissions);
extension->SetActivePermissions(permissions);
}
@@ -93,7 +92,7 @@ void PermissionsUpdater::UpdateActivePermissions(
void PermissionsUpdater::DispatchEvent(
const std::string& extension_id,
const char* event_name,
- const ExtensionPermissionSet* changed_permissions) {
+ const PermissionSet* changed_permissions) {
if (!profile_ || !profile_->GetExtensionEventRouter())
return;
@@ -110,7 +109,7 @@ void PermissionsUpdater::DispatchEvent(
void PermissionsUpdater::NotifyPermissionsUpdated(
EventType event_type,
const Extension* extension,
- const ExtensionPermissionSet* changed) {
+ const PermissionSet* changed) {
if (!changed || changed->IsEmpty())
return;
diff --git a/chrome/browser/extensions/permissions_updater.h b/chrome/browser/extensions/permissions_updater.h
index 863e620..ed666ff 100644
--- a/chrome/browser/extensions/permissions_updater.h
+++ b/chrome/browser/extensions/permissions_updater.h
@@ -10,7 +10,6 @@
#include "base/memory/ref_counted.h"
-class ExtensionPermissionSet;
class ExtensionPrefs;
class Profile;
@@ -21,6 +20,7 @@ class DictionaryValue;
namespace extensions {
class Extension;
+class PermissionSet;
// Updates an Extension's active and granted permissions in persistent storage
// and notifies interested parties of the changes.
@@ -33,12 +33,12 @@ class PermissionsUpdater {
// and sends the relevant messages and notifications. This method assumes the
// user has already been prompted, if necessary, for the extra permissions.
void AddPermissions(const Extension* extension,
- const ExtensionPermissionSet* permissions);
+ const PermissionSet* permissions);
// Removes the set of |permissions| from the |extension|'s active permission
// set and sends the relevant messages and notifications.
void RemovePermissions(const Extension* extension,
- const ExtensionPermissionSet* permissions);
+ const PermissionSet* permissions);
// Adds all permissions in the |extension|'s active permissions to its
// granted permission set.
@@ -46,7 +46,7 @@ class PermissionsUpdater {
// Sets the |extension|'s active permissions to |permissions|.
void UpdateActivePermissions(const Extension* extension,
- const ExtensionPermissionSet* permissions);
+ const PermissionSet* permissions);
private:
enum EventType {
@@ -57,7 +57,7 @@ class PermissionsUpdater {
// Dispatches specified event to the extension.
void DispatchEvent(const std::string& extension_id,
const char* event_name,
- const ExtensionPermissionSet* changed_permissions);
+ const PermissionSet* changed_permissions);
// Issues the relevant events, messages and notifications when the
// |extension|'s permissions have |changed| (|changed| is the delta).
@@ -66,7 +66,7 @@ class PermissionsUpdater {
// onAdded/onRemoved events in the extension.
void NotifyPermissionsUpdated(EventType event_type,
const Extension* extension,
- const ExtensionPermissionSet* changed);
+ const PermissionSet* changed);
// Gets the ExtensionPrefs for the associated profile.
ExtensionPrefs* GetExtensionPrefs();
diff --git a/chrome/browser/extensions/permissions_updater_unittest.cc b/chrome/browser/extensions/permissions_updater_unittest.cc
index 36226f8..4910dc3 100644
--- a/chrome/browser/extensions/permissions_updater_unittest.cc
+++ b/chrome/browser/extensions/permissions_updater_unittest.cc
@@ -13,7 +13,7 @@
#include "chrome/common/chrome_notification_types.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/extensions/extension.h"
-#include "chrome/common/extensions/extension_permission_set.h"
+#include "chrome/common/extensions/permissions/permission_set.h"
#include "chrome/test/base/testing_profile.h"
#include "chrome/test/base/ui_test_utils.h"
#include "content/public/browser/notification_observer.h"
@@ -52,7 +52,7 @@ class PermissionsUpdaterListener : public content::NotificationObserver {
bool received_notification() const { return received_notification_; }
const Extension* extension() const { return extension_; }
- const ExtensionPermissionSet* permissions() const { return permissions_; }
+ const PermissionSet* permissions() const { return permissions_; }
UpdatedExtensionPermissionsInfo::Reason reason() const {
return reason_;
}
@@ -79,7 +79,7 @@ class PermissionsUpdaterListener : public content::NotificationObserver {
bool waiting_;
content::NotificationRegistrar registrar_;
scoped_refptr<const Extension> extension_;
- scoped_refptr<const ExtensionPermissionSet> permissions_;
+ scoped_refptr<const PermissionSet> permissions_;
UpdatedExtensionPermissionsInfo::Reason reason_;
};
@@ -125,27 +125,27 @@ TEST_F(PermissionsUpdaterTest, AddAndRemovePermissions) {
scoped_refptr<Extension> extension = LoadManifest(&error);
ASSERT_TRUE(error.empty()) << error;
- ExtensionAPIPermissionSet default_apis;
- default_apis.insert(ExtensionAPIPermission::kManagement);
+ APIPermissionSet default_apis;
+ default_apis.insert(APIPermission::kManagement);
URLPatternSet default_hosts;
AddPattern(&default_hosts, "http://a.com/*");
- scoped_refptr<ExtensionPermissionSet> default_permissions =
- new ExtensionPermissionSet(default_apis, default_hosts, URLPatternSet());
+ scoped_refptr<PermissionSet> default_permissions =
+ new PermissionSet(default_apis, default_hosts, URLPatternSet());
// Make sure it loaded properly.
- scoped_refptr<const ExtensionPermissionSet> permissions =
+ scoped_refptr<const PermissionSet> permissions =
extension->GetActivePermissions();
ASSERT_EQ(*default_permissions, *extension->GetActivePermissions());
// Add a few permissions.
- ExtensionAPIPermissionSet apis;
- apis.insert(ExtensionAPIPermission::kTab);
- apis.insert(ExtensionAPIPermission::kNotification);
+ APIPermissionSet apis;
+ apis.insert(APIPermission::kTab);
+ apis.insert(APIPermission::kNotification);
URLPatternSet hosts;
AddPattern(&hosts, "http://*.c.com/*");
- scoped_refptr<ExtensionPermissionSet> delta =
- new ExtensionPermissionSet(apis, hosts, URLPatternSet());
+ scoped_refptr<PermissionSet> delta =
+ new PermissionSet(apis, hosts, URLPatternSet());
PermissionsUpdaterListener listener;
PermissionsUpdater updater(profile_.get());
@@ -160,18 +160,18 @@ TEST_F(PermissionsUpdaterTest, AddAndRemovePermissions) {
ASSERT_EQ(*delta, *listener.permissions());
// Make sure the extension's active permissions reflect the change.
- scoped_refptr<ExtensionPermissionSet> active_permissions =
- ExtensionPermissionSet::CreateUnion(default_permissions, delta);
+ scoped_refptr<PermissionSet> active_permissions =
+ PermissionSet::CreateUnion(default_permissions, delta);
ASSERT_EQ(*active_permissions, *extension->GetActivePermissions());
// Verify that the new granted and active permissions were also stored
// in the extension preferences. In this case, the granted permissions should
// be equal to the active permissions.
ExtensionPrefs* prefs = service_->extension_prefs();
- scoped_refptr<ExtensionPermissionSet> granted_permissions =
+ scoped_refptr<PermissionSet> granted_permissions =
active_permissions;
- scoped_refptr<ExtensionPermissionSet> from_prefs =
+ scoped_refptr<PermissionSet> from_prefs =
prefs->GetActivePermissions(extension->id());
ASSERT_EQ(*active_permissions, *from_prefs);
@@ -180,8 +180,8 @@ TEST_F(PermissionsUpdaterTest, AddAndRemovePermissions) {
// In the second part of the test, we'll remove the permissions that we
// just added except for 'notification'.
- apis.erase(ExtensionAPIPermission::kNotification);
- delta = new ExtensionPermissionSet(apis, hosts, URLPatternSet());
+ apis.erase(APIPermission::kNotification);
+ delta = new PermissionSet(apis, hosts, URLPatternSet());
listener.Reset();
updater.RemovePermissions(extension, delta);
@@ -195,7 +195,7 @@ TEST_F(PermissionsUpdaterTest, AddAndRemovePermissions) {
// Make sure the extension's active permissions reflect the change.
active_permissions =
- ExtensionPermissionSet::CreateDifference(active_permissions, delta);
+ PermissionSet::CreateDifference(active_permissions, delta);
ASSERT_EQ(*active_permissions, *extension->GetActivePermissions());
// Verify that the extension prefs hold the new active permissions and the
diff --git a/chrome/browser/extensions/settings/settings_frontend.cc b/chrome/browser/extensions/settings/settings_frontend.cc
index a97845a..a56ec57 100644
--- a/chrome/browser/extensions/settings/settings_frontend.cc
+++ b/chrome/browser/extensions/settings/settings_frontend.cc
@@ -303,7 +303,7 @@ void SettingsFrontend::RunWithStorage(
// storage is allowed to be unlimited).
bool is_unlimited =
settings_namespace == settings_namespace::LOCAL &&
- extension->HasAPIPermission(ExtensionAPIPermission::kUnlimitedStorage);
+ extension->HasAPIPermission(APIPermission::kUnlimitedStorage);
scoped_refptr<BackendWrapper> backend;
if (extension->is_app()) {