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

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

Issue 420543002: Declarative content scripts: Browser-side: per-extension shared memory regions (lazily loaded) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Refactor UserScriptMaster into UserScriptLoader, managed by SharedUserScriptMaster and DeclarativeU… Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/extension_system_impl.cc
diff --git a/chrome/browser/extensions/extension_system_impl.cc b/chrome/browser/extensions/extension_system_impl.cc
index 165d9e189ff7caf56298102d8a2ead8d267bf0fb..b282435b124376e7cbc7e0f9c8b93f6ab493d3f6 100644
--- a/chrome/browser/extensions/extension_system_impl.cc
+++ b/chrome/browser/extensions/extension_system_impl.cc
@@ -12,10 +12,12 @@
#include "base/metrics/field_trial.h"
#include "base/metrics/histogram.h"
#include "base/strings/string_tokenizer.h"
+#include "base/strings/string_util.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/content_settings/cookie_settings.h"
#include "chrome/browser/extensions/blacklist.h"
#include "chrome/browser/extensions/component_loader.h"
+#include "chrome/browser/extensions/declarative_user_script_master.h"
#include "chrome/browser/extensions/error_console/error_console.h"
#include "chrome/browser/extensions/extension_error_reporter.h"
#include "chrome/browser/extensions/extension_service.h"
@@ -26,10 +28,11 @@
#include "chrome/browser/extensions/install_verifier.h"
#include "chrome/browser/extensions/navigation_observer.h"
#include "chrome/browser/extensions/shared_module_service.h"
+#include "chrome/browser/extensions/shared_user_script_master.h"
#include "chrome/browser/extensions/standard_management_policy_provider.h"
#include "chrome/browser/extensions/state_store_notification_observer.h"
#include "chrome/browser/extensions/updater/manifest_fetch_data.h"
-#include "chrome/browser/extensions/user_script_master.h"
+#include "chrome/browser/extensions/user_script_master_manager.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/common/chrome_switches.h"
@@ -316,7 +319,7 @@ void ExtensionSystemImpl::Shared::Init(bool extensions_enabled) {
bool allow_noisy_errors = !command_line->HasSwitch(switches::kNoErrorDialogs);
ExtensionErrorReporter::Init(allow_noisy_errors);
- user_script_master_.reset(new UserScriptMaster(profile_));
+ user_script_master_manager_.reset(new UserScriptMasterManager(profile_));
Mark Dittmer 2014/08/05 20:33:18 user_script_master_manager_ instantiated here.
// ExtensionService depends on RuntimeData.
runtime_data_.reset(new RuntimeData(ExtensionRegistry::Get(profile_)));
@@ -456,8 +459,11 @@ ManagementPolicy* ExtensionSystemImpl::Shared::management_policy() {
return management_policy_.get();
}
-UserScriptMaster* ExtensionSystemImpl::Shared::user_script_master() {
- return user_script_master_.get();
+SharedUserScriptMaster*
+ExtensionSystemImpl::Shared::shared_user_script_master() {
+ return user_script_master_manager_.get()
+ ? user_script_master_manager_->shared_master()
+ : NULL;
}
InfoMap* ExtensionSystemImpl::Shared::info_map() {
@@ -499,6 +505,15 @@ ContentVerifier* ExtensionSystemImpl::Shared::content_verifier() {
return content_verifier_.get();
}
+DeclarativeUserScriptMaster*
+ExtensionSystemImpl::Shared::GetDeclarativeUserScriptMasterByExtension(
+ const ExtensionId& extension_id) {
+ return user_script_master_manager_.get()
Devlin 2014/08/04 18:33:24 I might be missing it... but when are these create
Mark Dittmer 2014/08/05 20:33:18 See comment on line 322.
+ ? user_script_master_manager_->GetDeclarativeMasterByExtension(
+ extension_id)
+ : NULL;
+}
+
//
// ExtensionSystemImpl
//
@@ -523,7 +538,7 @@ void ExtensionSystemImpl::Shutdown() {
void ExtensionSystemImpl::InitForRegularProfile(bool extensions_enabled) {
DCHECK(!profile_->IsOffTheRecord());
- if (user_script_master() || extension_service())
+ if (shared_user_script_master() || extension_service())
return; // Already initialized.
// The InfoMap needs to be created before the ProcessManager.
@@ -546,8 +561,8 @@ ManagementPolicy* ExtensionSystemImpl::management_policy() {
return shared_->management_policy();
}
-UserScriptMaster* ExtensionSystemImpl::user_script_master() {
- return shared_->user_script_master();
+SharedUserScriptMaster* ExtensionSystemImpl::shared_user_script_master() {
+ return shared_->shared_user_script_master();
}
ProcessManager* ExtensionSystemImpl::process_manager() {
@@ -606,6 +621,12 @@ scoped_ptr<ExtensionSet> ExtensionSystemImpl::GetDependentExtensions(
extension);
}
+DeclarativeUserScriptMaster*
+ExtensionSystemImpl::GetDeclarativeUserScriptMasterByExtension(
+ const ExtensionId& extension_id) {
+ return shared_->GetDeclarativeUserScriptMasterByExtension(extension_id);
+}
+
void ExtensionSystemImpl::RegisterExtensionWithRequestContexts(
const Extension* extension) {
base::Time install_time;

Powered by Google App Engine
This is Rietveld 408576698