Index: chrome/browser/net/chrome_network_delegate.h |
diff --git a/chrome/browser/net/chrome_network_delegate.h b/chrome/browser/net/chrome_network_delegate.h |
index 9c75dd95a891c93979e77add9db9e19f534a8876..5d753e9fff9f280d071cb44f7a3137ce599cb02c 100644 |
--- a/chrome/browser/net/chrome_network_delegate.h |
+++ b/chrome/browser/net/chrome_network_delegate.h |
@@ -12,17 +12,24 @@ |
#include "net/base/network_delegate.h" |
class ExtensionEventRouterForwarder; |
+template<class T> class PrefMember; |
class ProtocolHandlerRegistry; |
+typedef PrefMember<bool> BooleanPrefMember; |
+ |
// ChromeNetworkDelegate is the central point from within the chrome code to |
// add hooks into the network stack. |
class ChromeNetworkDelegate : public net::NetworkDelegate { |
public: |
// If |profile_id| is the invalid profile, events will be broadcasted to all |
// profiles, otherwise, they will only be sent to the specified profile. |
+ // |enable_referrers| is a PrefMember which should be bound to the profile's |
+ // PrefService and moved to the IO thread. This object's owner is responsible |
+ // for cleaning it up at shutdown. |
explicit ChromeNetworkDelegate( |
ExtensionEventRouterForwarder* event_router, |
ProfileId profile_id, |
+ BooleanPrefMember* enable_referrers, |
ProtocolHandlerRegistry* protocol_handler_registry); |
virtual ~ChromeNetworkDelegate(); |
@@ -41,6 +48,9 @@ class ChromeNetworkDelegate : public net::NetworkDelegate { |
scoped_refptr<ExtensionEventRouterForwarder> event_router_; |
const ProfileId profile_id_; |
+ |
+ // Weak, owned by our owner. |
+ BooleanPrefMember* enable_referrers_; |
scoped_refptr<ProtocolHandlerRegistry> protocol_handler_registry_; |
DISALLOW_COPY_AND_ASSIGN(ChromeNetworkDelegate); |
}; |