| Index: trunk/src/ash/test/test_launcher_delegate.cc
|
| ===================================================================
|
| --- trunk/src/ash/test/test_launcher_delegate.cc (revision 226578)
|
| +++ trunk/src/ash/test/test_launcher_delegate.cc (working copy)
|
| @@ -8,7 +8,7 @@
|
| #include "ash/launcher/launcher_model.h"
|
| #include "ash/shelf/shelf_util.h"
|
| #include "ash/shell.h"
|
| -#include "ash/test/test_launcher_item_delegate.h"
|
| +#include "ash/wm/window_util.h"
|
| #include "base/strings/string_util.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| #include "grit/ash_resources.h"
|
| @@ -23,6 +23,14 @@
|
| : model_(model) {
|
| CHECK(!instance_);
|
| instance_ = this;
|
| +
|
| + ash::LauncherItemDelegateManager* manager =
|
| + ash::Shell::GetInstance()->launcher_item_delegate_manager();
|
| + manager->RegisterLauncherItemDelegate(ash::TYPE_APP_PANEL, this);
|
| + manager->RegisterLauncherItemDelegate(ash::TYPE_APP_SHORTCUT, this);
|
| + manager->RegisterLauncherItemDelegate(ash::TYPE_BROWSER_SHORTCUT, this);
|
| + manager->RegisterLauncherItemDelegate(ash::TYPE_PLATFORM_APP, this);
|
| + manager->RegisterLauncherItemDelegate(ash::TYPE_WINDOWED_APP, this);
|
| }
|
|
|
| TestLauncherDelegate::~TestLauncherDelegate() {
|
| @@ -46,13 +54,6 @@
|
| item.status = status;
|
| model_->Add(item);
|
| window->AddObserver(this);
|
| -
|
| - ash::LauncherItemDelegateManager* manager =
|
| - ash::Shell::GetInstance()->launcher_item_delegate_manager();
|
| - // |manager| owns TestLauncherItemDelegate.
|
| - scoped_ptr<LauncherItemDelegate> delegate(
|
| - new TestLauncherItemDelegate(window));
|
| - manager->SetLauncherItemDelegate(window_to_id_[window], delegate.Pass());
|
| }
|
|
|
| void TestLauncherDelegate::RemoveLauncherItemForWindow(aura::Window* window) {
|
| @@ -79,6 +80,32 @@
|
| RemoveLauncherItemForWindow(params.target);
|
| }
|
|
|
| +void TestLauncherDelegate::ItemSelected(const ash::LauncherItem& item,
|
| + const ui::Event& event) {
|
| + aura::Window* window = GetWindowByID(item.id);
|
| + if (window->type() == aura::client::WINDOW_TYPE_PANEL)
|
| + ash::wm::MoveWindowToEventRoot(window, event);
|
| + window->Show();
|
| + ash::wm::ActivateWindow(window);
|
| +}
|
| +
|
| +base::string16 TestLauncherDelegate::GetTitle(const ash::LauncherItem& item) {
|
| + aura::Window* window = GetWindowByID(item.id);
|
| + return window ? window->title() : base::string16();
|
| +}
|
| +
|
| +ui::MenuModel* TestLauncherDelegate::CreateContextMenu(
|
| + const ash::LauncherItem& item,
|
| + aura::RootWindow* root) {
|
| + return NULL;
|
| +}
|
| +
|
| +ash::LauncherMenuModel* TestLauncherDelegate::CreateApplicationMenu(
|
| + const ash::LauncherItem& item,
|
| + int event_flags) {
|
| + return NULL;
|
| +}
|
| +
|
| ash::LauncherID TestLauncherDelegate::GetIDByWindow(aura::Window* window) {
|
| WindowToID::const_iterator found = window_to_id_.find(window);
|
| if (found == window_to_id_.end())
|
| @@ -86,6 +113,24 @@
|
| return found->second;
|
| }
|
|
|
| +aura::Window* TestLauncherDelegate::GetWindowByID(ash::LauncherID id) {
|
| + for (WindowToID::const_iterator it = window_to_id_.begin();
|
| + it != window_to_id_.end();
|
| + it++) {
|
| + if (it->second == id)
|
| + return it->first;
|
| + }
|
| + return NULL;
|
| +}
|
| +
|
| +bool TestLauncherDelegate::IsDraggable(const ash::LauncherItem& item) {
|
| + return true;
|
| +}
|
| +
|
| +bool TestLauncherDelegate::ShouldShowTooltip(const ash::LauncherItem& item) {
|
| + return true;
|
| +}
|
| +
|
| void TestLauncherDelegate::OnLauncherCreated(Launcher* launcher) {
|
| }
|
|
|
|
|