diff options
author | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-25 02:27:47 +0000 |
---|---|---|
committer | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-25 02:27:47 +0000 |
commit | db3be76f4ac9295155341798366eb049273698aa (patch) | |
tree | 69ed28c44414dac0492c6e6eeb2dced55463e98e | |
parent | 077592dcf7750c927ca0cc14481fbf555b1eb229 (diff) | |
download | chromium_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.cc | 3 | ||||
-rw-r--r-- | chrome/common/render_messages.h | 13 | ||||
-rw-r--r-- | chrome/renderer/chrome_render_view_observer.cc | 20 | ||||
-rw-r--r-- | chrome/renderer/chrome_render_view_observer.h | 16 | ||||
-rw-r--r-- | chrome/renderer/net/net_error_helper.cc | 3 | ||||
-rw-r--r-- | content/public/renderer/render_frame.h | 4 | ||||
-rw-r--r-- | content/public/renderer/render_view.h | 6 | ||||
-rw-r--r-- | content/renderer/render_frame_impl.cc | 4 | ||||
-rw-r--r-- | content/renderer/render_frame_impl.h | 2 | ||||
-rw-r--r-- | content/renderer/render_view_impl.h | 9 |
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 |