summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ash/accelerators/accelerator_controller.cc7
-rw-r--r--ash/display/display_controller.cc4
-rw-r--r--ash/display/display_manager.cc10
-rw-r--r--ash/launcher/launcher.cc14
-rw-r--r--ash/launcher/launcher.h7
-rw-r--r--ash/launcher/launcher_unittest.cc2
-rw-r--r--ash/launcher/launcher_view.cc2
-rw-r--r--ash/launcher/launcher_view_unittest.cc2
-rw-r--r--ash/shell.cc22
-rw-r--r--ash/shell.h18
-rw-r--r--ash/shell/app_list.cc2
-rw-r--r--ash/shell/window_watcher.cc4
-rw-r--r--ash/wm/app_list_controller.cc26
-rw-r--r--ash/wm/app_list_controller.h6
-rw-r--r--ash/wm/shelf_layout_manager.cc6
-rw-r--r--ash/wm/shelf_layout_manager_unittest.cc12
-rw-r--r--chrome/browser/ui/ash/app_list/app_list_controller_ash.cc4
-rw-r--r--chrome/browser/ui/ash/launcher/chrome_launcher_controller_browsertest.cc160
18 files changed, 171 insertions, 137 deletions
diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc
index 66864e9..70aa3ac 100644
--- a/ash/accelerators/accelerator_controller.cc
+++ b/ash/accelerators/accelerator_controller.cc
@@ -566,7 +566,7 @@ bool AcceleratorController::PerformAction(int action,
DCHECK_EQ(ui::VKEY_LWIN, accelerator.key_code());
if (Shell::GetInstance()->delegate()->IsSpokenFeedbackEnabled())
return false;
- ash::Shell::GetInstance()->ToggleAppList();
+ ash::Shell::GetInstance()->ToggleAppList(NULL);
return true;
case DISABLE_CAPS_LOCK:
if (previous_event_type == ui::ET_KEY_RELEASED ||
@@ -834,8 +834,9 @@ bool AcceleratorController::AcceleratorPressed(
void AcceleratorController::SwitchToWindow(int window) {
Launcher* launcher = Launcher::ForPrimaryDisplay();
- const LauncherItems& items = launcher->model()->items();
- int item_count = launcher->model()->item_count();
+ LauncherModel* launcher_model = Shell::GetInstance()->launcher_model();
+ const LauncherItems& items = launcher_model->items();
+ int item_count = launcher_model->item_count();
int indexes_left = window >= 0 ? window : item_count;
int found_index = -1;
diff --git a/ash/display/display_controller.cc b/ash/display/display_controller.cc
index 16328fc..2fce25a 100644
--- a/ash/display/display_controller.cc
+++ b/ash/display/display_controller.cc
@@ -470,11 +470,11 @@ void DisplayController::OnDisplayAdded(const gfx::Display& display) {
DCHECK(!root_windows_.empty());
NotifyDisplayConfigurationChanging();
aura::RootWindow* root = AddRootWindowForDisplay(display);
- Shell::GetInstance()->InitRootWindowForSecondaryDisplay(root);
UpdateDisplayBoundsForLayout();
-
if (desired_primary_display_id_ == display.id())
SetPrimaryDisplay(display);
+
+ Shell::GetInstance()->InitRootWindowForSecondaryDisplay(root);
}
void DisplayController::OnDisplayRemoved(const gfx::Display& display) {
diff --git a/ash/display/display_manager.cc b/ash/display/display_manager.cc
index e14d39a..572f91a 100644
--- a/ash/display/display_manager.cc
+++ b/ash/display/display_manager.cc
@@ -447,8 +447,14 @@ void DisplayManager::CycleDisplayImpl() {
std::vector<gfx::Display> new_displays;
new_displays.push_back(DisplayController::GetPrimaryDisplay());
// Add if there is only one display.
- if (displays_.size() == 1)
- new_displays.push_back(aura::CreateDisplayFromSpec("100+200-500x400"));
+ if (displays_.size() == 1) {
+ // Layout the 2nd display below the primary as with the real device.
+ aura::RootWindow* primary = Shell::GetPrimaryRootWindow();
+ gfx::Rect host_bounds =
+ gfx::Rect(primary->GetHostOrigin(), primary->GetHostSize());
+ new_displays.push_back(aura::CreateDisplayFromSpec(
+ StringPrintf("%d+%d-500x400", host_bounds.x(), host_bounds.bottom())));
+ }
OnNativeDisplaysChanged(new_displays);
}
diff --git a/ash/launcher/launcher.cc b/ash/launcher/launcher.cc
index ca3fb39..d9b1a3f 100644
--- a/ash/launcher/launcher.cc
+++ b/ash/launcher/launcher.cc
@@ -206,11 +206,8 @@ Launcher::Launcher(aura::Window* window_container,
delegate_view_(new DelegateView(this)),
launcher_view_(NULL),
alignment_(SHELF_ALIGNMENT_BOTTOM),
+ delegate_(Shell::GetInstance()->GetLauncherDelegate()),
background_animator_(delegate_view_, 0, kLauncherBackgroundAlpha) {
- model_.reset(new LauncherModel);
- delegate_.reset(
- Shell::GetInstance()->delegate()->CreateLauncherDelegate(model_.get()));
-
widget_.reset(new views::Widget);
views::Widget::InitParams params(
views::Widget::InitParams::TYPE_WINDOW_FRAMELESS);
@@ -220,7 +217,7 @@ Launcher::Launcher(aura::Window* window_container,
window_container_->GetRootWindow(),
ash::internal::kShellWindowId_LauncherContainer);
launcher_view_ = new internal::LauncherView(
- model_.get(), delegate_.get(), shelf_layout_manager);
+ Shell::GetInstance()->launcher_model(), delegate_, shelf_layout_manager);
launcher_view_->Init();
delegate_view_->AddChildView(launcher_view_);
params.delegate = delegate_view_;
@@ -333,13 +330,14 @@ gfx::Rect Launcher::GetScreenBoundsOfItemIconForWindow(aura::Window* window) {
}
void Launcher::ActivateLauncherItem(int index) {
- DCHECK(delegate_.get());
- const ash::LauncherItems& items = model_->items();
+ const ash::LauncherItems& items =
+ Shell::GetInstance()->launcher_model()->items();
delegate_->ItemClicked(items[index], ui::EF_NONE);
}
void Launcher::CycleWindowLinear(CycleDirection direction) {
- int item_index = GetNextActivatedItemIndex(*model(), direction);
+ int item_index = GetNextActivatedItemIndex(
+ *(Shell::GetInstance()->launcher_model()), direction);
if (item_index >= 0)
ActivateLauncherItem(item_index);
}
diff --git a/ash/launcher/launcher.h b/ash/launcher/launcher.h
index 7db8f50..758482a 100644
--- a/ash/launcher/launcher.h
+++ b/ash/launcher/launcher.h
@@ -110,9 +110,8 @@ class ASH_EXPORT Launcher {
// TODO(sky): remove this!
internal::LauncherView* GetLauncherViewForTest();
- LauncherDelegate* delegate() { return delegate_.get(); }
+ LauncherDelegate* delegate() { return delegate_; }
- LauncherModel* model() { return model_.get(); }
views::Widget* widget() { return widget_.get(); }
views::Widget* GetDimmerWidgetForTest() { return dimmer_.get(); }
@@ -122,8 +121,6 @@ class ASH_EXPORT Launcher {
private:
class DelegateView;
- scoped_ptr<LauncherModel> model_;
-
// Widget hosting the view.
scoped_ptr<views::Widget> widget_;
scoped_ptr<views::Widget> dimmer_;
@@ -138,7 +135,7 @@ class ASH_EXPORT Launcher {
ShelfAlignment alignment_;
- scoped_ptr<LauncherDelegate> delegate_;
+ LauncherDelegate* delegate_;
// Size reserved for the status area.
gfx::Size status_size_;
diff --git a/ash/launcher/launcher_unittest.cc b/ash/launcher/launcher_unittest.cc
index cbf8229..2c6dd58 100644
--- a/ash/launcher/launcher_unittest.cc
+++ b/ash/launcher/launcher_unittest.cc
@@ -58,7 +58,7 @@ TEST_F(LauncherTest, OpenBrowser) {
ASSERT_TRUE(launcher);
LauncherView* launcher_view = launcher->GetLauncherViewForTest();
test::LauncherViewTestAPI test(launcher_view);
- LauncherModel* model = launcher->model();
+ LauncherModel* model = Shell::GetInstance()->launcher_model();
// Initially we have the app list and chrome icon.
int button_count = test.GetButtonCount();
diff --git a/ash/launcher/launcher_view.cc b/ash/launcher/launcher_view.cc
index a81a1c5..4620500 100644
--- a/ash/launcher/launcher_view.cc
+++ b/ash/launcher/launcher_view.cc
@@ -1042,7 +1042,7 @@ void LauncherView::ButtonPressed(views::Button* sender,
case TYPE_APP_LIST:
Shell::GetInstance()->delegate()->RecordUserMetricsAction(
UMA_LAUNCHER_CLICK_ON_APPLIST_BUTTON);
- Shell::GetInstance()->ToggleAppList();
+ Shell::GetInstance()->ToggleAppList(GetWidget()->GetNativeView());
break;
case TYPE_BROWSER_SHORTCUT:
diff --git a/ash/launcher/launcher_view_unittest.cc b/ash/launcher/launcher_view_unittest.cc
index 727d0ff..8c0823e 100644
--- a/ash/launcher/launcher_view_unittest.cc
+++ b/ash/launcher/launcher_view_unittest.cc
@@ -675,7 +675,7 @@ TEST_F(LauncherViewTest, ShouldHideTooltipTest) {
}
TEST_F(LauncherViewTest, ShouldHideTooltipWithAppListWindowTest) {
- Shell::GetInstance()->ToggleAppList();
+ Shell::GetInstance()->ToggleAppList(NULL);
ASSERT_TRUE(Shell::GetInstance()->GetAppListWindow());
// The tooltip shouldn't hide if the mouse is on normal buttons.
diff --git a/ash/shell.cc b/ash/shell.cc
index dbf94c2..de1721d 100644
--- a/ash/shell.cc
+++ b/ash/shell.cc
@@ -20,6 +20,8 @@
#include "ash/drag_drop/drag_drop_controller.h"
#include "ash/focus_cycler.h"
#include "ash/high_contrast/high_contrast_controller.h"
+#include "ash/launcher/launcher_delegate.h"
+#include "ash/launcher/launcher_model.h"
#include "ash/magnifier/magnification_controller.h"
#include "ash/magnifier/partial_magnification_controller.h"
#include "ash/root_window_controller.h"
@@ -267,7 +269,7 @@ Shell::~Shell() {
// These need a valid Shell instance to clean up properly, so explicitly
// delete them before invalidating the instance.
- // Alphabetical.
+ // Alphabetical. TODO(oshima): sort.
drag_drop_controller_.reset();
magnification_controller_.reset();
partial_magnification_controller_.reset();
@@ -280,6 +282,8 @@ Shell::~Shell() {
nested_dispatcher_controller_.reset();
user_action_client_.reset();
visibility_controller_.reset();
+ launcher_delegate_.reset();
+ launcher_model_.reset();
power_button_controller_.reset();
session_state_controller_.reset();
@@ -578,10 +582,13 @@ void Shell::ShowContextMenu(const gfx::Point& location_in_screen) {
GetRootWindowController(root)->ShowContextMenu(location_in_screen);
}
-void Shell::ToggleAppList() {
+void Shell::ToggleAppList(aura::Window* window) {
+ // If the context window is not given, show it on the active root window.
+ if (!window)
+ window = GetActiveRootWindow();
if (!app_list_controller_.get())
app_list_controller_.reset(new internal::AppListController);
- app_list_controller_->SetVisible(!app_list_controller_->IsVisible());
+ app_list_controller_->SetVisible(!app_list_controller_->IsVisible(), window);
}
bool Shell::GetAppListTargetVisibility() const {
@@ -767,6 +774,15 @@ SystemTray* Shell::GetPrimarySystemTray() {
return GetPrimaryRootWindowController()->GetSystemTray();
}
+LauncherDelegate* Shell::GetLauncherDelegate() {
+ if (!launcher_delegate_.get()) {
+ launcher_model_.reset(new LauncherModel);
+ launcher_delegate_.reset(
+ delegate_->CreateLauncherDelegate(launcher_model_.get()));
+ }
+ return launcher_delegate_.get();
+}
+
void Shell::InitRootWindowForSecondaryDisplay(aura::RootWindow* root) {
aura::client::SetFocusClient(root, focus_client_.get());
internal::RootWindowController* controller =
diff --git a/ash/shell.h b/ash/shell.h
index 3a21dfd..0a1fe5f 100644
--- a/ash/shell.h
+++ b/ash/shell.h
@@ -71,6 +71,8 @@ class DesktopBackgroundController;
class DisplayController;
class HighContrastController;
class Launcher;
+class LauncherDelegate;
+class LauncherModel;
class MagnificationController;
class NestedDispatcherController;
class PartialMagnificationController;
@@ -191,8 +193,10 @@ class ASH_EXPORT Shell : internal::SystemModalContainerEventFilterDelegate,
// |location_in_screen| (in screen coordinates).
void ShowContextMenu(const gfx::Point& location_in_screen);
- // Toggles app list.
- void ToggleAppList();
+ // Toggles the app list. |window| specifies in which display the app
+ // list should be shown. If this is NULL, the active root window
+ // will be used.
+ void ToggleAppList(aura::Window* anchor);
// Returns app list target visibility.
bool GetAppListTargetVisibility() const;
@@ -366,6 +370,9 @@ class ASH_EXPORT Shell : internal::SystemModalContainerEventFilterDelegate,
// Returns the system tray on primary display.
SystemTray* GetPrimarySystemTray();
+ // Returns the launcher delegate, creating if necesary.
+ LauncherDelegate* GetLauncherDelegate();
+
// TODO(stevenjb): Rename to system_tray_delegate().
SystemTrayDelegate* tray_delegate() {
return system_tray_delegate_.get();
@@ -375,6 +382,10 @@ class ASH_EXPORT Shell : internal::SystemModalContainerEventFilterDelegate,
return system_tray_notifier_.get();
}
+ LauncherModel* launcher_model() {
+ return launcher_model_.get();
+ }
+
static void set_initially_hide_cursor(bool hide) {
initially_hide_cursor_ = hide;
}
@@ -468,6 +479,9 @@ class ASH_EXPORT Shell : internal::SystemModalContainerEventFilterDelegate,
scoped_ptr<SystemTrayNotifier> system_tray_notifier_;
scoped_ptr<UserWallpaperDelegate> user_wallpaper_delegate_;
scoped_ptr<CapsLockDelegate> caps_lock_delegate_;
+ scoped_ptr<LauncherDelegate> launcher_delegate_;
+
+ scoped_ptr<LauncherModel> launcher_model_;
scoped_ptr<internal::AppListController> app_list_controller_;
diff --git a/ash/shell/app_list.cc b/ash/shell/app_list.cc
index 0e7e103e..268a472 100644
--- a/ash/shell/app_list.cc
+++ b/ash/shell/app_list.cc
@@ -275,7 +275,7 @@ class ExampleAppListViewDelegate : public app_list::AppListViewDelegate {
virtual void Dismiss() OVERRIDE {
DCHECK(ash::Shell::HasInstance());
if (Shell::GetInstance()->GetAppListTargetVisibility())
- Shell::GetInstance()->ToggleAppList();
+ Shell::GetInstance()->ToggleAppList(NULL);
}
virtual void ViewClosing() OVERRIDE {
diff --git a/ash/shell/window_watcher.cc b/ash/shell/window_watcher.cc
index 157a598..9f30bff 100644
--- a/ash/shell/window_watcher.cc
+++ b/ash/shell/window_watcher.cc
@@ -77,7 +77,7 @@ void WindowWatcher::OnWindowAdded(aura::Window* new_window) {
return;
static int image_count = 0;
- ash::LauncherModel* model = Launcher::ForPrimaryDisplay()->model();
+ ash::LauncherModel* model = Shell::GetInstance()->launcher_model();
ash::LauncherItem item;
item.type = ash::TYPE_TABBED;
id_to_window_[model->next_id()] = new_window;
@@ -100,7 +100,7 @@ void WindowWatcher::OnWillRemoveWindow(aura::Window* window) {
for (IDToWindow::iterator i = id_to_window_.begin();
i != id_to_window_.end(); ++i) {
if (i->second == window) {
- ash::LauncherModel* model = Launcher::ForPrimaryDisplay()->model();
+ ash::LauncherModel* model = Shell::GetInstance()->launcher_model();
int index = model->ItemIndexByID(i->first);
DCHECK_NE(-1, index);
model->RemoveItemAt(index);
diff --git a/ash/wm/app_list_controller.cc b/ash/wm/app_list_controller.cc
index 3c52d77..d21e19f 100644
--- a/ash/wm/app_list_controller.cc
+++ b/ash/wm/app_list_controller.cc
@@ -101,7 +101,7 @@ AppListController::~AppListController() {
pagination_model_->RemoveObserver(this);
}
-void AppListController::SetVisible(bool visible) {
+void AppListController::SetVisible(bool visible, aura::Window* window) {
if (visible == is_visible_)
return;
@@ -118,14 +118,12 @@ void AppListController::SetVisible(bool visible) {
// will be released with AppListView on close.
app_list::AppListView* view = new app_list::AppListView(
Shell::GetInstance()->delegate()->CreateAppListViewDelegate());
- // TODO(oshima): support multiple displays.
- aura::Window* container = Shell::GetPrimaryRootWindowController()->
+ aura::Window* container = GetRootWindowController(window->GetRootWindow())->
GetContainer(kShellWindowId_AppListContainer);
view->InitAsBubble(
- Shell::GetPrimaryRootWindowController()->GetContainer(
- kShellWindowId_AppListContainer),
+ container,
pagination_model_.get(),
- Launcher::ForWindow(GetWindow())->GetAppListButtonView(),
+ Launcher::ForWindow(container)->GetAppListButtonView(),
gfx::Point(),
GetBubbleArrowLocation(container));
SetView(view);
@@ -151,7 +149,7 @@ void AppListController::SetView(app_list::AppListView* view) {
views::Widget* widget = view_->GetWidget();
widget->AddObserver(this);
Shell::GetInstance()->AddPreTargetHandler(this);
- Launcher::ForWindow(GetWindow())->AddIconObserver(this);
+ Launcher::ForWindow(widget->GetNativeWindow())->AddIconObserver(this);
widget->GetNativeView()->GetRootWindow()->AddRootWindowObserver(this);
aura::client::GetFocusClient(widget->GetNativeView())->AddObserver(this);
@@ -166,7 +164,7 @@ void AppListController::ResetView() {
widget->RemoveObserver(this);
GetLayer(widget)->GetAnimator()->RemoveObserver(this);
Shell::GetInstance()->RemovePreTargetHandler(this);
- Launcher::ForWindow(GetWindow())->RemoveIconObserver(this);
+ Launcher::ForWindow(widget->GetNativeWindow())->RemoveIconObserver(this);
widget->GetNativeView()->GetRootWindow()->RemoveRootWindowObserver(this);
aura::client::GetFocusClient(widget->GetNativeView())->RemoveObserver(this);
view_ = NULL;
@@ -222,7 +220,7 @@ void AppListController::ProcessLocatedEvent(ui::LocatedEvent* event) {
&window_local_point);
// Use HitTest to respect the hit test mask of the bubble.
if (!window->HitTest(window_local_point))
- SetVisible(false);
+ SetVisible(false, window);
}
}
@@ -251,11 +249,11 @@ void AppListController::OnGestureEvent(ui::GestureEvent* event) {
void AppListController::OnWindowFocused(aura::Window* gained_focus,
aura::Window* lost_focus) {
if (gained_focus && view_ && is_visible_) {
- aura::Window* applist_container = Shell::GetContainer(
- Shell::GetPrimaryRootWindow(),
- kShellWindowId_AppListContainer);
+ aura::Window* applist_container =
+ GetRootWindowController(gained_focus->GetRootWindow())->GetContainer(
+ kShellWindowId_AppListContainer);
if (gained_focus->parent() != applist_container)
- SetVisible(false);
+ SetVisible(false, gained_focus);
}
}
@@ -282,7 +280,7 @@ void AppListController::OnImplicitAnimationsCompleted() {
void AppListController::OnWidgetClosing(views::Widget* widget) {
DCHECK(view_->GetWidget() == widget);
if (is_visible_)
- SetVisible(false);
+ SetVisible(false, widget->GetNativeView());
ResetView();
}
diff --git a/ash/wm/app_list_controller.h b/ash/wm/app_list_controller.h
index b45efaa..07314aa 100644
--- a/ash/wm/app_list_controller.h
+++ b/ash/wm/app_list_controller.h
@@ -45,8 +45,10 @@ class AppListController : public views::corewm::FocusChangeShim,
AppListController();
virtual ~AppListController();
- // Show/hide app list window.
- void SetVisible(bool visible);
+ // Show/hide app list window. The |window| is used to deterime in
+ // which display (in which the |window| exists) the app list should
+ // be shown.
+ void SetVisible(bool visible, aura::Window* window);
// Whether app list window is visible (shown or being shown).
bool IsVisible() const;
diff --git a/ash/wm/shelf_layout_manager.cc b/ash/wm/shelf_layout_manager.cc
index 1937a7e..e37e486 100644
--- a/ash/wm/shelf_layout_manager.cc
+++ b/ash/wm/shelf_layout_manager.cc
@@ -249,8 +249,7 @@ void ShelfLayoutManager::LayoutShelf() {
status_area_widget_->GetNativeView()->parent(),
target_bounds.status_bounds_in_root));
Shell::GetInstance()->SetDisplayWorkAreaInsets(
- Shell::GetPrimaryRootWindow(),
- target_bounds.work_area_insets);
+ root_window_, target_bounds.work_area_insets);
UpdateHitTestBounds();
}
@@ -578,8 +577,7 @@ void ShelfLayoutManager::SetState(ShelfVisibilityState visibility_state) {
layer->SetBounds(target_bounds.status_bounds_in_root);
layer->SetOpacity(target_bounds.opacity);
Shell::GetInstance()->SetDisplayWorkAreaInsets(
- Shell::GetPrimaryRootWindow(),
- target_bounds.work_area_insets);
+ root_window_, target_bounds.work_area_insets);
UpdateHitTestBounds();
if (!delay_shelf_update)
UpdateShelfBackground(change_type);
diff --git a/ash/wm/shelf_layout_manager_unittest.cc b/ash/wm/shelf_layout_manager_unittest.cc
index 76c7868..382a477 100644
--- a/ash/wm/shelf_layout_manager_unittest.cc
+++ b/ash/wm/shelf_layout_manager_unittest.cc
@@ -519,12 +519,12 @@ TEST_F(ShelfLayoutManagerTest, OpenAppListWithShelfVisibleState) {
EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state());
// Toggle app list to show, and the shelf stays visible.
- shell->ToggleAppList();
+ shell->ToggleAppList(NULL);
EXPECT_TRUE(shell->GetAppListTargetVisibility());
EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state());
// Toggle app list to hide, and the shelf stays visible.
- shell->ToggleAppList();
+ shell->ToggleAppList(NULL);
EXPECT_FALSE(shell->GetAppListTargetVisibility());
EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state());
}
@@ -551,7 +551,7 @@ TEST_F(ShelfLayoutManagerTest, OpenAppListWithShelfAutoHideState) {
EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state());
// Toggle app list to show.
- shell->ToggleAppList();
+ shell->ToggleAppList(NULL);
// The shelf's auto hide state won't be changed until the timer fires, so
// calling shell->UpdateShelfVisibility() is kind of manually helping it to
// update the state.
@@ -561,7 +561,7 @@ TEST_F(ShelfLayoutManagerTest, OpenAppListWithShelfAutoHideState) {
EXPECT_EQ(SHELF_AUTO_HIDE_SHOWN, shelf->auto_hide_state());
// Toggle app list to hide.
- shell->ToggleAppList();
+ shell->ToggleAppList(NULL);
EXPECT_FALSE(shell->GetAppListTargetVisibility());
EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state());
}
@@ -586,12 +586,12 @@ TEST_F(ShelfLayoutManagerTest, OpenAppListWithShelfHiddenState) {
EXPECT_EQ(SHELF_HIDDEN, shelf->visibility_state());
// Toggle app list to show.
- shell->ToggleAppList();
+ shell->ToggleAppList(NULL);
EXPECT_TRUE(shell->GetAppListTargetVisibility());
EXPECT_EQ(SHELF_HIDDEN, shelf->visibility_state());
// Toggle app list to hide.
- shell->ToggleAppList();
+ shell->ToggleAppList(NULL);
EXPECT_FALSE(shell->GetAppListTargetVisibility());
EXPECT_EQ(SHELF_HIDDEN, shelf->visibility_state());
}
diff --git a/chrome/browser/ui/ash/app_list/app_list_controller_ash.cc b/chrome/browser/ui/ash/app_list/app_list_controller_ash.cc
index a2e6b20..8bb13ba 100644
--- a/chrome/browser/ui/ash/app_list/app_list_controller_ash.cc
+++ b/chrome/browser/ui/ash/app_list/app_list_controller_ash.cc
@@ -14,7 +14,7 @@ AppListControllerDelegateAsh::~AppListControllerDelegateAsh() {}
void AppListControllerDelegateAsh::DismissView() {
DCHECK(ash::Shell::HasInstance());
if (ash::Shell::GetInstance()->GetAppListTargetVisibility())
- ash::Shell::GetInstance()->ToggleAppList();
+ ash::Shell::GetInstance()->ToggleAppList(NULL);
}
bool AppListControllerDelegateAsh::IsAppPinned(
@@ -63,7 +63,7 @@ namespace app_list_controller {
#if defined(OS_CHROMEOS)
void ShowAppList() {
- ash::Shell::GetInstance()->ToggleAppList();
+ ash::Shell::GetInstance()->ToggleAppList(NULL);
}
#endif
diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_browsertest.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_browsertest.cc
index c4cb1a2..de6435c 100644
--- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_browsertest.cc
+++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_browsertest.cc
@@ -6,6 +6,7 @@
#include "ash/launcher/launcher.h"
#include "ash/launcher/launcher_model.h"
+#include "ash/shell.h"
#include "ash/wm/window_util.h"
#include "base/command_line.h"
#include "base/utf_string_conversions.h"
@@ -48,6 +49,10 @@ class LauncherPlatformAppBrowserTest
virtual ~LauncherPlatformAppBrowserTest() {}
+ ash::LauncherModel* launcher_model() {
+ return ash::Shell::GetInstance()->launcher_model();
+ }
+
virtual void RunTestOnMainThreadLoop() {
launcher_ = ash::Launcher::ForPrimaryDisplay();
controller_ = static_cast<ChromeLauncherController*>(launcher_->delegate());
@@ -74,7 +79,7 @@ class LauncherAppBrowserTest : public ExtensionBrowserTest {
virtual void RunTestOnMainThreadLoop() {
launcher_ = ash::Launcher::ForPrimaryDisplay();
- model_ = launcher_->model();
+ model_ = ash::Shell::GetInstance()->launcher_model();
return ExtensionBrowserTest::RunTestOnMainThreadLoop();
}
@@ -124,24 +129,23 @@ class LauncherAppBrowserTest : public ExtensionBrowserTest {
// Test that we can launch a platform app and get a running item.
IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, LaunchUnpinned) {
- ash::Launcher* launcher = ash::Launcher::ForPrimaryDisplay();
- int item_count = launcher->model()->item_count();
+ int item_count = launcher_model()->item_count();
const Extension* extension = LoadAndLaunchPlatformApp("launch");
ShellWindow* window = CreateShellWindow(extension);
++item_count;
- ASSERT_EQ(item_count, launcher->model()->item_count());
+ ASSERT_EQ(item_count, launcher_model()->item_count());
ash::LauncherItem item =
- launcher->model()->items()[launcher->model()->item_count() - 2];
+ launcher_model()->items()[launcher_model()->item_count() - 2];
EXPECT_EQ(ash::TYPE_PLATFORM_APP, item.type);
EXPECT_EQ(ash::STATUS_ACTIVE, item.status);
CloseShellWindow(window);
--item_count;
- EXPECT_EQ(item_count, launcher->model()->item_count());
+ EXPECT_EQ(item_count, launcher_model()->item_count());
}
// Test that we can launch a platform app that already has a shortcut.
IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, LaunchPinned) {
- int item_count = launcher_->model()->item_count();
+ int item_count = launcher_model()->item_count();
// First get app_id.
const Extension* extension = LoadAndLaunchPlatformApp("launch");
@@ -150,36 +154,36 @@ IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, LaunchPinned) {
// Then create a shortcut.
ash::LauncherID shortcut_id = CreateAppShortcutLauncherItem(app_id);
++item_count;
- ASSERT_EQ(item_count, launcher_->model()->item_count());
- ash::LauncherItem item = *launcher_->model()->ItemByID(shortcut_id);
+ ASSERT_EQ(item_count, launcher_model()->item_count());
+ ash::LauncherItem item = *launcher_model()->ItemByID(shortcut_id);
EXPECT_EQ(ash::TYPE_APP_SHORTCUT, item.type);
EXPECT_EQ(ash::STATUS_CLOSED, item.status);
// Open a window. Confirm the item is now running.
ShellWindow* window = CreateShellWindow(extension);
ash::wm::ActivateWindow(window->GetNativeWindow());
- ASSERT_EQ(item_count, launcher_->model()->item_count());
- item = *launcher_->model()->ItemByID(shortcut_id);
+ ASSERT_EQ(item_count, launcher_model()->item_count());
+ item = *launcher_model()->ItemByID(shortcut_id);
EXPECT_EQ(ash::TYPE_APP_SHORTCUT, item.type);
EXPECT_EQ(ash::STATUS_ACTIVE, item.status);
// Then close it, make sure there's still an item.
CloseShellWindow(window);
- ASSERT_EQ(item_count, launcher_->model()->item_count());
- item = *launcher_->model()->ItemByID(shortcut_id);
+ ASSERT_EQ(item_count, launcher_model()->item_count());
+ item = *launcher_model()->ItemByID(shortcut_id);
EXPECT_EQ(ash::TYPE_APP_SHORTCUT, item.type);
EXPECT_EQ(ash::STATUS_CLOSED, item.status);
}
IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, PinRunning) {
// Run.
- int item_count = launcher_->model()->item_count();
+ int item_count = launcher_model()->item_count();
const Extension* extension = LoadAndLaunchPlatformApp("launch");
ShellWindow* window = CreateShellWindow(extension);
++item_count;
- ASSERT_EQ(item_count, launcher_->model()->item_count());
+ ASSERT_EQ(item_count, launcher_model()->item_count());
ash::LauncherItem item =
- launcher_->model()->items()[launcher_->model()->item_count() - 2];
+ launcher_model()->items()[launcher_model()->item_count() - 2];
ash::LauncherID id = item.id;
EXPECT_EQ(ash::TYPE_PLATFORM_APP, item.type);
EXPECT_EQ(ash::STATUS_ACTIVE, item.status);
@@ -187,31 +191,31 @@ IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, PinRunning) {
// Create a shortcut. The app item should be after it.
ash::LauncherID foo_id = CreateAppShortcutLauncherItem("foo");
++item_count;
- ASSERT_EQ(item_count, launcher_->model()->item_count());
- EXPECT_LT(launcher_->model()->ItemIndexByID(foo_id),
- launcher_->model()->ItemIndexByID(id));
+ ASSERT_EQ(item_count, launcher_model()->item_count());
+ EXPECT_LT(launcher_model()->ItemIndexByID(foo_id),
+ launcher_model()->ItemIndexByID(id));
// Pin the app. The item should remain.
controller_->Pin(id);
- ASSERT_EQ(item_count, launcher_->model()->item_count());
- item = *launcher_->model()->ItemByID(id);
+ ASSERT_EQ(item_count, launcher_model()->item_count());
+ item = *launcher_model()->ItemByID(id);
EXPECT_EQ(ash::TYPE_APP_SHORTCUT, item.type);
EXPECT_EQ(ash::STATUS_ACTIVE, item.status);
// New shortcuts should come after the item.
ash::LauncherID bar_id = CreateAppShortcutLauncherItem("bar");
++item_count;
- ASSERT_EQ(item_count, launcher_->model()->item_count());
- EXPECT_LT(launcher_->model()->ItemIndexByID(id),
- launcher_->model()->ItemIndexByID(bar_id));
+ ASSERT_EQ(item_count, launcher_model()->item_count());
+ EXPECT_LT(launcher_model()->ItemIndexByID(id),
+ launcher_model()->ItemIndexByID(bar_id));
// Then close it, make sure the item remains.
CloseShellWindow(window);
- ASSERT_EQ(item_count, launcher_->model()->item_count());
+ ASSERT_EQ(item_count, launcher_model()->item_count());
}
IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, UnpinRunning) {
- int item_count = launcher_->model()->item_count();
+ int item_count = launcher_model()->item_count();
// First get app_id.
const Extension* extension = LoadAndLaunchPlatformApp("launch");
@@ -220,8 +224,8 @@ IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, UnpinRunning) {
// Then create a shortcut.
ash::LauncherID shortcut_id = CreateAppShortcutLauncherItem(app_id);
++item_count;
- ASSERT_EQ(item_count, launcher_->model()->item_count());
- ash::LauncherItem item = *launcher_->model()->ItemByID(shortcut_id);
+ ASSERT_EQ(item_count, launcher_model()->item_count());
+ ash::LauncherItem item = *launcher_model()->ItemByID(shortcut_id);
EXPECT_EQ(ash::TYPE_APP_SHORTCUT, item.type);
EXPECT_EQ(ash::STATUS_CLOSED, item.status);
@@ -229,45 +233,45 @@ IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, UnpinRunning) {
// move once it gets unpinned.
ash::LauncherID foo_id = CreateAppShortcutLauncherItem("foo");
++item_count;
- ASSERT_EQ(item_count, launcher_->model()->item_count());
- EXPECT_LT(launcher_->model()->ItemIndexByID(shortcut_id),
- launcher_->model()->ItemIndexByID(foo_id));
+ ASSERT_EQ(item_count, launcher_model()->item_count());
+ EXPECT_LT(launcher_model()->ItemIndexByID(shortcut_id),
+ launcher_model()->ItemIndexByID(foo_id));
// Open a window. Confirm the item is now running.
ShellWindow* window = CreateShellWindow(extension);
ash::wm::ActivateWindow(window->GetNativeWindow());
- ASSERT_EQ(item_count, launcher_->model()->item_count());
- item = *launcher_->model()->ItemByID(shortcut_id);
+ ASSERT_EQ(item_count, launcher_model()->item_count());
+ item = *launcher_model()->ItemByID(shortcut_id);
EXPECT_EQ(ash::TYPE_APP_SHORTCUT, item.type);
EXPECT_EQ(ash::STATUS_ACTIVE, item.status);
// Unpin the app. The item should remain.
controller_->Unpin(shortcut_id);
- ASSERT_EQ(item_count, launcher_->model()->item_count());
- item = *launcher_->model()->ItemByID(shortcut_id);
+ ASSERT_EQ(item_count, launcher_model()->item_count());
+ item = *launcher_model()->ItemByID(shortcut_id);
EXPECT_EQ(ash::TYPE_PLATFORM_APP, item.type);
EXPECT_EQ(ash::STATUS_ACTIVE, item.status);
// The item should have moved after the other shortcuts.
- EXPECT_GT(launcher_->model()->ItemIndexByID(shortcut_id),
- launcher_->model()->ItemIndexByID(foo_id));
+ EXPECT_GT(launcher_model()->ItemIndexByID(shortcut_id),
+ launcher_model()->ItemIndexByID(foo_id));
// Then close it, make sure the item's gone.
CloseShellWindow(window);
--item_count;
- ASSERT_EQ(item_count, launcher_->model()->item_count());
+ ASSERT_EQ(item_count, launcher_model()->item_count());
}
// Test that we can launch a platform app with more than one window.
IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, MultipleWindows) {
- int item_count = launcher_->model()->item_count();
+ int item_count = launcher_model()->item_count();
// First run app.
const Extension* extension = LoadAndLaunchPlatformApp("launch");
ShellWindow* window1 = CreateShellWindow(extension);
++item_count;
- ASSERT_EQ(item_count, launcher_->model()->item_count());
+ ASSERT_EQ(item_count, launcher_model()->item_count());
ash::LauncherItem item =
- launcher_->model()->items()[launcher_->model()->item_count() - 2];
+ launcher_model()->items()[launcher_model()->item_count() - 2];
ash::LauncherID item_id = item.id;
EXPECT_EQ(ash::TYPE_PLATFORM_APP, item.type);
EXPECT_EQ(ash::STATUS_ACTIVE, item.status);
@@ -275,22 +279,22 @@ IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, MultipleWindows) {
// Add second window.
ShellWindow* window2 = CreateShellWindow(extension);
// Confirm item stays.
- ASSERT_EQ(item_count, launcher_->model()->item_count());
- item = *launcher_->model()->ItemByID(item_id);
+ ASSERT_EQ(item_count, launcher_model()->item_count());
+ item = *launcher_model()->ItemByID(item_id);
EXPECT_EQ(ash::STATUS_ACTIVE, item.status);
// Close second window.
CloseShellWindow(window2);
// Confirm item stays.
- ASSERT_EQ(item_count, launcher_->model()->item_count());
- item = *launcher_->model()->ItemByID(item_id);
+ ASSERT_EQ(item_count, launcher_model()->item_count());
+ item = *launcher_model()->ItemByID(item_id);
EXPECT_EQ(ash::STATUS_ACTIVE, item.status);
// Close first window.
CloseShellWindow(window1);
// Confirm item is removed.
--item_count;
- ASSERT_EQ(item_count, launcher_->model()->item_count());
+ ASSERT_EQ(item_count, launcher_model()->item_count());
}
// Times out on ChromeOS: http://crbug.com/159394
@@ -300,15 +304,15 @@ IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, MultipleWindows) {
#define MAYBE_MultipleApps MultipleApps
#endif
IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, MAYBE_MultipleApps) {
- int item_count = launcher_->model()->item_count();
+ int item_count = launcher_model()->item_count();
// First run app.
const Extension* extension1 = LoadAndLaunchPlatformApp("launch");
ShellWindow* window1 = CreateShellWindow(extension1);
++item_count;
- ASSERT_EQ(item_count, launcher_->model()->item_count());
+ ASSERT_EQ(item_count, launcher_model()->item_count());
ash::LauncherItem item1 =
- launcher_->model()->items()[launcher_->model()->item_count() - 2];
+ launcher_model()->items()[launcher_model()->item_count() - 2];
ash::LauncherID item_id1 = item1.id;
EXPECT_EQ(ash::TYPE_PLATFORM_APP, item1.type);
EXPECT_EQ(ash::STATUS_ACTIVE, item1.status);
@@ -317,29 +321,29 @@ IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, MAYBE_MultipleApps) {
const Extension* extension2 = LoadAndLaunchPlatformApp("launch_2");
ShellWindow* window2 = CreateShellWindow(extension2);
++item_count;
- ASSERT_EQ(item_count, launcher_->model()->item_count());
+ ASSERT_EQ(item_count, launcher_model()->item_count());
ash::LauncherItem item2 =
- launcher_->model()->items()[launcher_->model()->item_count() - 2];
+ launcher_model()->items()[launcher_model()->item_count() - 2];
ash::LauncherID item_id2 = item2.id;
EXPECT_EQ(ash::TYPE_PLATFORM_APP, item2.type);
EXPECT_EQ(ash::STATUS_ACTIVE, item2.status);
EXPECT_NE(item_id1, item_id2);
EXPECT_EQ(ash::STATUS_RUNNING,
- launcher_->model()->ItemByID(item_id1)->status);
+ launcher_model()->ItemByID(item_id1)->status);
// Close second app.
CloseShellWindow(window2);
--item_count;
- ASSERT_EQ(item_count, launcher_->model()->item_count());
+ ASSERT_EQ(item_count, launcher_model()->item_count());
// First app should be active again.
EXPECT_EQ(ash::STATUS_ACTIVE,
- launcher_->model()->ItemByID(item_id1)->status);
+ launcher_model()->ItemByID(item_id1)->status);
// Close first app.
CloseShellWindow(window1);
--item_count;
- ASSERT_EQ(item_count, launcher_->model()->item_count());
+ ASSERT_EQ(item_count, launcher_model()->item_count());
}
@@ -352,15 +356,15 @@ IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, MAYBE_MultipleApps) {
#define MAYBE_WindowActivation WindowActivation
#endif
IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, MAYBE_WindowActivation) {
- int item_count = launcher_->model()->item_count();
+ int item_count = launcher_model()->item_count();
// First run app.
const Extension* extension1 = LoadAndLaunchPlatformApp("launch");
ShellWindow* window1 = CreateShellWindow(extension1);
++item_count;
- ASSERT_EQ(item_count, launcher_->model()->item_count());
+ ASSERT_EQ(item_count, launcher_model()->item_count());
ash::LauncherItem item1 =
- launcher_->model()->items()[launcher_->model()->item_count() - 2];
+ launcher_model()->items()[launcher_model()->item_count() - 2];
ash::LauncherID item_id1 = item1.id;
EXPECT_EQ(ash::TYPE_PLATFORM_APP, item1.type);
EXPECT_EQ(ash::STATUS_ACTIVE, item1.status);
@@ -369,30 +373,30 @@ IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, MAYBE_WindowActivation) {
const Extension* extension2 = LoadAndLaunchPlatformApp("launch_2");
ShellWindow* window2 = CreateShellWindow(extension2);
++item_count;
- ASSERT_EQ(item_count, launcher_->model()->item_count());
+ ASSERT_EQ(item_count, launcher_model()->item_count());
ash::LauncherItem item2 =
- launcher_->model()->items()[launcher_->model()->item_count() - 2];
+ launcher_model()->items()[launcher_model()->item_count() - 2];
ash::LauncherID item_id2 = item2.id;
EXPECT_EQ(ash::TYPE_PLATFORM_APP, item2.type);
EXPECT_EQ(ash::STATUS_ACTIVE, item2.status);
EXPECT_NE(item_id1, item_id2);
EXPECT_EQ(ash::STATUS_RUNNING,
- launcher_->model()->ItemByID(item_id1)->status);
+ launcher_model()->ItemByID(item_id1)->status);
// Activate first one.
- launcher_->ActivateLauncherItem(launcher_->model()->ItemIndexByID(item_id1));
- EXPECT_EQ(ash::STATUS_ACTIVE, launcher_->model()->ItemByID(item_id1)->status);
+ launcher_->ActivateLauncherItem(launcher_model()->ItemIndexByID(item_id1));
+ EXPECT_EQ(ash::STATUS_ACTIVE, launcher_model()->ItemByID(item_id1)->status);
EXPECT_EQ(ash::STATUS_RUNNING,
- launcher_->model()->ItemByID(item_id2)->status);
+ launcher_model()->ItemByID(item_id2)->status);
EXPECT_TRUE(ash::wm::IsActiveWindow(window1->GetNativeWindow()));
EXPECT_FALSE(ash::wm::IsActiveWindow(window2->GetNativeWindow()));
// Activate second one.
- launcher_->ActivateLauncherItem(launcher_->model()->ItemIndexByID(item_id2));
+ launcher_->ActivateLauncherItem(launcher_model()->ItemIndexByID(item_id2));
EXPECT_EQ(ash::STATUS_RUNNING,
- launcher_->model()->ItemByID(item_id1)->status);
- EXPECT_EQ(ash::STATUS_ACTIVE, launcher_->model()->ItemByID(item_id2)->status);
+ launcher_model()->ItemByID(item_id1)->status);
+ EXPECT_EQ(ash::STATUS_ACTIVE, launcher_model()->ItemByID(item_id2)->status);
EXPECT_FALSE(ash::wm::IsActiveWindow(window1->GetNativeWindow()));
EXPECT_TRUE(ash::wm::IsActiveWindow(window2->GetNativeWindow()));
@@ -404,21 +408,21 @@ IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, MAYBE_WindowActivation) {
EXPECT_TRUE(ash::wm::IsActiveWindow(window1b->GetNativeWindow()));
// Activate launcher item for app1, this will cycle the active window.
- launcher_->ActivateLauncherItem(launcher_->model()->ItemIndexByID(item_id1));
+ launcher_->ActivateLauncherItem(launcher_model()->ItemIndexByID(item_id1));
EXPECT_FALSE(ash::wm::IsActiveWindow(window1b->GetNativeWindow()));
EXPECT_TRUE(ash::wm::IsActiveWindow(window1->GetNativeWindow()));
- launcher_->ActivateLauncherItem(launcher_->model()->ItemIndexByID(item_id1));
+ launcher_->ActivateLauncherItem(launcher_model()->ItemIndexByID(item_id1));
EXPECT_TRUE(ash::wm::IsActiveWindow(window1b->GetNativeWindow()));
EXPECT_FALSE(ash::wm::IsActiveWindow(window1->GetNativeWindow()));
// Activate the second app again
- launcher_->ActivateLauncherItem(launcher_->model()->ItemIndexByID(item_id2));
+ launcher_->ActivateLauncherItem(launcher_model()->ItemIndexByID(item_id2));
EXPECT_FALSE(ash::wm::IsActiveWindow(window1->GetNativeWindow()));
EXPECT_TRUE(ash::wm::IsActiveWindow(window2->GetNativeWindow()));
EXPECT_FALSE(ash::wm::IsActiveWindow(window1b->GetNativeWindow()));
// Activate the first app again
- launcher_->ActivateLauncherItem(launcher_->model()->ItemIndexByID(item_id1));
+ launcher_->ActivateLauncherItem(launcher_model()->ItemIndexByID(item_id1));
EXPECT_FALSE(ash::wm::IsActiveWindow(window1->GetNativeWindow()));
EXPECT_FALSE(ash::wm::IsActiveWindow(window2->GetNativeWindow()));
EXPECT_TRUE(ash::wm::IsActiveWindow(window1b->GetNativeWindow()));
@@ -426,34 +430,34 @@ IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, MAYBE_WindowActivation) {
// Close second app.
CloseShellWindow(window2);
--item_count;
- EXPECT_EQ(item_count, launcher_->model()->item_count());
+ EXPECT_EQ(item_count, launcher_model()->item_count());
// First app should be active again.
- EXPECT_EQ(ash::STATUS_ACTIVE, launcher_->model()->ItemByID(item_id1)->status);
+ EXPECT_EQ(ash::STATUS_ACTIVE, launcher_model()->ItemByID(item_id1)->status);
// Close first app.
CloseShellWindow(window1b);
CloseShellWindow(window1);
--item_count;
- EXPECT_EQ(item_count, launcher_->model()->item_count());
+ EXPECT_EQ(item_count, launcher_model()->item_count());
}
IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, BrowserActivation) {
- int item_count = launcher_->model()->item_count();
+ int item_count = launcher_model()->item_count();
// First run app.
const Extension* extension1 = LoadAndLaunchPlatformApp("launch");
CreateShellWindow(extension1);
++item_count;
- ASSERT_EQ(item_count, launcher_->model()->item_count());
+ ASSERT_EQ(item_count, launcher_model()->item_count());
ash::LauncherItem item1 =
- launcher_->model()->items()[launcher_->model()->item_count() - 2];
+ launcher_model()->items()[launcher_model()->item_count() - 2];
ash::LauncherID item_id1 = item1.id;
EXPECT_EQ(ash::TYPE_PLATFORM_APP, item1.type);
EXPECT_EQ(ash::STATUS_ACTIVE, item1.status);
ash::wm::ActivateWindow(browser()->window()->GetNativeWindow());
EXPECT_EQ(ash::STATUS_RUNNING,
- launcher_->model()->ItemByID(item_id1)->status);
+ launcher_model()->ItemByID(item_id1)->status);
}
// Test that we can launch an app with a shortcut.