OLD | NEW |
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 "chrome/test/webdriver/webdriver_automation.h" | 5 #include "chrome/test/webdriver/webdriver_automation.h" |
6 | 6 |
7 #if defined(OS_WIN) | 7 #if defined(OS_WIN) |
8 #include <windows.h> | 8 #include <windows.h> |
9 #endif | 9 #endif |
10 | 10 |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 namespace { | 47 namespace { |
48 | 48 |
49 // Iterates through each browser executable path, and checks if the path exists | 49 // Iterates through each browser executable path, and checks if the path exists |
50 // in any of the given locations. If found, returns true and sets |browser_exe|. | 50 // in any of the given locations. If found, returns true and sets |browser_exe|. |
51 bool CheckForChromeExe(const std::vector<base::FilePath>& browser_exes, | 51 bool CheckForChromeExe(const std::vector<base::FilePath>& browser_exes, |
52 const std::vector<base::FilePath>& locations, | 52 const std::vector<base::FilePath>& locations, |
53 base::FilePath* browser_exe) { | 53 base::FilePath* browser_exe) { |
54 for (size_t i = 0; i < browser_exes.size(); ++i) { | 54 for (size_t i = 0; i < browser_exes.size(); ++i) { |
55 for (size_t j = 0; j < locations.size(); ++j) { | 55 for (size_t j = 0; j < locations.size(); ++j) { |
56 base::FilePath path = locations[j].Append(browser_exes[i]); | 56 base::FilePath path = locations[j].Append(browser_exes[i]); |
57 if (file_util::PathExists(path)) { | 57 if (base::PathExists(path)) { |
58 *browser_exe = path; | 58 *browser_exe = path; |
59 return true; | 59 return true; |
60 } | 60 } |
61 } | 61 } |
62 } | 62 } |
63 return false; | 63 return false; |
64 } | 64 } |
65 | 65 |
66 // Gets the path to the default Chrome executable. Returns true on success. | 66 // Gets the path to the default Chrome executable. Returns true on success. |
67 bool GetDefaultChromeExe(base::FilePath* browser_exe) { | 67 bool GetDefaultChromeExe(base::FilePath* browser_exe) { |
(...skipping 22 matching lines...) Expand all Loading... |
90 #endif | 90 #endif |
91 std::vector<base::FilePath> browser_exes( | 91 std::vector<base::FilePath> browser_exes( |
92 browser_exes_array, browser_exes_array + arraysize(browser_exes_array)); | 92 browser_exes_array, browser_exes_array + arraysize(browser_exes_array)); |
93 | 93 |
94 // Step 1: Check the directory this module resides in. This is done | 94 // Step 1: Check the directory this module resides in. This is done |
95 // before all else so that the tests will pickup the built chrome. | 95 // before all else so that the tests will pickup the built chrome. |
96 base::FilePath module_dir; | 96 base::FilePath module_dir; |
97 if (PathService::Get(base::DIR_MODULE, &module_dir)) { | 97 if (PathService::Get(base::DIR_MODULE, &module_dir)) { |
98 for (size_t j = 0; j < browser_exes.size(); ++j) { | 98 for (size_t j = 0; j < browser_exes.size(); ++j) { |
99 base::FilePath path = module_dir.Append(browser_exes[j]); | 99 base::FilePath path = module_dir.Append(browser_exes[j]); |
100 if (file_util::PathExists(path)) { | 100 if (base::PathExists(path)) { |
101 *browser_exe = path; | 101 *browser_exe = path; |
102 return true; | 102 return true; |
103 } | 103 } |
104 } | 104 } |
105 } | 105 } |
106 | 106 |
107 // Step 2: Add all possible install locations, in order they should be | 107 // Step 2: Add all possible install locations, in order they should be |
108 // searched. If a location can only hold a chromium install, add it to | 108 // searched. If a location can only hold a chromium install, add it to |
109 // |chromium_locations|. Since on some platforms we cannot tell by the binary | 109 // |chromium_locations|. Since on some platforms we cannot tell by the binary |
110 // name whether it is chrome or chromium, we search these locations last. | 110 // name whether it is chrome or chromium, we search these locations last. |
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
404 | 404 |
405 // Find the Chrome binary. | 405 // Find the Chrome binary. |
406 if (command.GetProgram().empty()) { | 406 if (command.GetProgram().empty()) { |
407 base::FilePath browser_exe; | 407 base::FilePath browser_exe; |
408 if (!GetDefaultChromeExe(&browser_exe)) { | 408 if (!GetDefaultChromeExe(&browser_exe)) { |
409 *error = new Error(kUnknownError, "Could not find default Chrome binary"); | 409 *error = new Error(kUnknownError, "Could not find default Chrome binary"); |
410 return; | 410 return; |
411 } | 411 } |
412 command.SetProgram(browser_exe); | 412 command.SetProgram(browser_exe); |
413 } | 413 } |
414 if (!file_util::PathExists(command.GetProgram())) { | 414 if (!base::PathExists(command.GetProgram())) { |
415 std::string message = base::StringPrintf( | 415 std::string message = base::StringPrintf( |
416 "Could not find Chrome binary at: %" PRFilePath, | 416 "Could not find Chrome binary at: %" PRFilePath, |
417 command.GetProgram().value().c_str()); | 417 command.GetProgram().value().c_str()); |
418 *error = new Error(kUnknownError, message); | 418 *error = new Error(kUnknownError, message); |
419 return; | 419 return; |
420 } | 420 } |
421 std::string chrome_details = base::StringPrintf( | 421 std::string chrome_details = base::StringPrintf( |
422 "Using Chrome binary at: %" PRFilePath, | 422 "Using Chrome binary at: %" PRFilePath, |
423 command.GetProgram().value().c_str()); | 423 command.GetProgram().value().c_str()); |
424 | 424 |
(...skipping 782 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1207 } | 1207 } |
1208 | 1208 |
1209 Error* Automation::CheckMaximizeSupported() { | 1209 Error* Automation::CheckMaximizeSupported() { |
1210 const char* message = | 1210 const char* message = |
1211 "Maximize automation interface is not supported for this version of " | 1211 "Maximize automation interface is not supported for this version of " |
1212 "Chrome."; | 1212 "Chrome."; |
1213 return CheckVersion(1160, message); | 1213 return CheckVersion(1160, message); |
1214 } | 1214 } |
1215 | 1215 |
1216 } // namespace webdriver | 1216 } // namespace webdriver |
OLD | NEW |