summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/ash/launcher/launcher_item_controller.h
diff options
context:
space:
mode:
authorskuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-20 23:23:33 +0000
committerskuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-20 23:23:33 +0000
commit983ecb1a0f93e427187ae41baa6cd686954754d6 (patch)
treec9b5e40060e87acce6277fe793ddeec8b6cc372c /chrome/browser/ui/ash/launcher/launcher_item_controller.h
parenta50ae535e1fbc14c1468376aad90908fccda9978 (diff)
downloadchromium_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.h7
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;