summaryrefslogtreecommitdiffstats
path: root/extensions/browser/user_script_loader.cc
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/browser/user_script_loader.cc')
-rw-r--r--extensions/browser/user_script_loader.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/extensions/browser/user_script_loader.cc b/extensions/browser/user_script_loader.cc
index 94b2c07..7daf95d 100644
--- a/extensions/browser/user_script_loader.cc
+++ b/extensions/browser/user_script_loader.cc
@@ -154,6 +154,7 @@ UserScriptLoader::UserScriptLoader(BrowserContext* browser_context,
}
UserScriptLoader::~UserScriptLoader() {
+ FOR_EACH_OBSERVER(Observer, observers_, OnUserScriptLoaderDestroyed(this));
}
void UserScriptLoader::AddScripts(const std::set<UserScript>& scripts) {
@@ -317,6 +318,14 @@ scoped_ptr<base::SharedMemory> UserScriptLoader::Serialize(
/*read_only=*/true));
}
+void UserScriptLoader::AddObserver(Observer* observer) {
+ observers_.AddObserver(observer);
+}
+
+void UserScriptLoader::RemoveObserver(Observer* observer) {
+ observers_.RemoveObserver(observer);
+}
+
void UserScriptLoader::SetReady(bool ready) {
bool was_ready = ready_;
ready_ = ready;
@@ -358,10 +367,12 @@ void UserScriptLoader::OnScriptsLoaded(
}
changed_hosts_.clear();
+ // TODO(hanxi): Remove the NOTIFICATION_USER_SCRIPTS_UPDATED.
content::NotificationService::current()->Notify(
extensions::NOTIFICATION_USER_SCRIPTS_UPDATED,
content::Source<BrowserContext>(browser_context_),
content::Details<base::SharedMemory>(shared_memory_.get()));
+ FOR_EACH_OBSERVER(Observer, observers_, OnScriptsLoaded(this));
}
void UserScriptLoader::SendUpdate(content::RenderProcessHost* process,