OLD | NEW |
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 <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 1139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1150 if (!manager->IsWindowOnDesktopOfUser(native_window, current_account_id)) { | 1150 if (!manager->IsWindowOnDesktopOfUser(native_window, current_account_id)) { |
1151 ash::MultiProfileUMA::RecordTeleportAction( | 1151 ash::MultiProfileUMA::RecordTeleportAction( |
1152 ash::MultiProfileUMA::TELEPORT_WINDOW_RETURN_BY_LAUNCHER); | 1152 ash::MultiProfileUMA::TELEPORT_WINDOW_RETURN_BY_LAUNCHER); |
1153 manager->ShowWindowForUser(native_window, current_account_id); | 1153 manager->ShowWindowForUser(native_window, current_account_id); |
1154 window->Activate(); | 1154 window->Activate(); |
1155 return ash::ShelfItemDelegate::kExistingWindowActivated; | 1155 return ash::ShelfItemDelegate::kExistingWindowActivated; |
1156 } | 1156 } |
1157 } | 1157 } |
1158 | 1158 |
1159 if (window->IsActive() && allow_minimize) { | 1159 if (window->IsActive() && allow_minimize) { |
1160 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 1160 window->Minimize(); |
1161 switches::kDisableMinimizeOnSecondLauncherItemClick)) { | 1161 return ash::ShelfItemDelegate::kNoAction; |
1162 AnimateWindow(window->GetNativeWindow(), | |
1163 wm::WINDOW_ANIMATION_TYPE_BOUNCE); | |
1164 } else { | |
1165 window->Minimize(); | |
1166 return ash::ShelfItemDelegate::kExistingWindowMinimized; | |
1167 } | |
1168 } else { | |
1169 window->Show(); | |
1170 window->Activate(); | |
1171 return ash::ShelfItemDelegate::kExistingWindowActivated; | |
1172 } | 1162 } |
1173 return ash::ShelfItemDelegate::kNoAction; | 1163 |
| 1164 window->Show(); |
| 1165 window->Activate(); |
| 1166 return ash::ShelfItemDelegate::kExistingWindowActivated; |
1174 } | 1167 } |
1175 | 1168 |
1176 void ChromeLauncherController::OnShelfCreated(ash::Shelf* shelf) { | 1169 void ChromeLauncherController::OnShelfCreated(ash::Shelf* shelf) { |
1177 shelves_.insert(shelf); | 1170 shelves_.insert(shelf); |
1178 shelf->shelf_widget()->shelf_layout_manager()->AddObserver(this); | 1171 shelf->shelf_widget()->shelf_layout_manager()->AddObserver(this); |
1179 } | 1172 } |
1180 | 1173 |
1181 void ChromeLauncherController::OnShelfDestroyed(ash::Shelf* shelf) { | 1174 void ChromeLauncherController::OnShelfDestroyed(ash::Shelf* shelf) { |
1182 shelves_.erase(shelf); | 1175 shelves_.erase(shelf); |
1183 // RemoveObserver is not called here, since by the time this method is called | 1176 // RemoveObserver is not called here, since by the time this method is called |
(...skipping 1040 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2224 void ChromeLauncherController::ReleaseProfile() { | 2217 void ChromeLauncherController::ReleaseProfile() { |
2225 if (app_sync_ui_state_) | 2218 if (app_sync_ui_state_) |
2226 app_sync_ui_state_->RemoveObserver(this); | 2219 app_sync_ui_state_->RemoveObserver(this); |
2227 | 2220 |
2228 extensions::ExtensionRegistry::Get(profile_)->RemoveObserver(this); | 2221 extensions::ExtensionRegistry::Get(profile_)->RemoveObserver(this); |
2229 | 2222 |
2230 PrefServiceSyncableFromProfile(profile_)->RemoveObserver(this); | 2223 PrefServiceSyncableFromProfile(profile_)->RemoveObserver(this); |
2231 | 2224 |
2232 pref_change_registrar_.RemoveAll(); | 2225 pref_change_registrar_.RemoveAll(); |
2233 } | 2226 } |
OLD | NEW |