diff options
author | mef@chromium.org <mef@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-17 18:01:40 +0000 |
---|---|---|
committer | mef@chromium.org <mef@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-17 18:01:40 +0000 |
commit | e6d017658f1f60b06eebff1b0ac5ba6751b8daa7 (patch) | |
tree | 570100639ba4ce142591694b297b0218d55e54a5 /net/base/network_delegate.cc | |
parent | 8fcb7fa663d0ec60859e931c01929baa64ee47e4 (diff) | |
download | chromium_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.cc | 14 |
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) { |