diff options
author | skuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-20 23:23:33 +0000 |
---|---|---|
committer | skuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-20 23:23:33 +0000 |
commit | 983ecb1a0f93e427187ae41baa6cd686954754d6 (patch) | |
tree | c9b5e40060e87acce6277fe793ddeec8b6cc372c /chrome/browser/ui/ash/launcher/launcher_item_controller.h | |
parent | a50ae535e1fbc14c1468376aad90908fccda9978 (diff) | |
download | chromium_src-983ecb1a0f93e427187ae41baa6cd686954754d6.zip chromium_src-983ecb1a0f93e427187ae41baa6cd686954754d6.tar.gz chromium_src-983ecb1a0f93e427187ae41baa6cd686954754d6.tar.bz2 |
Adding new Launcher behavior
This is only an intermediate CL - trying to keep the CL's in a handle-able size.
The new features of the Launcher behavior are:
- Group running programs (V1, V2, Browsers) under existing launcher application icons.
- When a V2 app gets started and it is not pinned to the launcher, it will be added for it's lifetime to the launcher (and disappear after the last incarnation goes away).
- Each shown launcher entry can ...
+ .. show a context menu (right click) which can e.g. close all applications of that type.
+ .. activate or create such a type upon first click.
+ .. produce a list of running "apps" upon click when one of the applications has already a focus. [more to come]
+ .. [maybe] produce a fancy hover menu. (at the moment it produces the bubble help)
- The list of apps (as described above) contains ...
+ .. The name of the app itself.
+ .. For each running instance the favicon & the title & (not yet implemented:) an icon for incognito.
- The new features are behind a flag.
The full specification can be seen here:
https://docs.google.com/a/google.com/document/d/1i39rO8uERWwTvV0e0TDtelgGjzU9Wj5L6CldMl9y6lE/edit
This is the second CL for these new features, however there are still several things missing which will be addressed in more CL's:
- More unit tests (activation state tracking, V2 apps)
- The "eye candy menus" (mocks are still missing) ..
+ .. including incognito marker
+ .. a definition how the menus get sorted
+ .. the open question about click or hover menus
+ .. touch integration
- The browser icon should be movable as well
- Rip out old classes and unused complexity - which can only be done after the flag gets removed: At the moment, the changes are trying to stay within the existing architecture to make it possible to switch with a flag.
BUG=164438, 145410
Review URL: https://chromiumcodereview.appspot.com/11552028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174270 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/ash/launcher/launcher_item_controller.h')
-rw-r--r-- | chrome/browser/ui/ash/launcher/launcher_item_controller.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/chrome/browser/ui/ash/launcher/launcher_item_controller.h b/chrome/browser/ui/ash/launcher/launcher_item_controller.h index af1cd5f..049e99d 100644 --- a/chrome/browser/ui/ash/launcher/launcher_item_controller.h +++ b/chrome/browser/ui/ash/launcher/launcher_item_controller.h @@ -8,9 +8,13 @@ #include "ash/launcher/launcher_types.h" #include "base/basictypes.h" #include "base/compiler_specific.h" +#include "base/memory/scoped_vector.h" #include "base/string16.h" class ChromeLauncherController; +class ChromeLauncherAppMenuItem; + +typedef ScopedVector<ChromeLauncherAppMenuItem> ChromeLauncherAppMenuItems; namespace aura { class Window; @@ -77,6 +81,9 @@ class LauncherItemController { // Called when the controlled item is removed from the launcher. virtual void OnRemoved() = 0; + // Called to retrieve the list of running applications. + virtual ChromeLauncherAppMenuItems* GetApplicationList() = 0; + // Helper function to get the ash::LauncherItemType for the item type. ash::LauncherItemType GetLauncherItemType() const; |