summaryrefslogtreecommitdiffstats
path: root/net/base/network_delegate.cc
diff options
context:
space:
mode:
authormef@chromium.org <mef@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-17 18:01:40 +0000
committermef@chromium.org <mef@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-17 18:01:40 +0000
commite6d017658f1f60b06eebff1b0ac5ba6751b8daa7 (patch)
tree570100639ba4ce142591694b297b0218d55e54a5 /net/base/network_delegate.cc
parent8fcb7fa663d0ec60859e931c01929baa64ee47e4 (diff)
downloadchromium_src-e6d017658f1f60b06eebff1b0ac5ba6751b8daa7.zip
chromium_src-e6d017658f1f60b06eebff1b0ac5ba6751b8daa7.tar.gz
chromium_src-e6d017658f1f60b06eebff1b0ac5ba6751b8daa7.tar.bz2
ChannelID-less Connections in Chrome should be more granular.
Added enum PrivacyMode (Enabled/Disabled) to mark connections which should not use ChannelID even if it is globally enabled. PrivacyMode is enabled if user blocks sending or saving cookies to/from particular server, taking in account third party cookie settings as well. See crbug.com/223191 for design doc. Segmented client socket pools according to privacy mode setting used for particular connection (added 'pm/' prefix to pool key. Introduced SpdySessionKey structure and added PrivacyMode to the key of SpdySessionPool. Added propagation of Privacy Mode setting from Web Sockets. Added check of Privacy Mode to predictor and pre-connect logic. BUG=223191 TEST=unit_tests gtest_filter=ChromeNetworkDelegatePrivacyModeTest* Review URL: https://chromiumcodereview.appspot.com/13008028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@200852 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/network_delegate.cc')
-rw-r--r--net/base/network_delegate.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/net/base/network_delegate.cc b/net/base/network_delegate.cc
index 485f5bb..5a69b86 100644
--- a/net/base/network_delegate.cc
+++ b/net/base/network_delegate.cc
@@ -118,6 +118,20 @@ bool NetworkDelegate::CanThrottleRequest(const URLRequest& request) const {
return OnCanThrottleRequest(request);
}
+bool NetworkDelegate::CanEnablePrivacyMode(
+ const GURL& url,
+ const GURL& first_party_for_cookies) const {
+ DCHECK(CalledOnValidThread());
+ return OnCanEnablePrivacyMode(url, first_party_for_cookies);
+}
+
+bool NetworkDelegate::OnCanEnablePrivacyMode(
+ const GURL& url,
+ const GURL& first_party_for_cookies) const {
+ // Default implementation disables privacy mode.
+ return false;
+}
+
int NetworkDelegate::NotifyBeforeSocketStreamConnect(
SocketStream* socket,
const CompletionCallback& callback) {