Chromium Code Reviews| Index: chrome/browser/extensions/shared_user_script_master.cc |
| diff --git a/chrome/browser/extensions/shared_user_script_master.cc b/chrome/browser/extensions/shared_user_script_master.cc |
| index 329254d716b25cd29033857295423e8ea2b61d04..901df8946570a810a8b9b650817bddaa60201137 100644 |
| --- a/chrome/browser/extensions/shared_user_script_master.cc |
| +++ b/chrome/browser/extensions/shared_user_script_master.cc |
| @@ -34,24 +34,28 @@ void SharedUserScriptMaster::OnExtensionUnloaded( |
| content::BrowserContext* browser_context, |
| const Extension* extension, |
| UnloadedExtensionInfo::Reason reason) { |
| - loader_.RemoveScripts(GetScriptsMetadata(extension)); |
| + const UserScriptList& script_list = |
| + ContentScriptsInfo::GetContentScripts(extension); |
| + std::set<UserScriptIDPair> scripts_to_remove; |
| + for (const UserScript& script : script_list) |
| + scripts_to_remove.insert(UserScriptIDPair(script.id(), script.host_id())); |
| + loader_.RemoveScripts(scripts_to_remove); |
| } |
| -const std::set<UserScript> SharedUserScriptMaster::GetScriptsMetadata( |
| +const std::vector<UserScript> SharedUserScriptMaster::GetScriptsMetadata( |
| const Extension* extension) { |
| bool incognito_enabled = util::IsIncognitoEnabled(extension->id(), profile_); |
| const UserScriptList& script_list = |
| ContentScriptsInfo::GetContentScripts(extension); |
| - std::set<UserScript> script_set; |
| - for (UserScriptList::const_iterator it = script_list.begin(); |
| - it != script_list.end(); |
| - ++it) { |
| - UserScript script = *it; |
| - script.set_incognito_enabled(incognito_enabled); |
| - script_set.insert(script); |
| + std::vector<UserScript> scripts; |
| + scripts.reserve(script_list.size()); |
| + for (const UserScript& script : script_list) { |
| + UserScript script_copy = script; |
|
Devlin
2016/08/09 23:28:54
This is actually two copies (and was before, too).
lazyboy
2016/08/10 00:03:41
Done
(Yes, this is temporary, on my next CL i'm do
|
| + script_copy.set_incognito_enabled(incognito_enabled); |
| + scripts.push_back(script_copy); |
| } |
| - return script_set; |
| + return scripts; |
| } |
| } // namespace extensions |