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

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

Issue 10383104: Extract executeScript-like functionality into a single ExtensionScriptExecutor class. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 7 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 44d03f23a7c0ef934529dfa809de11f73d17e9f0..e9b3caa18f1464aeb4b281eba9509dbd7c967863 100644
--- a/chrome/browser/extensions/execute_code_in_tab_function.cc
+++ b/chrome/browser/extensions/execute_code_in_tab_function.cc
@@ -12,6 +12,7 @@
#include "chrome/browser/extensions/extension_tabs_module.h"
#include "chrome/browser/extensions/extension_tabs_module_constants.h"
#include "chrome/browser/extensions/file_reader.h"
+#include "chrome/browser/extensions/script_executor.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
@@ -141,29 +142,7 @@ bool ExecuteCodeInTabFunction::RunImpl() {
return true;
}
-bool ExecuteCodeInTabFunction::OnMessageReceived(const IPC::Message& message) {
- if (message.type() != ExtensionHostMsg_ExecuteCodeFinished::ID)
- return false;
-
- int message_request_id;
- PickleIterator iter(message);
- if (!message.ReadInt(&iter, &message_request_id)) {
- NOTREACHED() << "malformed extension message";
- return true;
- }
-
- if (message_request_id != request_id())
- return false;
-
- IPC_BEGIN_MESSAGE_MAP(ExecuteCodeInTabFunction, message)
- IPC_MESSAGE_HANDLER(ExtensionHostMsg_ExecuteCodeFinished,
- OnExecuteCodeFinished)
- IPC_END_MESSAGE_MAP()
- return true;
-}
-
-void ExecuteCodeInTabFunction::OnExecuteCodeFinished(int request_id,
- bool success,
+void ExecuteCodeInTabFunction::OnExecuteCodeFinished(bool success,
const std::string& error) {
if (!error.empty()) {
CHECK(!success);
@@ -171,9 +150,6 @@ void ExecuteCodeInTabFunction::OnExecuteCodeFinished(int request_id,
}
SendResponse(success);
-
- Observe(NULL);
- Release(); // balanced in Execute()
}
void ExecuteCodeInTabFunction::DidLoadFile(bool success,
@@ -267,20 +243,13 @@ bool ExecuteCodeInTabFunction::Execute(const std::string& code_string) {
DCHECK(false);
}
- ExtensionMsg_ExecuteCode_Params params;
- params.request_id = request_id();
- params.extension_id = extension->id();
- 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(
- contents->web_contents()->GetRenderViewHost()->GetRoutingID(),
- params));
-
- Observe(contents->web_contents());
- AddRef(); // balanced in OnExecuteCodeFinished()
+ contents->extensions_script_executor()->ExecuteScript(
+ extension->id(),
+ is_js_code,
+ code_string,
+ all_frames_,
+ run_at_,
+ false,
+ base::Bind(&ExecuteCodeInTabFunction::OnExecuteCodeFinished, this));
return true;
}

Powered by Google App Engine
This is Rietveld 408576698