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

Unified Diff: chrome/browser/extensions/execute_code_in_tab_function.cc

Issue 9456037: Adding run_at to chrome.tabs.executeScript/insertCss. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/execute_code_in_tab_function.cc
diff --git a/chrome/browser/extensions/execute_code_in_tab_function.cc b/chrome/browser/extensions/execute_code_in_tab_function.cc
index d17de243da87b5ef0c556ab6cc2e0f899bf3e07f..e0057f7c16f4b53a01aadf7c0b4df7dc06fae000 100644
--- a/chrome/browser/extensions/execute_code_in_tab_function.cc
+++ b/chrome/browser/extensions/execute_code_in_tab_function.cc
@@ -31,7 +31,8 @@ namespace keys = extension_tabs_module_constants;
ExecuteCodeInTabFunction::ExecuteCodeInTabFunction()
: execute_tab_id_(-1),
- all_frames_(false) {
+ all_frames_(false),
+ run_at_(UserScript::DOCUMENT_IDLE) {
}
ExecuteCodeInTabFunction::~ExecuteCodeInTabFunction() {
@@ -95,6 +96,21 @@ bool ExecuteCodeInTabFunction::RunImpl() {
return false;
}
+ if (script_info->HasKey(keys::kRunAtKey)) {
+ std::string run_string;
+ EXTENSION_FUNCTION_VALIDATE(script_info->GetString(
+ keys::kRunAtKey, &run_string));
+
+ if (run_string == extension_manifest_values::kRunAtDocumentStart)
+ run_at_ = UserScript::DOCUMENT_START;
+ else if (run_string == extension_manifest_values::kRunAtDocumentEnd)
+ run_at_ = UserScript::DOCUMENT_END;
+ else if (run_string == extension_manifest_values::kRunAtDocumentIdle)
+ run_at_ = UserScript::DOCUMENT_IDLE;
+ else
+ EXTENSION_FUNCTION_VALIDATE(false);
+ }
+
std::string code_string;
if (script_info->HasKey(keys::kCodeKey)) {
if (!script_info->GetString(keys::kCodeKey, &code_string))
@@ -222,6 +238,7 @@ bool ExecuteCodeInTabFunction::Execute(const std::string& code_string) {
params.is_javascript = is_js_code;
params.code = code_string;
params.all_frames = all_frames_;
+ params.run_at = run_at_;
params.in_main_world = false;
contents->web_contents()->GetRenderViewHost()->Send(
new ExtensionMsg_ExecuteCode(

Powered by Google App Engine
This is Rietveld 408576698