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

Side by Side Diff: chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc

Issue 11280115: Remove PrefObserver usages, batch 12. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Self review. 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/ui/ash/launcher/chrome_launcher_controller.h" 5 #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "ash/launcher/launcher_model.h" 9 #include "ash/launcher/launcher_model.h"
10 #include "ash/shell.h" 10 #include "ash/shell.h"
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 app_tab_helper_.reset(new LauncherAppTabHelper(profile_)); 168 app_tab_helper_.reset(new LauncherAppTabHelper(profile_));
169 app_icon_loader_.reset(new LauncherAppIconLoader(profile_, this)); 169 app_icon_loader_.reset(new LauncherAppIconLoader(profile_, this));
170 170
171 notification_registrar_.Add(this, 171 notification_registrar_.Add(this,
172 chrome::NOTIFICATION_EXTENSION_LOADED, 172 chrome::NOTIFICATION_EXTENSION_LOADED,
173 content::Source<Profile>(profile_)); 173 content::Source<Profile>(profile_));
174 notification_registrar_.Add(this, 174 notification_registrar_.Add(this,
175 chrome::NOTIFICATION_EXTENSION_UNLOADED, 175 chrome::NOTIFICATION_EXTENSION_UNLOADED,
176 content::Source<Profile>(profile_)); 176 content::Source<Profile>(profile_));
177 pref_change_registrar_.Init(profile_->GetPrefs()); 177 pref_change_registrar_.Init(profile_->GetPrefs());
178 pref_change_registrar_.Add(prefs::kPinnedLauncherApps, this); 178 pref_change_registrar_.Add(
179 prefs::kPinnedLauncherApps,
180 base::Bind(&ChromeLauncherController::UpdateAppLaunchersFromPref,
181 base::Unretained(this)));
179 } 182 }
180 183
181 ChromeLauncherController::~ChromeLauncherController() { 184 ChromeLauncherController::~ChromeLauncherController() {
182 // Reset the shell window controller here since it has a weak pointer to this. 185 // Reset the shell window controller here since it has a weak pointer to this.
183 shell_window_controller_.reset(); 186 shell_window_controller_.reset();
184 187
185 model_->RemoveObserver(this); 188 model_->RemoveObserver(this);
186 for (IDToItemControllerMap::iterator i = id_to_item_controller_map_.begin(); 189 for (IDToItemControllerMap::iterator i = id_to_item_controller_map_.begin();
187 i != id_to_item_controller_map_.end(); ++i) { 190 i != id_to_item_controller_map_.end(); ++i) {
188 i->second->OnRemoved(); 191 i->second->OnRemoved();
(...skipping 581 matching lines...) Expand 10 before | Expand all | Expand 10 after
770 if (IsAppPinned(extension->id())) 773 if (IsAppPinned(extension->id()))
771 DoUnpinAppsWithID(extension->id()); 774 DoUnpinAppsWithID(extension->id());
772 app_icon_loader_->ClearImage(extension->id()); 775 app_icon_loader_->ClearImage(extension->id());
773 break; 776 break;
774 } 777 }
775 default: 778 default:
776 NOTREACHED() << "Unexpected notification type=" << type; 779 NOTREACHED() << "Unexpected notification type=" << type;
777 } 780 }
778 } 781 }
779 782
780 void ChromeLauncherController::OnPreferenceChanged(
781 PrefServiceBase* service,
782 const std::string& pref_name) {
783 if (pref_name == prefs::kPinnedLauncherApps) {
784 UpdateAppLaunchersFromPref();
785 } else if (pref_name == prefs::kShelfAlignmentLocal) {
786 SetShelfAlignmentFromPrefs();
Mattias Nissler (ping if slow) 2012/11/21 11:31:04 Hm, maybe the code is missing pref change notifica
Jói 2012/11/21 12:59:33 davemoore: Do you know? The code prior to this cha
sky 2012/11/29 01:49:02 See line 236 old.
787 } else if (pref_name == prefs::kShelfAutoHideBehaviorLocal) {
788 SetShelfAutoHideBehaviorFromPrefs();
789 } else {
790 NOTREACHED() << "Unexpected pref change for " << pref_name;
791 }
792 }
793
794 void ChromeLauncherController::OnShelfAlignmentChanged() { 783 void ChromeLauncherController::OnShelfAlignmentChanged() {
795 const char* pref_value = NULL; 784 const char* pref_value = NULL;
796 // TODO(oshima): Support multiple displays. 785 // TODO(oshima): Support multiple displays.
797 switch (ash::Shell::GetInstance()->GetShelfAlignment( 786 switch (ash::Shell::GetInstance()->GetShelfAlignment(
798 ash::Shell::GetPrimaryRootWindow())) { 787 ash::Shell::GetPrimaryRootWindow())) {
799 case ash::SHELF_ALIGNMENT_BOTTOM: 788 case ash::SHELF_ALIGNMENT_BOTTOM:
800 pref_value = ash::kShelfAlignmentBottom; 789 pref_value = ash::kShelfAlignmentBottom;
801 break; 790 break;
802 case ash::SHELF_ALIGNMENT_LEFT: 791 case ash::SHELF_ALIGNMENT_LEFT:
803 pref_value = ash::kShelfAlignmentLeft; 792 pref_value = ash::kShelfAlignmentLeft;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
852 ash::LauncherID id = model_->items()[i].id; 841 ash::LauncherID id = model_->items()[i].id;
853 if (HasItemController(id) && IsPinned(id)) { 842 if (HasItemController(id) && IsPinned(id)) {
854 base::DictionaryValue* app_value = ash::CreateAppDict( 843 base::DictionaryValue* app_value = ash::CreateAppDict(
855 id_to_item_controller_map_[id]->app_id()); 844 id_to_item_controller_map_[id]->app_id());
856 if (app_value) 845 if (app_value)
857 updater->Append(app_value); 846 updater->Append(app_value);
858 } 847 }
859 } 848 }
860 } 849 }
861 } 850 }
862 pref_change_registrar_.Add(prefs::kPinnedLauncherApps, this); 851 pref_change_registrar_.Add(prefs::kPinnedLauncherApps, this);
Mattias Nissler (ping if slow) 2012/11/21 11:31:04 I think you missed this instance.
Jói 2012/11/21 12:59:33 Thanks for the catch. The trybots also failed on
863 } 852 }
864 853
865 void ChromeLauncherController::SetAppTabHelperForTest(AppTabHelper* helper) { 854 void ChromeLauncherController::SetAppTabHelperForTest(AppTabHelper* helper) {
866 app_tab_helper_.reset(helper); 855 app_tab_helper_.reset(helper);
867 } 856 }
868 857
869 void ChromeLauncherController::SetAppIconLoaderForTest(AppIconLoader* loader) { 858 void ChromeLauncherController::SetAppIconLoaderForTest(AppIconLoader* loader) {
870 app_icon_loader_.reset(loader); 859 app_icon_loader_.reset(loader);
871 } 860 }
872 861
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
1073 new AppShortcutLauncherItemController(app_id, this); 1062 new AppShortcutLauncherItemController(app_id, this);
1074 ash::LauncherID launcher_id = InsertAppLauncherItem( 1063 ash::LauncherID launcher_id = InsertAppLauncherItem(
1075 controller, app_id, ash::STATUS_CLOSED, index); 1064 controller, app_id, ash::STATUS_CLOSED, index);
1076 return launcher_id; 1065 return launcher_id;
1077 } 1066 }
1078 1067
1079 bool ChromeLauncherController::HasItemController(ash::LauncherID id) const { 1068 bool ChromeLauncherController::HasItemController(ash::LauncherID id) const {
1080 return id_to_item_controller_map_.find(id) != 1069 return id_to_item_controller_map_.find(id) !=
1081 id_to_item_controller_map_.end(); 1070 id_to_item_controller_map_.end();
1082 } 1071 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698