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

Side by Side Diff: chrome/test/chromedriver/chrome_launcher.cc

Issue 2295443003: [chromedriver] Added option to make element references W3C compliant. (Closed)
Patch Set: fix errors introduced during previous rebase Created 4 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
OLDNEW
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 299 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 return Status(kOk); 310 return Status(kOk);
311 } 311 }
312 312
313 Status LaunchDesktopChrome( 313 Status LaunchDesktopChrome(
314 URLRequestContextGetter* context_getter, 314 URLRequestContextGetter* context_getter,
315 uint16_t port, 315 uint16_t port,
316 std::unique_ptr<PortReservation> port_reservation, 316 std::unique_ptr<PortReservation> port_reservation,
317 const SyncWebSocketFactory& socket_factory, 317 const SyncWebSocketFactory& socket_factory,
318 const Capabilities& capabilities, 318 const Capabilities& capabilities,
319 ScopedVector<DevToolsEventListener>* devtools_event_listeners, 319 ScopedVector<DevToolsEventListener>* devtools_event_listeners,
320 std::unique_ptr<Chrome>* chrome) { 320 std::unique_ptr<Chrome>* chrome,
321 bool w3c_compliant) {
321 base::CommandLine command(base::CommandLine::NO_PROGRAM); 322 base::CommandLine command(base::CommandLine::NO_PROGRAM);
322 base::ScopedTempDir user_data_dir; 323 base::ScopedTempDir user_data_dir;
323 base::ScopedTempDir extension_dir; 324 base::ScopedTempDir extension_dir;
324 std::vector<std::string> extension_bg_pages; 325 std::vector<std::string> extension_bg_pages;
325 Status status = PrepareCommandLine(port, 326 Status status = PrepareCommandLine(port,
326 capabilities, 327 capabilities,
327 &command, 328 &command,
328 &user_data_dir, 329 &user_data_dir,
329 &extension_dir, 330 &extension_dir,
330 &extension_bg_pages); 331 &extension_bg_pages);
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
448 capabilities.page_load_strategy, 449 capabilities.page_load_strategy,
449 std::move(process), 450 std::move(process),
450 command, 451 command,
451 &user_data_dir, 452 &user_data_dir,
452 &extension_dir, 453 &extension_dir,
453 capabilities.network_emulation_enabled)); 454 capabilities.network_emulation_enabled));
454 for (size_t i = 0; i < extension_bg_pages.size(); ++i) { 455 for (size_t i = 0; i < extension_bg_pages.size(); ++i) {
455 VLOG(0) << "Waiting for extension bg page load: " << extension_bg_pages[i]; 456 VLOG(0) << "Waiting for extension bg page load: " << extension_bg_pages[i];
456 std::unique_ptr<WebView> web_view; 457 std::unique_ptr<WebView> web_view;
457 Status status = chrome_desktop->WaitForPageToLoad( 458 Status status = chrome_desktop->WaitForPageToLoad(
458 extension_bg_pages[i], base::TimeDelta::FromSeconds(10), &web_view); 459 extension_bg_pages[i], base::TimeDelta::FromSeconds(10),
460 &web_view, w3c_compliant);
459 if (status.IsError()) { 461 if (status.IsError()) {
460 return Status(kUnknownError, 462 return Status(kUnknownError,
461 "failed to wait for extension background page to load: " + 463 "failed to wait for extension background page to load: " +
462 extension_bg_pages[i], 464 extension_bg_pages[i],
463 status); 465 status);
464 } 466 }
465 } 467 }
466 *chrome = std::move(chrome_desktop); 468 *chrome = std::move(chrome_desktop);
467 return Status(kOk); 469 return Status(kOk);
468 } 470 }
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 } // namespace 539 } // namespace
538 540
539 Status LaunchChrome( 541 Status LaunchChrome(
540 URLRequestContextGetter* context_getter, 542 URLRequestContextGetter* context_getter,
541 const SyncWebSocketFactory& socket_factory, 543 const SyncWebSocketFactory& socket_factory,
542 DeviceManager* device_manager, 544 DeviceManager* device_manager,
543 PortServer* port_server, 545 PortServer* port_server,
544 PortManager* port_manager, 546 PortManager* port_manager,
545 const Capabilities& capabilities, 547 const Capabilities& capabilities,
546 ScopedVector<DevToolsEventListener>* devtools_event_listeners, 548 ScopedVector<DevToolsEventListener>* devtools_event_listeners,
547 std::unique_ptr<Chrome>* chrome) { 549 std::unique_ptr<Chrome>* chrome,
550 bool w3c_compliant) {
548 if (capabilities.IsRemoteBrowser()) { 551 if (capabilities.IsRemoteBrowser()) {
549 return LaunchRemoteChromeSession( 552 return LaunchRemoteChromeSession(
550 context_getter, socket_factory, 553 context_getter, socket_factory,
551 capabilities, devtools_event_listeners, chrome); 554 capabilities, devtools_event_listeners, chrome);
552 } 555 }
553 556
554 uint16_t port = 0; 557 uint16_t port = 0;
555 std::unique_ptr<PortReservation> port_reservation; 558 std::unique_ptr<PortReservation> port_reservation;
556 Status port_status(kOk); 559 Status port_status(kOk);
557 560
(...skipping 11 matching lines...) Expand all
569 } else { 572 } else {
570 if (port_server) 573 if (port_server)
571 port_status = port_server->ReservePort(&port, &port_reservation); 574 port_status = port_server->ReservePort(&port, &port_reservation);
572 else 575 else
573 port_status = port_manager->ReservePort(&port, &port_reservation); 576 port_status = port_manager->ReservePort(&port, &port_reservation);
574 if (port_status.IsError()) 577 if (port_status.IsError())
575 return Status(kUnknownError, "cannot reserve port for Chrome", 578 return Status(kUnknownError, "cannot reserve port for Chrome",
576 port_status); 579 port_status);
577 return LaunchDesktopChrome(context_getter, port, 580 return LaunchDesktopChrome(context_getter, port,
578 std::move(port_reservation), socket_factory, 581 std::move(port_reservation), socket_factory,
579 capabilities, devtools_event_listeners, chrome); 582 capabilities, devtools_event_listeners, chrome,
583 w3c_compliant);
580 } 584 }
581 } 585 }
582 586
583 namespace internal { 587 namespace internal {
584 588
585 void ConvertHexadecimalToIDAlphabet(std::string* id) { 589 void ConvertHexadecimalToIDAlphabet(std::string* id) {
586 for (size_t i = 0; i < id->size(); ++i) { 590 for (size_t i = 0; i < id->size(); ++i) {
587 int val; 591 int val;
588 if (base::HexStringToInt(base::StringPiece(id->begin() + i, 592 if (base::HexStringToInt(base::StringPiece(id->begin() + i,
589 id->begin() + i + 1), 593 id->begin() + i + 1),
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
875 // Write empty "First Run" file, otherwise Chrome will wipe the default 879 // Write empty "First Run" file, otherwise Chrome will wipe the default
876 // profile that was written. 880 // profile that was written.
877 if (base::WriteFile( 881 if (base::WriteFile(
878 user_data_dir.Append(chrome::kFirstRunSentinel), "", 0) != 0) { 882 user_data_dir.Append(chrome::kFirstRunSentinel), "", 0) != 0) {
879 return Status(kUnknownError, "failed to write first run file"); 883 return Status(kUnknownError, "failed to write first run file");
880 } 884 }
881 return Status(kOk); 885 return Status(kOk);
882 } 886 }
883 887
884 } // namespace internal 888 } // namespace internal
OLDNEW
« no previous file with comments | « chrome/test/chromedriver/chrome_launcher.h ('k') | chrome/test/chromedriver/client/chromedriver.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698