diff options
author | tburkard@chromium.org <tburkard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-12 21:39:42 +0000 |
---|---|---|
committer | tburkard@chromium.org <tburkard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-12 21:39:42 +0000 |
commit | d670bbdb93cad67c0cbfbd60f702167a9cd0697c (patch) | |
tree | 0661c85eef059468a18b0de28def42bfd0c4efff /net/websockets/websocket_job.cc | |
parent | 26a6e2925158afff49860b8f2c072e5cf224d7a7 (diff) | |
download | chromium_src-d670bbdb93cad67c0cbfbd60f702167a9cd0697c.zip chromium_src-d670bbdb93cad67c0cbfbd60f702167a9cd0697c.tar.gz chromium_src-d670bbdb93cad67c0cbfbd60f702167a9cd0697c.tar.bz2 |
Allow the content browser client to specify a special cookie store to be
used for a given render process id. This special cookie store will then
be used for renderer messages pertaining to cookies, url fetches in net,
and websockets. If the special cookie store is NULL, a default cookie store
will be used.
Re-submit of https://codereview.chromium.org/188693003
See https://codereview.chromium.org/188693003 for reviewers/lgtm's.
Review URL: https://codereview.chromium.org/197043005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256657 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/websockets/websocket_job.cc')
-rw-r--r-- | net/websockets/websocket_job.cc | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/net/websockets/websocket_job.cc b/net/websockets/websocket_job.cc index b0f5be8..63e65a4 100644 --- a/net/websockets/websocket_job.cc +++ b/net/websockets/websocket_job.cc @@ -36,9 +36,10 @@ const char* const kSetCookieHeaders[] = { }; net::SocketStreamJob* WebSocketJobFactory( - const GURL& url, net::SocketStream::Delegate* delegate) { + const GURL& url, net::SocketStream::Delegate* delegate, + net::URLRequestContext* context, net::CookieStore* cookie_store) { net::WebSocketJob* job = new net::WebSocketJob(delegate); - job->InitSocketStream(new net::SocketStream(url, job)); + job->InitSocketStream(new net::SocketStream(url, job, context, cookie_store)); return job; } @@ -370,11 +371,11 @@ void WebSocketJob::AddCookieHeaderAndSend() { if (socket_.get() && delegate_ && state_ == CONNECTING) { handshake_request_->RemoveHeaders(kCookieHeaders, arraysize(kCookieHeaders)); - if (allow && socket_->context()->cookie_store()) { + if (allow && socket_->cookie_store()) { // Add cookies, including HttpOnly cookies. CookieOptions cookie_options; cookie_options.set_include_httponly(); - socket_->context()->cookie_store()->GetCookiesWithOptionsAsync( + socket_->cookie_store()->GetCookiesWithOptionsAsync( GetURLForCookies(), cookie_options, base::Bind(&WebSocketJob::LoadCookieCallback, weak_ptr_factory_.GetWeakPtr())); @@ -505,7 +506,7 @@ void WebSocketJob::SaveNextCookie() { callback_pending_ = false; save_next_cookie_running_ = true; - if (socket_->context()->cookie_store()) { + if (socket_->cookie_store()) { GURL url_for_cookies = GetURLForCookies(); CookieOptions options; @@ -526,7 +527,7 @@ void WebSocketJob::SaveNextCookie() { continue; callback_pending_ = true; - socket_->context()->cookie_store()->SetCookieWithOptionsAsync( + socket_->cookie_store()->SetCookieWithOptionsAsync( url_for_cookies, cookie, options, base::Bind(&WebSocketJob::OnCookieSaved, weak_ptr_factory_.GetWeakPtr())); |