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

Unified Diff: content/browser/devtools/protocol/devtools_protocol_browsertest.cc

Issue 2554293002: devtools: Make it possible to retrieve all cookies (Closed)
Patch Set: Created 4 years 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 | content/browser/devtools/protocol/network_handler.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/devtools/protocol/devtools_protocol_browsertest.cc
diff --git a/content/browser/devtools/protocol/devtools_protocol_browsertest.cc b/content/browser/devtools/protocol/devtools_protocol_browsertest.cc
index bcbf2b4d8e74b68d6cde093e8cb824131682df76..f4aae0107a1927cd404e4e87dc413b473c79caf3 100644
--- a/content/browser/devtools/protocol/devtools_protocol_browsertest.cc
+++ b/content/browser/devtools/protocol/devtools_protocol_browsertest.cc
@@ -1448,4 +1448,64 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessDevToolsProtocolTest, TargetNoDiscovery) {
EXPECT_EQ(target_id, temp);
}
+IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest, SetAndGetCookies) {
+ ASSERT_TRUE(embedded_test_server()->Start());
+ GURL test_url = embedded_test_server()->GetURL("/title1.html");
+ NavigateToURLBlockUntilNavigationsComplete(shell(), test_url, 1);
+ Attach();
+
+ // Set two cookies, one of which matches the loaded URL and another that
+ // doesn't.
+ std::unique_ptr<base::DictionaryValue> command_params;
+ command_params.reset(new base::DictionaryValue());
+ command_params->SetString("url", test_url.spec());
+ command_params->SetString("name", "cookie_for_this_url");
+ command_params->SetString("value", "mendacious");
+ SendCommand("Network.setCookie", std::move(command_params), false);
+
+ command_params.reset(new base::DictionaryValue());
+ command_params->SetString("url", "https://www.chromium.org");
+ command_params->SetString("name", "cookie_for_another_url");
+ command_params->SetString("value", "polyglottal");
+ SendCommand("Network.setCookie", std::move(command_params), false);
+
+ // First get the cookies for just the loaded URL.
+ SendCommand("Network.getCookies", nullptr, true);
+
+ base::ListValue* cookies;
+ EXPECT_TRUE(result_->HasKey("cookies"));
+ EXPECT_TRUE(result_->GetList("cookies", &cookies));
+ EXPECT_EQ(1u, cookies->GetSize());
+
+ base::DictionaryValue* cookie;
+ std::string name;
+ std::string value;
+ EXPECT_TRUE(cookies->GetDictionary(0, &cookie));
+ EXPECT_TRUE(cookie->GetString("name", &name));
+ EXPECT_TRUE(cookie->GetString("value", &value));
+ EXPECT_EQ("cookie_for_this_url", name);
+ EXPECT_EQ("mendacious", value);
+
+ // Then get all the cookies in the cookie jar.
+ command_params.reset(new base::DictionaryValue());
+ command_params->SetBoolean("global", true);
+ SendCommand("Network.getCookies", std::move(command_params), true);
+
+ EXPECT_TRUE(result_->HasKey("cookies"));
+ EXPECT_TRUE(result_->GetList("cookies", &cookies));
+ EXPECT_EQ(2u, cookies->GetSize());
+
+ EXPECT_TRUE(cookies->GetDictionary(0, &cookie));
dgozman 2016/12/07 19:25:05 Bots show that order is unpredictable here :-)
Sami 2016/12/08 10:52:10 So it seems :) Fixed.
+ EXPECT_TRUE(cookie->GetString("name", &name));
+ EXPECT_TRUE(cookie->GetString("value", &value));
+ EXPECT_EQ("cookie_for_this_url", name);
+ EXPECT_EQ("mendacious", value);
+
+ EXPECT_TRUE(cookies->GetDictionary(1, &cookie));
+ EXPECT_TRUE(cookie->GetString("name", &name));
+ EXPECT_TRUE(cookie->GetString("value", &value));
+ EXPECT_EQ("cookie_for_another_url", name);
+ EXPECT_EQ("polyglottal", value);
+}
+
} // namespace content
« no previous file with comments | « no previous file | content/browser/devtools/protocol/network_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698