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

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

Issue 425303002: Move extension notifications to extensions/browser/notification_types.h (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: (extension-notifications) rebase Created 6 years, 4 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/app_list/app_list_syncable_service.cc ('k') | chrome/browser/ui/browser.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/ash_switches.h" 9 #include "ash/ash_switches.h"
10 #include "ash/desktop_background/desktop_background_controller.h" 10 #include "ash/desktop_background/desktop_background_controller.h"
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 #endif 375 #endif
376 376
377 // Right now ash::Shell isn't created for tests. 377 // Right now ash::Shell isn't created for tests.
378 // TODO(mukai): Allows it to observe display change and write tests. 378 // TODO(mukai): Allows it to observe display change and write tests.
379 if (ash::Shell::HasInstance()) { 379 if (ash::Shell::HasInstance()) {
380 ash::Shell::GetInstance()->display_controller()->AddObserver(this); 380 ash::Shell::GetInstance()->display_controller()->AddObserver(this);
381 item_delegate_manager_ = 381 item_delegate_manager_ =
382 ash::Shell::GetInstance()->shelf_item_delegate_manager(); 382 ash::Shell::GetInstance()->shelf_item_delegate_manager();
383 } 383 }
384 384
385 notification_registrar_.Add(this,
386 chrome::NOTIFICATION_EXTENSION_LOADED_DEPRECATED,
387 content::Source<Profile>(profile_));
388 notification_registrar_.Add( 385 notification_registrar_.Add(
389 this, 386 this,
390 chrome::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED, 387 extensions::NOTIFICATION_EXTENSION_LOADED_DEPRECATED,
388 content::Source<Profile>(profile_));
389 notification_registrar_.Add(
390 this,
391 extensions::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED,
391 content::Source<Profile>(profile_)); 392 content::Source<Profile>(profile_));
392 } 393 }
393 394
394 ChromeLauncherController::~ChromeLauncherController() { 395 ChromeLauncherController::~ChromeLauncherController() {
395 // Reset the BrowserStatusMonitor as it has a weak pointer to this. 396 // Reset the BrowserStatusMonitor as it has a weak pointer to this.
396 browser_status_monitor_.reset(); 397 browser_status_monitor_.reset();
397 398
398 // Reset the app window controller here since it has a weak pointer to this. 399 // Reset the app window controller here since it has a weak pointer to this.
399 app_window_controller_.reset(); 400 app_window_controller_.reset();
400 401
(...skipping 747 matching lines...) Expand 10 before | Expand all | Expand 10 after
1148 void ChromeLauncherController::AdditionalUserAddedToSession(Profile* profile) { 1149 void ChromeLauncherController::AdditionalUserAddedToSession(Profile* profile) {
1149 // Switch the running applications to the new user. 1150 // Switch the running applications to the new user.
1150 app_window_controller_->AdditionalUserAddedToSession(profile); 1151 app_window_controller_->AdditionalUserAddedToSession(profile);
1151 } 1152 }
1152 1153
1153 void ChromeLauncherController::Observe( 1154 void ChromeLauncherController::Observe(
1154 int type, 1155 int type,
1155 const content::NotificationSource& source, 1156 const content::NotificationSource& source,
1156 const content::NotificationDetails& details) { 1157 const content::NotificationDetails& details) {
1157 switch (type) { 1158 switch (type) {
1158 case chrome::NOTIFICATION_EXTENSION_LOADED_DEPRECATED: { 1159 case extensions::NOTIFICATION_EXTENSION_LOADED_DEPRECATED: {
1159 const Extension* extension = 1160 const Extension* extension =
1160 content::Details<const Extension>(details).ptr(); 1161 content::Details<const Extension>(details).ptr();
1161 if (IsAppPinned(extension->id())) { 1162 if (IsAppPinned(extension->id())) {
1162 // Clear and re-fetch to ensure icon is up-to-date. 1163 // Clear and re-fetch to ensure icon is up-to-date.
1163 app_icon_loader_->ClearImage(extension->id()); 1164 app_icon_loader_->ClearImage(extension->id());
1164 app_icon_loader_->FetchImage(extension->id()); 1165 app_icon_loader_->FetchImage(extension->id());
1165 } 1166 }
1166 1167
1167 UpdateAppLaunchersFromPref(); 1168 UpdateAppLaunchersFromPref();
1168 break; 1169 break;
1169 } 1170 }
1170 case chrome::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED: { 1171 case extensions::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED: {
1171 const content::Details<UnloadedExtensionInfo>& unload_info(details); 1172 const content::Details<UnloadedExtensionInfo>& unload_info(details);
1172 const Extension* extension = unload_info->extension; 1173 const Extension* extension = unload_info->extension;
1173 const std::string& id = extension->id(); 1174 const std::string& id = extension->id();
1174 // Since we might have windowed apps of this type which might have 1175 // Since we might have windowed apps of this type which might have
1175 // outstanding locks which needs to be removed. 1176 // outstanding locks which needs to be removed.
1176 if (GetShelfIDForAppID(id) && 1177 if (GetShelfIDForAppID(id) &&
1177 unload_info->reason == UnloadedExtensionInfo::REASON_UNINSTALL) { 1178 unload_info->reason == UnloadedExtensionInfo::REASON_UNINSTALL) {
1178 CloseWindowedAppsFromRemovedExtension(id); 1179 CloseWindowedAppsFromRemovedExtension(id);
1179 } 1180 }
1180 1181
(...skipping 880 matching lines...) Expand 10 before | Expand all | Expand 10 after
2061 } 2062 }
2062 2063
2063 void ChromeLauncherController::ReleaseProfile() { 2064 void ChromeLauncherController::ReleaseProfile() {
2064 if (app_sync_ui_state_) 2065 if (app_sync_ui_state_)
2065 app_sync_ui_state_->RemoveObserver(this); 2066 app_sync_ui_state_->RemoveObserver(this);
2066 2067
2067 PrefServiceSyncable::FromProfile(profile_)->RemoveObserver(this); 2068 PrefServiceSyncable::FromProfile(profile_)->RemoveObserver(this);
2068 2069
2069 pref_change_registrar_.RemoveAll(); 2070 pref_change_registrar_.RemoveAll();
2070 } 2071 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/app_list/app_list_syncable_service.cc ('k') | chrome/browser/ui/browser.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698