Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Unified Diff: chrome/browser/chromeos/proxy_config_service.cc

Issue 8102019: redesign and reimplement proxy config service and tracker, revise proxy ui on cros (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/proxy_config_service.cc
===================================================================
--- chrome/browser/chromeos/proxy_config_service.cc (revision 103881)
+++ chrome/browser/chromeos/proxy_config_service.cc (working copy)
@@ -4,26 +4,48 @@
#include "chrome/browser/chromeos/proxy_config_service.h"
+#include "chrome/browser/net/pref_proxy_config_service.h"
+
namespace chromeos {
ProxyConfigService::ProxyConfigService(
- const scoped_refptr<ProxyConfigServiceImpl>& impl)
- : impl_(impl) {
+ const scoped_refptr<ProxyConfigServiceImpl>& impl,
+ PrefProxyConfigTracker* pref_config_tracker)
+ : impl_(impl),
+ pref_config_tracker_(pref_config_tracker) {
}
-ProxyConfigService::~ProxyConfigService() {}
+ProxyConfigService::~ProxyConfigService() {
+ if (registered_tracker_)
+ pref_config_tracker_->RemoveObserver(this);
+}
-void ProxyConfigService::AddObserver(Observer* observer) {
+void ProxyConfigService::AddObserver(
+ net::ProxyConfigService::Observer* observer) {
impl_->AddObserver(observer);
+ RegisterTracker();
}
-void ProxyConfigService::RemoveObserver(Observer* observer) {
+void ProxyConfigService::RemoveObserver(
+ net::ProxyConfigService::Observer* observer) {
impl_->RemoveObserver(observer);
}
ProxyConfigService::ConfigAvailability ProxyConfigService::GetLatestProxyConfig(
net::ProxyConfig* config) {
+ RegisterTracker();
return impl_->IOGetProxyConfig(config);
}
+void ProxyConfigService::OnPrefProxyConfigChanged() {
+ impl_->OnPrefProxyConfigChanged(pref_config_tracker_);
+}
+
+void ProxyConfigService::RegisterTracker() {
+ if (!registered_tracker_) {
+ pref_config_tracker_->AddObserver(this);
+ registered_tracker_ = true;
+ }
+}
+
} // namespace chromeos

Powered by Google App Engine
This is Rietveld 408576698