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

Side by Side Diff: content/shell/webkit_test_runner_bindings.cc

Issue 12258047: [content shell] Use the TestRunner library again and remove the mock testRunner (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 10 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « content/shell/webkit_test_runner_bindings.h ('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
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "content/shell/webkit_test_runner_bindings.h"
6
7 #include "base/logging.h"
8 #include "base/string_piece.h"
9 #include "content/public/renderer/render_view.h"
10 #include "content/shell/shell_render_process_observer.h"
11 #include "content/shell/webkit_test_runner.h"
12 #include "grit/shell_resources.h"
13 #include "ui/base/resource/resource_bundle.h"
14
15 namespace content {
16
17 namespace {
18
19 base::StringPiece GetStringResource(int resource_id) {
20 return ResourceBundle::GetSharedInstance().GetRawDataResource(
21 resource_id);
22 }
23
24 v8::Handle<v8::Value> NotifyDone(const v8::Arguments& args) {
25 WebKitTestRunner* runner =
26 ShellRenderProcessObserver::GetInstance()->main_test_runner();
27 if (!runner)
28 return v8::Undefined();
29
30 runner->NotifyDone();
31 return v8::Undefined();
32 }
33
34 v8::Handle<v8::Value> SetDumpAsText(const v8::Arguments& args) {
35 WebKitTestRunner* runner =
36 ShellRenderProcessObserver::GetInstance()->main_test_runner();
37 if (!runner)
38 return v8::Undefined();
39
40 runner->DumpAsText();
41 return v8::Undefined();
42 }
43
44 v8::Handle<v8::Value> SetDumpChildFramesAsText(const v8::Arguments& args) {
45 WebKitTestRunner* runner =
46 ShellRenderProcessObserver::GetInstance()->main_test_runner();
47 if (!runner)
48 return v8::Undefined();
49
50 runner->DumpChildFramesAsText();
51 return v8::Undefined();
52 }
53
54 v8::Handle<v8::Value> SetWaitUntilDone(const v8::Arguments& args) {
55 WebKitTestRunner* runner =
56 ShellRenderProcessObserver::GetInstance()->main_test_runner();
57 if (!runner)
58 return v8::Undefined();
59
60 runner->WaitUntilDone();
61 return v8::Undefined();
62 }
63
64 v8::Handle<v8::Value> OverridePreference(const v8::Arguments& args) {
65 if (args.Length() != 2 || !args[0]->IsString())
66 return v8::Undefined();
67
68 WebKitTestRunner* runner =
69 ShellRenderProcessObserver::GetInstance()->main_test_runner();
70 if (!runner)
71 return v8::Undefined();
72
73 runner->OverridePreference(*v8::String::AsciiValue(args[0]), args[1]);
74 return v8::Undefined();
75 }
76
77 v8::Handle<v8::Value> NotImplemented(const v8::Arguments& args) {
78 if (args.Length() != 2 || !args[0]->IsString() || !args[1]->IsString())
79 return v8::Undefined();
80
81 WebKitTestRunner* runner =
82 ShellRenderProcessObserver::GetInstance()->main_test_runner();
83 if (!runner)
84 return v8::Undefined();
85
86 runner->NotImplemented(*v8::String::AsciiValue(args[0]),
87 *v8::String::AsciiValue(args[1]));
88 return v8::Undefined();
89 }
90
91 } // namespace
92
93 WebKitTestRunnerBindings::WebKitTestRunnerBindings()
94 : v8::Extension("webkit_test_runner.js",
95 GetStringResource(
96 IDR_CONTENT_SHELL_WEBKIT_TEST_RUNNER_JS).data(),
97 0, // num dependencies.
98 NULL, // dependencies array.
99 GetStringResource(
100 IDR_CONTENT_SHELL_WEBKIT_TEST_RUNNER_JS).size()) {
101 }
102
103 WebKitTestRunnerBindings::~WebKitTestRunnerBindings() {
104 }
105
106 v8::Handle<v8::FunctionTemplate>
107 WebKitTestRunnerBindings::GetNativeFunction(v8::Handle<v8::String> name) {
108 if (name->Equals(v8::String::New("NotifyDone")))
109 return v8::FunctionTemplate::New(NotifyDone);
110 if (name->Equals(v8::String::New("SetDumpAsText")))
111 return v8::FunctionTemplate::New(SetDumpAsText);
112 if (name->Equals(v8::String::New("SetDumpChildFramesAsText")))
113 return v8::FunctionTemplate::New(SetDumpChildFramesAsText);
114 if (name->Equals(v8::String::New("SetWaitUntilDone")))
115 return v8::FunctionTemplate::New(SetWaitUntilDone);
116 if (name->Equals(v8::String::New("OverridePreference")))
117 return v8::FunctionTemplate::New(OverridePreference);
118 if (name->Equals(v8::String::New("NotImplemented")))
119 return v8::FunctionTemplate::New(NotImplemented);
120
121 NOTREACHED();
122 return v8::FunctionTemplate::New();
123 }
124
125 } // namespace content
OLDNEW
« no previous file with comments | « content/shell/webkit_test_runner_bindings.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698