summaryrefslogtreecommitdiffstats
path: root/net/websockets
diff options
context:
space:
mode:
authortkent@chromium.org <tkent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-20 03:54:03 +0000
committertkent@chromium.org <tkent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-20 03:54:03 +0000
commit22e045faa6bc1faa16b5664aa896e9c107851761 (patch)
tree2051918751d9053de984b61b8ac3ed2d2ee92006 /net/websockets
parentd9343b3e87b143d3438eddabc3a9eeec65d39bd0 (diff)
downloadchromium_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.cc17
-rw-r--r--net/websockets/websocket_job.h2
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();