| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |