Index: chrome/browser/extensions/declarative_user_script_manager.cc |
diff --git a/chrome/browser/extensions/declarative_user_script_manager.cc b/chrome/browser/extensions/declarative_user_script_manager.cc |
index e740b5b4f4e25c94889afcea7c8d1f92cecc1eb6..f8bcf5d87337407b41f648e3ca328d6751bfd3b5 100644 |
--- a/chrome/browser/extensions/declarative_user_script_manager.cc |
+++ b/chrome/browser/extensions/declarative_user_script_manager.cc |
@@ -4,7 +4,7 @@ |
#include "chrome/browser/extensions/declarative_user_script_manager.h" |
-#include "chrome/browser/extensions/declarative_user_script_master.h" |
+#include "chrome/browser/extensions/extension_declarative_user_script_master.h" |
namespace extensions { |
@@ -15,18 +15,32 @@ DeclarativeUserScriptManager::DeclarativeUserScriptManager(Profile* profile) |
DeclarativeUserScriptManager::~DeclarativeUserScriptManager() { |
} |
-DeclarativeUserScriptMaster* |
+linked_ptr<DeclarativeUserScriptMaster> |
DeclarativeUserScriptManager::GetDeclarativeUserScriptMasterByID( |
- const std::string& id) { |
- UserScriptMasterMap::iterator it = declarative_user_script_masters_.find(id); |
+ const ConsumerID& consumer_id) { |
+ UserScriptMasterMap::iterator it = |
+ declarative_user_script_masters_.find(consumer_id); |
if (it != declarative_user_script_masters_.end()) |
- return it->second.get(); |
+ return it->second; |
- linked_ptr<DeclarativeUserScriptMaster> master( |
- new DeclarativeUserScriptMaster(profile_, id)); |
- declarative_user_script_masters_[id] = master; |
- return master.get(); |
+ return CreateDeclarativeUserScriptMaster(consumer_id); |
} |
-} // extensions |
+linked_ptr<DeclarativeUserScriptMaster> |
+DeclarativeUserScriptManager::CreateDeclarativeUserScriptMaster( |
+ const ConsumerID& consumer_id) { |
+ linked_ptr<DeclarativeUserScriptMaster> master; |
+ switch (consumer_id.host_type()) { |
+ case ConsumerID::EXTENSIONS: |
+ master.reset( |
+ new ExtensionDeclarativeUserScriptMaster(profile_, consumer_id)); |
+ break; |
+ default: |
+ master.reset(new DeclarativeUserScriptMaster(profile_, consumer_id)); |
+ } |
+ declarative_user_script_masters_[consumer_id] = master; |
+ return master; |
+} |
+ |
+} // namespace extensions |