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

Side by Side Diff: chrome/browser/chromeos/proxy_config_service_impl.cc

Issue 11345008: Remove content::NotificationObserver dependency from most Prefs code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge to head for commit Created 8 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/proxy_config_service_impl.h" 5 #include "chrome/browser/chromeos/proxy_config_service_impl.h"
6 6
7 #include <ostream> 7 #include <ostream>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/json/json_string_value_serializer.h" 10 #include "base/json/json_string_value_serializer.h"
(...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after
579 void ProxyConfigServiceImpl::RegisterPrefs(PrefService* pref_service) { 579 void ProxyConfigServiceImpl::RegisterPrefs(PrefService* pref_service) {
580 // Use shared proxies default to off. GetUseSharedProxies will return the 580 // Use shared proxies default to off. GetUseSharedProxies will return the
581 // correct value based on pre-login and login. 581 // correct value based on pre-login and login.
582 pref_service->RegisterBooleanPref(prefs::kUseSharedProxies, 582 pref_service->RegisterBooleanPref(prefs::kUseSharedProxies,
583 true, 583 true,
584 PrefService::UNSYNCABLE_PREF); 584 PrefService::UNSYNCABLE_PREF);
585 } 585 }
586 586
587 //------------------ ProxyConfigServiceImpl: private methods ------------------- 587 //------------------ ProxyConfigServiceImpl: private methods -------------------
588 588
589 void ProxyConfigServiceImpl::Observe( 589 void ProxyConfigServiceImpl::OnPreferenceChanged(PrefServiceBase* service,
590 int type, 590 const std::string& pref_name) {
591 const content::NotificationSource& source, 591 DCHECK(service == prefs());
592 const content::NotificationDetails& details) { 592 VLOG(1) << "New use-shared-proxies = " << GetUseSharedProxies();
593 if (type == chrome::NOTIFICATION_PREF_CHANGED && 593
594 *(content::Details<std::string>(details).ptr()) == 594 if (pref_name == prefs::kUseSharedProxies) {
595 prefs::kUseSharedProxies) { 595 // Determine new proxy config which may have changed because of new
596 if (content::Source<PrefService>(source).ptr() == prefs()) { 596 // use-shared-proxies. If necessary, activate it.
597 VLOG(1) << "New use-shared-proxies = " << GetUseSharedProxies(); 597 Network* network = NULL;
598 // Determine new proxy config which may have changed because of new 598 if (!active_network_.empty()) {
599 // use-shared-proxies. If necessary, activate it. 599 network = CrosLibrary::Get()->GetNetworkLibrary()->FindNetworkByPath(
600 Network* network = NULL; 600 active_network_);
601 if (!active_network_.empty()) { 601 if (!network)
602 network = CrosLibrary::Get()->GetNetworkLibrary()->FindNetworkByPath( 602 LOG(WARNING) << "Can't find requested network " << active_network_;
603 active_network_);
604 if (!network)
605 LOG(WARNING) << "Can't find requested network " << active_network_;
606 }
607 DetermineEffectiveConfig(network, true);
608 } 603 }
604 DetermineEffectiveConfig(network, true);
609 return; 605 return;
610 } 606 }
611 PrefProxyConfigTrackerImpl::Observe(type, source, details); 607
608 PrefProxyConfigTrackerImpl::OnPreferenceChanged(service, pref_name);
612 } 609 }
613 610
614 void ProxyConfigServiceImpl::OnUISetProxyConfig() { 611 void ProxyConfigServiceImpl::OnUISetProxyConfig() {
615 if (current_ui_network_.empty()) 612 if (current_ui_network_.empty())
616 return; 613 return;
617 // Update config to shill. 614 // Update config to shill.
618 std::string value; 615 std::string value;
619 if (current_ui_config_.SerializeForNetwork(&value)) { 616 if (current_ui_config_.SerializeForNetwork(&value)) {
620 VLOG(1) << "Set proxy (mode=" << current_ui_config_.mode 617 VLOG(1) << "Set proxy (mode=" << current_ui_config_.mode
621 << ") for " << current_ui_network_; 618 << ") for " << current_ui_network_;
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
846 device_config_.clear(); 843 device_config_.clear();
847 return; 844 return;
848 } 845 }
849 if (!active_network_.empty()) { 846 if (!active_network_.empty()) {
850 VLOG(1) << "Try migrating device config to " << active_network_; 847 VLOG(1) << "Try migrating device config to " << active_network_;
851 SetProxyConfigForNetwork(active_network_, device_config_, true); 848 SetProxyConfigForNetwork(active_network_, device_config_, true);
852 } 849 }
853 } 850 }
854 851
855 } // namespace chromeos 852 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/proxy_config_service_impl.h ('k') | chrome/browser/chromeos/system/ash_system_tray_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698