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

Side by Side Diff: chrome/browser/extensions/user_script_master.cc

Issue 339064: Add new user script injection point: document_idle. (Closed)
Patch Set: smaller, cleaner, better Created 11 years, 1 month 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
« no previous file with comments | « no previous file | chrome/chrome.gyp » ('j') | chrome/renderer/navigation_state.h » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2008 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 "chrome/browser/extensions/user_script_master.h" 5 #include "chrome/browser/extensions/user_script_master.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/file_path.h" 10 #include "base/file_path.h"
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 if (!file_util::DirectoryExists(script_dir)) 159 if (!file_util::DirectoryExists(script_dir))
160 file_util::CreateDirectory(script_dir); 160 file_util::CreateDirectory(script_dir);
161 161
162 file_util::FileEnumerator enumerator(script_dir, false, 162 file_util::FileEnumerator enumerator(script_dir, false,
163 file_util::FileEnumerator::FILES, 163 file_util::FileEnumerator::FILES,
164 FILE_PATH_LITERAL("*.user.js")); 164 FILE_PATH_LITERAL("*.user.js"));
165 for (FilePath file = enumerator.Next(); !file.value().empty(); 165 for (FilePath file = enumerator.Next(); !file.value().empty();
166 file = enumerator.Next()) { 166 file = enumerator.Next()) {
167 result->push_back(UserScript()); 167 result->push_back(UserScript());
168 UserScript& user_script = result->back(); 168 UserScript& user_script = result->back();
169
170 // We default standalone user scripts to document-end for better
171 // Greasemonkey compatibility.
172 user_script.set_run_location(UserScript::DOCUMENT_END);
173
169 // Push single js file in this UserScript. 174 // Push single js file in this UserScript.
170 GURL url(std::string(chrome::kUserScriptScheme) + ":/" + 175 GURL url(std::string(chrome::kUserScriptScheme) + ":/" +
171 net::FilePathToFileURL(file).ExtractFileName()); 176 net::FilePathToFileURL(file).ExtractFileName());
172 user_script.js_scripts().push_back(UserScript::File( 177 user_script.js_scripts().push_back(UserScript::File(
173 script_dir, file.BaseName(), url)); 178 script_dir, file.BaseName(), url));
174 UserScript::File& script_file = user_script.js_scripts().back(); 179 UserScript::File& script_file = user_script.js_scripts().back();
175 if (!LoadScriptContent(&script_file)) 180 if (!LoadScriptContent(&script_file))
176 result->pop_back(); 181 result->pop_back();
177 else 182 else
178 ParseMetadataHeader(script_file.GetContent(), &user_script); 183 ParseMetadataHeader(script_file.GetContent(), &user_script);
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 DCHECK(false); 383 DCHECK(false);
379 } 384 }
380 } 385 }
381 386
382 void UserScriptMaster::StartScan() { 387 void UserScriptMaster::StartScan() {
383 if (!script_reloader_) 388 if (!script_reloader_)
384 script_reloader_ = new ScriptReloader(this); 389 script_reloader_ = new ScriptReloader(this);
385 390
386 script_reloader_->StartScan(worker_loop_, user_script_dir_, lone_scripts_); 391 script_reloader_->StartScan(worker_loop_, user_script_dir_, lone_scripts_);
387 } 392 }
OLDNEW
« no previous file with comments | « no previous file | chrome/chrome.gyp » ('j') | chrome/renderer/navigation_state.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698