Commit 87a1499e authored by Shengfa Lin's avatar Shengfa Lin Committed by Commit Bot

[chromedriver] Bidi WebSocket connection(II)

Add parsing webSocketUrl for connection

Bug: chromedriver:3588
Change-Id: I39fc933fcf8cfc2a7ff14c7fbf65fa3f1ba832b6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2389053
Commit-Queue: Shengfa Lin <shengfa@google.com>
Reviewed-by: default avatarJohn Chen <johnchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#803955}
parent 801943af
......@@ -785,6 +785,8 @@ Status Capabilities::Parse(const base::DictionaryValue& desired_caps,
parser_map["timeouts"] = base::BindRepeating(&ParseTimeouts);
parser_map["strictFileInteractability"] =
base::BindRepeating(&ParseBoolean, &strict_file_interactability);
parser_map["webSocketUrl"] =
base::BindRepeating(&ParseBoolean, &webSocketUrl);
if (!w3c_compliant) {
// TODO(https://crbug.com/chromedriver/2596): "unexpectedAlertBehaviour" is
// legacy name of "unhandledPromptBehavior", remove when we stop supporting
......
......@@ -184,6 +184,8 @@ struct Capabilities {
Switches switches;
std::set<WebViewInfo::Type> window_types;
bool webSocketUrl = false;
};
bool GetChromeOptionsDictionary(const base::DictionaryValue& params,
......
......@@ -83,6 +83,7 @@ struct Session {
const std::string id;
bool w3c_compliant;
bool webSocketUrl = false;
bool quit;
bool detach;
std::unique_ptr<Chrome> chrome;
......
......@@ -373,6 +373,7 @@ Status ConfigureSession(Session* session,
session->script_timeout = capabilities->script_timeout;
session->strict_file_interactability =
capabilities->strict_file_interactability;
session->webSocketUrl = capabilities->webSocketUrl;
Log::Level driver_level = Log::kWarning;
if (capabilities->logging_prefs.count(WebDriverLog::kDriverType))
driver_level = capabilities->logging_prefs[WebDriverLog::kDriverType];
......@@ -605,9 +606,7 @@ Status ExecuteInitSession(const InitSessionParams& bound_params,
session->quit = true;
if (session->chrome != NULL)
session->chrome->Quit();
} else {
// TODO only do this when WebSocketUrl capability is specified
// https://bugs.chromium.org/p/chromedriver/issues/detail?id=3588
} else if (session->webSocketUrl) {
bound_params.cmd_task_runner->PostTask(
FROM_HERE, base::BindOnce(&InitSessionForWebSocketConnection,
bound_params.session_map, session->id));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment