Index: chrome/browser/net/preconnect.cc |
diff --git a/chrome/browser/net/preconnect.cc b/chrome/browser/net/preconnect.cc |
index dfa91a3195341b58603112fbae57b665a2d314b5..17673c31bed256fdd2dc02dca27964b8938d7905 100644 |
--- a/chrome/browser/net/preconnect.cc |
+++ b/chrome/browser/net/preconnect.cc |
@@ -8,6 +8,7 @@ |
#include "base/logging.h" |
#include "base/metrics/histogram.h" |
#include "content/public/browser/browser_thread.h" |
+#include "net/base/load_flags.h" |
#include "net/http/http_network_session.h" |
#include "net/http/http_request_info.h" |
#include "net/http/http_stream_factory.h" |
@@ -30,20 +31,18 @@ void PreconnectOnUIThread( |
net::URLRequestContextGetter* getter) { |
// Prewarm connection to Search URL. |
BrowserThread::PostTask( |
- BrowserThread::IO, |
- FROM_HERE, |
+ BrowserThread::IO, FROM_HERE, |
base::Bind(&PreconnectOnIOThread, url, first_party_for_cookies, |
- motivation, count, make_scoped_refptr(getter))); |
+ motivation, count, make_scoped_refptr(getter), true)); |
return; |
} |
- |
-void PreconnectOnIOThread( |
- const GURL& url, |
- const GURL& first_party_for_cookies, |
- UrlInfo::ResolutionMotivation motivation, |
- int count, |
- net::URLRequestContextGetter* getter) { |
+void PreconnectOnIOThread(const GURL& url, |
+ const GURL& first_party_for_cookies, |
+ UrlInfo::ResolutionMotivation motivation, |
+ int count, |
+ net::URLRequestContextGetter* getter, |
+ bool allow_credentials) { |
if (!BrowserThread::CurrentlyOn(BrowserThread::IO)) { |
LOG(DFATAL) << "This must be run only on the IO thread."; |
return; |
@@ -71,6 +70,16 @@ void PreconnectOnIOThread( |
if (delegate->CanEnablePrivacyMode(url, first_party_for_cookies)) |
request_info.privacy_mode = net::PRIVACY_MODE_ENABLED; |
mmenke
2015/07/24 15:48:20
Setting the load flags for only some privacy mode
Ryan Sleevi
2015/07/24 16:32:26
Fundamentally, yes. At the lower layer, we basical
|
+ // TODO(yoav): Fix this layering violation, since when credentials are not |
+ // allowed we should turn on a flag indicating that, rather then turn on |
+ // private mode, even if lower layers would treat both the same. |
+ if (!allow_credentials) { |
+ request_info.privacy_mode = net::PRIVACY_MODE_ENABLED; |
Ryan Sleevi
2015/07/24 16:32:26
I don't think you need to set this (forcing pm mod
|
+ request_info.load_flags = net::LOAD_DO_NOT_SEND_COOKIES | |
+ net::LOAD_DO_NOT_SAVE_COOKIES | |
+ net::LOAD_DO_NOT_SEND_AUTH_DATA; |
+ } |
+ |
// Translate the motivation from UrlRequest motivations to HttpRequest |
// motivations. |
switch (motivation) { |