OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/chromedriver/chrome_launcher.h" | 5 #include "chrome/test/chromedriver/chrome_launcher.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <utility> | 10 #include <utility> |
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
300 status = CreateBrowserwideDevToolsClientAndConnect( | 300 status = CreateBrowserwideDevToolsClientAndConnect( |
301 capabilities.debugger_address, capabilities.perf_logging_prefs, | 301 capabilities.debugger_address, capabilities.perf_logging_prefs, |
302 socket_factory, *devtools_event_listeners, &devtools_websocket_client); | 302 socket_factory, *devtools_event_listeners, &devtools_websocket_client); |
303 if (status.IsError()) { | 303 if (status.IsError()) { |
304 LOG(WARNING) << "Browser-wide DevTools client failed to connect: " | 304 LOG(WARNING) << "Browser-wide DevTools client failed to connect: " |
305 << status.message(); | 305 << status.message(); |
306 } | 306 } |
307 | 307 |
308 chrome->reset(new ChromeRemoteImpl(std::move(devtools_http_client), | 308 chrome->reset(new ChromeRemoteImpl(std::move(devtools_http_client), |
309 std::move(devtools_websocket_client), | 309 std::move(devtools_websocket_client), |
310 *devtools_event_listeners)); | 310 *devtools_event_listeners, |
| 311 capabilities.page_load_strategy)); |
311 return Status(kOk); | 312 return Status(kOk); |
312 } | 313 } |
313 | 314 |
314 Status LaunchDesktopChrome( | 315 Status LaunchDesktopChrome( |
315 URLRequestContextGetter* context_getter, | 316 URLRequestContextGetter* context_getter, |
316 uint16_t port, | 317 uint16_t port, |
317 std::unique_ptr<PortReservation> port_reservation, | 318 std::unique_ptr<PortReservation> port_reservation, |
318 const SyncWebSocketFactory& socket_factory, | 319 const SyncWebSocketFactory& socket_factory, |
319 const Capabilities& capabilities, | 320 const Capabilities& capabilities, |
320 ScopedVector<DevToolsEventListener>* devtools_event_listeners, | 321 ScopedVector<DevToolsEventListener>* devtools_event_listeners, |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
434 | 435 |
435 std::unique_ptr<DevToolsClient> devtools_websocket_client; | 436 std::unique_ptr<DevToolsClient> devtools_websocket_client; |
436 status = CreateBrowserwideDevToolsClientAndConnect( | 437 status = CreateBrowserwideDevToolsClientAndConnect( |
437 NetAddress(port), capabilities.perf_logging_prefs, socket_factory, | 438 NetAddress(port), capabilities.perf_logging_prefs, socket_factory, |
438 *devtools_event_listeners, &devtools_websocket_client); | 439 *devtools_event_listeners, &devtools_websocket_client); |
439 if (status.IsError()) { | 440 if (status.IsError()) { |
440 LOG(WARNING) << "Browser-wide DevTools client failed to connect: " | 441 LOG(WARNING) << "Browser-wide DevTools client failed to connect: " |
441 << status.message(); | 442 << status.message(); |
442 } | 443 } |
443 | 444 |
444 std::unique_ptr<ChromeDesktopImpl> chrome_desktop(new ChromeDesktopImpl( | 445 std::unique_ptr<ChromeDesktopImpl> chrome_desktop( |
445 std::move(devtools_http_client), std::move(devtools_websocket_client), | 446 new ChromeDesktopImpl(std::move(devtools_http_client), |
446 *devtools_event_listeners, std::move(port_reservation), | 447 std::move(devtools_websocket_client), |
447 std::move(process), command, &user_data_dir, &extension_dir, | 448 *devtools_event_listeners, |
448 capabilities.network_emulation_enabled)); | 449 std::move(port_reservation), |
| 450 capabilities.page_load_strategy, |
| 451 std::move(process), |
| 452 command, |
| 453 &user_data_dir, |
| 454 &extension_dir, |
| 455 capabilities.network_emulation_enabled)); |
449 for (size_t i = 0; i < extension_bg_pages.size(); ++i) { | 456 for (size_t i = 0; i < extension_bg_pages.size(); ++i) { |
450 VLOG(0) << "Waiting for extension bg page load: " << extension_bg_pages[i]; | 457 VLOG(0) << "Waiting for extension bg page load: " << extension_bg_pages[i]; |
451 std::unique_ptr<WebView> web_view; | 458 std::unique_ptr<WebView> web_view; |
452 Status status = chrome_desktop->WaitForPageToLoad( | 459 Status status = chrome_desktop->WaitForPageToLoad( |
453 extension_bg_pages[i], base::TimeDelta::FromSeconds(10), &web_view); | 460 extension_bg_pages[i], base::TimeDelta::FromSeconds(10), &web_view); |
454 if (status.IsError()) { | 461 if (status.IsError()) { |
455 return Status(kUnknownError, | 462 return Status(kUnknownError, |
456 "failed to wait for extension background page to load: " + | 463 "failed to wait for extension background page to load: " + |
457 extension_bg_pages[i], | 464 extension_bg_pages[i], |
458 status); | 465 status); |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
513 | 520 |
514 std::unique_ptr<DevToolsClient> devtools_websocket_client; | 521 std::unique_ptr<DevToolsClient> devtools_websocket_client; |
515 status = CreateBrowserwideDevToolsClientAndConnect( | 522 status = CreateBrowserwideDevToolsClientAndConnect( |
516 NetAddress(port), capabilities.perf_logging_prefs, socket_factory, | 523 NetAddress(port), capabilities.perf_logging_prefs, socket_factory, |
517 *devtools_event_listeners, &devtools_websocket_client); | 524 *devtools_event_listeners, &devtools_websocket_client); |
518 if (status.IsError()) { | 525 if (status.IsError()) { |
519 LOG(WARNING) << "Browser-wide DevTools client failed to connect: " | 526 LOG(WARNING) << "Browser-wide DevTools client failed to connect: " |
520 << status.message(); | 527 << status.message(); |
521 } | 528 } |
522 | 529 |
523 chrome->reset(new ChromeAndroidImpl( | 530 chrome->reset(new ChromeAndroidImpl(std::move(devtools_http_client), |
524 std::move(devtools_http_client), std::move(devtools_websocket_client), | 531 std::move(devtools_websocket_client), |
525 *devtools_event_listeners, std::move(port_reservation), | 532 *devtools_event_listeners, |
526 std::move(device))); | 533 std::move(port_reservation), |
| 534 capabilities.page_load_strategy, |
| 535 std::move(device))); |
527 return Status(kOk); | 536 return Status(kOk); |
528 } | 537 } |
529 | 538 |
530 } // namespace | 539 } // namespace |
531 | 540 |
532 Status LaunchChrome( | 541 Status LaunchChrome( |
533 URLRequestContextGetter* context_getter, | 542 URLRequestContextGetter* context_getter, |
534 const SyncWebSocketFactory& socket_factory, | 543 const SyncWebSocketFactory& socket_factory, |
535 DeviceManager* device_manager, | 544 DeviceManager* device_manager, |
536 PortServer* port_server, | 545 PortServer* port_server, |
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
868 // Write empty "First Run" file, otherwise Chrome will wipe the default | 877 // Write empty "First Run" file, otherwise Chrome will wipe the default |
869 // profile that was written. | 878 // profile that was written. |
870 if (base::WriteFile( | 879 if (base::WriteFile( |
871 user_data_dir.Append(chrome::kFirstRunSentinel), "", 0) != 0) { | 880 user_data_dir.Append(chrome::kFirstRunSentinel), "", 0) != 0) { |
872 return Status(kUnknownError, "failed to write first run file"); | 881 return Status(kUnknownError, "failed to write first run file"); |
873 } | 882 } |
874 return Status(kOk); | 883 return Status(kOk); |
875 } | 884 } |
876 | 885 |
877 } // namespace internal | 886 } // namespace internal |
OLD | NEW |