| 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..736a6af617d833e0d15d9a065088565c7443f0d5 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()
|
| @@ -104,6 +107,23 @@ Status ParseBrowserString(bool has_android_package,
|
| }
|
| }
|
|
|
| + if (base::StartsWith(browser_string, kHeadlessVersionPrefix,
|
| + base::CompareCase::SENSITIVE)) {
|
| + std::string version = browser_string.substr(kHeadlessVersionPrefixLen);
|
| +
|
| + Status status = ParseBrowserVersionString(
|
| + version, &browser_info->major_version, &build_no);
|
| + if (status.IsError())
|
| + return status;
|
| +
|
| + if (build_no != 0) {
|
| + browser_info->browser_name = "headless chrome";
|
| + browser_info->browser_version = version;
|
| + browser_info->build_no = build_no;
|
| + return Status(kOk);
|
| + }
|
| + }
|
| +
|
| if (browser_string.find("Version/") == 0u || // KitKat
|
| (has_android_package && build_no == 0)) { // Lollipop
|
| size_t pos = browser_string.find(kVersionPrefix);
|
|
|