diff options
author | tkent@chromium.org <tkent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-20 03:54:03 +0000 |
---|---|---|
committer | tkent@chromium.org <tkent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-20 03:54:03 +0000 |
commit | 22e045faa6bc1faa16b5664aa896e9c107851761 (patch) | |
tree | 2051918751d9053de984b61b8ac3ed2d2ee92006 /net/websockets | |
parent | d9343b3e87b143d3438eddabc3a9eeec65d39bd0 (diff) | |
download | chromium_src-22e045faa6bc1faa16b5664aa896e9c107851761.zip chromium_src-22e045faa6bc1faa16b5664aa896e9c107851761.tar.gz chromium_src-22e045faa6bc1faa16b5664aa896e9c107851761.tar.bz2 |
Revert 224269 "Don't persist HPKP if PrivacyMode is enabled."
It broke Google Chrome ChromeOS bot.
http://build.chromium.org/p/chromium.chrome/builders/Google%20Chrome%20ChromeOS/builds/58548/steps/compile/logs/stdio#error1
FAILED: g++ ... -c ../../net/socket/ssl_client_socket_nss.cc -o obj/net/socket/net.ssl_client_socket_nss.o
../../net/socket/ssl_client_socket_nss.cc: In member function 'int net::SSLClientSocketNSS::DoVerifyCertComplete(int)':
../../net/socket/ssl_client_socket_nss.cc:3445:64:error: no matching function for call to 'net::TransportSecurityState::GetDomainState(const string&, bool&, net::TransportSecurityState::DomainState*)'
../../net/socket/ssl_client_socket_nss.cc:3445:64: note: candidate is:
../../net/http/transport_security_state.h:212:8: note: bool net::TransportSecurityState::GetDomainState(const string&, bool, bool, net::TransportSecurityState::DomainState*)
../../net/http/transport_security_state.h:212:8: note: candidate expects 4 arguments, 3 provided
> Don't persist HPKP if PrivacyMode is enabled.
>
> BUG=258667
>
> Review URL: https://chromiumcodereview.appspot.com/19269012
TBR=mef@chromium.org
Review URL: https://codereview.chromium.org/24251011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224275 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/websockets')
-rw-r--r-- | net/websockets/websocket_job.cc | 17 | ||||
-rw-r--r-- | net/websockets/websocket_job.h | 2 |
2 files changed, 14 insertions, 5 deletions
diff --git a/net/websockets/websocket_job.cc b/net/websockets/websocket_job.cc index 34adb31..50d1218 100644 --- a/net/websockets/websocket_job.cc +++ b/net/websockets/websocket_job.cc @@ -367,8 +367,7 @@ bool WebSocketJob::SendHandshakeRequest(const char* data, int len) { 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 @@ void WebSocketJob::AddCookieHeaderAndSend() { 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 @@ void WebSocketJob::SaveNextCookie() { 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 @@ void WebSocketJob::OnCookieSaved(bool cookie_status) { 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_; } diff --git a/net/websockets/websocket_job.h b/net/websockets/websocket_job.h index 4a9bf39..119c4dc 100644 --- a/net/websockets/websocket_job.h +++ b/net/websockets/websocket_job.h @@ -110,6 +110,8 @@ class NET_EXPORT WebSocketJob void NotifyHeadersComplete(); void DoSendData(); + GURL GetURLForCookies() const; + const AddressList& address_list() const; int TrySpdyStream(); void SetWaiting(); |