Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index 28a872ef78202b0087fa0a49be6249372d093734..44d796e8cfb1043bca9ea0a94767284eab023c61 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -774,6 +774,8 @@ bool RenderFrameImpl::OnMessageReceived(const IPC::Message& msg) { |
IPC_MESSAGE_HANDLER(FrameMsg_CSSInsertRequest, OnCSSInsertRequest) |
IPC_MESSAGE_HANDLER(FrameMsg_JavaScriptExecuteRequest, |
OnJavaScriptExecuteRequest) |
+ IPC_MESSAGE_HANDLER(FrameMsg_JavaScriptExecuteRequestForTests, |
+ OnJavaScriptExecuteRequestForTests) |
IPC_MESSAGE_HANDLER(FrameMsg_SetEditableSelectionOffsets, |
OnSetEditableSelectionOffsets) |
IPC_MESSAGE_HANDLER(FrameMsg_SetupTransitionView, OnSetupTransitionView) |
@@ -1231,6 +1233,29 @@ void RenderFrameImpl::OnJavaScriptExecuteRequest( |
v8::HandleScope handle_scope(v8::Isolate::GetCurrent()); |
v8::Handle<v8::Value> result = |
frame_->executeScriptAndReturnValue(WebScriptSource(jscript)); |
+ |
+ HandleJavascriptExecutionResult(jscript, id, notify_result, result); |
+} |
+ |
+void RenderFrameImpl::OnJavaScriptExecuteRequestForTests( |
+ const base::string16& jscript, |
+ int id, |
+ bool notify_result) { |
+ TRACE_EVENT_INSTANT0("test_tracing", "OnJavaScriptExecuteRequestForTests", |
+ TRACE_EVENT_SCOPE_THREAD); |
+ |
+ v8::HandleScope handle_scope(v8::Isolate::GetCurrent()); |
+ v8::Handle<v8::Value> result = |
+ frame_->executeScriptAndReturnValueForTests(WebScriptSource(jscript)); |
+ |
+ HandleJavascriptExecutionResult(jscript, id, notify_result, result); |
+} |
+ |
+void RenderFrameImpl::HandleJavascriptExecutionResult( |
+ const base::string16& jscript, |
+ int id, |
+ bool notify_result, |
+ v8::Handle<v8::Value> result) { |
if (notify_result) { |
base::ListValue list; |
if (!result.IsEmpty()) { |