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 #ifndef CHROME_BROWSER_UI_ASH_LAUNCHER_CHROME_LAUNCHER_CONTROLLER_H_ | 5 #ifndef CHROME_BROWSER_UI_ASH_LAUNCHER_CHROME_LAUNCHER_CONTROLLER_H_ |
6 #define CHROME_BROWSER_UI_ASH_LAUNCHER_CHROME_LAUNCHER_CONTROLLER_H_ | 6 #define CHROME_BROWSER_UI_ASH_LAUNCHER_CHROME_LAUNCHER_CONTROLLER_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 #include <map> | 9 #include <map> |
10 #include <memory> | 10 #include <memory> |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 } | 68 } |
69 | 69 |
70 class ChromeLauncherControllerUserSwitchObserver; | 70 class ChromeLauncherControllerUserSwitchObserver; |
71 | 71 |
72 // A list of the elements which makes up a simple menu description. | 72 // A list of the elements which makes up a simple menu description. |
73 typedef ScopedVector<ChromeLauncherAppMenuItem> ChromeLauncherAppMenuItems; | 73 typedef ScopedVector<ChromeLauncherAppMenuItem> ChromeLauncherAppMenuItems; |
74 | 74 |
75 // ChromeLauncherController manages the launcher items needed for content | 75 // ChromeLauncherController manages the launcher items needed for content |
76 // windows. Launcher items have a type, an optional app id, and a controller. | 76 // windows. Launcher items have a type, an optional app id, and a controller. |
77 // This incarnation groups running tabs/windows in application specific lists. | 77 // This incarnation groups running tabs/windows in application specific lists. |
78 // * Browser app windows have BrowserLauncherItemController, owned by the | 78 // * Browser app windows have BrowserShortcutLauncherItemController, owned by |
79 // BrowserView instance. | 79 // the BrowserView instance. |
80 // * App windows have AppWindowLauncherItemController, owned by | 80 // * App windows have AppWindowLauncherItemController, owned by |
81 // AppWindowLauncherController. | 81 // AppWindowLauncherController. |
82 // * Shortcuts have no LauncherItemController. | 82 // * Shortcuts have no LauncherItemController. |
83 class ChromeLauncherController | 83 class ChromeLauncherController |
84 : public ash::ShelfDelegate, | 84 : public ash::ShelfDelegate, |
85 public ash::ShelfModelObserver, | 85 public ash::ShelfModelObserver, |
86 public ash::WindowTreeHostManager::Observer, | 86 public ash::WindowTreeHostManager::Observer, |
87 public AppIconLoaderDelegate, | 87 public AppIconLoaderDelegate, |
88 public syncable_prefs::PrefServiceSyncableObserver, | 88 public syncable_prefs::PrefServiceSyncableObserver, |
89 public AppSyncUIStateObserver, | 89 public AppSyncUIStateObserver, |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
210 | 210 |
211 // Invoked when the user clicks on button in the shelf to create a new | 211 // Invoked when the user clicks on button in the shelf to create a new |
212 // incognito window. | 212 // incognito window. |
213 void CreateNewIncognitoWindow(); | 213 void CreateNewIncognitoWindow(); |
214 | 214 |
215 // Updates the pinned pref state. The pinned state consists of a list pref. | 215 // Updates the pinned pref state. The pinned state consists of a list pref. |
216 // Each item of the list is a dictionary. The key |kAppIDPath| gives the | 216 // Each item of the list is a dictionary. The key |kAppIDPath| gives the |
217 // id of the app. | 217 // id of the app. |
218 void PersistPinnedState(); | 218 void PersistPinnedState(); |
219 | 219 |
220 ash::ShelfModel* model(); | |
221 | |
222 // Accessor to the currently loaded profile. Note that in multi profile use | 220 // Accessor to the currently loaded profile. Note that in multi profile use |
223 // cases this might change over time. | 221 // cases this might change over time. |
224 Profile* profile(); | 222 Profile* profile(); |
225 | 223 |
226 // Notify the controller that the state of an non platform app's tabs | 224 // Notify the controller that the state of an non platform app's tabs |
227 // have changed, | 225 // have changed, |
228 void UpdateAppState(content::WebContents* contents, AppState app_state); | 226 void UpdateAppState(content::WebContents* contents, AppState app_state); |
229 | 227 |
230 // Returns ShelfID for |contents|. If |contents| is not an app or is not | 228 // Returns ShelfID for |contents|. If |contents| is not an app or is not |
231 // pinned, returns the id of browser shrotcut. | 229 // pinned, returns the id of browser shrotcut. |
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
548 // The list of running & un-pinned applications for different users on hidden | 546 // The list of running & un-pinned applications for different users on hidden |
549 // desktops. | 547 // desktops. |
550 typedef std::vector<std::string> RunningAppListIds; | 548 typedef std::vector<std::string> RunningAppListIds; |
551 typedef std::map<std::string, RunningAppListIds> RunningAppListIdMap; | 549 typedef std::map<std::string, RunningAppListIds> RunningAppListIdMap; |
552 RunningAppListIdMap last_used_running_application_order_; | 550 RunningAppListIdMap last_used_running_application_order_; |
553 | 551 |
554 DISALLOW_COPY_AND_ASSIGN(ChromeLauncherController); | 552 DISALLOW_COPY_AND_ASSIGN(ChromeLauncherController); |
555 }; | 553 }; |
556 | 554 |
557 #endif // CHROME_BROWSER_UI_ASH_LAUNCHER_CHROME_LAUNCHER_CONTROLLER_H_ | 555 #endif // CHROME_BROWSER_UI_ASH_LAUNCHER_CHROME_LAUNCHER_CONTROLLER_H_ |
OLD | NEW |