Index: trunk/src/net/websockets/websocket_job.cc |
=================================================================== |
--- trunk/src/net/websockets/websocket_job.cc (revision 224274) |
+++ trunk/src/net/websockets/websocket_job.cc (working copy) |
@@ -367,8 +367,7 @@ |
void WebSocketJob::AddCookieHeaderAndSend() { |
bool allow = true; |
- GURL url_for_cookies(socket_->url_for_cookies()); |
- if (delegate_ && !delegate_->CanGetCookies(socket_.get(), url_for_cookies)) |
+ if (delegate_ && !delegate_->CanGetCookies(socket_.get(), GetURLForCookies())) |
allow = false; |
if (socket_.get() && delegate_ && state_ == CONNECTING) { |
@@ -379,8 +378,7 @@ |
CookieOptions cookie_options; |
cookie_options.set_include_httponly(); |
socket_->context()->cookie_store()->GetCookiesWithOptionsAsync( |
- url_for_cookies, |
- cookie_options, |
+ GetURLForCookies(), cookie_options, |
base::Bind(&WebSocketJob::LoadCookieCallback, |
weak_ptr_factory_.GetWeakPtr())); |
} else { |
@@ -511,7 +509,7 @@ |
save_next_cookie_running_ = true; |
if (socket_->context()->cookie_store()) { |
- GURL url_for_cookies(socket_->url_for_cookies()); |
+ GURL url_for_cookies = GetURLForCookies(); |
CookieOptions options; |
options.set_include_httponly(); |
@@ -565,6 +563,15 @@ |
SaveNextCookie(); |
} |
+GURL WebSocketJob::GetURLForCookies() const { |
+ GURL url = socket_->url(); |
+ std::string scheme = socket_->is_secure() ? "https" : "http"; |
+ url_canon::Replacements<char> replacements; |
+ replacements.SetScheme(scheme.c_str(), |
+ url_parse::Component(0, scheme.length())); |
+ return url.ReplaceComponents(replacements); |
+} |
+ |
const AddressList& WebSocketJob::address_list() const { |
return addresses_; |
} |