| 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()) {
|
|
|