summaryrefslogtreecommitdiffstats
path: root/chrome/browser/automation/url_request_automation_job.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/automation/url_request_automation_job.cc')
-rw-r--r--chrome/browser/automation/url_request_automation_job.cc29
1 files changed, 12 insertions, 17 deletions
diff --git a/chrome/browser/automation/url_request_automation_job.cc b/chrome/browser/automation/url_request_automation_job.cc
index 319b976..77e927f 100644
--- a/chrome/browser/automation/url_request_automation_job.cc
+++ b/chrome/browser/automation/url_request_automation_job.cc
@@ -13,7 +13,6 @@
#include "chrome/browser/renderer_host/resource_dispatcher_host_request_info.h"
#include "chrome/test/automation/automation_messages.h"
#include "net/base/cookie_monster.h"
-#include "net/base/cookie_policy.h"
#include "net/base/io_buffer.h"
#include "net/base/net_errors.h"
#include "net/http/http_util.h"
@@ -298,6 +297,9 @@ void URLRequestAutomationJob::OnRequestStarted(int tab, int id,
URLRequestContext* ctx = request_->context();
std::vector<std::string> response_cookies;
+ // NOTE: We ignore Chrome's cookie policy to allow the automation to
+ // decide what cookies should be set.
+
if (!response.headers.empty()) {
headers_ = new net::HttpResponseHeaders(
net::HttpUtil::AssembleRawHeaders(response.headers.data(),
@@ -312,30 +314,23 @@ void URLRequestAutomationJob::OnRequestStarted(int tab, int id,
response_cookies.push_back(value);
}
- if (response_cookies.size()) {
- if (ctx && ctx->cookie_store() && (!ctx->cookie_policy() ||
- ctx->cookie_policy()->CanSetCookie(
- url_for_cookies, request_->first_party_for_cookies()))) {
- net::CookieOptions options;
- options.set_include_httponly();
- ctx->cookie_store()->SetCookiesWithOptions(url_for_cookies,
- response_cookies,
- options);
- }
+ if (response_cookies.size() && ctx && ctx->cookie_store()) {
+ net::CookieOptions options;
+ options.set_include_httponly();
+ ctx->cookie_store()->SetCookiesWithOptions(url_for_cookies,
+ response_cookies,
+ options);
}
}
- if (!response.persistent_cookies.empty() && ctx && ctx->cookie_store() &&
- (!ctx->cookie_policy() || ctx->cookie_policy()->CanSetCookie(
- url_for_cookies, request_->first_party_for_cookies()))) {
+ if (!response.persistent_cookies.empty() && ctx && ctx->cookie_store()) {
StringTokenizer cookie_parser(response.persistent_cookies, ";");
net::CookieMonster::CookieList existing_cookies;
net::CookieMonster* monster = ctx->cookie_store()->GetCookieMonster();
DCHECK(monster);
- if (monster) {
- existing_cookies = monster->GetRawCookies(url_for_cookies);
- }
+ if (monster)
+ existing_cookies = monster->GetAllCookiesForURL(url_for_cookies);
while (cookie_parser.GetNext()) {
std::string cookie_string = cookie_parser.token();