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

Side by Side Diff: extensions/browser/extension_user_script_loader.cc

Issue 2227193002: Make UserScript non-copyable. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: sync @tott Created 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "extensions/browser/extension_user_script_loader.h" 5 #include "extensions/browser/extension_user_script_loader.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 if (iter == hosts_info.end()) 121 if (iter == hosts_info.end())
122 return nullptr; 122 return nullptr;
123 return file_util::LoadMessageBundleSubstitutionMap( 123 return file_util::LoadMessageBundleSubstitutionMap(
124 iter->second.first, host_id.id(), iter->second.second); 124 iter->second.first, host_id.id(), iter->second.second);
125 } 125 }
126 126
127 void LoadUserScripts(UserScriptList* user_scripts, 127 void LoadUserScripts(UserScriptList* user_scripts,
128 const ExtensionUserScriptLoader::HostsInfo& hosts_info, 128 const ExtensionUserScriptLoader::HostsInfo& hosts_info,
129 const std::set<int>& added_script_ids, 129 const std::set<int>& added_script_ids,
130 const scoped_refptr<ContentVerifier>& verifier) { 130 const scoped_refptr<ContentVerifier>& verifier) {
131 for (UserScript& script : *user_scripts) { 131 for (const std::unique_ptr<UserScript>& script : *user_scripts) {
132 if (added_script_ids.count(script.id()) == 0) 132 if (added_script_ids.count(script->id()) == 0)
133 continue; 133 continue;
134 for (UserScript::File& script_file : script.js_scripts()) { 134 for (const std::unique_ptr<UserScript::File>& script_file :
135 if (script_file.GetContent().empty()) 135 script->js_scripts()) {
136 LoadScriptContent(script.host_id(), &script_file, nullptr, verifier); 136 if (script_file->GetContent().empty())
137 LoadScriptContent(script->host_id(), script_file.get(), nullptr,
138 verifier);
137 } 139 }
138 if (script.css_scripts().size() > 0) { 140 if (script->css_scripts().size() > 0) {
139 std::unique_ptr<SubstitutionMap> localization_messages( 141 std::unique_ptr<SubstitutionMap> localization_messages(
140 GetLocalizationMessages(hosts_info, script.host_id())); 142 GetLocalizationMessages(hosts_info, script->host_id()));
141 for (UserScript::File& script_file : script.css_scripts()) { 143 for (const std::unique_ptr<UserScript::File>& script_file :
142 if (script_file.GetContent().empty()) { 144 script->css_scripts()) {
143 LoadScriptContent(script.host_id(), &script_file, 145 if (script_file->GetContent().empty()) {
146 LoadScriptContent(script->host_id(), script_file.get(),
144 localization_messages.get(), verifier); 147 localization_messages.get(), verifier);
145 } 148 }
146 } 149 }
147 } 150 }
148 } 151 }
149 } 152 }
150 153
151 void LoadScriptsOnFileThread( 154 void LoadScriptsOnFileThread(
152 std::unique_ptr<UserScriptList> user_scripts, 155 std::unique_ptr<UserScriptList> user_scripts,
153 const ExtensionUserScriptLoader::HostsInfo& hosts_info, 156 const ExtensionUserScriptLoader::HostsInfo& hosts_info,
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 } 189 }
187 } 190 }
188 191
189 ExtensionUserScriptLoader::~ExtensionUserScriptLoader() { 192 ExtensionUserScriptLoader::~ExtensionUserScriptLoader() {
190 } 193 }
191 194
192 void ExtensionUserScriptLoader::LoadScriptsForTest( 195 void ExtensionUserScriptLoader::LoadScriptsForTest(
193 UserScriptList* user_scripts) { 196 UserScriptList* user_scripts) {
194 HostsInfo info; 197 HostsInfo info;
195 std::set<int> added_script_ids; 198 std::set<int> added_script_ids;
196 for (UserScript& script : *user_scripts) 199 for (const std::unique_ptr<UserScript>& script : *user_scripts)
197 added_script_ids.insert(script.id()); 200 added_script_ids.insert(script->id());
198 201
199 LoadUserScripts(user_scripts, info, added_script_ids, 202 LoadUserScripts(user_scripts, info, added_script_ids,
200 nullptr /* no verifier for testing */); 203 nullptr /* no verifier for testing */);
201 } 204 }
202 205
203 void ExtensionUserScriptLoader::LoadScripts( 206 void ExtensionUserScriptLoader::LoadScripts(
204 std::unique_ptr<UserScriptList> user_scripts, 207 std::unique_ptr<UserScriptList> user_scripts,
205 const std::set<HostID>& changed_hosts, 208 const std::set<HostID>& changed_hosts,
206 const std::set<int>& added_script_ids, 209 const std::set<int>& added_script_ids,
207 LoadScriptsCallback callback) { 210 LoadScriptsCallback callback) {
(...skipping 27 matching lines...) Expand all
235 const Extension* extension, 238 const Extension* extension,
236 UnloadedExtensionInfo::Reason reason) { 239 UnloadedExtensionInfo::Reason reason) {
237 hosts_info_.erase(HostID(HostID::EXTENSIONS, extension->id())); 240 hosts_info_.erase(HostID(HostID::EXTENSIONS, extension->id()));
238 } 241 }
239 242
240 void ExtensionUserScriptLoader::OnExtensionSystemReady() { 243 void ExtensionUserScriptLoader::OnExtensionSystemReady() {
241 SetReady(true); 244 SetReady(true);
242 } 245 }
243 246
244 } // namespace extensions 247 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698