| Index: chrome/browser/net/pref_proxy_config_tracker_impl.h
|
| diff --git a/chrome/browser/net/pref_proxy_config_tracker_impl.h b/chrome/browser/net/pref_proxy_config_tracker_impl.h
|
| deleted file mode 100644
|
| index 1e35389959c713bc714d3401e2692ef68f835180..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/net/pref_proxy_config_tracker_impl.h
|
| +++ /dev/null
|
| @@ -1,165 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef CHROME_BROWSER_NET_PREF_PROXY_CONFIG_TRACKER_IMPL_H_
|
| -#define CHROME_BROWSER_NET_PREF_PROXY_CONFIG_TRACKER_IMPL_H_
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "base/memory/ref_counted.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/observer_list.h"
|
| -#include "base/prefs/pref_change_registrar.h"
|
| -#include "chrome/browser/net/pref_proxy_config_tracker.h"
|
| -#include "components/proxy_config/proxy_config_dictionary.h"
|
| -#include "net/proxy/proxy_config.h"
|
| -#include "net/proxy/proxy_config_service.h"
|
| -
|
| -class PrefService;
|
| -class PrefRegistrySimple;
|
| -
|
| -namespace user_prefs {
|
| -class PrefRegistrySyncable;
|
| -}
|
| -
|
| -// A net::ProxyConfigService implementation that applies preference proxy
|
| -// settings (pushed from PrefProxyConfigTrackerImpl) as overrides to the proxy
|
| -// configuration determined by a baseline delegate ProxyConfigService on
|
| -// non-ChromeOS platforms. ChromeOS has its own implementation of overrides in
|
| -// chromeos::ProxyConfigServiceImpl.
|
| -class ChromeProxyConfigService
|
| - : public net::ProxyConfigService,
|
| - public net::ProxyConfigService::Observer {
|
| - public:
|
| - // Takes ownership of the passed |base_service|.
|
| - // GetLatestProxyConfig returns ConfigAvailability::CONFIG_PENDING until
|
| - // UpdateProxyConfig has been called.
|
| - explicit ChromeProxyConfigService(net::ProxyConfigService* base_service);
|
| - ~ChromeProxyConfigService() override;
|
| -
|
| - // ProxyConfigService implementation:
|
| - void AddObserver(net::ProxyConfigService::Observer* observer) override;
|
| - void RemoveObserver(net::ProxyConfigService::Observer* observer) override;
|
| - ConfigAvailability GetLatestProxyConfig(net::ProxyConfig* config) override;
|
| - void OnLazyPoll() override;
|
| -
|
| - // Method on IO thread that receives the preference proxy settings pushed from
|
| - // PrefProxyConfigTrackerImpl.
|
| - void UpdateProxyConfig(ProxyPrefs::ConfigState config_state,
|
| - const net::ProxyConfig& config);
|
| -
|
| - private:
|
| - // ProxyConfigService::Observer implementation:
|
| - void OnProxyConfigChanged(const net::ProxyConfig& config,
|
| - ConfigAvailability availability) override;
|
| -
|
| - // Makes sure that the observer registration with the base service is set up.
|
| - void RegisterObserver();
|
| -
|
| - scoped_ptr<net::ProxyConfigService> base_service_;
|
| - base::ObserverList<net::ProxyConfigService::Observer, true> observers_;
|
| -
|
| - // Tracks configuration state of |pref_config_|. |pref_config_| is valid only
|
| - // if |pref_config_state_| is not CONFIG_UNSET.
|
| - ProxyPrefs::ConfigState pref_config_state_;
|
| -
|
| - // Configuration as defined by prefs.
|
| - net::ProxyConfig pref_config_;
|
| -
|
| - // Flag that indicates that a PrefProxyConfigTracker needs to inform us
|
| - // about a proxy configuration before we may return any configuration.
|
| - bool pref_config_read_pending_;
|
| -
|
| - // Indicates whether the base service registration is done.
|
| - bool registered_observer_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(ChromeProxyConfigService);
|
| -};
|
| -
|
| -// A class that tracks proxy preferences. It translates the configuration
|
| -// to net::ProxyConfig and pushes the result over to the IO thread for
|
| -// ChromeProxyConfigService::UpdateProxyConfig to use.
|
| -class PrefProxyConfigTrackerImpl : public PrefProxyConfigTracker {
|
| - public:
|
| - explicit PrefProxyConfigTrackerImpl(PrefService* pref_service);
|
| - ~PrefProxyConfigTrackerImpl() override;
|
| -
|
| - // PrefProxyConfigTracker implementation:
|
| - scoped_ptr<net::ProxyConfigService> CreateTrackingProxyConfigService(
|
| - scoped_ptr<net::ProxyConfigService> base_service) override;
|
| -
|
| - // Notifies the tracker that the pref service passed upon construction is
|
| - // about to go away. This must be called from the UI thread.
|
| - void DetachFromPrefService() override;
|
| -
|
| - // Determines if |config_state| takes precedence regardless, which happens if
|
| - // config is from policy or extension or other-precede.
|
| - static bool PrefPrecedes(ProxyPrefs::ConfigState config_state);
|
| -
|
| - // Determines the proxy configuration that should take effect in the network
|
| - // layer, based on prefs and system configurations.
|
| - // |pref_state| refers to state of |pref_config|.
|
| - // |system_availability| refers to availability of |system_config|.
|
| - // |ignore_fallback_config| indicates if fallback config from prefs should
|
| - // be ignored.
|
| - // Returns effective |effective_config| and its state in
|
| - // |effective_config_source|.
|
| - static net::ProxyConfigService::ConfigAvailability GetEffectiveProxyConfig(
|
| - ProxyPrefs::ConfigState pref_state,
|
| - const net::ProxyConfig& pref_config,
|
| - net::ProxyConfigService::ConfigAvailability system_availability,
|
| - const net::ProxyConfig& system_config,
|
| - bool ignore_fallback_config,
|
| - ProxyPrefs::ConfigState* effective_config_state,
|
| - net::ProxyConfig* effective_config);
|
| -
|
| - // Converts a ProxyConfigDictionary to net::ProxyConfig representation.
|
| - // Returns true if the data from in the dictionary is valid, false otherwise.
|
| - static bool PrefConfigToNetConfig(const ProxyConfigDictionary& proxy_dict,
|
| - net::ProxyConfig* config);
|
| -
|
| - // Registers the proxy preferences. These are actually registered
|
| - // the same way in local state and in user prefs.
|
| - static void RegisterPrefs(PrefRegistrySimple* registry);
|
| - static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
|
| -
|
| - // Creates a proxy configuration from proxy-related preferences of
|
| - // |pref_service|. Configuration is stored in |config|, return value indicates
|
| - // whether the configuration is valid.
|
| - static ProxyPrefs::ConfigState ReadPrefConfig(const PrefService* pref_service,
|
| - net::ProxyConfig* config);
|
| -
|
| - protected:
|
| - // Get the proxy configuration currently defined by preferences.
|
| - // Status is indicated in the return value.
|
| - // Writes the configuration to |config| unless the return value is
|
| - // CONFIG_UNSET, in which case |config| and |config_source| are not touched.
|
| - ProxyPrefs::ConfigState GetProxyConfig(net::ProxyConfig* config);
|
| -
|
| - // Called when there's a change in prefs proxy config.
|
| - // Subclasses can extend it for changes in other sources of proxy config.
|
| - virtual void OnProxyConfigChanged(ProxyPrefs::ConfigState config_state,
|
| - const net::ProxyConfig& config);
|
| -
|
| - void OnProxyPrefChanged();
|
| -
|
| - const PrefService* prefs() const { return pref_service_; }
|
| - bool update_pending() const { return update_pending_; }
|
| -
|
| - private:
|
| - // Tracks configuration state. |pref_config_| is valid only if |config_state_|
|
| - // is not CONFIG_UNSET.
|
| - ProxyPrefs::ConfigState config_state_;
|
| -
|
| - // Configuration as defined by prefs.
|
| - net::ProxyConfig pref_config_;
|
| -
|
| - PrefService* pref_service_;
|
| - ChromeProxyConfigService* chrome_proxy_config_service_; // Weak ptr.
|
| - bool update_pending_; // True if config has not been pushed to network stack.
|
| - PrefChangeRegistrar proxy_prefs_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(PrefProxyConfigTrackerImpl);
|
| -};
|
| -
|
| -#endif // CHROME_BROWSER_NET_PREF_PROXY_CONFIG_TRACKER_IMPL_H_
|
|
|