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

Side by Side Diff: content/public/test/browser_test_utils.cc

Issue 1336433002: Revert of Expose distiller functions to JavaScript (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@refactor-content
Patch Set: Created 5 years, 3 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
« no previous file with comments | « content/public/test/browser_test_utils.h ('k') | content/renderer/dom_automation_controller.h » ('j') | 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/public/test/browser_test_utils.h" 5 #include "content/public/test/browser_test_utils.h"
6 6
7 #include "base/auto_reset.h" 7 #include "base/auto_reset.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/json/json_reader.h" 10 #include "base/json/json_reader.h"
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 base::JSONReader reader(base::JSON_ALLOW_TRAILING_COMMAS); 156 base::JSONReader reader(base::JSON_ALLOW_TRAILING_COMMAS);
157 *result = reader.ReadToValue(json); 157 *result = reader.ReadToValue(json);
158 if (!*result) { 158 if (!*result) {
159 DLOG(ERROR) << reader.GetErrorMessage(); 159 DLOG(ERROR) << reader.GetErrorMessage();
160 return false; 160 return false;
161 } 161 }
162 162
163 return true; 163 return true;
164 } 164 }
165 165
166 // Specifying a prototype so that we can add the WARN_UNUSED_RESULT attribute.
167 bool ExecuteScriptInIsolatedWorldHelper(RenderFrameHost* render_frame_host,
168 const int world_id,
169 const std::string& original_script,
170 scoped_ptr<base::Value>* result)
171 WARN_UNUSED_RESULT;
172
173 bool ExecuteScriptInIsolatedWorldHelper(RenderFrameHost* render_frame_host,
174 const int world_id,
175 const std::string& original_script,
176 scoped_ptr<base::Value>* result) {
177 std::string script =
178 "window.domAutomationController.setAutomationId(0);" + original_script;
179 DOMOperationObserver dom_op_observer(render_frame_host->GetRenderViewHost());
180 render_frame_host->ExecuteJavaScriptInIsolatedWorld(
181 base::UTF8ToUTF16(script),
182 content::RenderFrameHost::JavaScriptResultCallback(), world_id);
183 std::string json;
184 if (!dom_op_observer.WaitAndGetResponse(&json)) {
185 DLOG(ERROR) << "Cannot communicate with DOMOperationObserver.";
186 return false;
187 }
188
189 // Nothing more to do for callers that ignore the returned JS value.
190 if (!result)
191 return true;
192
193 base::JSONReader reader(base::JSON_ALLOW_TRAILING_COMMAS);
194 *result = reader.ReadToValue(json);
195 if (!*result) {
196 DLOG(ERROR) << reader.GetErrorMessage();
197 return false;
198 }
199
200 return true;
201 }
202
203 void BuildSimpleWebKeyEvent(blink::WebInputEvent::Type type, 166 void BuildSimpleWebKeyEvent(blink::WebInputEvent::Type type,
204 ui::KeyboardCode key_code, 167 ui::KeyboardCode key_code,
205 int native_key_code, 168 int native_key_code,
206 int modifiers, 169 int modifiers,
207 NativeWebKeyboardEvent* event) { 170 NativeWebKeyboardEvent* event) {
208 event->nativeKeyCode = native_key_code; 171 event->nativeKeyCode = native_key_code;
209 event->windowsKeyCode = key_code; 172 event->windowsKeyCode = key_code;
210 event->setKeyIdentifierFromWindowsKeyCode(); 173 event->setKeyIdentifierFromWindowsKeyCode();
211 event->type = type; 174 event->type = type;
212 event->modifiers = modifiers; 175 event->modifiers = modifiers;
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
611 } 574 }
612 575
613 bool ExecuteScriptAndExtractBool(const ToRenderFrameHost& adapter, 576 bool ExecuteScriptAndExtractBool(const ToRenderFrameHost& adapter,
614 const std::string& script, bool* result) { 577 const std::string& script, bool* result) {
615 DCHECK(result); 578 DCHECK(result);
616 scoped_ptr<base::Value> value; 579 scoped_ptr<base::Value> value;
617 if (!ExecuteScriptHelper(adapter.render_frame_host(), script, &value) || 580 if (!ExecuteScriptHelper(adapter.render_frame_host(), script, &value) ||
618 !value.get()) { 581 !value.get()) {
619 return false; 582 return false;
620 } 583 }
621
622 return value->GetAsBoolean(result);
623 }
624
625 bool ExecuteScriptInIsolatedWorldAndExtractBool(
626 const ToRenderFrameHost& adapter,
627 const int world_id,
628 const std::string& script,
629 bool* result) {
630 DCHECK(result);
631 scoped_ptr<base::Value> value;
632 if (!ExecuteScriptInIsolatedWorldHelper(adapter.render_frame_host(), world_id,
633 script, &value) ||
634 !value.get()) {
635 return false;
636 }
637 584
638 return value->GetAsBoolean(result); 585 return value->GetAsBoolean(result);
639 } 586 }
640 587
641 bool ExecuteScriptAndExtractString(const ToRenderFrameHost& adapter, 588 bool ExecuteScriptAndExtractString(const ToRenderFrameHost& adapter,
642 const std::string& script, 589 const std::string& script,
643 std::string* result) { 590 std::string* result) {
644 DCHECK(result); 591 DCHECK(result);
645 scoped_ptr<base::Value> value; 592 scoped_ptr<base::Value> value;
646 if (!ExecuteScriptHelper(adapter.render_frame_host(), script, &value) || 593 if (!ExecuteScriptHelper(adapter.render_frame_host(), script, &value) ||
(...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after
1040 void FrameWatcher::WaitFrames(int frames_to_wait) { 987 void FrameWatcher::WaitFrames(int frames_to_wait) {
1041 if (frames_to_wait <= 0) 988 if (frames_to_wait <= 0)
1042 return; 989 return;
1043 base::RunLoop run_loop; 990 base::RunLoop run_loop;
1044 base::AutoReset<base::Closure> reset_quit(&quit_, run_loop.QuitClosure()); 991 base::AutoReset<base::Closure> reset_quit(&quit_, run_loop.QuitClosure());
1045 base::AutoReset<int> reset_frames_to_wait(&frames_to_wait_, frames_to_wait); 992 base::AutoReset<int> reset_frames_to_wait(&frames_to_wait_, frames_to_wait);
1046 run_loop.Run(); 993 run_loop.Run();
1047 } 994 }
1048 995
1049 } // namespace content 996 } // namespace content
OLDNEW
« no previous file with comments | « content/public/test/browser_test_utils.h ('k') | content/renderer/dom_automation_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698