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

Side by Side 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: 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « content/shell/webkit_test_runner.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/shell/webkit_test_runner_bindings.h" 5 #include "content/shell/webkit_test_runner_bindings.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/string_piece.h" 8 #include "base/string_piece.h"
9 #include "content/public/renderer/render_view.h" 9 #include "content/public/renderer/render_view.h"
10 #include "content/shell/shell_render_process_observer.h" 10 #include "content/shell/shell_render_process_observer.h"
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 WebKitTestRunner* runner = 151 WebKitTestRunner* runner =
152 ShellRenderProcessObserver::GetInstance()->main_test_runner(); 152 ShellRenderProcessObserver::GetInstance()->main_test_runner();
153 if (!runner) 153 if (!runner)
154 return v8::Undefined(); 154 return v8::Undefined();
155 155
156 runner->EvaluateInWebInspector(args[0]->Int32Value(), 156 runner->EvaluateInWebInspector(args[0]->Int32Value(),
157 *v8::String::AsciiValue(args[1])); 157 *v8::String::AsciiValue(args[1]));
158 return v8::Undefined(); 158 return v8::Undefined();
159 } 159 }
160 160
161 v8::Handle<v8::Value> ExecCommand(const v8::Arguments& args) {
162 if (args.Length() == 0 || args.Length() > 3)
163 return v8::Undefined();
164
165 if (!args[0]->IsString() || (args.Length() == 3 && !args[2]->IsString()))
marja 2012/12/14 12:47:44 Hmm? What and what types are the args expected to
jochen (gone - plz use gerrit) 2012/12/14 12:56:21 It can have 1 - 3 parameters, but I only care abou
166 return v8::Undefined();
167
168 WebKitTestRunner* runner =
169 ShellRenderProcessObserver::GetInstance()->main_test_runner();
170 if (!runner)
171 return v8::Undefined();
172
173 std::string command(*v8::String::AsciiValue(args[0]));
174 std::string value;
175 if (args.Length() == 3)
176 value = *v8::String::AsciiValue(args[2]);
177
178 runner->ExecCommand(command, value);
179 return v8::Undefined();
180 }
181
161 v8::Handle<v8::Value> GetGlobalFlag(const v8::Arguments& args) { 182 v8::Handle<v8::Value> GetGlobalFlag(const v8::Arguments& args) {
162 return v8::Boolean::New(g_global_flag); 183 return v8::Boolean::New(g_global_flag);
163 } 184 }
164 185
165 v8::Handle<v8::Value> SetGlobalFlag(const v8::Arguments& args) { 186 v8::Handle<v8::Value> SetGlobalFlag(const v8::Arguments& args) {
166 if (args.Length() == 1 && args[0]->IsBoolean()) 187 if (args.Length() == 1 && args[0]->IsBoolean())
167 g_global_flag = args[0]->BooleanValue(); 188 g_global_flag = args[0]->BooleanValue();
168 return v8::Undefined(); 189 return v8::Undefined();
169 } 190 }
170 191
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 if (name->Equals(v8::String::New("SetXSSAuditorEnabled"))) 251 if (name->Equals(v8::String::New("SetXSSAuditorEnabled")))
231 return v8::FunctionTemplate::New(SetXSSAuditorEnabled); 252 return v8::FunctionTemplate::New(SetXSSAuditorEnabled);
232 if (name->Equals(v8::String::New("GetWorkerThreadCount"))) 253 if (name->Equals(v8::String::New("GetWorkerThreadCount")))
233 return v8::FunctionTemplate::New(GetWorkerThreadCount); 254 return v8::FunctionTemplate::New(GetWorkerThreadCount);
234 if (name->Equals(v8::String::New("ShowWebInspector"))) 255 if (name->Equals(v8::String::New("ShowWebInspector")))
235 return v8::FunctionTemplate::New(ShowWebInspector); 256 return v8::FunctionTemplate::New(ShowWebInspector);
236 if (name->Equals(v8::String::New("CloseWebInspector"))) 257 if (name->Equals(v8::String::New("CloseWebInspector")))
237 return v8::FunctionTemplate::New(CloseWebInspector); 258 return v8::FunctionTemplate::New(CloseWebInspector);
238 if (name->Equals(v8::String::New("EvaluateInWebInspector"))) 259 if (name->Equals(v8::String::New("EvaluateInWebInspector")))
239 return v8::FunctionTemplate::New(EvaluateInWebInspector); 260 return v8::FunctionTemplate::New(EvaluateInWebInspector);
261 if (name->Equals(v8::String::New("ExecCommand")))
262 return v8::FunctionTemplate::New(ExecCommand);
240 if (name->Equals(v8::String::New("GetGlobalFlag"))) 263 if (name->Equals(v8::String::New("GetGlobalFlag")))
241 return v8::FunctionTemplate::New(GetGlobalFlag); 264 return v8::FunctionTemplate::New(GetGlobalFlag);
242 if (name->Equals(v8::String::New("SetGlobalFlag"))) 265 if (name->Equals(v8::String::New("SetGlobalFlag")))
243 return v8::FunctionTemplate::New(SetGlobalFlag); 266 return v8::FunctionTemplate::New(SetGlobalFlag);
244 if (name->Equals(v8::String::New("NotImplemented"))) 267 if (name->Equals(v8::String::New("NotImplemented")))
245 return v8::FunctionTemplate::New(NotImplemented); 268 return v8::FunctionTemplate::New(NotImplemented);
246 269
247 NOTREACHED(); 270 NOTREACHED();
248 return v8::FunctionTemplate::New(); 271 return v8::FunctionTemplate::New();
249 } 272 }
250 273
251 } // namespace content 274 } // namespace content
OLDNEW
« 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