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

Unified Diff: content/shell/webkit_test_runner_bindings.cc

Issue 11573035: [content shell] implement testRunner.execCommand (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add comment Created 8 years 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/shell/webkit_test_runner.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/shell/webkit_test_runner_bindings.cc
diff --git a/content/shell/webkit_test_runner_bindings.cc b/content/shell/webkit_test_runner_bindings.cc
index 48c37ea1f59bc8883d248cf53a058e6bf6eab5d6..0194c604257967b4a8f12730467fc64b8a04acd8 100644
--- a/content/shell/webkit_test_runner_bindings.cc
+++ b/content/shell/webkit_test_runner_bindings.cc
@@ -158,6 +158,31 @@ v8::Handle<v8::Value> EvaluateInWebInspector(const v8::Arguments& args) {
return v8::Undefined();
}
+v8::Handle<v8::Value> ExecCommand(const v8::Arguments& args) {
+ // This method takes one, two, or three parameters, however, we only care
+ // about the first and third parameter which (if present) need to be strings.
+ // We ignore the second parameter (user interface) since this command
+ // emulates a manual action.
+ if (args.Length() == 0 || args.Length() > 3)
+ return v8::Undefined();
+
+ if (!args[0]->IsString() || (args.Length() == 3 && !args[2]->IsString()))
+ return v8::Undefined();
+
+ WebKitTestRunner* runner =
+ ShellRenderProcessObserver::GetInstance()->main_test_runner();
+ if (!runner)
+ return v8::Undefined();
+
+ std::string command(*v8::String::AsciiValue(args[0]));
+ std::string value;
+ if (args.Length() == 3)
+ value = *v8::String::AsciiValue(args[2]);
+
+ runner->ExecCommand(command, value);
+ return v8::Undefined();
+}
+
v8::Handle<v8::Value> GetGlobalFlag(const v8::Arguments& args) {
return v8::Boolean::New(g_global_flag);
}
@@ -237,6 +262,8 @@ WebKitTestRunnerBindings::GetNativeFunction(v8::Handle<v8::String> name) {
return v8::FunctionTemplate::New(CloseWebInspector);
if (name->Equals(v8::String::New("EvaluateInWebInspector")))
return v8::FunctionTemplate::New(EvaluateInWebInspector);
+ if (name->Equals(v8::String::New("ExecCommand")))
+ return v8::FunctionTemplate::New(ExecCommand);
if (name->Equals(v8::String::New("GetGlobalFlag")))
return v8::FunctionTemplate::New(GetGlobalFlag);
if (name->Equals(v8::String::New("SetGlobalFlag")))
« no previous file with comments | « content/shell/webkit_test_runner.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698