summaryrefslogtreecommitdiffstats
path: root/ash/launcher/launcher.cc
diff options
context:
space:
mode:
authormukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-10 01:22:40 +0000
committermukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-10 01:22:40 +0000
commit20f808235d8e414a557bbfd035fb378b272c3b5f (patch)
tree9758adbce2d567edc1707087c6ffe20cdb53dc21 /ash/launcher/launcher.cc
parent5fa510ea11c1c1ce478a28b68a72c8448754df18 (diff)
downloadchromium_src-20f808235d8e414a557bbfd035fb378b272c3b5f.zip
chromium_src-20f808235d8e414a557bbfd035fb378b272c3b5f.tar.gz
chromium_src-20f808235d8e414a557bbfd035fb378b272c3b5f.tar.bz2
Refactor HandleWindowCycleLinear code in AcceleratorController:
- Introduce launcher/launcher_navigator files for this code - Add tests for the logic of launcher_navigator BUG=119424 TEST=aura_shell_unittests passed Review URL: https://chromiumcodereview.appspot.com/10377064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136215 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/launcher/launcher.cc')
-rw-r--r--ash/launcher/launcher.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/ash/launcher/launcher.cc b/ash/launcher/launcher.cc
index f97c190..1376498 100644
--- a/ash/launcher/launcher.cc
+++ b/ash/launcher/launcher.cc
@@ -7,6 +7,7 @@
#include "ash/focus_cycler.h"
#include "ash/launcher/launcher_delegate.h"
#include "ash/launcher/launcher_model.h"
+#include "ash/launcher/launcher_navigator.h"
#include "ash/launcher/launcher_view.h"
#include "ash/shell.h"
#include "ash/shell_delegate.h"
@@ -186,6 +187,18 @@ gfx::Rect Launcher::GetScreenBoundsOfItemIconForWindow(aura::Window* window) {
bounds.height());
}
+void Launcher::ActivateLauncherItem(int index) {
+ DCHECK(delegate_.get());
+ const ash::LauncherItems& items = model_->items();
+ delegate_->ItemClicked(items[index], ui::EF_NONE);
+}
+
+void Launcher::CycleWindowLinear(CycleDirection direction) {
+ int item_index = GetNextActivatedItemIndex(*model(), direction);
+ if (item_index >= 0)
+ ActivateLauncherItem(item_index);
+}
+
void Launcher::AddIconObserver(LauncherIconObserver* observer) {
launcher_view_->AddIconObserver(observer);
}