Index: chrome/browser/net/predictor.cc |
diff --git a/chrome/browser/net/predictor.cc b/chrome/browser/net/predictor.cc |
index 9299b63358dec01e1bdd97292cf68ec474d075b8..72194996decda289eddb97d6938cda7d90c6ee0a 100644 |
--- a/chrome/browser/net/predictor.cc |
+++ b/chrome/browser/net/predictor.cc |
@@ -86,6 +86,8 @@ const int Predictor::kTypicalSpeculativeGroupSize = 8; |
const int Predictor::kMaxSpeculativeResolveQueueDelayMs = |
(kExpectedResolutionTimeMs * Predictor::kTypicalSpeculativeGroupSize) / |
Predictor::kMaxSpeculativeParallelResolves; |
+const bool Predictor::kAllowCredentialsOnPreconnect = true; |
Ryan Sleevi
2015/06/12 21:35:59
I'm not sure I understand why this is a global sta
|
+ |
static int g_max_queueing_delay_ms = |
Predictor::kMaxSpeculativeResolveQueueDelayMs; |
@@ -266,7 +268,8 @@ void Predictor::AnticipateOmniboxUrl(const GURL& url, bool preconnectable) { |
last_omnibox_preconnect_ = now; |
const int kConnectionsNeeded = 1; |
PreconnectUrl( |
- CanonicalizeUrl(url), GURL(), motivation, kConnectionsNeeded); |
+ CanonicalizeUrl(url), GURL(), motivation, kConnectionsNeeded, |
+ kAllowCredentialsOnPreconnect); |
return; // Skip pre-resolution, since we'll open a connection. |
} |
} else { |
@@ -306,7 +309,7 @@ void Predictor::PreconnectUrlAndSubresources(const GURL& url, |
UrlInfo::ResolutionMotivation motivation(UrlInfo::EARLY_LOAD_MOTIVATED); |
const int kConnectionsNeeded = 1; |
PreconnectUrl(CanonicalizeUrl(url), first_party_for_cookies, |
- motivation, kConnectionsNeeded); |
+ motivation, kConnectionsNeeded, kAllowCredentialsOnPreconnect); |
PredictFrameSubresources(url.GetWithEmptyPath(), first_party_for_cookies); |
} |
@@ -840,19 +843,24 @@ void Predictor::SaveDnsPrefetchStateForNextStartupAndTrim( |
void Predictor::PreconnectUrl(const GURL& url, |
const GURL& first_party_for_cookies, |
UrlInfo::ResolutionMotivation motivation, |
- int count) { |
+ int count, |
+ bool allow_credentials) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI) || |
BrowserThread::CurrentlyOn(BrowserThread::IO)); |
if (BrowserThread::CurrentlyOn(BrowserThread::IO)) { |
- PreconnectUrlOnIOThread(url, first_party_for_cookies, motivation, count); |
+ PreconnectUrlOnIOThread(url, |
+ first_party_for_cookies, |
+ motivation, |
+ count, |
+ allow_credentials); |
} else { |
BrowserThread::PostTask( |
BrowserThread::IO, |
FROM_HERE, |
base::Bind(&Predictor::PreconnectUrlOnIOThread, |
base::Unretained(this), url, first_party_for_cookies, |
- motivation, count)); |
+ motivation, count, allow_credentials)); |
} |
} |
@@ -860,7 +868,8 @@ void Predictor::PreconnectUrlOnIOThread( |
const GURL& original_url, |
const GURL& first_party_for_cookies, |
UrlInfo::ResolutionMotivation motivation, |
- int count) { |
+ int count, |
+ bool allow_credentials) { |
// Skip the HSTS redirect. |
GURL url = GetHSTSRedirectOnIOThread(original_url); |
@@ -873,7 +882,8 @@ void Predictor::PreconnectUrlOnIOThread( |
first_party_for_cookies, |
motivation, |
count, |
- url_request_context_getter_.get()); |
+ url_request_context_getter_.get(), |
+ allow_credentials); |
} |
void Predictor::PredictFrameSubresources(const GURL& url, |
@@ -941,7 +951,8 @@ void Predictor::PrepareFrameSubresources(const GURL& original_url, |
// provide a more carefully estimated preconnection count. |
if (preconnect_enabled_) { |
PreconnectUrlOnIOThread(url, first_party_for_cookies, |
- UrlInfo::SELF_REFERAL_MOTIVATED, 2); |
+ UrlInfo::SELF_REFERAL_MOTIVATED, 2, |
+ kAllowCredentialsOnPreconnect); |
} |
return; |
} |
@@ -966,7 +977,7 @@ void Predictor::PrepareFrameSubresources(const GURL& original_url, |
if (url.host() == future_url->first.host()) |
++count; |
PreconnectUrlOnIOThread(future_url->first, first_party_for_cookies, |
- motivation, count); |
+ motivation, count, kAllowCredentialsOnPreconnect); |
} else if (connection_expectation > kDNSPreresolutionWorthyExpectedValue) { |
evalution = PRERESOLUTION; |
future_url->second.preresolution_increment(); |