summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoravi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-25 02:27:47 +0000
committeravi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-25 02:27:47 +0000
commitdb3be76f4ac9295155341798366eb049273698aa (patch)
tree69ed28c44414dac0492c6e6eeb2dced55463e98e
parent077592dcf7750c927ca0cc14481fbf555b1eb229 (diff)
downloadchromium_src-db3be76f4ac9295155341798366eb049273698aa.zip
chromium_src-db3be76f4ac9295155341798366eb049273698aa.tar.gz
chromium_src-db3be76f4ac9295155341798366eb049273698aa.tar.bz2
Remove uses of RenderView::EvaluateScript.
BUG=304341 TEST=no change Review URL: https://codereview.chromium.org/200933004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259106 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/ui/webui/web_ui_test_handler.cc3
-rw-r--r--chrome/common/render_messages.h13
-rw-r--r--chrome/renderer/chrome_render_view_observer.cc20
-rw-r--r--chrome/renderer/chrome_render_view_observer.h16
-rw-r--r--chrome/renderer/net/net_error_helper.cc3
-rw-r--r--content/public/renderer/render_frame.h4
-rw-r--r--content/public/renderer/render_view.h6
-rw-r--r--content/renderer/render_frame_impl.cc4
-rw-r--r--content/renderer/render_frame_impl.h2
-rw-r--r--content/renderer/render_view_impl.h9
10 files changed, 28 insertions, 52 deletions
diff --git a/chrome/browser/ui/webui/web_ui_test_handler.cc b/chrome/browser/ui/webui/web_ui_test_handler.cc
index 8f1d7b7..0f7a8f7 100644
--- a/chrome/browser/ui/webui/web_ui_test_handler.cc
+++ b/chrome/browser/ui/webui/web_ui_test_handler.cc
@@ -32,8 +32,7 @@ void WebUITestHandler::PreloadJavaScript(const base::string16& js_text,
RenderViewHost* preload_host) {
DCHECK(preload_host);
preload_host->Send(new ChromeViewMsg_WebUIJavaScript(
- preload_host->GetRoutingID(), base::string16(), js_text, 0,
- false));
+ preload_host->GetRoutingID(), js_text));
}
void WebUITestHandler::RunJavaScript(const base::string16& js_text) {
diff --git a/chrome/common/render_messages.h b/chrome/common/render_messages.h
index 2967cfa..e58e666 100644
--- a/chrome/common/render_messages.h
+++ b/chrome/common/render_messages.h
@@ -262,14 +262,11 @@ IPC_MESSAGE_CONTROL3(ChromeViewMsg_SetCacheCapacities,
IPC_MESSAGE_CONTROL1(ChromeViewMsg_ClearCache,
bool /* on_navigation */)
-// For WebUI testing, this message stores parameters to do ScriptEvalRequest at
-// a time which is late enough to not be thrown out, and early enough to be
-// before onload events are fired.
-IPC_MESSAGE_ROUTED4(ChromeViewMsg_WebUIJavaScript,
- base::string16, /* frame_xpath */
- base::string16, /* jscript_url */
- int, /* ID */
- bool /* If true, result is sent back. */)
+// For WebUI testing, this message requests JavaScript to be executed at a time
+// which is late enough to not be thrown out, and early enough to be before
+// onload events are fired.
+IPC_MESSAGE_ROUTED1(ChromeViewMsg_WebUIJavaScript,
+ base::string16 /* javascript */)
// Set the content setting rules stored by the renderer.
IPC_MESSAGE_CONTROL1(ChromeViewMsg_SetContentSettingRules,
diff --git a/chrome/renderer/chrome_render_view_observer.cc b/chrome/renderer/chrome_render_view_observer.cc
index af98718..1632013 100644
--- a/chrome/renderer/chrome_render_view_observer.cc
+++ b/chrome/renderer/chrome_render_view_observer.cc
@@ -255,15 +255,8 @@ bool ChromeRenderViewObserver::OnMessageReceived(const IPC::Message& message) {
}
void ChromeRenderViewObserver::OnWebUIJavaScript(
- const base::string16& frame_xpath,
- const base::string16& jscript,
- int id,
- bool notify_result) {
- webui_javascript_.reset(new WebUIJavaScript());
- webui_javascript_->frame_xpath = frame_xpath;
- webui_javascript_->jscript = jscript;
- webui_javascript_->id = id;
- webui_javascript_->notify_result = notify_result;
+ const base::string16& javascript) {
+ webui_javascript_ = javascript;
}
void ChromeRenderViewObserver::OnJavaScriptStressTestControl(int cmd,
@@ -395,12 +388,9 @@ void ChromeRenderViewObserver::OnGetFPS() {
void ChromeRenderViewObserver::DidStartLoading() {
if ((render_view()->GetEnabledBindings() & content::BINDINGS_POLICY_WEB_UI) &&
- webui_javascript_.get()) {
- render_view()->EvaluateScript(webui_javascript_->frame_xpath,
- webui_javascript_->jscript,
- webui_javascript_->id,
- webui_javascript_->notify_result);
- webui_javascript_.reset();
+ !webui_javascript_.empty()) {
+ render_view()->GetMainRenderFrame()->ExecuteJavaScript(webui_javascript_);
+ webui_javascript_.clear();
}
}
diff --git a/chrome/renderer/chrome_render_view_observer.h b/chrome/renderer/chrome_render_view_observer.h
index 117a3cb..5462cf5 100644
--- a/chrome/renderer/chrome_render_view_observer.h
+++ b/chrome/renderer/chrome_render_view_observer.h
@@ -45,15 +45,6 @@ class ChromeRenderViewObserver : public content::RenderViewObserver {
virtual ~ChromeRenderViewObserver();
private:
- // Holds the information received in OnWebUIJavaScript for later use
- // to call EvaluateScript() to preload javascript for WebUI tests.
- struct WebUIJavaScript {
- base::string16 frame_xpath;
- base::string16 jscript;
- int id;
- bool notify_result;
- };
-
// RenderViewObserver implementation.
virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
virtual void DidStartLoading() OVERRIDE;
@@ -67,10 +58,7 @@ class ChromeRenderViewObserver : public content::RenderViewObserver {
int32 severity_level) OVERRIDE;
virtual void Navigate(const GURL& url) OVERRIDE;
- void OnWebUIJavaScript(const base::string16& frame_xpath,
- const base::string16& jscript,
- int id,
- bool notify_result);
+ void OnWebUIJavaScript(const base::string16& javascript);
void OnJavaScriptStressTestControl(int cmd, int param);
void OnSetClientSidePhishingDetection(bool enable_phishing_detection);
void OnSetVisuallyDeemphasized(bool deemphasized);
@@ -104,7 +92,7 @@ class ChromeRenderViewObserver : public content::RenderViewObserver {
bool HasRefreshMetaTag(blink::WebFrame* frame);
// Save the JavaScript to preload if a ViewMsg_WebUIJavaScript is received.
- scoped_ptr<WebUIJavaScript> webui_javascript_;
+ base::string16 webui_javascript_;
// Owned by ChromeContentRendererClient and outlive us.
ChromeRenderProcessObserver* chrome_render_process_observer_;
diff --git a/chrome/renderer/net/net_error_helper.cc b/chrome/renderer/net/net_error_helper.cc
index ae89655..21aa44f 100644
--- a/chrome/renderer/net/net_error_helper.cc
+++ b/chrome/renderer/net/net_error_helper.cc
@@ -208,8 +208,7 @@ void NetErrorHelper::UpdateErrorPage(const blink::WebURLError& error,
return;
}
- base::string16 frame_xpath;
- render_frame()->GetRenderView()->EvaluateScript(frame_xpath, js16, 0, false);
+ render_frame()->ExecuteJavaScript(js16);
}
void NetErrorHelper::FetchNavigationCorrections(
diff --git a/content/public/renderer/render_frame.h b/content/public/renderer/render_frame.h
index 793b0d9..f7de446 100644
--- a/content/public/renderer/render_frame.h
+++ b/content/public/renderer/render_frame.h
@@ -5,6 +5,7 @@
#ifndef CONTENT_PUBLIC_RENDERER_RENDER_FRAME_H_
#define CONTENT_PUBLIC_RENDERER_RENDER_FRAME_H_
+#include "base/strings/string16.h"
#include "content/common/content_export.h"
#include "ipc/ipc_listener.h"
#include "ipc/ipc_sender.h"
@@ -81,6 +82,9 @@ class CONTENT_EXPORT RenderFrame : public IPC::Listener,
const blink::WebURLRequest& request,
blink::WebNavigationPolicy policy) = 0;
+ // Execute a string of JavaScript in this frame's context.
+ virtual void ExecuteJavaScript(const base::string16& javascript) = 0;
+
protected:
virtual ~RenderFrame() {}
diff --git a/content/public/renderer/render_view.h b/content/public/renderer/render_view.h
index b0e95fe..60de1c4 100644
--- a/content/public/renderer/render_view.h
+++ b/content/public/renderer/render_view.h
@@ -84,12 +84,6 @@ class CONTENT_EXPORT RenderView : public IPC::Sender {
// editable div, or has an ARIA role of textbox.
virtual bool IsEditableNode(const blink::WebNode& node) const = 0;
- // Evaluates a string of JavaScript in a particular frame.
- virtual void EvaluateScript(const base::string16& frame_xpath,
- const base::string16& jscript,
- int id,
- bool notify_result) = 0;
-
// Returns true if we should display scrollbars for the given view size and
// false if the scrollbars should be hidden.
virtual bool ShouldDisplayScrollbars(int width, int height) const = 0;
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index 426630f..2eba31d 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -1094,6 +1094,10 @@ void RenderFrameImpl::LoadURLExternally(
loadURLExternally(frame, request, policy);
}
+void RenderFrameImpl::ExecuteJavaScript(const base::string16& javascript) {
+ OnJavaScriptExecuteRequest(javascript, 0, false);
+}
+
void RenderFrameImpl::OnChildFrameProcessGone() {
if (compositing_helper_)
compositing_helper_->ChildFrameGone();
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
index 3283266..129dfc7 100644
--- a/content/renderer/render_frame_impl.h
+++ b/content/renderer/render_frame_impl.h
@@ -14,7 +14,6 @@
#include "base/memory/weak_ptr.h"
#include "base/observer_list.h"
#include "base/process/process_handle.h"
-#include "base/strings/string16.h"
#include "content/public/common/referrer.h"
#include "content/public/renderer/render_frame.h"
#include "content/renderer/renderer_webcookiejar_impl.h"
@@ -184,6 +183,7 @@ class CONTENT_EXPORT RenderFrameImpl
blink::WebFrame* frame,
const blink::WebURLRequest& request,
blink::WebNavigationPolicy policy) OVERRIDE;
+ virtual void ExecuteJavaScript(const base::string16& javascript) OVERRIDE;
// blink::WebFrameClient implementation -------------------------------------
virtual blink::WebPlugin* createPlugin(
diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h
index ed05200..75b990a 100644
--- a/content/renderer/render_view_impl.h
+++ b/content/renderer/render_view_impl.h
@@ -638,10 +638,6 @@ class CONTENT_EXPORT RenderViewImpl
virtual blink::WebView* GetWebView() OVERRIDE;
virtual blink::WebElement GetFocusedElement() const OVERRIDE;
virtual bool IsEditableNode(const blink::WebNode& node) const OVERRIDE;
- virtual void EvaluateScript(const base::string16& frame_xpath,
- const base::string16& jscript,
- int id,
- bool notify_result) OVERRIDE;
virtual bool ShouldDisplayScrollbars(int width, int height) const OVERRIDE;
virtual int GetEnabledBindings() const OVERRIDE;
virtual bool GetContentStateImmediately() const OVERRIDE;
@@ -852,6 +848,11 @@ class CONTENT_EXPORT RenderViewImpl
// Called when the "pinned to left/right edge" state needs to be updated.
void UpdateScrollState(blink::WebFrame* frame);
+ void EvaluateScript(const base::string16& frame_xpath,
+ const base::string16& jscript,
+ int id,
+ bool notify_result);
+
// IPC message handlers ------------------------------------------------------
//
// The documentation for these functions should be in