summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbenwells@chromium.org <benwells@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-09 17:34:20 +0000
committerbenwells@chromium.org <benwells@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-09 17:34:20 +0000
commit38427a15feef46643bd5d85f56a6885fa2b7a976 (patch)
tree390eea7de7cfe3759c5fcc2170599ff2142c6a8d
parent56c953af6bb2be5fcc2eac19a0f227ca7ed594e0 (diff)
downloadchromium_src-38427a15feef46643bd5d85f56a6885fa2b7a976.zip
chromium_src-38427a15feef46643bd5d85f56a6885fa2b7a976.tar.gz
chromium_src-38427a15feef46643bd5d85f56a6885fa2b7a976.tar.bz2
Moved ExtensionInfoMap and ExtensionsQuotaService to extensions/
In the move these classes became extensions::InfoMap and extensions::QuotaService. TBR=sky BUG=162530 Review URL: https://codereview.chromium.org/63933003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234131 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/apps/app_url_redirector.cc2
-rw-r--r--chrome/browser/apps/ephemeral_app_throttle.cc1
-rw-r--r--chrome/browser/chrome_content_browser_client.cc24
-rw-r--r--chrome/browser/extensions/api/bookmarks/bookmarks_api.cc6
-rw-r--r--chrome/browser/extensions/api/declarative/rules_cache_delegate.cc5
-rw-r--r--chrome/browser/extensions/api/declarative/rules_registry.cc1
-rw-r--r--chrome/browser/extensions/api/declarative_content/content_rules_registry.h4
-rw-r--r--chrome/browser/extensions/api/declarative_webrequest/webrequest_action.cc4
-rw-r--r--chrome/browser/extensions/api/declarative_webrequest/webrequest_action.h6
-rw-r--r--chrome/browser/extensions/api/declarative_webrequest/webrequest_action_unittest.cc6
-rw-r--r--chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry.cc2
-rw-r--r--chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry.h8
-rw-r--r--chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry_unittest.cc6
-rw-r--r--chrome/browser/extensions/api/downloads/downloads_api.cc1
-rw-r--r--chrome/browser/extensions/api/storage/storage_api.cc22
-rw-r--r--chrome/browser/extensions/api/streams_private/streams_private_apitest.cc1
-rw-r--r--chrome/browser/extensions/api/test/test_api.cc6
-rw-r--r--chrome/browser/extensions/api/web_request/web_request_api.cc53
-rw-r--r--chrome/browser/extensions/api/web_request/web_request_api.h42
-rw-r--r--chrome/browser/extensions/api/web_request/web_request_api_unittest.cc5
-rw-r--r--chrome/browser/extensions/api/web_request/web_request_permissions.cc6
-rw-r--r--chrome/browser/extensions/api/web_request/web_request_permissions.h9
-rw-r--r--chrome/browser/extensions/api/web_request/web_request_permissions_unittest.cc6
-rw-r--r--chrome/browser/extensions/extension_function.h17
-rw-r--r--chrome/browser/extensions/extension_function_dispatcher.cc8
-rw-r--r--chrome/browser/extensions/extension_function_dispatcher.h4
-rw-r--r--chrome/browser/extensions/extension_protocols.cc15
-rw-r--r--chrome/browser/extensions/extension_protocols.h6
-rw-r--r--chrome/browser/extensions/extension_protocols_unittest.cc6
-rw-r--r--chrome/browser/extensions/extension_service.cc5
-rw-r--r--chrome/browser/extensions/extension_service.h6
-rw-r--r--chrome/browser/extensions/extension_system.cc30
-rw-r--r--chrome/browser/extensions/extension_system.h10
-rw-r--r--chrome/browser/extensions/test_extension_system.cc11
-rw-r--r--chrome/browser/extensions/test_extension_system.h4
-rw-r--r--chrome/browser/extensions/user_script_master.h1
-rw-r--r--chrome/browser/nacl_host/nacl_browser_delegate_impl.cc8
-rw-r--r--chrome/browser/nacl_host/nacl_browser_delegate_impl.h6
-rw-r--r--chrome/browser/nacl_host/nacl_process_host.h1
-rw-r--r--chrome/browser/net/chrome_network_delegate.cc4
-rw-r--r--chrome/browser/net/chrome_network_delegate.h6
-rw-r--r--chrome/browser/notifications/desktop_notification_service.cc4
-rw-r--r--chrome/browser/notifications/message_center_notification_manager.cc4
-rw-r--r--chrome/browser/profiles/off_the_record_profile_impl.cc1
-rw-r--r--chrome/browser/profiles/profile_io_data.cc4
-rw-r--r--chrome/browser/profiles/profile_io_data.h11
-rw-r--r--chrome/browser/renderer_host/chrome_render_message_filter.h7
-rw-r--r--chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc4
-rw-r--r--chrome/chrome_browser_extensions.gypi4
-rw-r--r--chrome/chrome_tests_unit.gypi4
-rw-r--r--extensions/browser/DEPS3
-rw-r--r--extensions/browser/info_map.cc (renamed from chrome/browser/extensions/extension_info_map.cc)86
-rw-r--r--extensions/browser/info_map.h (renamed from chrome/browser/extensions/extension_info_map.h)36
-rw-r--r--extensions/browser/info_map_unittest.cc (renamed from chrome/browser/extensions/extension_info_map_unittest.cc)80
-rw-r--r--extensions/browser/quota_service.cc (renamed from chrome/browser/extensions/extensions_quota_service.cc)63
-rw-r--r--extensions/browser/quota_service.h (renamed from chrome/browser/extensions/extensions_quota_service.h)38
-rw-r--r--extensions/browser/quota_service_unittest.cc (renamed from chrome/browser/extensions/extensions_quota_service_unittest.cc)64
-rw-r--r--extensions/extensions.gyp4
58 files changed, 397 insertions, 394 deletions
diff --git a/chrome/browser/apps/app_url_redirector.cc b/chrome/browser/apps/app_url_redirector.cc
index d973fdd..b50eea5 100644
--- a/chrome/browser/apps/app_url_redirector.cc
+++ b/chrome/browser/apps/app_url_redirector.cc
@@ -7,7 +7,6 @@
#include "apps/launcher.h"
#include "base/bind.h"
#include "base/logging.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_io_data.h"
#include "chrome/common/extensions/api/url_handlers/url_handlers_parser.h"
@@ -20,6 +19,7 @@
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/resource_throttle.h"
#include "content/public/browser/web_contents.h"
+#include "extensions/browser/info_map.h"
#include "net/url_request/url_request.h"
using content::BrowserThread;
diff --git a/chrome/browser/apps/ephemeral_app_throttle.cc b/chrome/browser/apps/ephemeral_app_throttle.cc
index f74cfa4..9787b1b 100644
--- a/chrome/browser/apps/ephemeral_app_throttle.cc
+++ b/chrome/browser/apps/ephemeral_app_throttle.cc
@@ -5,7 +5,6 @@
#include "chrome/browser/apps/ephemeral_app_throttle.h"
#include "base/command_line.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/extensions/webstore_ephemeral_installer.h"
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index 3eca225..4f1ee2f 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -35,7 +35,6 @@
#include "chrome/browser/extensions/api/web_request/web_request_api.h"
#include "chrome/browser/extensions/browser_permissions_policy_delegate.h"
#include "chrome/browser/extensions/extension_host.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
@@ -127,6 +126,7 @@
#include "content/public/common/child_process_host.h"
#include "content/public/common/content_descriptors.h"
#include "content/public/common/url_utils.h"
+#include "extensions/browser/info_map.h"
#include "extensions/browser/view_type_utils.h"
#include "extensions/common/constants.h"
#include "extensions/common/manifest_handlers/background_info.h"
@@ -251,6 +251,7 @@ using content::SiteInstance;
using content::WebContents;
using extensions::APIPermission;
using extensions::Extension;
+using extensions::InfoMap;
using extensions::Manifest;
using message_center::NotifierId;
@@ -1267,8 +1268,9 @@ void ChromeContentBrowserClient::SiteInstanceGotProcess(
if (signin_manager)
signin_manager->SetSigninProcess(site_instance->GetProcess()->GetID());
BrowserThread::PostTask(
- BrowserThread::IO, FROM_HERE,
- base::Bind(&ExtensionInfoMap::SetSigninProcess,
+ BrowserThread::IO,
+ FROM_HERE,
+ base::Bind(&InfoMap::SetSigninProcess,
extensions::ExtensionSystem::Get(profile)->info_map(),
site_instance->GetProcess()->GetID()));
}
@@ -1288,8 +1290,9 @@ void ChromeContentBrowserClient::SiteInstanceGotProcess(
site_instance->GetProcess()->GetID(),
site_instance->GetId());
BrowserThread::PostTask(
- BrowserThread::IO, FROM_HERE,
- base::Bind(&ExtensionInfoMap::RegisterExtensionProcess,
+ BrowserThread::IO,
+ FROM_HERE,
+ base::Bind(&InfoMap::RegisterExtensionProcess,
extensions::ExtensionSystem::Get(profile)->info_map(),
extension->id(),
site_instance->GetProcess()->GetID(),
@@ -1317,8 +1320,9 @@ void ChromeContentBrowserClient::SiteInstanceDeleting(
site_instance->GetProcess()->GetID(),
site_instance->GetId());
BrowserThread::PostTask(
- BrowserThread::IO, FROM_HERE,
- base::Bind(&ExtensionInfoMap::UnregisterExtensionProcess,
+ BrowserThread::IO,
+ FROM_HERE,
+ base::Bind(&InfoMap::UnregisterExtensionProcess,
extensions::ExtensionSystem::Get(profile)->info_map(),
extension->id(),
site_instance->GetProcess()->GetID(),
@@ -1893,7 +1897,7 @@ void ChromeContentBrowserClient::RequestDesktopNotificationPermission(
// extension has the 'notify' permission. (If the extension does not have the
// permission, the user will still be prompted.)
Profile* profile = Profile::FromBrowserContext(contents->GetBrowserContext());
- ExtensionInfoMap* extension_info_map =
+ InfoMap* extension_info_map =
extensions::ExtensionSystem::Get(profile)->info_map();
DesktopNotificationService* notification_service =
DesktopNotificationServiceFactory::GetForProfile(profile);
@@ -1945,7 +1949,7 @@ blink::WebNotificationPresenter::Permission
DesktopNotificationService* notification_service =
io_data->GetNotificationService();
if (notification_service) {
- ExtensionInfoMap* extension_info_map = io_data->GetExtensionInfoMap();
+ InfoMap* extension_info_map = io_data->GetExtensionInfoMap();
ExtensionSet extensions;
extension_info_map->GetExtensionsWithAPIPermissionForSecurityOrigin(
source_origin, render_process_id,
@@ -2036,7 +2040,7 @@ bool ChromeContentBrowserClient::CanCreateWindow(
*no_javascript_access = false;
ProfileIOData* io_data = ProfileIOData::FromResourceContext(context);
- ExtensionInfoMap* map = io_data->GetExtensionInfoMap();
+ InfoMap* map = io_data->GetExtensionInfoMap();
// If the opener is trying to create a background window but doesn't have
// the appropriate permission, fail the attempt.
diff --git a/chrome/browser/extensions/api/bookmarks/bookmarks_api.cc b/chrome/browser/extensions/api/bookmarks/bookmarks_api.cc
index 25a5d7f..f946556 100644
--- a/chrome/browser/extensions/api/bookmarks/bookmarks_api.cc
+++ b/chrome/browser/extensions/api/bookmarks/bookmarks_api.cc
@@ -30,7 +30,6 @@
#include "chrome/browser/extensions/event_router.h"
#include "chrome/browser/extensions/extension_function_dispatcher.h"
#include "chrome/browser/extensions/extension_system.h"
-#include "chrome/browser/extensions/extensions_quota_service.h"
#include "chrome/browser/importer/external_process_importer_host.h"
#include "chrome/browser/importer/importer_uma.h"
#include "chrome/browser/platform_util.h"
@@ -45,6 +44,7 @@
#include "content/public/browser/notification_service.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_view.h"
+#include "extensions/browser/quota_service.h"
#include "grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
@@ -65,8 +65,8 @@ using content::WebContents;
typedef QuotaLimitHeuristic::Bucket Bucket;
typedef QuotaLimitHeuristic::Config Config;
typedef QuotaLimitHeuristic::BucketList BucketList;
-typedef ExtensionsQuotaService::TimedLimit TimedLimit;
-typedef ExtensionsQuotaService::SustainedLimit SustainedLimit;
+typedef QuotaService::TimedLimit TimedLimit;
+typedef QuotaService::SustainedLimit SustainedLimit;
typedef QuotaLimitHeuristic::BucketMapper BucketMapper;
namespace {
diff --git a/chrome/browser/extensions/api/declarative/rules_cache_delegate.cc b/chrome/browser/extensions/api/declarative/rules_cache_delegate.cc
index 0022d78..6254a41 100644
--- a/chrome/browser/extensions/api/declarative/rules_cache_delegate.cc
+++ b/chrome/browser/extensions/api/declarative/rules_cache_delegate.cc
@@ -6,7 +6,6 @@
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/extensions/api/declarative/rules_registry.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/extensions/extension_util.h"
@@ -14,6 +13,7 @@
#include "chrome/browser/profiles/profile.h"
#include "content/public/browser/notification_details.h"
#include "content/public/browser/notification_source.h"
+#include "extensions/browser/info_map.h"
namespace {
@@ -127,8 +127,7 @@ void RulesCacheDelegate::Observe(
// declarative rules, not just webRequest.
if (extension->HasAPIPermission(APIPermission::kDeclarativeContent) ||
extension->HasAPIPermission(APIPermission::kDeclarativeWebRequest)) {
- ExtensionInfoMap* extension_info_map =
- ExtensionSystem::Get(profile_)->info_map();
+ InfoMap* extension_info_map = ExtensionSystem::Get(profile_)->info_map();
if (profile_->IsOffTheRecord() &&
!extension_info_map->IsIncognitoEnabled(extension->id())) {
// Ignore this extension.
diff --git a/chrome/browser/extensions/api/declarative/rules_registry.cc b/chrome/browser/extensions/api/declarative/rules_registry.cc
index 12f1d3c..2f6c2fb 100644
--- a/chrome/browser/extensions/api/declarative/rules_registry.cc
+++ b/chrome/browser/extensions/api/declarative/rules_registry.cc
@@ -13,7 +13,6 @@
#include "base/values.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/extensions/api/declarative/rules_cache_delegate.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/browser/extensions/extension_prefs.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
diff --git a/chrome/browser/extensions/api/declarative_content/content_rules_registry.h b/chrome/browser/extensions/api/declarative_content/content_rules_registry.h
index c3f62f2..c752ebb 100644
--- a/chrome/browser/extensions/api/declarative_content/content_rules_registry.h
+++ b/chrome/browser/extensions/api/declarative_content/content_rules_registry.h
@@ -18,9 +18,9 @@
#include "chrome/browser/extensions/api/declarative/rules_registry.h"
#include "chrome/browser/extensions/api/declarative_content/content_action.h"
#include "chrome/browser/extensions/api/declarative_content/content_condition.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
+#include "extensions/browser/info_map.h"
#include "extensions/common/matcher/url_matcher.h"
class Profile;
@@ -139,7 +139,7 @@ class ContentRulesRegistry : public RulesRegistry,
// Manages our notification registrations.
content::NotificationRegistrar registrar_;
- scoped_refptr<ExtensionInfoMap> extension_info_map_;
+ scoped_refptr<InfoMap> extension_info_map_;
DISALLOW_COPY_AND_ASSIGN(ContentRulesRegistry);
};
diff --git a/chrome/browser/extensions/api/declarative_webrequest/webrequest_action.cc b/chrome/browser/extensions/api/declarative_webrequest/webrequest_action.cc
index 4da726e..14c2c8e 100644
--- a/chrome/browser/extensions/api/declarative_webrequest/webrequest_action.cc
+++ b/chrome/browser/extensions/api/declarative_webrequest/webrequest_action.cc
@@ -17,9 +17,9 @@
#include "chrome/browser/extensions/api/declarative_webrequest/webrequest_constants.h"
#include "chrome/browser/extensions/api/web_request/web_request_api_helpers.h"
#include "chrome/browser/extensions/api/web_request/web_request_permissions.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/common/extensions/extension.h"
#include "content/public/common/url_constants.h"
+#include "extensions/browser/info_map.h"
#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
#include "net/url_request/url_request.h"
#include "third_party/re2/re2/re2.h"
@@ -436,7 +436,7 @@ bool WebRequestAction::Equals(const WebRequestAction* other) const {
return type() == other->type();
}
-bool WebRequestAction::HasPermission(const ExtensionInfoMap* extension_info_map,
+bool WebRequestAction::HasPermission(const InfoMap* extension_info_map,
const std::string& extension_id,
const net::URLRequest* request,
bool crosses_incognito) const {
diff --git a/chrome/browser/extensions/api/declarative_webrequest/webrequest_action.h b/chrome/browser/extensions/api/declarative_webrequest/webrequest_action.h
index 07fa95c..5deef02 100644
--- a/chrome/browser/extensions/api/declarative_webrequest/webrequest_action.h
+++ b/chrome/browser/extensions/api/declarative_webrequest/webrequest_action.h
@@ -18,7 +18,6 @@
#include "chrome/common/extensions/api/events.h"
#include "url/gurl.h"
-class ExtensionInfoMap;
class WebRequestPermission;
namespace base {
@@ -33,6 +32,7 @@ struct EventResponseDelta;
namespace extensions {
class Extension;
+class InfoMap;
struct WebRequestData;
}
@@ -83,7 +83,7 @@ class WebRequestAction : public base::RefCounted<WebRequestAction> {
// Information necessary to decide how to apply a WebRequestAction
// inside a matching rule.
struct ApplyInfo {
- const ExtensionInfoMap* extension_info_map;
+ const InfoMap* extension_info_map;
const WebRequestData& request_data;
bool crosses_incognito;
// Modified by each applied action:
@@ -122,7 +122,7 @@ class WebRequestAction : public base::RefCounted<WebRequestAction> {
// host permissions are ignored. |crosses_incognito| specifies
// whether the request comes from a different profile than |extension_id|
// but was processed because the extension is in spanning mode.
- virtual bool HasPermission(const ExtensionInfoMap* extension_info_map,
+ virtual bool HasPermission(const InfoMap* extension_info_map,
const std::string& extension_id,
const net::URLRequest* request,
bool crosses_incognito) const;
diff --git a/chrome/browser/extensions/api/declarative_webrequest/webrequest_action_unittest.cc b/chrome/browser/extensions/api/declarative_webrequest/webrequest_action_unittest.cc
index d54053b..ab6ec9a 100644
--- a/chrome/browser/extensions/api/declarative_webrequest/webrequest_action_unittest.cc
+++ b/chrome/browser/extensions/api/declarative_webrequest/webrequest_action_unittest.cc
@@ -17,12 +17,12 @@
#include "chrome/browser/extensions/api/declarative_webrequest/webrequest_condition.h"
#include "chrome/browser/extensions/api/declarative_webrequest/webrequest_constants.h"
#include "chrome/browser/extensions/api/web_request/web_request_api_helpers.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/extensions/extension.h"
#include "chrome/common/extensions/extension_constants.h"
#include "chrome/common/extensions/extension_test_util.h"
#include "content/public/test/test_browser_thread_bundle.h"
+#include "extensions/browser/info_map.h"
#include "net/base/request_priority.h"
#include "net/http/http_response_headers.h"
#include "net/url_request/url_request_test_util.h"
@@ -97,7 +97,7 @@ class WebRequestActionWithThreadsTest : public testing::Test {
scoped_refptr<Extension> extension_;
// An extension with host permissions for all URLs and the DWR permission.
scoped_refptr<Extension> extension_all_urls_;
- scoped_refptr<ExtensionInfoMap> extension_info_map_;
+ scoped_refptr<InfoMap> extension_info_map_;
private:
content::TestBrowserThreadBundle thread_bundle_;
@@ -122,7 +122,7 @@ void WebRequestActionWithThreadsTest::SetUp() {
"ext_id_2",
&error);
ASSERT_TRUE(extension_all_urls_.get()) << error;
- extension_info_map_ = new ExtensionInfoMap;
+ extension_info_map_ = new InfoMap;
ASSERT_TRUE(extension_info_map_.get());
extension_info_map_->AddExtension(
extension_.get(), base::Time::Now(), false /*incognito_enabled*/);
diff --git a/chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry.cc b/chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry.cc
index be0010b..d9a9407 100644
--- a/chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry.cc
+++ b/chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry.cc
@@ -73,7 +73,7 @@ std::set<const WebRequestRule*> WebRequestRulesRegistry::GetMatches(
}
std::list<LinkedPtrEventResponseDelta> WebRequestRulesRegistry::CreateDeltas(
- const ExtensionInfoMap* extension_info_map,
+ const InfoMap* extension_info_map,
const WebRequestData& request_data,
bool crosses_incognito) {
if (webrequest_rules_.empty())
diff --git a/chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry.h b/chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry.h
index 7c8f3b1..336c484 100644
--- a/chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry.h
+++ b/chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry.h
@@ -21,7 +21,7 @@
#include "chrome/browser/extensions/api/declarative_webrequest/request_stage.h"
#include "chrome/browser/extensions/api/declarative_webrequest/webrequest_action.h"
#include "chrome/browser/extensions/api/declarative_webrequest/webrequest_condition.h"
-#include "chrome/browser/extensions/extension_info_map.h"
+#include "extensions/browser/info_map.h"
#include "extensions/common/matcher/url_matcher.h"
class Profile;
@@ -86,7 +86,7 @@ class WebRequestRulesRegistry : public RulesRegistry {
// Returns which modifications should be executed on the network request
// according to the rules registered in this registry.
std::list<LinkedPtrEventResponseDelta> CreateDeltas(
- const ExtensionInfoMap* extension_info_map,
+ const InfoMap* extension_info_map,
const WebRequestData& request_data,
bool crosses_incognito);
@@ -112,7 +112,7 @@ class WebRequestRulesRegistry : public RulesRegistry {
virtual void ClearCacheOnNavigation();
void SetExtensionInfoMapForTesting(
- scoped_refptr<ExtensionInfoMap> extension_info_map) {
+ scoped_refptr<InfoMap> extension_info_map) {
extension_info_map_ = extension_info_map;
}
@@ -182,7 +182,7 @@ class WebRequestRulesRegistry : public RulesRegistry {
URLMatcher url_matcher_;
void* profile_id_;
- scoped_refptr<ExtensionInfoMap> extension_info_map_;
+ scoped_refptr<InfoMap> extension_info_map_;
DISALLOW_COPY_AND_ASSIGN(WebRequestRulesRegistry);
};
diff --git a/chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry_unittest.cc b/chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry_unittest.cc
index f36d1f9..31f5b1f 100644
--- a/chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry_unittest.cc
+++ b/chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry_unittest.cc
@@ -49,7 +49,7 @@ namespace keys2 = url_matcher_constants;
class TestWebRequestRulesRegistry : public WebRequestRulesRegistry {
public:
explicit TestWebRequestRulesRegistry(
- scoped_refptr<ExtensionInfoMap> extension_info_map)
+ scoped_refptr<InfoMap> extension_info_map)
: WebRequestRulesRegistry(NULL /*profile*/, NULL /* cache_delegate */),
num_clear_cache_calls_(0) {
SetExtensionInfoMapForTesting(extension_info_map);
@@ -229,7 +229,7 @@ class WebRequestRulesRegistryTest : public testing::Test {
// |extension2_|.
scoped_refptr<Extension> extension_;
scoped_refptr<Extension> extension2_;
- scoped_refptr<ExtensionInfoMap> extension_info_map_;
+ scoped_refptr<InfoMap> extension_info_map_;
};
void WebRequestRulesRegistryTest::SetUp() {
@@ -250,7 +250,7 @@ void WebRequestRulesRegistryTest::SetUp() {
kExtensionId2,
&error);
ASSERT_TRUE(extension2_.get()) << error;
- extension_info_map_ = new ExtensionInfoMap;
+ extension_info_map_ = new InfoMap;
ASSERT_TRUE(extension_info_map_.get());
extension_info_map_->AddExtension(extension_.get(),
base::Time() + base::TimeDelta::FromDays(1),
diff --git a/chrome/browser/extensions/api/downloads/downloads_api.cc b/chrome/browser/extensions/api/downloads/downloads_api.cc
index 4544f58..53837be 100644
--- a/chrome/browser/extensions/api/downloads/downloads_api.cc
+++ b/chrome/browser/extensions/api/downloads/downloads_api.cc
@@ -40,7 +40,6 @@
#include "chrome/browser/download/drag_download_item.h"
#include "chrome/browser/extensions/event_router.h"
#include "chrome/browser/extensions/extension_function_dispatcher.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/browser/extensions/extension_prefs.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
diff --git a/chrome/browser/extensions/api/storage/storage_api.cc b/chrome/browser/extensions/api/storage/storage_api.cc
index e562d91..1d6b361 100644
--- a/chrome/browser/extensions/api/storage/storage_api.cc
+++ b/chrome/browser/extensions/api/storage/storage_api.cc
@@ -12,10 +12,10 @@
#include "base/values.h"
#include "chrome/browser/extensions/api/storage/settings_frontend.h"
#include "chrome/browser/extensions/extension_service.h"
-#include "chrome/browser/extensions/extensions_quota_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/extensions/api/storage.h"
#include "content/public/browser/browser_thread.h"
+#include "extensions/browser/quota_service.h"
namespace extensions {
@@ -135,11 +135,10 @@ void GetModificationQuotaLimitHeuristics(QuotaLimitHeuristics* heuristics) {
api::storage::sync::MAX_WRITE_OPERATIONS_PER_HOUR,
base::TimeDelta::FromHours(1)
};
- heuristics->push_back(
- new ExtensionsQuotaService::TimedLimit(
- longLimitConfig,
- new QuotaLimitHeuristic::SingletonBucketMapper(),
- "MAX_WRITE_OPERATIONS_PER_HOUR"));
+ heuristics->push_back(new QuotaService::TimedLimit(
+ longLimitConfig,
+ new QuotaLimitHeuristic::SingletonBucketMapper(),
+ "MAX_WRITE_OPERATIONS_PER_HOUR"));
// A max of 10 operations per minute, sustained over 10 minutes.
QuotaLimitHeuristic::Config shortLimitConfig = {
@@ -147,12 +146,11 @@ void GetModificationQuotaLimitHeuristics(QuotaLimitHeuristics* heuristics) {
api::storage::sync::MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE,
base::TimeDelta::FromMinutes(1)
};
- heuristics->push_back(
- new ExtensionsQuotaService::SustainedLimit(
- base::TimeDelta::FromMinutes(10),
- shortLimitConfig,
- new QuotaLimitHeuristic::SingletonBucketMapper(),
- "MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE"));
+ heuristics->push_back(new QuotaService::SustainedLimit(
+ base::TimeDelta::FromMinutes(10),
+ shortLimitConfig,
+ new QuotaLimitHeuristic::SingletonBucketMapper(),
+ "MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE"));
};
} // namespace
diff --git a/chrome/browser/extensions/api/streams_private/streams_private_apitest.cc b/chrome/browser/extensions/api/streams_private/streams_private_apitest.cc
index 0e99edc..723793a 100644
--- a/chrome/browser/extensions/api/streams_private/streams_private_apitest.cc
+++ b/chrome/browser/extensions/api/streams_private/streams_private_apitest.cc
@@ -8,7 +8,6 @@
#include "chrome/browser/download/download_prefs.h"
#include "chrome/browser/extensions/event_router.h"
#include "chrome/browser/extensions/extension_apitest.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
diff --git a/chrome/browser/extensions/api/test/test_api.cc b/chrome/browser/extensions/api/test/test_api.cc
index 5a4f485..fb76002 100644
--- a/chrome/browser/extensions/api/test/test_api.cc
+++ b/chrome/browser/extensions/api/test/test_api.cc
@@ -9,14 +9,14 @@
#include "base/command_line.h"
#include "base/memory/singleton.h"
#include "chrome/browser/chrome_notification_types.h"
-#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_function_dispatcher.h"
-#include "chrome/browser/extensions/extensions_quota_service.h"
+#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser_commands.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/extensions/api/test.h"
#include "content/public/browser/notification_service.h"
+#include "extensions/browser/quota_service.h"
namespace {
@@ -84,7 +84,7 @@ TestResetQuotaFunction::~TestResetQuotaFunction() {}
bool TestResetQuotaFunction::RunImpl() {
ExtensionService* service = GetProfile()->GetExtensionService();
- ExtensionsQuotaService* quota = service->quota_service();
+ QuotaService* quota = service->quota_service();
quota->Purge();
quota->violation_errors_.clear();
return true;
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 d10d681..4d74cfe 100644
--- a/chrome/browser/extensions/api/web_request/web_request_api.cc
+++ b/chrome/browser/extensions/api/web_request/web_request_api.cc
@@ -30,7 +30,6 @@
#include "chrome/browser/extensions/api/web_request/web_request_api_helpers.h"
#include "chrome/browser/extensions/api/web_request/web_request_time_tracker.h"
#include "chrome/browser/extensions/event_router.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/browser/extensions/extension_prefs.h"
#include "chrome/browser/extensions/extension_renderer_state.h"
#include "chrome/browser/extensions/extension_service.h"
@@ -51,6 +50,7 @@
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/resource_request_info.h"
#include "content/public/browser/user_metrics.h"
+#include "extensions/browser/info_map.h"
#include "extensions/common/error_utils.h"
#include "extensions/common/event_filtering_info.h"
#include "extensions/common/features/feature.h"
@@ -76,6 +76,7 @@ using extensions::Extension;
using extensions::ExtensionWarning;
using extensions::ExtensionWarningService;
using extensions::ExtensionWarningSet;
+using extensions::InfoMap;
using extensions::Feature;
using extensions::web_navigation_api_helpers::GetFrameId;
@@ -144,7 +145,7 @@ bool IsWebRequestEvent(const std::string& event_name) {
// Returns whether |request| has been triggered by an extension in
// |extension_info_map|.
bool IsRequestFromExtension(const net::URLRequest* request,
- const ExtensionInfoMap* extension_info_map) {
+ const InfoMap* extension_info_map) {
// |extension_info_map| is NULL for system-level requests.
if (!extension_info_map)
return false;
@@ -469,7 +470,7 @@ struct ExtensionWebRequestEventRouter::BlockedRequest {
// Provider of meta data about extensions, only used and non-NULL for events
// that are delayed until the rules registry is ready.
- ExtensionInfoMap* extension_info_map;
+ InfoMap* extension_info_map;
BlockedRequest()
: request(NULL),
@@ -608,7 +609,7 @@ void ExtensionWebRequestEventRouter::RegisterRulesRegistry(
int ExtensionWebRequestEventRouter::OnBeforeRequest(
void* profile,
- ExtensionInfoMap* extension_info_map,
+ InfoMap* extension_info_map,
net::URLRequest* request,
const net::CompletionCallback& callback,
GURL* new_url) {
@@ -674,7 +675,7 @@ int ExtensionWebRequestEventRouter::OnBeforeRequest(
int ExtensionWebRequestEventRouter::OnBeforeSendHeaders(
void* profile,
- ExtensionInfoMap* extension_info_map,
+ InfoMap* extension_info_map,
net::URLRequest* request,
const net::CompletionCallback& callback,
net::HttpRequestHeaders* headers) {
@@ -731,7 +732,7 @@ int ExtensionWebRequestEventRouter::OnBeforeSendHeaders(
void ExtensionWebRequestEventRouter::OnSendHeaders(
void* profile,
- ExtensionInfoMap* extension_info_map,
+ InfoMap* extension_info_map,
net::URLRequest* request,
const net::HttpRequestHeaders& headers) {
// We hide events from the system context as well as sensitive requests.
@@ -764,7 +765,7 @@ void ExtensionWebRequestEventRouter::OnSendHeaders(
int ExtensionWebRequestEventRouter::OnHeadersReceived(
void* profile,
- ExtensionInfoMap* extension_info_map,
+ InfoMap* extension_info_map,
net::URLRequest* request,
const net::CompletionCallback& callback,
const net::HttpResponseHeaders* original_response_headers,
@@ -832,7 +833,7 @@ int ExtensionWebRequestEventRouter::OnHeadersReceived(
net::NetworkDelegate::AuthRequiredResponse
ExtensionWebRequestEventRouter::OnAuthRequired(
void* profile,
- ExtensionInfoMap* extension_info_map,
+ InfoMap* extension_info_map,
net::URLRequest* request,
const net::AuthChallengeInfo& auth_info,
const net::NetworkDelegate::AuthCallback& callback,
@@ -885,7 +886,7 @@ ExtensionWebRequestEventRouter::OnAuthRequired(
void ExtensionWebRequestEventRouter::OnBeforeRedirect(
void* profile,
- ExtensionInfoMap* extension_info_map,
+ InfoMap* extension_info_map,
net::URLRequest* request,
const GURL& new_location) {
// We hide events from the system context as well as sensitive requests.
@@ -933,7 +934,7 @@ void ExtensionWebRequestEventRouter::OnBeforeRedirect(
void ExtensionWebRequestEventRouter::OnResponseStarted(
void* profile,
- ExtensionInfoMap* extension_info_map,
+ InfoMap* extension_info_map,
net::URLRequest* request) {
// We hide events from the system context as well as sensitive requests.
if (!profile ||
@@ -976,10 +977,9 @@ void ExtensionWebRequestEventRouter::OnResponseStarted(
DispatchEvent(profile, request, listeners, args);
}
-void ExtensionWebRequestEventRouter::OnCompleted(
- void* profile,
- ExtensionInfoMap* extension_info_map,
- net::URLRequest* request) {
+void ExtensionWebRequestEventRouter::OnCompleted(void* profile,
+ InfoMap* extension_info_map,
+ net::URLRequest* request) {
// We hide events from the system context as well as sensitive requests.
// However, if the request first became sensitive after redirecting we have
// already signaled it and thus we have to signal the end of it. This is
@@ -1031,7 +1031,7 @@ void ExtensionWebRequestEventRouter::OnCompleted(
void ExtensionWebRequestEventRouter::OnErrorOccurred(
void* profile,
- ExtensionInfoMap* extension_info_map,
+ InfoMap* extension_info_map,
net::URLRequest* request,
bool started) {
// We hide events from the system context as well as sensitive requests.
@@ -1344,7 +1344,7 @@ bool ExtensionWebRequestEventRouter::WasSignaled(
void ExtensionWebRequestEventRouter::GetMatchingListenersImpl(
void* profile,
- ExtensionInfoMap* extension_info_map,
+ InfoMap* extension_info_map,
bool crosses_incognito,
const std::string& event_name,
const GURL& url,
@@ -1421,7 +1421,7 @@ void ExtensionWebRequestEventRouter::GetMatchingListenersImpl(
std::vector<const ExtensionWebRequestEventRouter::EventListener*>
ExtensionWebRequestEventRouter::GetMatchingListeners(
void* profile,
- ExtensionInfoMap* extension_info_map,
+ InfoMap* extension_info_map,
const std::string& event_name,
net::URLRequest* request,
int* extra_info_spec) {
@@ -1849,7 +1849,7 @@ int ExtensionWebRequestEventRouter::ExecuteDeltas(
bool ExtensionWebRequestEventRouter::ProcessDeclarativeRules(
void* profile,
- ExtensionInfoMap* extension_info_map,
+ InfoMap* extension_info_map,
const std::string& event_name,
net::URLRequest* request,
extensions::RequestStage request_stage,
@@ -1999,7 +1999,7 @@ void ExtensionWebRequestEventRouter::ClearSignaled(uint64 request_id,
// webRequest.handlerBehaviorChanged() should trigger a quota violation at the
// time it is called. Instead we only decrement the bucket counter at the time
// when the cache is cleared (when page loads happen).
-class ClearCacheQuotaHeuristic : public QuotaLimitHeuristic {
+class ClearCacheQuotaHeuristic : public extensions::QuotaLimitHeuristic {
public:
ClearCacheQuotaHeuristic(const Config& config, BucketMapper* map)
: QuotaLimitHeuristic(
@@ -2245,14 +2245,13 @@ bool WebRequestEventHandled::RunImpl() {
}
void WebRequestHandlerBehaviorChangedFunction::GetQuotaLimitHeuristics(
- QuotaLimitHeuristics* heuristics) const {
- QuotaLimitHeuristic::Config config = {
- // See web_request.json for current value.
- web_request::MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES,
- base::TimeDelta::FromMinutes(10)
- };
- QuotaLimitHeuristic::BucketMapper* bucket_mapper =
- new QuotaLimitHeuristic::SingletonBucketMapper();
+ extensions::QuotaLimitHeuristics* heuristics) const {
+ extensions::QuotaLimitHeuristic::Config config = {
+ // See web_request.json for current value.
+ web_request::MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES,
+ base::TimeDelta::FromMinutes(10)};
+ extensions::QuotaLimitHeuristic::BucketMapper* bucket_mapper =
+ new extensions::QuotaLimitHeuristic::SingletonBucketMapper();
ClearCacheQuotaHeuristic* heuristic =
new ClearCacheQuotaHeuristic(config, bucket_mapper);
heuristics->push_back(heuristic);
diff --git a/chrome/browser/extensions/api/web_request/web_request_api.h b/chrome/browser/extensions/api/web_request/web_request_api.h
index 15c985b..a68e0fb 100644
--- a/chrome/browser/extensions/api/web_request/web_request_api.h
+++ b/chrome/browser/extensions/api/web_request/web_request_api.h
@@ -27,7 +27,6 @@
#include "net/http/http_request_headers.h"
#include "webkit/common/resource_type.h"
-class ExtensionInfoMap;
class ExtensionWebRequestTimeTracker;
class GURL;
@@ -42,6 +41,7 @@ class RenderProcessHost;
}
namespace extensions {
+class InfoMap;
class WebRequestRulesRegistry;
}
@@ -145,7 +145,7 @@ class ExtensionWebRequestEventRouter
// the given request. Returns net::ERR_IO_PENDING if an extension is
// intercepting the request, OK otherwise.
int OnBeforeRequest(void* profile,
- ExtensionInfoMap* extension_info_map,
+ extensions::InfoMap* extension_info_map,
net::URLRequest* request,
const net::CompletionCallback& callback,
GURL* new_url);
@@ -155,7 +155,7 @@ class ExtensionWebRequestEventRouter
// Returns net::ERR_IO_PENDING if an extension is intercepting the request, OK
// otherwise.
int OnBeforeSendHeaders(void* profile,
- ExtensionInfoMap* extension_info_map,
+ extensions::InfoMap* extension_info_map,
net::URLRequest* request,
const net::CompletionCallback& callback,
net::HttpRequestHeaders* headers);
@@ -163,7 +163,7 @@ class ExtensionWebRequestEventRouter
// Dispatches the onSendHeaders event. This is fired for HTTP(s) requests
// only.
void OnSendHeaders(void* profile,
- ExtensionInfoMap* extension_info_map,
+ extensions::InfoMap* extension_info_map,
net::URLRequest* request,
const net::HttpRequestHeaders& headers);
@@ -178,7 +178,7 @@ class ExtensionWebRequestEventRouter
// into |override_response_headers|.
int OnHeadersReceived(
void* profile,
- ExtensionInfoMap* extension_info_map,
+ extensions::InfoMap* extension_info_map,
net::URLRequest* request,
const net::CompletionCallback& callback,
const net::HttpResponseHeaders* original_response_headers,
@@ -190,36 +190,36 @@ class ExtensionWebRequestEventRouter
// AUTH_REQUIRED_RESPONSE_IO_PENDING is returned and |callback| will be
// invoked later.
net::NetworkDelegate::AuthRequiredResponse OnAuthRequired(
- void* profile,
- ExtensionInfoMap* extension_info_map,
- net::URLRequest* request,
- const net::AuthChallengeInfo& auth_info,
- const net::NetworkDelegate::AuthCallback& callback,
- net::AuthCredentials* credentials);
+ void* profile,
+ extensions::InfoMap* extension_info_map,
+ net::URLRequest* request,
+ const net::AuthChallengeInfo& auth_info,
+ const net::NetworkDelegate::AuthCallback& callback,
+ net::AuthCredentials* credentials);
// Dispatches the onBeforeRedirect event. This is fired for HTTP(s) requests
// only.
void OnBeforeRedirect(void* profile,
- ExtensionInfoMap* extension_info_map,
+ extensions::InfoMap* extension_info_map,
net::URLRequest* request,
const GURL& new_location);
// Dispatches the onResponseStarted event indicating that the first bytes of
// the response have arrived.
void OnResponseStarted(void* profile,
- ExtensionInfoMap* extension_info_map,
+ extensions::InfoMap* extension_info_map,
net::URLRequest* request);
// Dispatches the onComplete event.
void OnCompleted(void* profile,
- ExtensionInfoMap* extension_info_map,
+ extensions::InfoMap* extension_info_map,
net::URLRequest* request);
// Dispatches an onErrorOccurred event.
void OnErrorOccurred(void* profile,
- ExtensionInfoMap* extension_info_map,
- net::URLRequest* request,
- bool started);
+ extensions::InfoMap* extension_info_map,
+ net::URLRequest* request,
+ bool started);
// Notifications when objects are going away.
void OnURLRequestDestroyed(void* profile, net::URLRequest* request);
@@ -304,7 +304,7 @@ class ExtensionWebRequestEventRouter
// set of extra_info_spec flags that every matching listener asked for.
std::vector<const EventListener*> GetMatchingListeners(
void* profile,
- ExtensionInfoMap* extension_info_map,
+ extensions::InfoMap* extension_info_map,
const std::string& event_name,
net::URLRequest* request,
int* extra_info_spec);
@@ -314,7 +314,7 @@ class ExtensionWebRequestEventRouter
// profile if the event is originally for the normal profile, or vice versa).
void GetMatchingListenersImpl(
void* profile,
- ExtensionInfoMap* extension_info_map,
+ extensions::InfoMap* extension_info_map,
bool crosses_incognito,
const std::string& event_name,
const GURL& url,
@@ -356,7 +356,7 @@ class ExtensionWebRequestEventRouter
// deltas were generated.
bool ProcessDeclarativeRules(
void* profile,
- ExtensionInfoMap* extension_info_map,
+ extensions::InfoMap* extension_info_map,
const std::string& event_name,
net::URLRequest* request,
extensions::RequestStage request_stage,
@@ -464,7 +464,7 @@ class WebRequestHandlerBehaviorChangedFunction
// ExtensionFunction:
virtual void GetQuotaLimitHeuristics(
- QuotaLimitHeuristics* heuristics) const OVERRIDE;
+ extensions::QuotaLimitHeuristics* heuristics) const OVERRIDE;
// Handle quota exceeded gracefully: Only warn the user but still execute the
// function.
virtual void OnQuotaExceeded(const std::string& error) OVERRIDE;
diff --git a/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc b/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc
index b563564..cb672ba 100644
--- a/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc
+++ b/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc
@@ -64,7 +64,6 @@ using base::Time;
using base::TimeDelta;
using base::Value;
using chrome::VersionInfo;
-using extensions::Feature;
using helpers::CalculateOnAuthRequiredDelta;
using helpers::CalculateOnBeforeRequestDelta;
using helpers::CalculateOnBeforeSendHeadersDelta;
@@ -209,7 +208,7 @@ class ExtensionWebRequestTest : public testing::Test {
BooleanPrefMember enable_referrers_;
TestIPCSender ipc_sender_;
scoped_refptr<EventRouterForwarder> event_router_;
- scoped_refptr<ExtensionInfoMap> extension_info_map_;
+ scoped_refptr<InfoMap> extension_info_map_;
scoped_ptr<ChromeNetworkDelegate> network_delegate_;
scoped_ptr<net::TestURLRequestContext> context_;
};
@@ -803,7 +802,7 @@ class ExtensionWebRequestHeaderModificationTest
BooleanPrefMember enable_referrers_;
TestIPCSender ipc_sender_;
scoped_refptr<EventRouterForwarder> event_router_;
- scoped_refptr<ExtensionInfoMap> extension_info_map_;
+ scoped_refptr<InfoMap> extension_info_map_;
scoped_ptr<ChromeNetworkDelegate> network_delegate_;
scoped_ptr<net::MockHostResolver> host_resolver_;
scoped_ptr<net::TestURLRequestContext> context_;
diff --git a/chrome/browser/extensions/api/web_request/web_request_permissions.cc b/chrome/browser/extensions/api/web_request/web_request_permissions.cc
index d483ce5..93430fb 100644
--- a/chrome/browser/extensions/api/web_request/web_request_permissions.cc
+++ b/chrome/browser/extensions/api/web_request/web_request_permissions.cc
@@ -6,13 +6,13 @@
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/browser/extensions/extension_renderer_state.h"
#include "chrome/common/extensions/extension.h"
#include "chrome/common/extensions/extension_constants.h"
#include "chrome/common/extensions/permissions/permissions_data.h"
#include "chrome/common/url_constants.h"
#include "content/public/browser/resource_request_info.h"
+#include "extensions/browser/info_map.h"
#include "extensions/common/constants.h"
#include "net/url_request/url_request.h"
#include "url/gurl.h"
@@ -79,7 +79,7 @@ bool HasWebRequestScheme(const GURL& url) {
// static
bool WebRequestPermissions::HideRequest(
- const ExtensionInfoMap* extension_info_map,
+ const extensions::InfoMap* extension_info_map,
const net::URLRequest* request) {
// Hide requests from the Chrome WebStore App or signin process.
const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request);
@@ -106,7 +106,7 @@ bool WebRequestPermissions::HideRequest(
// static
bool WebRequestPermissions::CanExtensionAccessURL(
- const ExtensionInfoMap* extension_info_map,
+ const extensions::InfoMap* extension_info_map,
const std::string& extension_id,
const GURL& url,
bool crosses_incognito,
diff --git a/chrome/browser/extensions/api/web_request/web_request_permissions.h b/chrome/browser/extensions/api/web_request/web_request_permissions.h
index 6ff0f43..367a3c0 100644
--- a/chrome/browser/extensions/api/web_request/web_request_permissions.h
+++ b/chrome/browser/extensions/api/web_request/web_request_permissions.h
@@ -10,9 +10,12 @@
#include "base/basictypes.h"
-class ExtensionInfoMap;
class GURL;
+namespace extensions {
+class InfoMap;
+}
+
namespace net {
class URLRequest;
}
@@ -28,13 +31,13 @@ class WebRequestPermissions {
};
// Returns true if the request shall not be reported to extensions.
- static bool HideRequest(const ExtensionInfoMap* extension_info_map,
+ static bool HideRequest(const extensions::InfoMap* extension_info_map,
const net::URLRequest* request);
// |host_permission_check| controls how permissions are checked with regard to
// |url|.
static bool CanExtensionAccessURL(
- const ExtensionInfoMap* extension_info_map,
+ const extensions::InfoMap* extension_info_map,
const std::string& extension_id,
const GURL& url,
bool crosses_incognito,
diff --git a/chrome/browser/extensions/api/web_request/web_request_permissions_unittest.cc b/chrome/browser/extensions/api/web_request/web_request_permissions_unittest.cc
index a0eb5e7..1157807 100644
--- a/chrome/browser/extensions/api/web_request/web_request_permissions_unittest.cc
+++ b/chrome/browser/extensions/api/web_request/web_request_permissions_unittest.cc
@@ -5,12 +5,12 @@
#include "chrome/browser/extensions/api/web_request/web_request_permissions.h"
#include "base/message_loop/message_loop.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/common/extensions/extension_constants.h"
#include "chrome/common/extensions/extension_test_util.h"
#include "chrome/test/base/testing_profile.h"
#include "content/public/browser/resource_request_info.h"
#include "content/public/test/test_browser_thread_bundle.h"
+#include "extensions/browser/info_map.h"
#include "net/base/request_priority.h"
#include "net/url_request/url_request_test_util.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -35,7 +35,7 @@ class ExtensionWebRequestHelpersTestWithThreadsTest : public testing::Test {
scoped_refptr<Extension> permissionless_extension_;
// This extension has Web Request permissions, and *.com a host permission.
scoped_refptr<Extension> com_extension_;
- scoped_refptr<ExtensionInfoMap> extension_info_map_;
+ scoped_refptr<extensions::InfoMap> extension_info_map_;
private:
content::TestBrowserThreadBundle thread_bundle_;
@@ -60,7 +60,7 @@ void ExtensionWebRequestHelpersTestWithThreadsTest::SetUp() {
"ext_id_2",
&error);
ASSERT_TRUE(com_extension_.get()) << error;
- extension_info_map_ = new ExtensionInfoMap;
+ extension_info_map_ = new extensions::InfoMap;
extension_info_map_->AddExtension(permissionless_extension_.get(),
base::Time::Now(),
false /*incognito_enabled*/);
diff --git a/chrome/browser/extensions/extension_function.h b/chrome/browser/extensions/extension_function.h
index 2834823..d461c63 100644
--- a/chrome/browser/extensions/extension_function.h
+++ b/chrome/browser/extensions/extension_function.h
@@ -16,10 +16,10 @@
#include "base/process/process.h"
#include "base/sequenced_task_runner_helpers.h"
#include "chrome/browser/extensions/extension_function_histogram_value.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/common/extensions/extension.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/common/console_message_level.h"
+#include "extensions/browser/info_map.h"
#include "ipc/ipc_message.h"
class ChromeRenderMessageFilter;
@@ -27,7 +27,6 @@ class ExtensionFunction;
class ExtensionFunctionDispatcher;
class UIThreadExtensionFunction;
class IOThreadExtensionFunction;
-class QuotaLimitHeuristic;
namespace base {
class ListValue;
@@ -40,6 +39,10 @@ class RenderViewHost;
class WebContents;
}
+namespace extensions {
+class QuotaLimitHeuristic;
+}
+
#ifdef NDEBUG
#define EXTENSION_FUNCTION_VALIDATE(test) do { \
if (!(test)) { \
@@ -127,9 +130,9 @@ class ExtensionFunction
// instances is passed to the owner of |heuristics|.
// No quota limiting by default.
//
- // Only called once per lifetime of the ExtensionsQuotaService.
+ // Only called once per lifetime of the QuotaService.
virtual void GetQuotaLimitHeuristics(
- QuotaLimitHeuristics* heuristics) const {}
+ extensions::QuotaLimitHeuristics* heuristics) const {}
// Called when the quota limit has been exceeded. The default implementation
// returns an error.
@@ -367,10 +370,10 @@ class IOThreadExtensionFunction : public ExtensionFunction {
int routing_id() const { return routing_id_; }
- void set_extension_info_map(const ExtensionInfoMap* extension_info_map) {
+ void set_extension_info_map(const extensions::InfoMap* extension_info_map) {
extension_info_map_ = extension_info_map;
}
- const ExtensionInfoMap* extension_info_map() const {
+ const extensions::InfoMap* extension_info_map() const {
return extension_info_map_.get();
}
@@ -389,7 +392,7 @@ class IOThreadExtensionFunction : public ExtensionFunction {
base::WeakPtr<ChromeRenderMessageFilter> ipc_sender_;
int routing_id_;
- scoped_refptr<const ExtensionInfoMap> extension_info_map_;
+ scoped_refptr<const extensions::InfoMap> extension_info_map_;
};
// Base class for an extension function that runs asynchronously *relative to
diff --git a/chrome/browser/extensions/extension_function_dispatcher.cc b/chrome/browser/extensions/extension_function_dispatcher.cc
index 9fc3be3..9b5bded 100644
--- a/chrome/browser/extensions/extension_function_dispatcher.cc
+++ b/chrome/browser/extensions/extension_function_dispatcher.cc
@@ -20,7 +20,6 @@
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/extensions/extension_util.h"
#include "chrome/browser/extensions/extension_web_ui.h"
-#include "chrome/browser/extensions/extensions_quota_service.h"
#include "chrome/browser/extensions/process_map.h"
#include "chrome/browser/external_protocol/external_protocol_handler.h"
#include "chrome/browser/profiles/profile.h"
@@ -35,6 +34,7 @@
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_observer.h"
#include "content/public/common/result_codes.h"
+#include "extensions/browser/quota_service.h"
#include "extensions/common/extension_api.h"
#include "ipc/ipc_message.h"
#include "ipc/ipc_message_macros.h"
@@ -234,7 +234,7 @@ void ExtensionFunctionDispatcher::ResetFunctions() {
// static
void ExtensionFunctionDispatcher::DispatchOnIOThread(
- ExtensionInfoMap* extension_info_map,
+ extensions::InfoMap* extension_info_map,
void* profile,
int render_process_id,
base::WeakPtr<ChromeRenderMessageFilter> ipc_sender,
@@ -272,7 +272,7 @@ void ExtensionFunctionDispatcher::DispatchOnIOThread(
if (!CheckPermissions(function.get(), extension, params, callback))
return;
- ExtensionsQuotaService* quota = extension_info_map->GetQuotaService();
+ extensions::QuotaService* quota = extension_info_map->GetQuotaService();
std::string violation_error = quota->Assess(extension->id(),
function.get(),
&params.arguments,
@@ -359,7 +359,7 @@ void ExtensionFunctionDispatcher::DispatchWithCallback(
if (!CheckPermissions(function.get(), extension, params, callback))
return;
- ExtensionsQuotaService* quota = service->quota_service();
+ extensions::QuotaService* quota = service->quota_service();
std::string violation_error = quota->Assess(extension->id(),
function.get(),
&params.arguments,
diff --git a/chrome/browser/extensions/extension_function_dispatcher.h b/chrome/browser/extensions/extension_function_dispatcher.h
index 27af9e1..2bd9192 100644
--- a/chrome/browser/extensions/extension_function_dispatcher.h
+++ b/chrome/browser/extensions/extension_function_dispatcher.h
@@ -15,7 +15,6 @@
#include "url/gurl.h"
class ChromeRenderMessageFilter;
-class ExtensionInfoMap;
class Profile;
struct ExtensionHostMsg_Request_Params;
@@ -27,6 +26,7 @@ class WebContents;
namespace extensions {
class Extension;
class ExtensionAPI;
+class InfoMap;
class ProcessMap;
class WindowController;
}
@@ -85,7 +85,7 @@ class ExtensionFunctionDispatcher
// Dispatches an IO-thread extension function. Only used for specific
// functions that must be handled on the IO-thread.
static void DispatchOnIOThread(
- ExtensionInfoMap* extension_info_map,
+ extensions::InfoMap* extension_info_map,
void* profile,
int render_process_id,
base::WeakPtr<ChromeRenderMessageFilter> ipc_sender,
diff --git a/chrome/browser/extensions/extension_protocols.cc b/chrome/browser/extensions/extension_protocols.cc
index c638672..13824e4 100644
--- a/chrome/browser/extensions/extension_protocols.cc
+++ b/chrome/browser/extensions/extension_protocols.cc
@@ -23,7 +23,6 @@
#include "base/threading/sequenced_worker_pool.h"
#include "base/threading/thread_restrictions.h"
#include "build/build_config.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/browser/extensions/extension_renderer_state.h"
#include "chrome/browser/extensions/image_loader.h"
#include "chrome/common/chrome_paths.h"
@@ -37,6 +36,7 @@
#include "chrome/common/url_constants.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/resource_request_info.h"
+#include "extensions/browser/info_map.h"
#include "extensions/common/constants.h"
#include "extensions/common/extension_resource.h"
#include "extensions/common/file_util.h"
@@ -314,7 +314,7 @@ class URLRequestExtensionJob : public net::URLRequestFileJob {
bool ExtensionCanLoadInIncognito(const ResourceRequestInfo* info,
const std::string& extension_id,
- ExtensionInfoMap* extension_info_map) {
+ extensions::InfoMap* extension_info_map) {
if (!extension_info_map->IsIncognitoEnabled(extension_id))
return false;
@@ -336,7 +336,7 @@ bool ExtensionCanLoadInIncognito(const ResourceRequestInfo* info,
bool AllowExtensionResourceLoad(net::URLRequest* request,
bool is_incognito,
const Extension* extension,
- ExtensionInfoMap* extension_info_map) {
+ extensions::InfoMap* extension_info_map) {
const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request);
// We have seen crashes where info is NULL: crbug.com/52374.
@@ -452,9 +452,8 @@ class ExtensionProtocolHandler
: public net::URLRequestJobFactory::ProtocolHandler {
public:
ExtensionProtocolHandler(bool is_incognito,
- ExtensionInfoMap* extension_info_map)
- : is_incognito_(is_incognito),
- extension_info_map_(extension_info_map) {}
+ extensions::InfoMap* extension_info_map)
+ : is_incognito_(is_incognito), extension_info_map_(extension_info_map) {}
virtual ~ExtensionProtocolHandler() {}
@@ -464,7 +463,7 @@ class ExtensionProtocolHandler
private:
const bool is_incognito_;
- ExtensionInfoMap* const extension_info_map_;
+ extensions::InfoMap* const extension_info_map_;
DISALLOW_COPY_AND_ASSIGN(ExtensionProtocolHandler);
};
@@ -599,6 +598,6 @@ ExtensionProtocolHandler::MaybeCreateJob(
net::URLRequestJobFactory::ProtocolHandler* CreateExtensionProtocolHandler(
bool is_incognito,
- ExtensionInfoMap* extension_info_map) {
+ extensions::InfoMap* extension_info_map) {
return new ExtensionProtocolHandler(is_incognito, extension_info_map);
}
diff --git a/chrome/browser/extensions/extension_protocols.h b/chrome/browser/extensions/extension_protocols.h
index 2e74e8a..1cc8f1c 100644
--- a/chrome/browser/extensions/extension_protocols.h
+++ b/chrome/browser/extensions/extension_protocols.h
@@ -7,11 +7,13 @@
#include "net/url_request/url_request_job_factory.h"
-class ExtensionInfoMap;
+namespace extensions {
+class InfoMap;
+}
// Creates the handlers for the chrome-extension:// scheme.
net::URLRequestJobFactory::ProtocolHandler* CreateExtensionProtocolHandler(
bool is_incognito,
- ExtensionInfoMap* extension_info_map);
+ extensions::InfoMap* extension_info_map);
#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_PROTOCOLS_H_
diff --git a/chrome/browser/extensions/extension_protocols_unittest.cc b/chrome/browser/extensions/extension_protocols_unittest.cc
index 6be3ea3..ede181d 100644
--- a/chrome/browser/extensions/extension_protocols_unittest.cc
+++ b/chrome/browser/extensions/extension_protocols_unittest.cc
@@ -9,7 +9,6 @@
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
#include "base/values.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/browser/extensions/extension_protocols.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/extensions/extension.h"
@@ -17,6 +16,7 @@
#include "content/public/browser/resource_request_info.h"
#include "content/public/test/mock_resource_context.h"
#include "content/public/test/test_browser_thread_bundle.h"
+#include "extensions/browser/info_map.h"
#include "extensions/common/constants.h"
#include "net/base/request_priority.h"
#include "net/url_request/url_request.h"
@@ -94,7 +94,7 @@ class ExtensionProtocolTest : public testing::Test {
virtual void SetUp() OVERRIDE {
testing::Test::SetUp();
- extension_info_map_ = new ExtensionInfoMap();
+ extension_info_map_ = new InfoMap();
net::URLRequestContext* request_context =
resource_context_.GetRequestContext();
old_factory_ = request_context->job_factory();
@@ -129,7 +129,7 @@ class ExtensionProtocolTest : public testing::Test {
protected:
content::TestBrowserThreadBundle thread_bundle_;
- scoped_refptr<ExtensionInfoMap> extension_info_map_;
+ scoped_refptr<InfoMap> extension_info_map_;
net::URLRequestJobFactoryImpl job_factory_;
const net::URLRequestJobFactory* old_factory_;
net::TestDelegate test_delegate_;
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
index 5dbc562..51954a7 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -2547,8 +2547,9 @@ void ExtensionService::Observe(int type,
process_map_.RemoveAllFromProcess(process->GetID());
BrowserThread::PostTask(
- BrowserThread::IO, FROM_HERE,
- base::Bind(&ExtensionInfoMap::UnregisterAllExtensionsInProcess,
+ BrowserThread::IO,
+ FROM_HERE,
+ base::Bind(&extensions::InfoMap::UnregisterAllExtensionsInProcess,
system_->info_map(),
process->GetID()));
break;
diff --git a/chrome/browser/extensions/extension_service.h b/chrome/browser/extensions/extension_service.h
index 86276c0..6b9cb99 100644
--- a/chrome/browser/extensions/extension_service.h
+++ b/chrome/browser/extensions/extension_service.h
@@ -24,7 +24,6 @@
#include "chrome/browser/extensions/extension_prefs.h"
#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_sync_service.h"
-#include "chrome/browser/extensions/extensions_quota_service.h"
#include "chrome/browser/extensions/external_provider_interface.h"
#include "chrome/browser/extensions/management_policy.h"
#include "chrome/browser/extensions/menu_manager.h"
@@ -39,6 +38,7 @@
#include "content/public/browser/devtools_agent_host.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
+#include "extensions/browser/quota_service.h"
#include "extensions/common/manifest.h"
#include "extensions/common/one_shot_event.h"
@@ -454,7 +454,7 @@ class ExtensionService
// Note that this may return NULL if autoupdate is not turned on.
extensions::ExtensionUpdater* updater();
- ExtensionsQuotaService* quota_service() { return &quota_service_; }
+ extensions::QuotaService* quota_service() { return &quota_service_; }
extensions::MenuManager* menu_manager() { return &menu_manager_; }
@@ -767,7 +767,7 @@ class ExtensionService
bool install_updates_when_idle_;
// Used by dispatchers to limit API quota for individual extensions.
- ExtensionsQuotaService quota_service_;
+ extensions::QuotaService quota_service_;
// Signaled when all extensions are loaded.
extensions::OneShotEvent* const ready_;
diff --git a/chrome/browser/extensions/extension_system.cc b/chrome/browser/extensions/extension_system.cc
index b7099d2..a38232f 100644
--- a/chrome/browser/extensions/extension_system.cc
+++ b/chrome/browser/extensions/extension_system.cc
@@ -16,7 +16,6 @@
#include "chrome/browser/extensions/error_console/error_console.h"
#include "chrome/browser/extensions/event_router.h"
#include "chrome/browser/extensions/extension_error_reporter.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/browser/extensions/extension_pref_store.h"
#include "chrome/browser/extensions/extension_pref_value_map.h"
#include "chrome/browser/extensions/extension_pref_value_map_factory.h"
@@ -42,6 +41,7 @@
#include "chrome/common/extensions/features/feature_channel.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/url_data_source.h"
+#include "extensions/browser/info_map.h"
#include "extensions/browser/lazy_background_task_queue.h"
#include "extensions/common/constants.h"
#include "extensions/common/manifest.h"
@@ -271,9 +271,9 @@ UserScriptMaster* ExtensionSystemImpl::Shared::user_script_master() {
return user_script_master_.get();
}
-ExtensionInfoMap* ExtensionSystemImpl::Shared::info_map() {
+InfoMap* ExtensionSystemImpl::Shared::info_map() {
if (!extension_info_map_.get())
- extension_info_map_ = new ExtensionInfoMap();
+ extension_info_map_ = new InfoMap();
return extension_info_map_.get();
}
@@ -327,7 +327,7 @@ void ExtensionSystemImpl::InitForRegularProfile(
if (user_script_master() || extension_service())
return; // Already initialized.
- // The ExtensionInfoMap needs to be created before the
+ // The InfoMap needs to be created before the
// ExtensionProcessManager.
shared_->info_map();
@@ -363,9 +363,7 @@ StateStore* ExtensionSystemImpl::rules_store() {
return shared_->rules_store();
}
-ExtensionInfoMap* ExtensionSystemImpl::info_map() {
- return shared_->info_map();
-}
+InfoMap* ExtensionSystemImpl::info_map() { return shared_->info_map(); }
LazyBackgroundTaskQueue* ExtensionSystemImpl::lazy_background_task_queue() {
return shared_->lazy_background_task_queue();
@@ -400,20 +398,22 @@ void ExtensionSystemImpl::RegisterExtensionWithRequestContexts(
}
bool incognito_enabled =
extension_util::IsIncognitoEnabled(extension->id(), extension_service());
- BrowserThread::PostTask(
- BrowserThread::IO, FROM_HERE,
- base::Bind(&ExtensionInfoMap::AddExtension, info_map(),
- make_scoped_refptr(extension), install_time,
- incognito_enabled));
+ BrowserThread::PostTask(BrowserThread::IO,
+ FROM_HERE,
+ base::Bind(&InfoMap::AddExtension,
+ info_map(),
+ make_scoped_refptr(extension),
+ install_time,
+ incognito_enabled));
}
void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts(
const std::string& extension_id,
const UnloadedExtensionInfo::Reason reason) {
BrowserThread::PostTask(
- BrowserThread::IO, FROM_HERE,
- base::Bind(&ExtensionInfoMap::RemoveExtension, info_map(),
- extension_id, reason));
+ BrowserThread::IO,
+ FROM_HERE,
+ base::Bind(&InfoMap::RemoveExtension, info_map(), extension_id, reason));
}
} // namespace extensions
diff --git a/chrome/browser/extensions/extension_system.h b/chrome/browser/extensions/extension_system.h
index 663c176..addf210 100644
--- a/chrome/browser/extensions/extension_system.h
+++ b/chrome/browser/extensions/extension_system.h
@@ -13,7 +13,6 @@
#include "components/browser_context_keyed_service/browser_context_keyed_service.h"
#include "extensions/common/one_shot_event.h"
-class ExtensionInfoMap;
class ExtensionProcessManager;
class ExtensionService;
class Profile;
@@ -36,6 +35,7 @@ class Extension;
class ExtensionSystemSharedFactory;
class ExtensionWarningBadgeService;
class ExtensionWarningService;
+class InfoMap;
class LazyBackgroundTaskQueue;
class ManagementPolicy;
class NavigationObserver;
@@ -94,7 +94,7 @@ class ExtensionSystem : public BrowserContextKeyedService {
virtual StateStore* rules_store() = 0;
// Returns the IO-thread-accessible extension data.
- virtual ExtensionInfoMap* info_map() = 0;
+ virtual InfoMap* info_map() = 0;
// The LazyBackgroundTaskQueue is created at startup.
virtual LazyBackgroundTaskQueue* lazy_background_task_queue() = 0;
@@ -154,7 +154,7 @@ class ExtensionSystemImpl : public ExtensionSystem {
virtual StateStore* rules_store() OVERRIDE; // shared
virtual LazyBackgroundTaskQueue* lazy_background_task_queue()
OVERRIDE; // shared
- virtual ExtensionInfoMap* info_map() OVERRIDE; // shared
+ virtual InfoMap* info_map() OVERRIDE; // shared
virtual EventRouter* event_router() OVERRIDE; // shared
virtual ExtensionWarningService* warning_service() OVERRIDE;
virtual Blacklist* blacklist() OVERRIDE; // shared
@@ -194,7 +194,7 @@ class ExtensionSystemImpl : public ExtensionSystem {
ManagementPolicy* management_policy();
UserScriptMaster* user_script_master();
Blacklist* blacklist();
- ExtensionInfoMap* info_map();
+ InfoMap* info_map();
LazyBackgroundTaskQueue* lazy_background_task_queue();
EventRouter* event_router();
ExtensionWarningService* warning_service();
@@ -222,7 +222,7 @@ class ExtensionSystemImpl : public ExtensionSystem {
scoped_ptr<ExtensionService> extension_service_;
scoped_ptr<ManagementPolicy> management_policy_;
// extension_info_map_ needs to outlive extension_process_manager_.
- scoped_refptr<ExtensionInfoMap> extension_info_map_;
+ scoped_refptr<InfoMap> extension_info_map_;
scoped_ptr<ExtensionWarningService> extension_warning_service_;
scoped_ptr<ExtensionWarningBadgeService> extension_warning_badge_service_;
scoped_ptr<ErrorConsole> error_console_;
diff --git a/chrome/browser/extensions/test_extension_system.cc b/chrome/browser/extensions/test_extension_system.cc
index a628a9f..24d57b8 100644
--- a/chrome/browser/extensions/test_extension_system.cc
+++ b/chrome/browser/extensions/test_extension_system.cc
@@ -9,7 +9,6 @@
#include "chrome/browser/extensions/blacklist.h"
#include "chrome/browser/extensions/error_console/error_console.h"
#include "chrome/browser/extensions/event_router.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/browser/extensions/extension_pref_value_map.h"
#include "chrome/browser/extensions/extension_pref_value_map_factory.h"
#include "chrome/browser/extensions/extension_prefs.h"
@@ -25,6 +24,7 @@
#include "chrome/browser/value_store/testing_value_store.h"
#include "chrome/common/chrome_switches.h"
#include "content/public/browser/browser_thread.h"
+#include "extensions/browser/info_map.h"
using content::BrowserThread;
@@ -33,9 +33,8 @@ namespace extensions {
TestExtensionSystem::TestExtensionSystem(Profile* profile)
: profile_(profile),
value_store_(NULL),
- info_map_(new ExtensionInfoMap()),
- error_console_(new ErrorConsole(profile, NULL)) {
-}
+ info_map_(new InfoMap()),
+ error_console_(new ErrorConsole(profile, NULL)) {}
TestExtensionSystem::~TestExtensionSystem() {
}
@@ -133,9 +132,7 @@ StateStore* TestExtensionSystem::rules_store() {
return state_store_.get();
}
-ExtensionInfoMap* TestExtensionSystem::info_map() {
- return info_map_.get();
-}
+InfoMap* TestExtensionSystem::info_map() { return info_map_.get(); }
LazyBackgroundTaskQueue*
TestExtensionSystem::lazy_background_task_queue() {
diff --git a/chrome/browser/extensions/test_extension_system.h b/chrome/browser/extensions/test_extension_system.h
index cab117b..6ae064c 100644
--- a/chrome/browser/extensions/test_extension_system.h
+++ b/chrome/browser/extensions/test_extension_system.h
@@ -64,7 +64,7 @@ class TestExtensionSystem : public ExtensionSystem {
virtual StateStore* state_store() OVERRIDE;
virtual StateStore* rules_store() OVERRIDE;
TestingValueStore* value_store() { return value_store_; }
- virtual ExtensionInfoMap* info_map() OVERRIDE;
+ virtual InfoMap* info_map() OVERRIDE;
virtual LazyBackgroundTaskQueue* lazy_background_task_queue() OVERRIDE;
virtual EventRouter* event_router() OVERRIDE;
virtual ExtensionWarningService* warning_service() OVERRIDE;
@@ -93,7 +93,7 @@ class TestExtensionSystem : public ExtensionSystem {
scoped_ptr<ManagementPolicy> management_policy_;
scoped_ptr<ExtensionService> extension_service_;
scoped_ptr<ExtensionProcessManager> extension_process_manager_;
- scoped_refptr<ExtensionInfoMap> info_map_;
+ scoped_refptr<InfoMap> info_map_;
scoped_ptr<ErrorConsole> error_console_;
OneShotEvent ready_;
};
diff --git a/chrome/browser/extensions/user_script_master.h b/chrome/browser/extensions/user_script_master.h
index 44aeb93..76f01fd 100644
--- a/chrome/browser/extensions/user_script_master.h
+++ b/chrome/browser/extensions/user_script_master.h
@@ -14,7 +14,6 @@
#include "base/memory/scoped_ptr.h"
#include "base/memory/shared_memory.h"
#include "base/strings/string_piece.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/common/extensions/extension_messages.h"
#include "chrome/common/extensions/extension_set.h"
#include "content/public/browser/browser_thread.h"
diff --git a/chrome/browser/nacl_host/nacl_browser_delegate_impl.cc b/chrome/browser/nacl_host/nacl_browser_delegate_impl.cc
index 342e05a..7f160177 100644
--- a/chrome/browser/nacl_host/nacl_browser_delegate_impl.cc
+++ b/chrome/browser/nacl_host/nacl_browser_delegate_impl.cc
@@ -9,7 +9,6 @@
#include "base/strings/string_util.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/component_updater/pnacl/pnacl_component_installer.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/nacl_host/nacl_infobar_delegate.h"
#include "chrome/browser/renderer_host/pepper/chrome_browser_pepper_host_factory.h"
@@ -20,6 +19,7 @@
#include "chrome/common/extensions/manifest_handlers/shared_module_info.h"
#include "chrome/common/logging_chrome.h"
#include "content/public/browser/browser_thread.h"
+#include "extensions/browser/info_map.h"
#include "extensions/common/constants.h"
#include "extensions/common/url_pattern.h"
#include "ppapi/c/private/ppb_nacl_private.h"
@@ -27,10 +27,8 @@
using extensions::SharedModuleInfo;
NaClBrowserDelegateImpl::NaClBrowserDelegateImpl(
- ExtensionInfoMap* extension_info_map)
- : extension_info_map_(extension_info_map),
- inverse_debug_patterns_(false) {
-}
+ extensions::InfoMap* extension_info_map)
+ : extension_info_map_(extension_info_map), inverse_debug_patterns_(false) {}
NaClBrowserDelegateImpl::~NaClBrowserDelegateImpl() {
}
diff --git a/chrome/browser/nacl_host/nacl_browser_delegate_impl.h b/chrome/browser/nacl_host/nacl_browser_delegate_impl.h
index de75b82..b93b759 100644
--- a/chrome/browser/nacl_host/nacl_browser_delegate_impl.h
+++ b/chrome/browser/nacl_host/nacl_browser_delegate_impl.h
@@ -6,12 +6,12 @@
#define CHROME_BROWSER_NACL_HOST_NACL_BROWSER_DELEGATE_IMPL_H_
#include "base/compiler_specific.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "components/nacl/common/nacl_browser_delegate.h"
+#include "extensions/browser/info_map.h"
class NaClBrowserDelegateImpl : public NaClBrowserDelegate {
public:
- explicit NaClBrowserDelegateImpl(ExtensionInfoMap* extension_info_map);
+ explicit NaClBrowserDelegateImpl(extensions::InfoMap* extension_info_map);
virtual ~NaClBrowserDelegateImpl();
virtual void ShowNaClInfobar(int render_process_id, int render_view_id,
@@ -31,7 +31,7 @@ class NaClBrowserDelegateImpl : public NaClBrowserDelegate {
virtual bool URLMatchesDebugPatterns(const GURL& manifest_url) OVERRIDE;
private:
- scoped_refptr<ExtensionInfoMap> extension_info_map_;
+ scoped_refptr<extensions::InfoMap> extension_info_map_;
std::vector<URLPattern> debug_patterns_;
bool inverse_debug_patterns_;
DISALLOW_COPY_AND_ASSIGN(NaClBrowserDelegateImpl);
diff --git a/chrome/browser/nacl_host/nacl_process_host.h b/chrome/browser/nacl_host/nacl_process_host.h
index 6db00bc..82a4f73 100644
--- a/chrome/browser/nacl_host/nacl_process_host.h
+++ b/chrome/browser/nacl_host/nacl_process_host.h
@@ -22,7 +22,6 @@
#include "url/gurl.h"
class CommandLine;
-class ExtensionInfoMap;
class NaClHostMessageFilter;
namespace content {
diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/chrome_network_delegate.cc
index ffb7959..959d2ab 100644
--- a/chrome/browser/net/chrome_network_delegate.cc
+++ b/chrome/browser/net/chrome_network_delegate.cc
@@ -25,7 +25,6 @@
#include "chrome/browser/extensions/api/proxy/proxy_api.h"
#include "chrome/browser/extensions/api/web_request/web_request_api.h"
#include "chrome/browser/extensions/event_router_forwarder.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/google/google_util.h"
@@ -41,6 +40,7 @@
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/resource_request_info.h"
+#include "extensions/browser/info_map.h"
#include "extensions/common/constants.h"
#include "net/base/host_port_pair.h"
#include "net/base/net_errors.h"
@@ -320,7 +320,7 @@ ChromeNetworkDelegate::ChromeNetworkDelegate(
ChromeNetworkDelegate::~ChromeNetworkDelegate() {}
void ChromeNetworkDelegate::set_extension_info_map(
- ExtensionInfoMap* extension_info_map) {
+ extensions::InfoMap* extension_info_map) {
extension_info_map_ = extension_info_map;
}
diff --git a/chrome/browser/net/chrome_network_delegate.h b/chrome/browser/net/chrome_network_delegate.h
index 469d0b6..2aa2c45 100644
--- a/chrome/browser/net/chrome_network_delegate.h
+++ b/chrome/browser/net/chrome_network_delegate.h
@@ -17,7 +17,6 @@
class ClientHints;
class CookieSettings;
-class ExtensionInfoMap;
class PrefService;
template<class T> class PrefMember;
@@ -35,6 +34,7 @@ class Predictor;
namespace extensions {
class EventRouterForwarder;
+class InfoMap;
}
namespace net {
@@ -58,7 +58,7 @@ class ChromeNetworkDelegate : public net::NetworkDelegate {
// Not inlined because we assign a scoped_refptr, which requires us to include
// the header file.
- void set_extension_info_map(ExtensionInfoMap* extension_info_map);
+ void set_extension_info_map(extensions::InfoMap* extension_info_map);
void set_url_blacklist_manager(
const policy::URLBlacklistManager* url_blacklist_manager) {
@@ -188,7 +188,7 @@ class ChromeNetworkDelegate : public net::NetworkDelegate {
base::FilePath profile_path_;
scoped_refptr<CookieSettings> cookie_settings_;
- scoped_refptr<ExtensionInfoMap> extension_info_map_;
+ scoped_refptr<extensions::InfoMap> extension_info_map_;
scoped_ptr<chrome_browser_net::ConnectInterceptor> connect_interceptor_;
diff --git a/chrome/browser/notifications/desktop_notification_service.cc b/chrome/browser/notifications/desktop_notification_service.cc
index 5c21338..6fbaa2a 100644
--- a/chrome/browser/notifications/desktop_notification_service.cc
+++ b/chrome/browser/notifications/desktop_notification_service.cc
@@ -15,7 +15,6 @@
#include "chrome/browser/content_settings/host_content_settings_map.h"
#include "chrome/browser/extensions/api/notifications/notifications_api.h"
#include "chrome/browser/extensions/event_router.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/infobars/confirm_infobar_delegate.h"
@@ -38,6 +37,7 @@
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/show_desktop_notification_params.h"
+#include "extensions/browser/info_map.h"
#include "extensions/common/constants.h"
#include "grit/browser_resources.h"
#include "grit/chromium_strings.h"
@@ -516,7 +516,7 @@ string16 DesktopNotificationService::DisplayNameForOriginInProcessId(
// is allowed by an extension.
if (NotificationUIManager::DelegatesToMessageCenter() ||
origin.SchemeIs(extensions::kExtensionScheme)) {
- ExtensionInfoMap* extension_info_map =
+ extensions::InfoMap* extension_info_map =
extensions::ExtensionSystem::Get(profile_)->info_map();
if (extension_info_map) {
ExtensionSet extensions;
diff --git a/chrome/browser/notifications/message_center_notification_manager.cc b/chrome/browser/notifications/message_center_notification_manager.cc
index d404890..192a203 100644
--- a/chrome/browser/notifications/message_center_notification_manager.cc
+++ b/chrome/browser/notifications/message_center_notification_manager.cc
@@ -8,7 +8,6 @@
#include "base/memory/scoped_ptr.h"
#include "base/prefs/pref_service.h"
#include "chrome/browser/chrome_notification_types.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/browser/extensions/extension_system.h"
#include "chrome/browser/notifications/desktop_notification_service.h"
#include "chrome/browser/notifications/desktop_notification_service_factory.h"
@@ -25,6 +24,7 @@
#include "content/public/browser/notification_service.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/url_constants.h"
+#include "extensions/browser/info_map.h"
#include "ui/gfx/image/image_skia.h"
#include "ui/message_center/message_center_style.h"
#include "ui/message_center/message_center_tray.h"
@@ -420,7 +420,7 @@ MessageCenterNotificationManager::ProfileNotification::OnDownloadsCompleted() {
std::string
MessageCenterNotificationManager::ProfileNotification::GetExtensionId() {
- ExtensionInfoMap* extension_info_map =
+ extensions::InfoMap* extension_info_map =
extensions::ExtensionSystem::Get(profile())->info_map();
ExtensionSet extensions;
extension_info_map->GetExtensionsWithAPIPermissionForSecurityOrigin(
diff --git a/chrome/browser/profiles/off_the_record_profile_impl.cc b/chrome/browser/profiles/off_the_record_profile_impl.cc
index e858a2b..a84232e 100644
--- a/chrome/browser/profiles/off_the_record_profile_impl.cc
+++ b/chrome/browser/profiles/off_the_record_profile_impl.cc
@@ -21,7 +21,6 @@
#include "chrome/browser/download/download_service.h"
#include "chrome/browser/download/download_service_factory.h"
#include "chrome/browser/extensions/api/web_request/web_request_api.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_special_storage_policy.h"
#include "chrome/browser/extensions/extension_system.h"
diff --git a/chrome/browser/profiles/profile_io_data.cc b/chrome/browser/profiles/profile_io_data.cc
index 759a641..a5b848e 100644
--- a/chrome/browser/profiles/profile_io_data.cc
+++ b/chrome/browser/profiles/profile_io_data.cc
@@ -30,7 +30,6 @@
#include "chrome/browser/custom_handlers/protocol_handler_registry_factory.h"
#include "chrome/browser/download/download_service.h"
#include "chrome/browser/download/download_service_factory.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/browser/extensions/extension_protocols.h"
#include "chrome/browser/extensions/extension_resource_protocols.h"
#include "chrome/browser/extensions/extension_system.h"
@@ -62,6 +61,7 @@
#include "content/public/browser/host_zoom_map.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/resource_context.h"
+#include "extensions/browser/info_map.h"
#include "extensions/common/constants.h"
#include "net/cert/cert_verifier.h"
#include "net/cookies/canonical_cookie.h"
@@ -627,7 +627,7 @@ ChromeURLRequestContext* ProfileIOData::GetIsolatedMediaRequestContext(
return context;
}
-ExtensionInfoMap* ProfileIOData::GetExtensionInfoMap() const {
+extensions::InfoMap* ProfileIOData::GetExtensionInfoMap() const {
DCHECK(initialized_) << "ExtensionSystem not initialized";
return extension_info_map_.get();
}
diff --git a/chrome/browser/profiles/profile_io_data.h b/chrome/browser/profiles/profile_io_data.h
index fcdf2a9..92813c6 100644
--- a/chrome/browser/profiles/profile_io_data.h
+++ b/chrome/browser/profiles/profile_io_data.h
@@ -30,7 +30,6 @@ class ChromeHttpUserAgentSettings;
class ChromeNetworkDelegate;
class CookieSettings;
class DesktopNotificationService;
-class ExtensionInfoMap;
class HostContentSettingsMap;
class ManagedModeURLFilter;
class Profile;
@@ -43,6 +42,10 @@ class LoadTimeStats;
class ResourcePrefetchPredictorObserver;
}
+namespace extensions {
+class InfoMap;
+}
+
namespace net {
class CertVerifier;
class CookieStore;
@@ -113,7 +116,7 @@ class ProfileIOData {
// These are useful when the Chrome layer is called from the content layer
// with a content::ResourceContext, and they want access to Chrome data for
// that profile.
- ExtensionInfoMap* GetExtensionInfoMap() const;
+ extensions::InfoMap* GetExtensionInfoMap() const;
CookieSettings* GetCookieSettings() const;
HostContentSettingsMap* GetHostContentSettingsMap() const;
@@ -250,7 +253,7 @@ class ProfileIOData {
scoped_refptr<HostContentSettingsMap> host_content_settings_map;
scoped_refptr<net::SSLConfigService> ssl_config_service;
scoped_refptr<net::CookieMonster::Delegate> cookie_monster_delegate;
- scoped_refptr<ExtensionInfoMap> extension_info_map;
+ scoped_refptr<extensions::InfoMap> extension_info_map;
scoped_ptr<chrome_browser_net::ResourcePrefetchPredictorObserver>
resource_prefetch_predictor_observer_;
@@ -488,7 +491,7 @@ class ProfileIOData {
mutable scoped_ptr<policy::URLBlacklistManager> url_blacklist_manager_;
// Pointed to by URLRequestContext.
- mutable scoped_refptr<ExtensionInfoMap> extension_info_map_;
+ mutable scoped_refptr<extensions::InfoMap> extension_info_map_;
mutable scoped_ptr<net::ServerBoundCertService> server_bound_cert_service_;
mutable scoped_ptr<ChromeNetworkDelegate> network_delegate_;
mutable scoped_ptr<net::FraudulentCertificateReporter>
diff --git a/chrome/browser/renderer_host/chrome_render_message_filter.h b/chrome/browser/renderer_host/chrome_render_message_filter.h
index d683fbb..b1f3298 100644
--- a/chrome/browser/renderer_host/chrome_render_message_filter.h
+++ b/chrome/browser/renderer_host/chrome_render_message_filter.h
@@ -21,9 +21,12 @@ struct ExtensionHostMsg_APIActionOrEvent_Params;
struct ExtensionHostMsg_DOMAction_Params;
struct ExtensionHostMsg_Request_Params;
struct ExtensionMsg_ExternalConnectionInfo;
-class ExtensionInfoMap;
class GURL;
+namespace extensions {
+class InfoMap;
+}
+
namespace net {
class HostResolver;
class URLRequestContextGetter;
@@ -199,7 +202,7 @@ class ChromeRenderMessageFilter : public content::BrowserMessageFilter {
// used on the IO thread.
chrome_browser_net::Predictor* predictor_;
scoped_refptr<net::URLRequestContextGetter> request_context_;
- scoped_refptr<ExtensionInfoMap> extension_info_map_;
+ scoped_refptr<extensions::InfoMap> extension_info_map_;
// Used to look up permissions at database creation time.
scoped_refptr<CookieSettings> cookie_settings_;
diff --git a/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc b/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc
index 13b1308..a69d0427 100644
--- a/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc
+++ b/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc
@@ -16,7 +16,6 @@
#include "chrome/browser/download/download_request_limiter.h"
#include "chrome/browser/download/download_resource_throttle.h"
#include "chrome/browser/extensions/api/streams_private/streams_private_api.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/browser/extensions/extension_renderer_state.h"
#include "chrome/browser/extensions/user_script_listener.h"
#include "chrome/browser/external_protocol/external_protocol_handler.h"
@@ -48,6 +47,7 @@
#include "content/public/browser/resource_request_info.h"
#include "content/public/browser/stream_handle.h"
#include "content/public/common/resource_response.h"
+#include "extensions/browser/info_map.h"
#include "extensions/common/constants.h"
#include "extensions/common/user_script.h"
#include "net/base/load_flags.h"
@@ -589,7 +589,7 @@ bool ChromeResourceDispatcherHostDelegate::ShouldInterceptResourceAsStream(
ProfileIOData* io_data =
ProfileIOData::FromResourceContext(resource_context);
bool profile_is_incognito = io_data->is_incognito();
- const scoped_refptr<const ExtensionInfoMap> extension_info_map(
+ const scoped_refptr<const extensions::InfoMap> extension_info_map(
io_data->GetExtensionInfoMap());
std::vector<std::string> whitelist = MimeTypesHandler::GetMIMETypeWhitelist();
// Go through the white-listed extensions and try to use them to intercept
diff --git a/chrome/chrome_browser_extensions.gypi b/chrome/chrome_browser_extensions.gypi
index 22596bf..cc8e436 100644
--- a/chrome/chrome_browser_extensions.gypi
+++ b/chrome/chrome_browser_extensions.gypi
@@ -703,8 +703,6 @@
'browser/extensions/extension_icon_image.h',
'browser/extensions/extension_icon_manager.cc',
'browser/extensions/extension_icon_manager.h',
- 'browser/extensions/extension_info_map.cc',
- 'browser/extensions/extension_info_map.h',
'browser/extensions/extension_infobar_delegate.cc',
'browser/extensions/extension_infobar_delegate.h',
'browser/extensions/extension_install_prompt.cc',
@@ -778,8 +776,6 @@
'browser/extensions/extension_web_ui_override_registrar.h',
'browser/extensions/extension_webkit_preferences.cc',
'browser/extensions/extension_webkit_preferences.h',
- 'browser/extensions/extensions_quota_service.cc',
- 'browser/extensions/extensions_quota_service.h',
'browser/extensions/external_component_loader.cc',
'browser/extensions/external_component_loader.h',
'browser/extensions/external_install_ui.cc',
diff --git a/chrome/chrome_tests_unit.gypi b/chrome/chrome_tests_unit.gypi
index dfbf0e5..abb71c1c 100644
--- a/chrome/chrome_tests_unit.gypi
+++ b/chrome/chrome_tests_unit.gypi
@@ -524,7 +524,9 @@
'../extensions/browser/admin_policy_unittest.cc',
'../extensions/browser/file_highlighter_unittest.cc',
'../extensions/browser/file_reader_unittest.cc',
+ '../extensions/browser/info_map_unittest.cc',
'../extensions/browser/lazy_background_task_queue_unittest.cc',
+ '../extensions/browser/quota_service_unittest.cc',
'../extensions/common/event_filter_unittest.cc',
'../extensions/common/extension_resource_unittest.cc',
'../extensions/common/file_util_unittest.cc',
@@ -884,7 +886,6 @@
'browser/extensions/extension_function_test_utils.h',
'browser/extensions/extension_icon_image_unittest.cc',
'browser/extensions/extension_icon_manager_unittest.cc',
- 'browser/extensions/extension_info_map_unittest.cc',
'browser/extensions/policy_handlers_unittest.cc',
'browser/extensions/extension_pref_value_map_unittest.cc',
'browser/extensions/extension_prefs_unittest.cc',
@@ -899,7 +900,6 @@
'browser/extensions/extension_ui_unittest.cc',
'browser/extensions/extension_warning_badge_service_unittest.cc',
'browser/extensions/extension_warning_service_unittest.cc',
- 'browser/extensions/extensions_quota_service_unittest.cc',
'browser/extensions/external_policy_loader_unittest.cc',
'browser/extensions/external_provider_impl_chromeos_unittest.cc',
'browser/extensions/image_loader_unittest.cc',
diff --git a/extensions/browser/DEPS b/extensions/browser/DEPS
index 5adf345..afab308 100644
--- a/extensions/browser/DEPS
+++ b/extensions/browser/DEPS
@@ -8,6 +8,7 @@ include_rules = [
#
# TODO(jamescook): Remove these. http://crbug.com/162530
"+chrome/browser/chrome_notification_types.h",
+ "+chrome/browser/extensions/extension_function.h",
"+chrome/browser/extensions/extension_host.h",
"+chrome/browser/extensions/extension_process_manager.h",
"+chrome/browser/extensions/extension_service.h",
@@ -15,6 +16,7 @@ include_rules = [
"+chrome/browser/extensions/process_map.h",
"+chrome/common/extensions/extension.h",
"+chrome/common/extensions/extension_messages.h",
+ "+chrome/common/extensions/extension_set.h",
"+grit/generated_resources.h",
]
@@ -24,6 +26,7 @@ specific_include_rules = {
# TODO(jamescook): Remove these. http://crbug.com/159366
"+chrome/browser/extensions/extension_service_unittest.h",
"+chrome/browser/extensions/test_extension_system.h",
+ "+chrome/common/chrome_paths.h",
"+chrome/test/base/testing_profile.h",
]
}
diff --git a/chrome/browser/extensions/extension_info_map.cc b/extensions/browser/info_map.cc
index 4d4fb22..a877ec9 100644
--- a/chrome/browser/extensions/extension_info_map.cc
+++ b/extensions/browser/info_map.cc
@@ -1,19 +1,18 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 2013 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.
-#include "chrome/browser/extensions/extension_info_map.h"
+#include "extensions/browser/info_map.h"
#include "chrome/common/extensions/extension.h"
#include "chrome/common/extensions/extension_set.h"
-#include "chrome/common/url_constants.h"
#include "content/public/browser/browser_thread.h"
#include "extensions/common/constants.h"
#include "extensions/common/manifest_handlers/incognito_info.h"
using content::BrowserThread;
-using extensions::Extension;
-using extensions::UnloadedExtensionInfo;
+
+namespace extensions {
namespace {
@@ -23,7 +22,7 @@ void CheckOnValidThread() {
} // namespace
-struct ExtensionInfoMap::ExtraData {
+struct InfoMap::ExtraData {
// When the extension was installed.
base::Time install_time;
@@ -34,19 +33,17 @@ struct ExtensionInfoMap::ExtraData {
~ExtraData();
};
-ExtensionInfoMap::ExtraData::ExtraData() : incognito_enabled(false) {}
+InfoMap::ExtraData::ExtraData() : incognito_enabled(false) {}
-ExtensionInfoMap::ExtraData::~ExtraData() {}
+InfoMap::ExtraData::~ExtraData() {}
-ExtensionInfoMap::ExtensionInfoMap() : signin_process_id_(-1) {}
+InfoMap::InfoMap() : signin_process_id_(-1) {}
-const extensions::ProcessMap& ExtensionInfoMap::process_map() const {
- return process_map_;
-}
+const ProcessMap& InfoMap::process_map() const { return process_map_; }
-void ExtensionInfoMap::AddExtension(const Extension* extension,
- base::Time install_time,
- bool incognito_enabled) {
+void InfoMap::AddExtension(const Extension* extension,
+ base::Time install_time,
+ bool incognito_enabled) {
CheckOnValidThread();
extensions_.Insert(extension);
disabled_extensions_.Remove(extension->id());
@@ -55,9 +52,8 @@ void ExtensionInfoMap::AddExtension(const Extension* extension,
extra_data_[extension->id()].incognito_enabled = incognito_enabled;
}
-void ExtensionInfoMap::RemoveExtension(
- const std::string& extension_id,
- const UnloadedExtensionInfo::Reason reason) {
+void InfoMap::RemoveExtension(const std::string& extension_id,
+ const UnloadedExtensionInfo::Reason reason) {
CheckOnValidThread();
const Extension* extension = extensions_.GetByID(extension_id);
extra_data_.erase(extension_id); // we don't care about disabled extra data
@@ -80,16 +76,14 @@ void ExtensionInfoMap::RemoveExtension(
}
}
-base::Time ExtensionInfoMap::GetInstallTime(
- const std::string& extension_id) const {
+base::Time InfoMap::GetInstallTime(const std::string& extension_id) const {
ExtraDataMap::const_iterator iter = extra_data_.find(extension_id);
if (iter != extra_data_.end())
return iter->second.install_time;
return base::Time();
}
-bool ExtensionInfoMap::IsIncognitoEnabled(
- const std::string& extension_id) const {
+bool InfoMap::IsIncognitoEnabled(const std::string& extension_id) const {
// Keep in sync with duplicate in extension_process_manager.cc.
ExtraDataMap::const_iterator iter = extra_data_.find(extension_id);
if (iter != extra_data_.end())
@@ -97,43 +91,42 @@ bool ExtensionInfoMap::IsIncognitoEnabled(
return false;
}
-bool ExtensionInfoMap::CanCrossIncognito(const Extension* extension) const {
+bool InfoMap::CanCrossIncognito(const Extension* extension) const {
// This is duplicated from ExtensionService :(.
return IsIncognitoEnabled(extension->id()) &&
- !extensions::IncognitoInfo::IsSplitMode(extension);
+ !IncognitoInfo::IsSplitMode(extension);
}
-void ExtensionInfoMap::RegisterExtensionProcess(const std::string& extension_id,
- int process_id,
- int site_instance_id) {
+void InfoMap::RegisterExtensionProcess(const std::string& extension_id,
+ int process_id,
+ int site_instance_id) {
if (!process_map_.Insert(extension_id, process_id, site_instance_id)) {
NOTREACHED() << "Duplicate extension process registration for: "
<< extension_id << "," << process_id << ".";
}
}
-void ExtensionInfoMap::UnregisterExtensionProcess(
- const std::string& extension_id,
- int process_id,
- int site_instance_id) {
+void InfoMap::UnregisterExtensionProcess(const std::string& extension_id,
+ int process_id,
+ int site_instance_id) {
if (!process_map_.Remove(extension_id, process_id, site_instance_id)) {
NOTREACHED() << "Unknown extension process registration for: "
<< extension_id << "," << process_id << ".";
}
}
-void ExtensionInfoMap::UnregisterAllExtensionsInProcess(int process_id) {
+void InfoMap::UnregisterAllExtensionsInProcess(int process_id) {
process_map_.RemoveAllFromProcess(process_id);
}
-void ExtensionInfoMap::GetExtensionsWithAPIPermissionForSecurityOrigin(
+void InfoMap::GetExtensionsWithAPIPermissionForSecurityOrigin(
const GURL& origin,
int process_id,
- extensions::APIPermission::ID permission,
+ APIPermission::ID permission,
ExtensionSet* extensions) const {
DCHECK(extensions);
- if (origin.SchemeIs(extensions::kExtensionScheme)) {
+ if (origin.SchemeIs(kExtensionScheme)) {
const std::string& id = origin.host();
const Extension* extension = extensions_.GetByID(id);
if (extension && extension->HasAPIPermission(permission) &&
@@ -153,33 +146,36 @@ void ExtensionInfoMap::GetExtensionsWithAPIPermissionForSecurityOrigin(
}
}
-bool ExtensionInfoMap::SecurityOriginHasAPIPermission(
- const GURL& origin, int process_id,
- extensions::APIPermission::ID permission) const {
+bool InfoMap::SecurityOriginHasAPIPermission(const GURL& origin,
+ int process_id,
+ APIPermission::ID permission)
+ const {
ExtensionSet extensions;
GetExtensionsWithAPIPermissionForSecurityOrigin(
origin, process_id, permission, &extensions);
return !extensions.is_empty();
}
-ExtensionsQuotaService* ExtensionInfoMap::GetQuotaService() {
+QuotaService* InfoMap::GetQuotaService() {
CheckOnValidThread();
if (!quota_service_)
- quota_service_.reset(new ExtensionsQuotaService());
+ quota_service_.reset(new QuotaService());
return quota_service_.get();
}
-void ExtensionInfoMap::SetSigninProcess(int process_id) {
+void InfoMap::SetSigninProcess(int process_id) {
signin_process_id_ = process_id;
}
-bool ExtensionInfoMap::IsSigninProcess(int process_id) const {
+bool InfoMap::IsSigninProcess(int process_id) const {
return process_id == signin_process_id_;
}
-ExtensionInfoMap::~ExtensionInfoMap() {
+InfoMap::~InfoMap() {
if (quota_service_) {
- BrowserThread::DeleteSoon(BrowserThread::IO, FROM_HERE,
- quota_service_.release());
+ BrowserThread::DeleteSoon(
+ BrowserThread::IO, FROM_HERE, quota_service_.release());
}
}
+
+} // namespace extensions
diff --git a/chrome/browser/extensions/extension_info_map.h b/extensions/browser/info_map.h
index 53c04f5..d68933f 100644
--- a/chrome/browser/extensions/extension_info_map.h
+++ b/extensions/browser/info_map.h
@@ -1,9 +1,9 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 2013 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.
-#ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_INFO_MAP_H_
-#define CHROME_BROWSER_EXTENSIONS_EXTENSION_INFO_MAP_H_
+#ifndef EXTENSIONS_BROWSER_INFO_MAP_H_
+#define EXTENSIONS_BROWSER_INFO_MAP_H_
#include <string>
@@ -11,20 +11,19 @@
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
#include "base/time/time.h"
-#include "chrome/browser/extensions/extensions_quota_service.h"
#include "chrome/browser/extensions/process_map.h"
#include "chrome/common/extensions/extension_set.h"
+#include "extensions/browser/quota_service.h"
namespace extensions {
class Extension;
-}
// Contains extension data that needs to be accessed on the IO thread. It can
// be created/destroyed on any thread, but all other methods must be called on
// the IO thread.
-class ExtensionInfoMap : public base::RefCountedThreadSafe<ExtensionInfoMap> {
+class InfoMap : public base::RefCountedThreadSafe<InfoMap> {
public:
- ExtensionInfoMap();
+ InfoMap();
const ExtensionSet& extensions() const { return extensions_; }
const ExtensionSet& disabled_extensions() const {
@@ -74,11 +73,12 @@ class ExtensionInfoMap : public base::RefCountedThreadSafe<ExtensionInfoMap> {
// Returns true if there is exists an extension with the same origin as
// |origin| in |process_id| with |permission|.
- bool SecurityOriginHasAPIPermission(
- const GURL& origin, int process_id,
- extensions::APIPermission::ID permission) const;
+ bool SecurityOriginHasAPIPermission(const GURL& origin,
+ int process_id,
+ extensions::APIPermission::ID permission)
+ const;
- ExtensionsQuotaService* GetQuotaService();
+ QuotaService* GetQuotaService();
// Keep track of the signin process, so we can restrict extension access to
// it.
@@ -86,14 +86,14 @@ class ExtensionInfoMap : public base::RefCountedThreadSafe<ExtensionInfoMap> {
bool IsSigninProcess(int process_id) const;
private:
- friend class base::RefCountedThreadSafe<ExtensionInfoMap>;
+ friend class base::RefCountedThreadSafe<InfoMap>;
// Extra dynamic data related to an extension.
struct ExtraData;
// Map of extension_id to ExtraData.
typedef std::map<std::string, ExtraData> ExtraDataMap;
- ~ExtensionInfoMap();
+ ~InfoMap();
ExtensionSet extensions_;
ExtensionSet disabled_extensions_;
@@ -102,9 +102,9 @@ class ExtensionInfoMap : public base::RefCountedThreadSafe<ExtensionInfoMap> {
ExtraDataMap extra_data_;
// Used by dispatchers to limit API quota for individual extensions.
- // The ExtensionQutoaService is not thread safe. We need to create and destroy
- // it on the IO thread.
- scoped_ptr<ExtensionsQuotaService> quota_service_;
+ // The QuotaService is not thread safe. We need to create and destroy it on
+ // the IO thread.
+ scoped_ptr<QuotaService> quota_service_;
// Assignment of extensions to processes.
extensions::ProcessMap process_map_;
@@ -112,4 +112,6 @@ class ExtensionInfoMap : public base::RefCountedThreadSafe<ExtensionInfoMap> {
int signin_process_id_;
};
-#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_INFO_MAP_H_
+} // namespace extensions
+
+#endif // EXTENSIONS_BROWSER_INFO_MAP_H_
diff --git a/chrome/browser/extensions/extension_info_map_unittest.cc b/extensions/browser/info_map_unittest.cc
index dac4e0a..5136069 100644
--- a/chrome/browser/extensions/extension_info_map_unittest.cc
+++ b/extensions/browser/info_map_unittest.cc
@@ -1,32 +1,28 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 2013 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.
#include "base/json/json_file_value_serializer.h"
#include "base/message_loop/message_loop.h"
#include "base/path_service.h"
-#include "chrome/browser/extensions/extension_info_map.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/extensions/extension.h"
#include "content/public/test/test_browser_thread.h"
+#include "extensions/browser/info_map.h"
#include "extensions/common/manifest_constants.h"
#include "testing/gtest/include/gtest/gtest.h"
using content::BrowserThread;
-using extensions::APIPermission;
-using extensions::Extension;
-using extensions::Manifest;
namespace keys = extensions::manifest_keys;
-namespace {
+namespace extensions {
-class ExtensionInfoMapTest : public testing::Test {
+class InfoMapTest : public testing::Test {
public:
- ExtensionInfoMapTest()
+ InfoMapTest()
: ui_thread_(BrowserThread::UI, &message_loop_),
- io_thread_(BrowserThread::IO, &message_loop_) {
- }
+ io_thread_(BrowserThread::IO, &message_loop_) {}
private:
base::MessageLoop message_loop_;
@@ -47,9 +43,12 @@ static scoped_refptr<Extension> CreateExtension(const std::string& name) {
manifest.SetString(keys::kName, name);
std::string error;
- scoped_refptr<Extension> extension = Extension::Create(
- path.AppendASCII(name), Manifest::INVALID_LOCATION, manifest,
- Extension::NO_FLAGS, &error);
+ scoped_refptr<Extension> extension =
+ Extension::Create(path.AppendASCII(name),
+ Manifest::INVALID_LOCATION,
+ manifest,
+ Extension::NO_FLAGS,
+ &error);
EXPECT_TRUE(extension.get()) << error;
return extension;
@@ -59,9 +58,7 @@ static scoped_refptr<Extension> LoadManifest(const std::string& dir,
const std::string& test_file) {
base::FilePath path;
PathService::Get(chrome::DIR_TEST_DATA, &path);
- path = path.AppendASCII("extensions")
- .AppendASCII(dir)
- .AppendASCII(test_file);
+ path = path.AppendASCII("extensions").AppendASCII(dir).AppendASCII(test_file);
JSONFileValueSerializer serializer(path);
scoped_ptr<Value> result(serializer.Deserialize(NULL, NULL));
@@ -69,18 +66,20 @@ static scoped_refptr<Extension> LoadManifest(const std::string& dir,
return NULL;
std::string error;
- scoped_refptr<Extension> extension = Extension::Create(
- path, Manifest::INVALID_LOCATION,
- *static_cast<DictionaryValue*>(result.get()),
- Extension::NO_FLAGS, &error);
+ scoped_refptr<Extension> extension =
+ Extension::Create(path,
+ Manifest::INVALID_LOCATION,
+ *static_cast<DictionaryValue*>(result.get()),
+ Extension::NO_FLAGS,
+ &error);
EXPECT_TRUE(extension.get()) << error;
return extension;
}
-// Test that the ExtensionInfoMap handles refcounting properly.
-TEST_F(ExtensionInfoMapTest, RefCounting) {
- scoped_refptr<ExtensionInfoMap> info_map(new ExtensionInfoMap());
+// Test that the InfoMap handles refcounting properly.
+TEST_F(InfoMapTest, RefCounting) {
+ scoped_refptr<InfoMap> info_map(new InfoMap());
// New extensions should have a single reference holding onto them.
scoped_refptr<Extension> extension1(CreateExtension("extension1"));
@@ -110,9 +109,9 @@ TEST_F(ExtensionInfoMapTest, RefCounting) {
EXPECT_TRUE(extension3->HasOneRef());
}
-// Tests that we can query a few extension properties from the ExtensionInfoMap.
-TEST_F(ExtensionInfoMapTest, Properties) {
- scoped_refptr<ExtensionInfoMap> info_map(new ExtensionInfoMap());
+// Tests that we can query a few extension properties from the InfoMap.
+TEST_F(InfoMapTest, Properties) {
+ scoped_refptr<InfoMap> info_map(new InfoMap());
scoped_refptr<Extension> extension1(CreateExtension("extension1"));
scoped_refptr<Extension> extension2(CreateExtension("extension2"));
@@ -126,13 +125,13 @@ TEST_F(ExtensionInfoMapTest, Properties) {
}
// Tests CheckURLAccessToExtensionPermission given both extension and app URLs.
-TEST_F(ExtensionInfoMapTest, CheckPermissions) {
- scoped_refptr<ExtensionInfoMap> info_map(new ExtensionInfoMap());
+TEST_F(InfoMapTest, CheckPermissions) {
+ scoped_refptr<InfoMap> info_map(new InfoMap());
- scoped_refptr<Extension> app(LoadManifest("manifest_tests",
- "valid_app.json"));
- scoped_refptr<Extension> extension(LoadManifest("manifest_tests",
- "tabs_extension.json"));
+ scoped_refptr<Extension> app(
+ LoadManifest("manifest_tests", "valid_app.json"));
+ scoped_refptr<Extension> extension(
+ LoadManifest("manifest_tests", "tabs_extension.json"));
GURL app_url("http://www.google.com/mail/foo.html");
ASSERT_TRUE(app->is_app());
@@ -145,21 +144,16 @@ TEST_F(ExtensionInfoMapTest, CheckPermissions) {
// chrome-extension URL or from its web extent.
const Extension* match = info_map->extensions().GetExtensionOrAppByURL(
app->GetResourceURL("a.html"));
- EXPECT_TRUE(match &&
- match->HasAPIPermission(APIPermission::kNotification));
+ EXPECT_TRUE(match && match->HasAPIPermission(APIPermission::kNotification));
match = info_map->extensions().GetExtensionOrAppByURL(app_url);
- EXPECT_TRUE(match &&
- match->HasAPIPermission(APIPermission::kNotification));
- EXPECT_FALSE(match &&
- match->HasAPIPermission(APIPermission::kTab));
+ EXPECT_TRUE(match && match->HasAPIPermission(APIPermission::kNotification));
+ EXPECT_FALSE(match && match->HasAPIPermission(APIPermission::kTab));
// The extension should have the tabs permission.
match = info_map->extensions().GetExtensionOrAppByURL(
extension->GetResourceURL("a.html"));
- EXPECT_TRUE(match &&
- match->HasAPIPermission(APIPermission::kTab));
- EXPECT_FALSE(match &&
- match->HasAPIPermission(APIPermission::kNotification));
+ EXPECT_TRUE(match && match->HasAPIPermission(APIPermission::kTab));
+ EXPECT_FALSE(match && match->HasAPIPermission(APIPermission::kNotification));
// Random URL should not have any permissions.
GURL evil_url("http://evil.com/a.html");
@@ -167,4 +161,4 @@ TEST_F(ExtensionInfoMapTest, CheckPermissions) {
EXPECT_FALSE(match);
}
-} // namespace
+} // namespace extensions
diff --git a/chrome/browser/extensions/extensions_quota_service.cc b/extensions/browser/quota_service.cc
index 830c93a..ce21b25 100644
--- a/chrome/browser/extensions/extensions_quota_service.cc
+++ b/extensions/browser/quota_service.cc
@@ -1,8 +1,8 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 2013 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.
-#include "chrome/browser/extensions/extensions_quota_service.h"
+#include "extensions/browser/quota_service.h"
#include "base/message_loop/message_loop.h"
#include "base/stl_util.h"
@@ -20,25 +20,27 @@ const char kOverQuotaError[] = "This request exceeds the * quota.";
} // namespace
-ExtensionsQuotaService::ExtensionsQuotaService() {
+namespace extensions {
+
+QuotaService::QuotaService() {
if (base::MessageLoop::current() != NULL) { // Null in unit tests.
purge_timer_.Start(FROM_HERE,
base::TimeDelta::FromDays(kPurgeIntervalInDays),
- this, &ExtensionsQuotaService::Purge);
+ this,
+ &QuotaService::Purge);
}
}
-ExtensionsQuotaService::~ExtensionsQuotaService() {
+QuotaService::~QuotaService() {
DCHECK(CalledOnValidThread());
purge_timer_.Stop();
Purge();
}
-std::string ExtensionsQuotaService::Assess(
- const std::string& extension_id,
- ExtensionFunction* function,
- const base::ListValue* args,
- const base::TimeTicks& event_time) {
+std::string QuotaService::Assess(const std::string& extension_id,
+ ExtensionFunction* function,
+ const base::ListValue* args,
+ const base::TimeTicks& event_time) {
DCHECK(CalledOnValidThread());
if (function->ShouldSkipQuotaLimiting())
@@ -62,7 +64,8 @@ std::string ExtensionsQuotaService::Assess(
QuotaLimitHeuristic* failed_heuristic = NULL;
for (QuotaLimitHeuristics::iterator heuristic = heuristics.begin();
- heuristic != heuristics.end(); ++heuristic) {
+ heuristic != heuristics.end();
+ ++heuristic) {
// Apply heuristic to each item (bucket).
if (!(*heuristic)->ApplyToArgs(args, event_time)) {
failed_heuristic = *heuristic;
@@ -82,8 +85,7 @@ std::string ExtensionsQuotaService::Assess(
return error;
}
-void ExtensionsQuotaService::PurgeFunctionHeuristicsMap(
- FunctionHeuristicsMap* map) {
+void QuotaService::PurgeFunctionHeuristicsMap(FunctionHeuristicsMap* map) {
FunctionHeuristicsMap::iterator heuristics = map->begin();
while (heuristics != map->end()) {
STLDeleteElements(&heuristics->second);
@@ -91,7 +93,7 @@ void ExtensionsQuotaService::PurgeFunctionHeuristicsMap(
}
}
-void ExtensionsQuotaService::Purge() {
+void QuotaService::Purge() {
DCHECK(CalledOnValidThread());
std::map<std::string, FunctionHeuristicsMap>::iterator it =
function_heuristics_.begin();
@@ -100,7 +102,7 @@ void ExtensionsQuotaService::Purge() {
}
void QuotaLimitHeuristic::Bucket::Reset(const Config& config,
- const base::TimeTicks& start) {
+ const base::TimeTicks& start) {
num_tokens_ = config.refill_token_count;
expiration_ = start + config.refill_interval;
}
@@ -114,13 +116,12 @@ void QuotaLimitHeuristic::SingletonBucketMapper::GetBucketsForArgs(
QuotaLimitHeuristic::QuotaLimitHeuristic(const Config& config,
BucketMapper* map,
const std::string& name)
- : config_(config), bucket_mapper_(map), name_(name) {
-}
+ : config_(config), bucket_mapper_(map), name_(name) {}
QuotaLimitHeuristic::~QuotaLimitHeuristic() {}
bool QuotaLimitHeuristic::ApplyToArgs(const base::ListValue* args,
- const base::TimeTicks& event_time) {
+ const base::TimeTicks& event_time) {
BucketList buckets;
bucket_mapper_->GetBucketsForArgs(args, &buckets);
for (BucketList::iterator i = buckets.begin(); i != buckets.end(); ++i) {
@@ -136,27 +137,25 @@ std::string QuotaLimitHeuristic::GetError() const {
return extensions::ErrorUtils::FormatErrorMessage(kOverQuotaError, name_);
}
-ExtensionsQuotaService::SustainedLimit::SustainedLimit(
- const base::TimeDelta& sustain,
- const Config& config,
- BucketMapper* map,
- const std::string& name)
+QuotaService::SustainedLimit::SustainedLimit(const base::TimeDelta& sustain,
+ const Config& config,
+ BucketMapper* map,
+ const std::string& name)
: QuotaLimitHeuristic(config, map, name),
repeat_exhaustion_allowance_(sustain.InSeconds() /
config.refill_interval.InSeconds()),
- num_available_repeat_exhaustions_(repeat_exhaustion_allowance_) {
-}
+ num_available_repeat_exhaustions_(repeat_exhaustion_allowance_) {}
-bool ExtensionsQuotaService::TimedLimit::Apply(Bucket* bucket,
- const base::TimeTicks& event_time) {
+bool QuotaService::TimedLimit::Apply(Bucket* bucket,
+ const base::TimeTicks& event_time) {
if (event_time > bucket->expiration())
bucket->Reset(config(), event_time);
return bucket->DeductToken();
}
-bool ExtensionsQuotaService::SustainedLimit::Apply(Bucket* bucket,
- const base::TimeTicks& event_time) {
+bool QuotaService::SustainedLimit::Apply(Bucket* bucket,
+ const base::TimeTicks& event_time) {
if (event_time > bucket->expiration()) {
// We reset state for this item and start over again if this request breaks
// the bad cycle that was previously being tracked. This occurs if the
@@ -166,8 +165,8 @@ bool ExtensionsQuotaService::SustainedLimit::Apply(Bucket* bucket,
// than 1 full refill interval away from the last event (so even if we used
// up all the tokens in the last bucket, nothing happened in the entire
// next refill interval, so it doesn't matter).
- if (bucket->has_tokens() || event_time > bucket->expiration() +
- config().refill_interval) {
+ if (bucket->has_tokens() ||
+ event_time > bucket->expiration() + config().refill_interval) {
bucket->Reset(config(), event_time);
num_available_repeat_exhaustions_ = repeat_exhaustion_allowance_;
} else if (--num_available_repeat_exhaustions_ > 0) {
@@ -189,3 +188,5 @@ bool ExtensionsQuotaService::SustainedLimit::Apply(Bucket* bucket,
bucket->DeductToken();
return true;
}
+
+} // namespace extensions
diff --git a/chrome/browser/extensions/extensions_quota_service.h b/extensions/browser/quota_service.h
index 5644397..8dacb95 100644
--- a/chrome/browser/extensions/extensions_quota_service.h
+++ b/extensions/browser/quota_service.h
@@ -1,8 +1,8 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 2013 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.
-// The ExtensionsQuotaService uses heuristics to limit abusive requests
+// The QuotaService uses heuristics to limit abusive requests
// made by extensions. In this model 'items' (e.g individual bookmarks) are
// represented by a 'Bucket' that holds state for that item for one single
// interval of time. The interval of time is defined as 'how long we need to
@@ -11,8 +11,8 @@
// arguments to a unique Bucket (the BucketMapper), and another to determine
// if a new request involving such an item at a given time is a violation.
-#ifndef CHROME_BROWSER_EXTENSIONS_EXTENSIONS_QUOTA_SERVICE_H_
-#define CHROME_BROWSER_EXTENSIONS_EXTENSIONS_QUOTA_SERVICE_H_
+#ifndef EXTENSIONS_BROWSER_QUOTA_SERVICE_H_
+#define EXTENSIONS_BROWSER_QUOTA_SERVICE_H_
#include <list>
#include <map>
@@ -27,28 +27,28 @@
#include "base/values.h"
class ExtensionFunction;
-class QuotaLimitHeuristic;
-typedef std::list<QuotaLimitHeuristic*> QuotaLimitHeuristics;
namespace extensions {
+class QuotaLimitHeuristic;
class TestResetQuotaFunction;
-}
-// The ExtensionsQuotaService takes care that calls to certain extension
+typedef std::list<QuotaLimitHeuristic*> QuotaLimitHeuristics;
+
+// The QuotaService takes care that calls to certain extension
// functions do not exceed predefined quotas.
//
-// The ExtensionsQuotaService needs to live entirely on one thread, i.e.
+// The QuotaService needs to live entirely on one thread, i.e.
// be created, called and destroyed on the same thread, due to its use
// of a RepeatingTimer.
-class ExtensionsQuotaService : public base::NonThreadSafe {
+class QuotaService : public base::NonThreadSafe {
public:
// Some concrete heuristics (declared below) that ExtensionFunctions can
// use to help the service make decisions about quota violations.
class TimedLimit;
class SustainedLimit;
- ExtensionsQuotaService();
- virtual ~ExtensionsQuotaService();
+ QuotaService();
+ virtual ~QuotaService();
// Decide whether the invocation of |function| with argument |args| by the
// extension specified by |extension_id| results in a quota limit violation.
@@ -74,7 +74,7 @@ class ExtensionsQuotaService : public base::NonThreadSafe {
// converge to the correct set.
void Purge();
void PurgeFunctionHeuristicsMap(FunctionHeuristicsMap* map);
- base::RepeatingTimer<ExtensionsQuotaService> purge_timer_;
+ base::RepeatingTimer<QuotaService> purge_timer_;
// Our quota tracking state for extensions that have invoked quota limited
// functions. Each extension is treated separately, so extension ids are the
@@ -89,7 +89,7 @@ class ExtensionsQuotaService : public base::NonThreadSafe {
typedef std::map<std::string, std::string> ViolationErrorMap;
ViolationErrorMap violation_errors_;
- DISALLOW_COPY_AND_ASSIGN(ExtensionsQuotaService);
+ DISALLOW_COPY_AND_ASSIGN(QuotaService);
};
// A QuotaLimitHeuristic is two things: 1, A heuristic to map extension
@@ -134,6 +134,7 @@ class QuotaLimitHeuristic {
// The time at which the token count and next expiration should be reset,
// via a call to Reset.
const base::TimeTicks& expiration() { return expiration_; }
+
private:
base::TimeTicks expiration_;
int64 num_tokens_;
@@ -209,7 +210,7 @@ class QuotaLimitHeuristic {
// A simple per-item heuristic to limit the number of events that can occur in
// a given period of time; e.g "no more than 100 events in an hour".
-class ExtensionsQuotaService::TimedLimit : public QuotaLimitHeuristic {
+class QuotaService::TimedLimit : public QuotaLimitHeuristic {
public:
TimedLimit(const Config& config, BucketMapper* map, const std::string& name)
: QuotaLimitHeuristic(config, map, name) {}
@@ -220,7 +221,7 @@ class ExtensionsQuotaService::TimedLimit : public QuotaLimitHeuristic {
// A per-item heuristic to limit the number of events that can occur in a
// period of time over a sustained longer interval. E.g "no more than two
// events per minute, sustained over 10 minutes".
-class ExtensionsQuotaService::SustainedLimit : public QuotaLimitHeuristic {
+class QuotaService::SustainedLimit : public QuotaLimitHeuristic {
public:
SustainedLimit(const base::TimeDelta& sustain,
const Config& config,
@@ -228,6 +229,7 @@ class ExtensionsQuotaService::SustainedLimit : public QuotaLimitHeuristic {
const std::string& name);
virtual bool Apply(Bucket* bucket,
const base::TimeTicks& event_time) OVERRIDE;
+
private:
// Specifies how long exhaustion of buckets is allowed to continue before
// denying requests.
@@ -235,4 +237,6 @@ class ExtensionsQuotaService::SustainedLimit : public QuotaLimitHeuristic {
int64 num_available_repeat_exhaustions_;
};
-#endif // CHROME_BROWSER_EXTENSIONS_EXTENSIONS_QUOTA_SERVICE_H_
+} // namespace extensions
+
+#endif // EXTENSIONS_BROWSER_QUOTA_SERVICE_H_
diff --git a/chrome/browser/extensions/extensions_quota_service_unittest.cc b/extensions/browser/quota_service_unittest.cc
index a0438ff..ee3316a 100644
--- a/chrome/browser/extensions/extensions_quota_service_unittest.cc
+++ b/extensions/browser/quota_service_unittest.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 2013 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.
@@ -7,26 +7,28 @@
#include "base/stl_util.h"
#include "base/strings/string_util.h"
#include "chrome/browser/extensions/extension_function.h"
-#include "chrome/browser/extensions/extensions_quota_service.h"
#include "content/public/test/test_browser_thread.h"
+#include "extensions/browser/quota_service.h"
#include "testing/gtest/include/gtest/gtest.h"
using base::TimeDelta;
using base::TimeTicks;
using content::BrowserThread;
+namespace extensions {
+
typedef QuotaLimitHeuristic::Bucket Bucket;
typedef QuotaLimitHeuristic::Config Config;
typedef QuotaLimitHeuristic::BucketList BucketList;
-typedef ExtensionsQuotaService::TimedLimit TimedLimit;
-typedef ExtensionsQuotaService::SustainedLimit SustainedLimit;
+typedef QuotaService::TimedLimit TimedLimit;
+typedef QuotaService::SustainedLimit SustainedLimit;
namespace {
const char kGenericName[] = "name";
-const Config kFrozenConfig = { 0, TimeDelta::FromDays(0) };
-const Config k2PerMinute = { 2, TimeDelta::FromMinutes(1) };
-const Config k20PerHour = { 20, TimeDelta::FromHours(1) };
+const Config kFrozenConfig = {0, TimeDelta::FromDays(0)};
+const Config k2PerMinute = {2, TimeDelta::FromMinutes(1)};
+const Config k20PerHour = {20, TimeDelta::FromHours(1)};
const TimeTicks kStartTime = TimeTicks();
const TimeTicks k1MinuteAfterStart = kStartTime + TimeDelta::FromMinutes(1);
@@ -44,6 +46,7 @@ class Mapper : public QuotaLimitHeuristic::BucketMapper {
buckets->push_back(buckets_[id]);
}
}
+
private:
typedef std::map<int, Bucket*> BucketMap;
BucketMap buckets_;
@@ -53,8 +56,7 @@ class Mapper : public QuotaLimitHeuristic::BucketMapper {
class MockMapper : public QuotaLimitHeuristic::BucketMapper {
public:
virtual void GetBucketsForArgs(const base::ListValue* args,
- BucketList* buckets) OVERRIDE {
- }
+ BucketList* buckets) OVERRIDE {}
};
class MockFunction : public ExtensionFunction {
@@ -67,7 +69,7 @@ class MockFunction : public ExtensionFunction {
virtual void Run() OVERRIDE {}
virtual void Destruct() const OVERRIDE { delete this; }
virtual bool RunImpl() OVERRIDE { return true; }
- virtual void SendResponse(bool) OVERRIDE { }
+ virtual void SendResponse(bool) OVERRIDE {}
protected:
virtual ~MockFunction() {}
@@ -77,8 +79,8 @@ class TimedLimitMockFunction : public MockFunction {
public:
explicit TimedLimitMockFunction(const std::string& name)
: MockFunction(name) {}
- virtual void GetQuotaLimitHeuristics(
- QuotaLimitHeuristics* heuristics) const OVERRIDE {
+ virtual void GetQuotaLimitHeuristics(QuotaLimitHeuristics* heuristics) const
+ OVERRIDE {
heuristics->push_back(
new TimedLimit(k2PerMinute, new Mapper(), kGenericName));
}
@@ -91,8 +93,8 @@ class ChainedLimitsMockFunction : public MockFunction {
public:
explicit ChainedLimitsMockFunction(const std::string& name)
: MockFunction(name) {}
- virtual void GetQuotaLimitHeuristics(
- QuotaLimitHeuristics* heuristics) const OVERRIDE {
+ virtual void GetQuotaLimitHeuristics(QuotaLimitHeuristics* heuristics) const
+ OVERRIDE {
// No more than 2 per minute sustained over 5 minutes.
heuristics->push_back(new SustainedLimit(
TimeDelta::FromMinutes(5), k2PerMinute, new Mapper(), kGenericName));
@@ -108,8 +110,8 @@ class ChainedLimitsMockFunction : public MockFunction {
class FrozenMockFunction : public MockFunction {
public:
explicit FrozenMockFunction(const std::string& name) : MockFunction(name) {}
- virtual void GetQuotaLimitHeuristics(
- QuotaLimitHeuristics* heuristics) const OVERRIDE {
+ virtual void GetQuotaLimitHeuristics(QuotaLimitHeuristics* heuristics) const
+ OVERRIDE {
heuristics->push_back(
new TimedLimit(kFrozenConfig, new Mapper(), kGenericName));
}
@@ -119,27 +121,25 @@ class FrozenMockFunction : public MockFunction {
};
} // namespace
-class ExtensionsQuotaServiceTest : public testing::Test {
+class QuotaServiceTest : public testing::Test {
public:
- ExtensionsQuotaServiceTest()
+ QuotaServiceTest()
: extension_a_("a"),
extension_b_("b"),
extension_c_("c"),
loop_(),
- ui_thread_(BrowserThread::UI, &loop_) {
- }
- virtual void SetUp() {
- service_.reset(new ExtensionsQuotaService());
- }
+ ui_thread_(BrowserThread::UI, &loop_) {}
+ virtual void SetUp() { service_.reset(new QuotaService()); }
virtual void TearDown() {
loop_.RunUntilIdle();
service_.reset();
}
+
protected:
std::string extension_a_;
std::string extension_b_;
std::string extension_c_;
- scoped_ptr<ExtensionsQuotaService> service_;
+ scoped_ptr<QuotaService> service_;
base::MessageLoop loop_;
content::TestBrowserThread ui_thread_;
};
@@ -180,7 +180,7 @@ TEST_F(QuotaLimitHeuristicTest, Timed) {
EXPECT_TRUE(b.has_tokens());
EXPECT_TRUE(lim.Apply(&b, kStartTime + TimeDelta::FromSeconds(30)));
EXPECT_FALSE(b.has_tokens());
- EXPECT_FALSE(lim.Apply(&b, k1MinuteAfterStart));
+ EXPECT_FALSE(lim.Apply(&b, k1MinuteAfterStart));
b.Reset(k2PerMinute, kStartTime);
EXPECT_TRUE(lim.Apply(&b, k1MinuteAfterStart - TimeDelta::FromSeconds(1)));
@@ -215,20 +215,20 @@ TEST_F(QuotaLimitHeuristicTest, Sustained) {
EXPECT_TRUE(lim.Apply(&bucket, kStartTime + TimeDelta::FromMinutes(6)));
}
-TEST_F(ExtensionsQuotaServiceTest, NoHeuristic) {
+TEST_F(QuotaServiceTest, NoHeuristic) {
scoped_refptr<MockFunction> f(new MockFunction("foo"));
base::ListValue args;
EXPECT_EQ("", service_->Assess(extension_a_, f.get(), &args, kStartTime));
}
-TEST_F(ExtensionsQuotaServiceTest, FrozenHeuristic) {
+TEST_F(QuotaServiceTest, FrozenHeuristic) {
scoped_refptr<MockFunction> f(new FrozenMockFunction("foo"));
base::ListValue args;
args.Append(new base::FundamentalValue(1));
EXPECT_NE("", service_->Assess(extension_a_, f.get(), &args, kStartTime));
}
-TEST_F(ExtensionsQuotaServiceTest, SingleHeuristic) {
+TEST_F(QuotaServiceTest, SingleHeuristic) {
scoped_refptr<MockFunction> f(new TimedLimitMockFunction("foo"));
base::ListValue args;
args.Append(new base::FundamentalValue(1));
@@ -299,7 +299,7 @@ TEST_F(ExtensionsQuotaServiceTest, SingleHeuristic) {
kStartTime + TimeDelta::FromSeconds(30)));
}
-TEST_F(ExtensionsQuotaServiceTest, ChainedHeuristics) {
+TEST_F(QuotaServiceTest, ChainedHeuristics) {
scoped_refptr<MockFunction> f(new ChainedLimitsMockFunction("foo"));
base::ListValue args;
args.Append(new base::FundamentalValue(1));
@@ -352,7 +352,7 @@ TEST_F(ExtensionsQuotaServiceTest, ChainedHeuristics) {
kStartTime + TimeDelta::FromMinutes(6)));
}
-TEST_F(ExtensionsQuotaServiceTest, MultipleFunctionsDontInterfere) {
+TEST_F(QuotaServiceTest, MultipleFunctionsDontInterfere) {
scoped_refptr<MockFunction> f(new TimedLimitMockFunction("foo"));
scoped_refptr<MockFunction> g(new TimedLimitMockFunction("bar"));
@@ -385,7 +385,7 @@ TEST_F(ExtensionsQuotaServiceTest, MultipleFunctionsDontInterfere) {
kStartTime + TimeDelta::FromSeconds(15)));
}
-TEST_F(ExtensionsQuotaServiceTest, ViolatorsWillBeViolators) {
+TEST_F(QuotaServiceTest, ViolatorsWillBeViolators) {
scoped_refptr<MockFunction> f(new TimedLimitMockFunction("foo"));
scoped_refptr<MockFunction> g(new TimedLimitMockFunction("bar"));
base::ListValue arg;
@@ -413,3 +413,5 @@ TEST_F(ExtensionsQuotaServiceTest, ViolatorsWillBeViolators) {
service_->Assess(
extension_a_, g.get(), &arg, kStartTime + TimeDelta::FromDays(1)));
}
+
+} // namespace extensions
diff --git a/extensions/extensions.gyp b/extensions/extensions.gyp
index e68bc44..1d438cb 100644
--- a/extensions/extensions.gyp
+++ b/extensions/extensions.gyp
@@ -147,6 +147,8 @@
'browser/extension_error.h',
'browser/extensions_browser_client.cc',
'browser/extensions_browser_client.h',
+ 'browser/info_map.cc',
+ 'browser/info_map.h',
'browser/file_highlighter.cc',
'browser/file_highlighter.h',
'browser/file_reader.cc',
@@ -155,6 +157,8 @@
'browser/lazy_background_task_queue.h',
'browser/pref_names.cc',
'browser/pref_names.h',
+ 'browser/quota_service.cc',
+ 'browser/quota_service.h',
'browser/view_type_utils.cc',
'browser/view_type_utils.h',
],