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

Side by Side Diff: chrome/test/automation/automation_proxy.cc

Issue 5998006: Clean up Automation and Chrome Frame IPC code. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "chrome/test/automation/automation_proxy.h" 5 #include "chrome/test/automation/automation_proxy.h"
6 6
7 #include <gtest/gtest.h> 7 #include <gtest/gtest.h>
8 8
9 #include <sstream> 9 #include <sstream>
10 10
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 void AutomationProxy::SignalInitialLoads() { 220 void AutomationProxy::SignalInitialLoads() {
221 initial_loads_complete_.Signal(); 221 initial_loads_complete_.Signal();
222 } 222 }
223 223
224 void AutomationProxy::SignalNewTabUITab(int load_time) { 224 void AutomationProxy::SignalNewTabUITab(int load_time) {
225 new_tab_ui_load_time_ = load_time; 225 new_tab_ui_load_time_ = load_time;
226 new_tab_ui_load_complete_.Signal(); 226 new_tab_ui_load_complete_.Signal();
227 } 227 }
228 228
229 bool AutomationProxy::SavePackageShouldPromptUser(bool should_prompt) { 229 bool AutomationProxy::SavePackageShouldPromptUser(bool should_prompt) {
230 return Send(new AutomationMsg_SavePackageShouldPromptUser(0, should_prompt)); 230 return Send(new AutomationMsg_SavePackageShouldPromptUser(should_prompt));
231 } 231 }
232 232
233 scoped_refptr<ExtensionProxy> AutomationProxy::InstallExtension( 233 scoped_refptr<ExtensionProxy> AutomationProxy::InstallExtension(
234 const FilePath& crx_file, bool with_ui) { 234 const FilePath& crx_file, bool with_ui) {
235 int handle = 0; 235 int handle = 0;
236 if (!Send(new AutomationMsg_InstallExtensionAndGetHandle(0, crx_file, with_ui, 236 if (!Send(new AutomationMsg_InstallExtensionAndGetHandle(crx_file, with_ui,
237 &handle))) 237 &handle)))
238 return NULL; 238 return NULL;
239 239
240 return ProxyObjectFromHandle<ExtensionProxy>(handle); 240 return ProxyObjectFromHandle<ExtensionProxy>(handle);
241 } 241 }
242 242
243 void AutomationProxy::EnsureExtensionTestResult() { 243 void AutomationProxy::EnsureExtensionTestResult() {
244 bool result; 244 bool result;
245 std::string message; 245 std::string message;
246 if (!Send(new AutomationMsg_WaitForExtensionTestResult(0, &result, 246 if (!Send(new AutomationMsg_WaitForExtensionTestResult(&result,
247 &message))) { 247 &message))) {
248 FAIL() << "Could not send WaitForExtensionTestResult message"; 248 FAIL() << "Could not send WaitForExtensionTestResult message";
249 return; 249 return;
250 } 250 }
251 ASSERT_TRUE(result) << "Extension test message: " << message; 251 ASSERT_TRUE(result) << "Extension test message: " << message;
252 } 252 }
253 253
254 bool AutomationProxy::GetEnabledExtensions( 254 bool AutomationProxy::GetEnabledExtensions(
255 std::vector<FilePath>* extension_directories) { 255 std::vector<FilePath>* extension_directories) {
256 return Send(new AutomationMsg_GetEnabledExtensions( 256 return Send(new AutomationMsg_GetEnabledExtensions(extension_directories));
257 0, extension_directories));
258 } 257 }
259 258
260 bool AutomationProxy::GetBrowserWindowCount(int* num_windows) { 259 bool AutomationProxy::GetBrowserWindowCount(int* num_windows) {
261 if (!num_windows) { 260 if (!num_windows) {
262 NOTREACHED(); 261 NOTREACHED();
263 return false; 262 return false;
264 } 263 }
265 264
266 return Send(new AutomationMsg_BrowserWindowCount(0, num_windows)); 265 return Send(new AutomationMsg_BrowserWindowCount(num_windows));
267 } 266 }
268 267
269 bool AutomationProxy::GetNormalBrowserWindowCount(int* num_windows) { 268 bool AutomationProxy::GetNormalBrowserWindowCount(int* num_windows) {
270 if (!num_windows) { 269 if (!num_windows) {
271 NOTREACHED(); 270 NOTREACHED();
272 return false; 271 return false;
273 } 272 }
274 273
275 return Send(new AutomationMsg_NormalBrowserWindowCount(0, num_windows)); 274 return Send(new AutomationMsg_NormalBrowserWindowCount(num_windows));
276 } 275 }
277 276
278 bool AutomationProxy::WaitForWindowCountToBecome(int count) { 277 bool AutomationProxy::WaitForWindowCountToBecome(int count) {
279 bool wait_success = false; 278 bool wait_success = false;
280 if (!Send(new AutomationMsg_WaitForBrowserWindowCountToBecome( 279 if (!Send(new AutomationMsg_WaitForBrowserWindowCountToBecome(
281 0, count, &wait_success))) { 280 count, &wait_success))) {
282 return false; 281 return false;
283 } 282 }
284 return wait_success; 283 return wait_success;
285 } 284 }
286 285
287 bool AutomationProxy::GetShowingAppModalDialog( 286 bool AutomationProxy::GetShowingAppModalDialog(
288 bool* showing_app_modal_dialog, 287 bool* showing_app_modal_dialog,
289 MessageBoxFlags::DialogButton* button) { 288 MessageBoxFlags::DialogButton* button) {
290 if (!showing_app_modal_dialog || !button) { 289 if (!showing_app_modal_dialog || !button) {
291 NOTREACHED(); 290 NOTREACHED();
292 return false; 291 return false;
293 } 292 }
294 293
295 int button_int = 0; 294 int button_int = 0;
296 295
297 if (!Send(new AutomationMsg_ShowingAppModalDialog( 296 if (!Send(new AutomationMsg_ShowingAppModalDialog(
298 0, showing_app_modal_dialog, &button_int))) { 297 showing_app_modal_dialog, &button_int))) {
299 return false; 298 return false;
300 } 299 }
301 300
302 *button = static_cast<MessageBoxFlags::DialogButton>(button_int); 301 *button = static_cast<MessageBoxFlags::DialogButton>(button_int);
303 return true; 302 return true;
304 } 303 }
305 304
306 bool AutomationProxy::ClickAppModalDialogButton( 305 bool AutomationProxy::ClickAppModalDialogButton(
307 MessageBoxFlags::DialogButton button) { 306 MessageBoxFlags::DialogButton button) {
308 bool succeeded = false; 307 bool succeeded = false;
309 308
310 if (!Send(new AutomationMsg_ClickAppModalDialogButton( 309 if (!Send(new AutomationMsg_ClickAppModalDialogButton(
311 0, button, &succeeded))) { 310 button, &succeeded))) {
312 return false; 311 return false;
313 } 312 }
314 313
315 return succeeded; 314 return succeeded;
316 } 315 }
317 316
318 bool AutomationProxy::WaitForAppModalDialog() { 317 bool AutomationProxy::WaitForAppModalDialog() {
319 bool wait_success = false; 318 bool wait_success = false;
320 if (!Send(new AutomationMsg_WaitForAppModalDialogToBeShown(0, &wait_success))) 319 if (!Send(new AutomationMsg_WaitForAppModalDialogToBeShown(&wait_success)))
321 return false; 320 return false;
322 return wait_success; 321 return wait_success;
323 } 322 }
324 323
325 bool AutomationProxy::IsURLDisplayed(GURL url) { 324 bool AutomationProxy::IsURLDisplayed(GURL url) {
326 int window_count; 325 int window_count;
327 if (!GetBrowserWindowCount(&window_count)) 326 if (!GetBrowserWindowCount(&window_count))
328 return false; 327 return false;
329 328
330 for (int i = 0; i < window_count; i++) { 329 for (int i = 0; i < window_count; i++) {
(...skipping 17 matching lines...) Expand all
348 if (tab_url == url) 347 if (tab_url == url)
349 return true; 348 return true;
350 } 349 }
351 } 350 }
352 351
353 return false; 352 return false;
354 } 353 }
355 354
356 bool AutomationProxy::GetMetricEventDuration(const std::string& event_name, 355 bool AutomationProxy::GetMetricEventDuration(const std::string& event_name,
357 int* duration_ms) { 356 int* duration_ms) {
358 return Send(new AutomationMsg_GetMetricEventDuration(0, event_name, 357 return Send(new AutomationMsg_GetMetricEventDuration(event_name,
359 duration_ms)); 358 duration_ms));
360 } 359 }
361 360
362 bool AutomationProxy::SetFilteredInet(bool enabled) { 361 bool AutomationProxy::SetFilteredInet(bool enabled) {
363 return Send(new AutomationMsg_SetFilteredInet(0, enabled)); 362 return Send(new AutomationMsg_SetFilteredInet(enabled));
364 } 363 }
365 364
366 int AutomationProxy::GetFilteredInetHitCount() { 365 int AutomationProxy::GetFilteredInetHitCount() {
367 int hit_count; 366 int hit_count;
368 if (!Send(new AutomationMsg_GetFilteredInetHitCount(0, &hit_count))) 367 if (!Send(new AutomationMsg_GetFilteredInetHitCount(&hit_count)))
369 return -1; 368 return -1;
370 return hit_count; 369 return hit_count;
371 } 370 }
372 371
373 bool AutomationProxy::SendProxyConfig(const std::string& new_proxy_config) { 372 bool AutomationProxy::SendProxyConfig(const std::string& new_proxy_config) {
374 return Send(new AutomationMsg_SetProxyConfig(0, new_proxy_config)); 373 return Send(new AutomationMsg_SetProxyConfig(new_proxy_config));
375 } 374 }
376 375
377 void AutomationProxy::Disconnect() { 376 void AutomationProxy::Disconnect() {
378 DCHECK(shutdown_event_.get() != NULL); 377 DCHECK(shutdown_event_.get() != NULL);
379 shutdown_event_->Signal(); 378 shutdown_event_->Signal();
380 channel_.reset(); 379 channel_.reset();
381 } 380 }
382 381
383 void AutomationProxy::OnMessageReceived(const IPC::Message& msg) { 382 void AutomationProxy::OnMessageReceived(const IPC::Message& msg) {
384 // This won't get called unless AutomationProxy is run from 383 // This won't get called unless AutomationProxy is run from
385 // inside a message loop. 384 // inside a message loop.
386 NOTREACHED(); 385 NOTREACHED();
387 } 386 }
388 387
389 void AutomationProxy::OnChannelError() { 388 void AutomationProxy::OnChannelError() {
390 LOG(ERROR) << "Channel error in AutomationProxy."; 389 LOG(ERROR) << "Channel error in AutomationProxy.";
391 if (disconnect_on_failure_) 390 if (disconnect_on_failure_)
392 Disconnect(); 391 Disconnect();
393 } 392 }
394 393
395 scoped_refptr<WindowProxy> AutomationProxy::GetActiveWindow() { 394 scoped_refptr<WindowProxy> AutomationProxy::GetActiveWindow() {
396 int handle = 0; 395 int handle = 0;
397 if (!Send(new AutomationMsg_ActiveWindow(0, &handle))) 396 if (!Send(new AutomationMsg_ActiveWindow(&handle)))
398 return NULL; 397 return NULL;
399 398
400 return ProxyObjectFromHandle<WindowProxy>(handle); 399 return ProxyObjectFromHandle<WindowProxy>(handle);
401 } 400 }
402 401
403 scoped_refptr<BrowserProxy> AutomationProxy::GetBrowserWindow( 402 scoped_refptr<BrowserProxy> AutomationProxy::GetBrowserWindow(
404 int window_index) { 403 int window_index) {
405 int handle = 0; 404 int handle = 0;
406 if (!Send(new AutomationMsg_BrowserWindow(0, window_index, &handle))) 405 if (!Send(new AutomationMsg_BrowserWindow(window_index, &handle)))
407 return NULL; 406 return NULL;
408 407
409 return ProxyObjectFromHandle<BrowserProxy>(handle); 408 return ProxyObjectFromHandle<BrowserProxy>(handle);
410 } 409 }
411 410
412 bool AutomationProxy::GetBrowserLocale(string16* locale) { 411 bool AutomationProxy::GetBrowserLocale(string16* locale) {
413 DCHECK(locale != NULL); 412 DCHECK(locale != NULL);
414 if (!Send(new AutomationMsg_GetBrowserLocale(0, locale))) 413 if (!Send(new AutomationMsg_GetBrowserLocale(locale)))
415 return false; 414 return false;
416 415
417 return !locale->empty(); 416 return !locale->empty();
418 } 417 }
419 418
420 scoped_refptr<BrowserProxy> AutomationProxy::FindNormalBrowserWindow() { 419 scoped_refptr<BrowserProxy> AutomationProxy::FindNormalBrowserWindow() {
421 int handle = 0; 420 int handle = 0;
422 if (!Send(new AutomationMsg_FindNormalBrowserWindow(0, &handle))) 421 if (!Send(new AutomationMsg_FindNormalBrowserWindow(&handle)))
423 return NULL; 422 return NULL;
424 423
425 return ProxyObjectFromHandle<BrowserProxy>(handle); 424 return ProxyObjectFromHandle<BrowserProxy>(handle);
426 } 425 }
427 426
428 scoped_refptr<BrowserProxy> AutomationProxy::GetLastActiveBrowserWindow() { 427 scoped_refptr<BrowserProxy> AutomationProxy::GetLastActiveBrowserWindow() {
429 int handle = 0; 428 int handle = 0;
430 if (!Send(new AutomationMsg_LastActiveBrowserWindow(0, &handle))) 429 if (!Send(new AutomationMsg_LastActiveBrowserWindow(&handle)))
431 return NULL; 430 return NULL;
432 431
433 return ProxyObjectFromHandle<BrowserProxy>(handle); 432 return ProxyObjectFromHandle<BrowserProxy>(handle);
434 } 433 }
435 434
436 #if defined(OS_POSIX) 435 #if defined(OS_POSIX)
437 base::file_handle_mapping_vector AutomationProxy::fds_to_map() const { 436 base::file_handle_mapping_vector AutomationProxy::fds_to_map() const {
438 base::file_handle_mapping_vector map; 437 base::file_handle_mapping_vector map;
439 const int ipcfd = channel_->GetClientFileDescriptor(); 438 const int ipcfd = channel_->GetClientFileDescriptor();
440 if (ipcfd > -1) 439 if (ipcfd > -1)
(...skipping 27 matching lines...) Expand all
468 void AutomationProxy::InvalidateHandle(const IPC::Message& message) { 467 void AutomationProxy::InvalidateHandle(const IPC::Message& message) {
469 void* iter = NULL; 468 void* iter = NULL;
470 int handle; 469 int handle;
471 470
472 if (message.ReadInt(&iter, &handle)) { 471 if (message.ReadInt(&iter, &handle)) {
473 tracker_->InvalidateHandle(handle); 472 tracker_->InvalidateHandle(handle);
474 } 473 }
475 } 474 }
476 475
477 bool AutomationProxy::OpenNewBrowserWindow(Browser::Type type, bool show) { 476 bool AutomationProxy::OpenNewBrowserWindow(Browser::Type type, bool show) {
478 if (type == Browser::TYPE_NORMAL)
479 return Send(new AutomationMsg_OpenNewBrowserWindow(0, show));
480 return Send( 477 return Send(
481 new AutomationMsg_OpenNewBrowserWindowOfType(0, static_cast<int>(type), 478 new AutomationMsg_OpenNewBrowserWindowOfType(static_cast<int>(type),
482 show)); 479 show));
483 } 480 }
484 481
485 scoped_refptr<TabProxy> AutomationProxy::CreateExternalTab( 482 scoped_refptr<TabProxy> AutomationProxy::CreateExternalTab(
486 const IPC::ExternalTabSettings& settings, 483 const ExternalTabSettings& settings,
487 gfx::NativeWindow* external_tab_container, 484 gfx::NativeWindow* external_tab_container,
488 gfx::NativeWindow* tab) { 485 gfx::NativeWindow* tab) {
489 int handle = 0; 486 int handle = 0;
490 int session_id = 0; 487 int session_id = 0;
491 bool succeeded = 488 bool succeeded =
492 Send(new AutomationMsg_CreateExternalTab(0, settings, 489 Send(new AutomationMsg_CreateExternalTab(settings,
493 external_tab_container, 490 external_tab_container,
494 tab, 491 tab,
495 &handle, 492 &handle,
496 &session_id)); 493 &session_id));
497 if (!succeeded) { 494 if (!succeeded) {
498 return NULL; 495 return NULL;
499 } 496 }
500 497
501 #if defined(OS_WIN) 498 #if defined(OS_WIN)
502 DCHECK(IsWindow(*external_tab_container)); 499 DCHECK(IsWindow(*external_tab_container));
(...skipping 29 matching lines...) Expand all
532 529
533 void AutomationProxy::ResetChannel() { 530 void AutomationProxy::ResetChannel() {
534 if (tracker_.get()) 531 if (tracker_.get())
535 tracker_->put_channel(NULL); 532 tracker_->put_channel(NULL);
536 } 533 }
537 534
538 #if defined(OS_CHROMEOS) 535 #if defined(OS_CHROMEOS)
539 bool AutomationProxy::LoginWithUserAndPass(const std::string& username, 536 bool AutomationProxy::LoginWithUserAndPass(const std::string& username,
540 const std::string& password) { 537 const std::string& password) {
541 bool success; 538 bool success;
542 bool sent = Send(new AutomationMsg_LoginWithUserAndPass(0, username, 539 bool sent = Send(new AutomationMsg_LoginWithUserAndPass(username,
543 password, 540 password,
544 &success)); 541 &success));
545 // If message sending unsuccessful or test failed, return false. 542 // If message sending unsuccessful or test failed, return false.
546 return sent && success; 543 return sent && success;
547 } 544 }
548 #endif 545 #endif
549 546
550 bool AutomationProxy::ResetToDefaultTheme() { 547 bool AutomationProxy::ResetToDefaultTheme() {
551 return Send(new AutomationMsg_ResetToDefaultTheme(0)); 548 return Send(new AutomationMsg_ResetToDefaultTheme());
552 } 549 }
OLDNEW
« no previous file with comments | « chrome/test/automation/automation_proxy.h ('k') | chrome/test/automation/automation_proxy_uitest.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698