Commit 46d10cd9 authored by Tatiana Buldina's avatar Tatiana Buldina Committed by Commit Bot

[ChromeDriver] Remove leading dot from domain in GetCookies and GetNamedCookie

Bug: chromedriver:2830
Change-Id: I2363609a6ee64d8114fd9f802aedbb10eac0cbd1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1548051Reviewed-by: default avatarJohn Chen <johnchen@chromium.org>
Commit-Queue: Tatiana Buldina <buldina@chromium.org>
Cr-Commit-Position: refs/heads/master@{#646635}
parent e4d149a5
...@@ -235,8 +235,7 @@ std::unique_ptr<base::DictionaryValue> CreateDictionaryFrom( ...@@ -235,8 +235,7 @@ std::unique_ptr<base::DictionaryValue> CreateDictionaryFrom(
return dict; return dict;
} }
Status GetVisibleCookies(Session* session, Status GetVisibleCookies(WebView* web_view,
WebView* web_view,
std::list<Cookie>* cookies) { std::list<Cookie>* cookies) {
std::string current_page_url; std::string current_page_url;
Status status = GetUrl(web_view, std::string(), &current_page_url); Status status = GetUrl(web_view, std::string(), &current_page_url);
...@@ -258,10 +257,6 @@ Status GetVisibleCookies(Session* session, ...@@ -258,10 +257,6 @@ Status GetVisibleCookies(Session* session,
cookie_dict->GetString("value", &value); cookie_dict->GetString("value", &value);
std::string domain; std::string domain;
cookie_dict->GetString("domain", &domain); cookie_dict->GetString("domain", &domain);
if (session->w3c_compliant) {
if (domain[0] == '.')
domain.erase(0, 1);
}
std::string path; std::string path;
cookie_dict->GetString("path", &path); cookie_dict->GetString("path", &path);
double expiry = 0; double expiry = 0;
...@@ -1779,12 +1774,14 @@ Status ExecuteGetCookies(Session* session, ...@@ -1779,12 +1774,14 @@ Status ExecuteGetCookies(Session* session,
std::unique_ptr<base::Value>* value, std::unique_ptr<base::Value>* value,
Timeout* timeout) { Timeout* timeout) {
std::list<Cookie> cookies; std::list<Cookie> cookies;
Status status = GetVisibleCookies(session, web_view, &cookies); Status status = GetVisibleCookies(web_view, &cookies);
if (status.IsError()) if (status.IsError())
return status; return status;
std::unique_ptr<base::ListValue> cookie_list(new base::ListValue()); std::unique_ptr<base::ListValue> cookie_list(new base::ListValue());
for (std::list<Cookie>::const_iterator it = cookies.begin(); for (std::list<Cookie>::iterator it = cookies.begin();
it != cookies.end(); ++it) { it != cookies.end(); ++it) {
if (session->w3c_compliant && it->domain[0] == '.')
it->domain.erase(0, 1);
cookie_list->Append(CreateDictionaryFrom(*it)); cookie_list->Append(CreateDictionaryFrom(*it));
} }
*value = std::move(cookie_list); *value = std::move(cookie_list);
...@@ -1801,13 +1798,15 @@ Status ExecuteGetNamedCookie(Session* session, ...@@ -1801,13 +1798,15 @@ Status ExecuteGetNamedCookie(Session* session,
return Status(kInvalidArgument, "missing 'cookie name'"); return Status(kInvalidArgument, "missing 'cookie name'");
std::list<Cookie> cookies; std::list<Cookie> cookies;
Status status = GetVisibleCookies(session, web_view, &cookies); Status status = GetVisibleCookies(web_view, &cookies);
if (status.IsError()) if (status.IsError())
return status; return status;
for (std::list<Cookie>::const_iterator it = cookies.begin(); for (std::list<Cookie>::iterator it = cookies.begin();
it != cookies.end(); ++it) { it != cookies.end(); ++it) {
if (name == it->name) { if (name == it->name) {
if (session->w3c_compliant && it->domain[0] == '.')
it->domain.erase(0, 1);
value->reset(CreateDictionaryFrom(*it)->DeepCopy()); value->reset(CreateDictionaryFrom(*it)->DeepCopy());
return Status(kOk); return Status(kOk);
} }
...@@ -1888,7 +1887,7 @@ Status ExecuteDeleteCookie(Session* session, ...@@ -1888,7 +1887,7 @@ Status ExecuteDeleteCookie(Session* session,
return status; return status;
std::list<Cookie> cookies; std::list<Cookie> cookies;
status = GetVisibleCookies(session, web_view, &cookies); status = GetVisibleCookies(web_view, &cookies);
if (status.IsError()) if (status.IsError())
return status; return status;
...@@ -1909,7 +1908,7 @@ Status ExecuteDeleteAllCookies(Session* session, ...@@ -1909,7 +1908,7 @@ Status ExecuteDeleteAllCookies(Session* session,
std::unique_ptr<base::Value>* value, std::unique_ptr<base::Value>* value,
Timeout* timeout) { Timeout* timeout) {
std::list<Cookie> cookies; std::list<Cookie> cookies;
Status status = GetVisibleCookies(session, web_view, &cookies); Status status = GetVisibleCookies(web_view, &cookies);
if (status.IsError()) if (status.IsError())
return status; return status;
......
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