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

Unified Diff: content/public/test/browser_test_utils.cc

Issue 11753009: Simplify ExecuteJavaScript* functions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update prerender_browsertest.cc. Created 7 years, 12 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
« no previous file with comments | « content/public/test/browser_test_utils.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/public/test/browser_test_utils.cc
diff --git a/content/public/test/browser_test_utils.cc b/content/public/test/browser_test_utils.cc
index f793a37fada972d65cc11fe5d1eea70513488ded..69d0b98cd47ad47f1670f7ce50c43903d246c6b8 100644
--- a/content/public/test/browser_test_utils.cc
+++ b/content/public/test/browser_test_utils.cc
@@ -39,11 +39,11 @@ namespace {
class DOMOperationObserver : public NotificationObserver,
public WebContentsObserver {
public:
- explicit DOMOperationObserver(RenderViewHost* render_view_host)
- : WebContentsObserver(WebContents::FromRenderViewHost(render_view_host)),
+ explicit DOMOperationObserver(RenderViewHost* rvh)
+ : WebContentsObserver(WebContents::FromRenderViewHost(rvh)),
did_respond_(false) {
registrar_.Add(this, NOTIFICATION_DOM_OPERATION_RESPONSE,
- Source<RenderViewHost>(render_view_host));
+ Source<RenderViewHost>(rvh));
message_loop_runner_ = new MessageLoopRunner;
}
@@ -78,18 +78,18 @@ class DOMOperationObserver : public NotificationObserver,
};
// Specifying a prototype so that we can add the WARN_UNUSED_RESULT attribute.
-bool ExecuteJavaScriptHelper(RenderViewHost* render_view_host,
- const std::string& frame_xpath,
- const std::string& original_script,
- scoped_ptr<Value>* result) WARN_UNUSED_RESULT;
+bool ExecuteScriptHelper(RenderViewHost* render_view_host,
+ const std::string& frame_xpath,
+ const std::string& original_script,
+ scoped_ptr<Value>* result) WARN_UNUSED_RESULT;
// Executes the passed |original_script| in the frame pointed to by
// |frame_xpath|. If |result| is not NULL, stores the value that the evaluation
// of the script in |result|. Returns true on success.
-bool ExecuteJavaScriptHelper(RenderViewHost* render_view_host,
- const std::string& frame_xpath,
- const std::string& original_script,
- scoped_ptr<Value>* result) {
+bool ExecuteScriptHelper(RenderViewHost* render_view_host,
+ const std::string& frame_xpath,
+ const std::string& original_script,
+ scoped_ptr<Value>* result) {
// TODO(jcampan): we should make the domAutomationController not require an
// automation id.
std::string script =
@@ -280,53 +280,93 @@ void SimulateKeyPress(WebContents* web_contents,
web_contents->GetRenderViewHost()->ForwardKeyboardEvent(event_up);
}
-bool ExecuteJavaScript(RenderViewHost* render_view_host,
- const std::string& frame_xpath,
- const std::string& original_script) {
+namespace internal {
+
+ToRenderViewHost::ToRenderViewHost(WebContents* web_contents)
+ : render_view_host_(web_contents->GetRenderViewHost()) {
+}
+
+ToRenderViewHost::ToRenderViewHost(RenderViewHost* render_view_host)
+ : render_view_host_(render_view_host) {
+}
+
+} // namespace internal
+
+bool ExecuteScriptInFrame(const internal::ToRenderViewHost& adapter,
+ const std::string& frame_xpath,
+ const std::string& original_script) {
std::string script =
original_script + ";window.domAutomationController.send(0);";
- return ExecuteJavaScriptHelper(render_view_host, frame_xpath, script, NULL);
+ return ExecuteScriptHelper(adapter.render_view_host(), frame_xpath, script,
+ NULL);
}
-bool ExecuteJavaScriptAndExtractInt(RenderViewHost* render_view_host,
- const std::string& frame_xpath,
- const std::string& script,
- int* result) {
+bool ExecuteScriptInFrameAndExtractInt(
+ const internal::ToRenderViewHost& adapter,
+ const std::string& frame_xpath,
+ const std::string& script,
+ int* result) {
DCHECK(result);
scoped_ptr<Value> value;
- if (!ExecuteJavaScriptHelper(render_view_host, frame_xpath, script, &value) ||
- !value.get())
+ if (!ExecuteScriptHelper(adapter.render_view_host(), frame_xpath, script,
+ &value) || !value.get())
return false;
return value->GetAsInteger(result);
}
-bool ExecuteJavaScriptAndExtractBool(RenderViewHost* render_view_host,
- const std::string& frame_xpath,
- const std::string& script,
- bool* result) {
+bool ExecuteScriptInFrameAndExtractBool(
+ const internal::ToRenderViewHost& adapter,
+ const std::string& frame_xpath,
+ const std::string& script,
+ bool* result) {
DCHECK(result);
scoped_ptr<Value> value;
- if (!ExecuteJavaScriptHelper(render_view_host, frame_xpath, script, &value) ||
- !value.get())
+ if (!ExecuteScriptHelper(adapter.render_view_host(), frame_xpath, script,
+ &value) || !value.get())
return false;
return value->GetAsBoolean(result);
}
-bool ExecuteJavaScriptAndExtractString(RenderViewHost* render_view_host,
- const std::string& frame_xpath,
- const std::string& script,
- std::string* result) {
+bool ExecuteScriptInFrameAndExtractString(
+ const internal::ToRenderViewHost& adapter,
+ const std::string& frame_xpath,
+ const std::string& script,
+ std::string* result) {
DCHECK(result);
scoped_ptr<Value> value;
- if (!ExecuteJavaScriptHelper(render_view_host, frame_xpath, script, &value) ||
- !value.get())
+ if (!ExecuteScriptHelper(adapter.render_view_host(), frame_xpath, script,
+ &value) || !value.get())
return false;
return value->GetAsString(result);
}
+bool ExecuteScript(const internal::ToRenderViewHost& adapter,
+ const std::string& script) {
+ return ExecuteScriptInFrame(adapter, std::string(), script);
+}
+
+bool ExecuteScriptAndExtractInt(const internal::ToRenderViewHost& adapter,
+ const std::string& script, int* result) {
+ return ExecuteScriptInFrameAndExtractInt(adapter, std::string(), script,
+ result);
+}
+
+bool ExecuteScriptAndExtractBool(const internal::ToRenderViewHost& adapter,
+ const std::string& script, bool* result) {
+ return ExecuteScriptInFrameAndExtractBool(adapter, std::string(), script,
+ result);
+}
+
+bool ExecuteScriptAndExtractString(const internal::ToRenderViewHost& adapter,
+ const std::string& script,
+ std::string* result) {
+ return ExecuteScriptInFrameAndExtractString(adapter, std::string(), script,
+ result);
+}
+
std::string GetCookies(BrowserContext* browser_context, const GURL& url) {
std::string cookies;
base::WaitableEvent event(true, false);
« no previous file with comments | « content/public/test/browser_test_utils.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698