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

Unified Diff: chrome/test/chromedriver/chrome/browser_info.cc

Issue 2731403008: Add headless chrome as an accepted browser string in chromedriver. (Closed)
Patch Set: Fix tests Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/test/chromedriver/chrome/browser_info_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/chromedriver/chrome/browser_info.cc
diff --git a/chrome/test/chromedriver/chrome/browser_info.cc b/chrome/test/chromedriver/chrome/browser_info.cc
index c790bfd5d6de310e73e5ff24d4d721de4ec0c562..5ec042d6caedb3f0d08d86b92bfa7b26328b121c 100644
--- a/chrome/test/chromedriver/chrome/browser_info.cc
+++ b/chrome/test/chromedriver/chrome/browser_info.cc
@@ -19,6 +19,9 @@ namespace {
const char kVersionPrefix[] = "Chrome/";
const size_t kVersionPrefixLen = sizeof(kVersionPrefix) - 1;
+const char kHeadlessVersionPrefix[] = "HeadlessChrome/";
+const size_t kHeadlessVersionPrefixLen = sizeof(kHeadlessVersionPrefix) - 1;
+
} // namespace
BrowserInfo::BrowserInfo()
@@ -86,10 +89,21 @@ Status ParseBrowserString(bool has_android_package,
return Status(kOk);
}
+ const Status error =
+ Status(kUnknownError, "unrecognized Chrome version: " + browser_string);
+
int build_no = 0;
if (base::StartsWith(browser_string, kVersionPrefix,
+ base::CompareCase::SENSITIVE) ||
+ base::StartsWith(browser_string, kHeadlessVersionPrefix,
base::CompareCase::SENSITIVE)) {
std::string version = browser_string.substr(kVersionPrefixLen);
+ bool headless = false;
+ if (base::StartsWith(browser_string, kHeadlessVersionPrefix,
+ base::CompareCase::SENSITIVE)) {
+ version = browser_string.substr(kHeadlessVersionPrefixLen);
+ headless = true;
+ }
Status status = ParseBrowserVersionString(
version, &browser_info->major_version, &build_no);
@@ -97,7 +111,10 @@ Status ParseBrowserString(bool has_android_package,
return status;
if (build_no != 0) {
- browser_info->browser_name = "chrome";
+ if (headless)
+ browser_info->browser_name = "headless chrome";
+ else
+ browser_info->browser_name = "chrome";
browser_info->browser_version = version;
browser_info->build_no = build_no;
return Status(kOk);
@@ -118,8 +135,7 @@ Status ParseBrowserString(bool has_android_package,
return Status(kOk);
}
- return Status(kUnknownError,
- "unrecognized Chrome version: " + browser_string);
+ return error;
}
Status ParseBrowserVersionString(const std::string& browser_version,
« no previous file with comments | « no previous file | chrome/test/chromedriver/chrome/browser_info_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698