diff options
author | davemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-25 05:11:55 +0000 |
---|---|---|
committer | davemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-25 05:11:55 +0000 |
commit | 4280f4be4e602f51c34add5286d119dfa764a00c (patch) | |
tree | b4fa3461a5f760f07a81b994ff9159ddf8782b24 | |
parent | 2e6b2ddcc4e9a0363d3e125172be75f1dc24bf6b (diff) | |
download | chromium_src-4280f4be4e602f51c34add5286d119dfa764a00c.zip chromium_src-4280f4be4e602f51c34add5286d119dfa764a00c.tar.gz chromium_src-4280f4be4e602f51c34add5286d119dfa764a00c.tar.bz2 |
Remove app mode
BUG=119518
TEST=Existing Launcher tests
Review URL: https://chromiumcodereview.appspot.com/9839099
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128807 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | ash/launcher/launcher_model_unittest.cc | 10 | ||||
-rw-r--r-- | ash/launcher/launcher_types.h | 3 | ||||
-rw-r--r-- | ash/launcher/launcher_unittest.cc | 37 | ||||
-rw-r--r-- | ash/launcher/launcher_view.cc | 10 | ||||
-rw-r--r-- | chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.cc | 7 | ||||
-rw-r--r-- | chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.h | 3 | ||||
-rw-r--r-- | chrome/browser/ui/views/ash/launcher/launcher_updater.cc | 16 | ||||
-rw-r--r-- | chrome/browser/ui/views/ash/launcher/launcher_updater.h | 1 | ||||
-rw-r--r-- | chrome/browser/ui/views/ash/launcher/launcher_updater_unittest.cc | 85 |
9 files changed, 26 insertions, 146 deletions
diff --git a/ash/launcher/launcher_model_unittest.cc b/ash/launcher/launcher_model_unittest.cc index 2a725f1..55025eb 100644 --- a/ash/launcher/launcher_model_unittest.cc +++ b/ash/launcher/launcher_model_unittest.cc @@ -104,17 +104,17 @@ TEST(LauncherModel, BasicAssertions) { EXPECT_EQ("removed=1", observer.StateStringAndClear()); // Add an app item. - item.type = TYPE_APP; + item.type = TYPE_APP_SHORTCUT; index = model.Add(item); observer.StateStringAndClear(); // Change everything. model.Set(index, item); EXPECT_EQ("changed=1", observer.StateStringAndClear()); - EXPECT_EQ(TYPE_APP, model.items()[index].type); + EXPECT_EQ(TYPE_APP_SHORTCUT, model.items()[index].type); // Add another item. - item.type = TYPE_APP; + item.type = TYPE_APP_SHORTCUT; model.Add(item); observer.StateStringAndClear(); @@ -155,10 +155,6 @@ TEST(LauncherModel, AddIndices) { int app_shortcut_index2 = model.Add(item); EXPECT_EQ(2, app_shortcut_index2); - // Apps should go with tabbed items. - item.type = TYPE_APP; - int app_index1 = model.Add(item); - EXPECT_EQ(5, app_index1); EXPECT_EQ(TYPE_BROWSER_SHORTCUT, model.items()[0].type); EXPECT_EQ(TYPE_APP_LIST, model.items()[model.item_count() - 1].type); diff --git a/ash/launcher/launcher_types.h b/ash/launcher/launcher_types.h index c1a3ed1..cd952d7 100644 --- a/ash/launcher/launcher_types.h +++ b/ash/launcher/launcher_types.h @@ -29,9 +29,6 @@ enum ASH_EXPORT LauncherItemType { TYPE_TABBED, // Represents an app window. - TYPE_APP, - - // Represents an app window. TYPE_APP_SHORTCUT, // Toggles visiblity of the app list. diff --git a/ash/launcher/launcher_unittest.cc b/ash/launcher/launcher_unittest.cc index f872982..83f78f5 100644 --- a/ash/launcher/launcher_unittest.cc +++ b/ash/launcher/launcher_unittest.cc @@ -30,43 +30,6 @@ TEST_F(LauncherTest, SetStatusWidth) { EXPECT_EQ(total_width - total_width / 2, launcher_view->width()); } -// Confirm that launching an app gets the appropriate state reflected in -// its button. -TEST_F(LauncherTest, LaunchApp) { - Launcher* launcher = Shell::GetInstance()->launcher(); - ASSERT_TRUE(launcher); - LauncherView* launcher_view = launcher->GetLauncherViewForTest(); - LauncherView::TestAPI test(launcher_view); - LauncherModel* model = launcher->model(); - - // Initially we have the app list and chrome icon. - int button_count = test.GetButtonCount(); - - // Add closed app. - LauncherItem item; - item.type = TYPE_APP; - int index = model->Add(item); - ASSERT_EQ(++button_count, test.GetButtonCount()); - LauncherButton* button = test.GetButton(index); - EXPECT_EQ(LauncherButton::STATE_NORMAL, button->state()); - - // Open it. - item = model->items()[index]; - item.status = STATUS_RUNNING; - model->Set(index, item); - EXPECT_EQ(LauncherButton::STATE_RUNNING, button->state()); - - // Close it. - item = model->items()[index]; - item.status = STATUS_CLOSED; - model->Set(index, item); - EXPECT_EQ(LauncherButton::STATE_NORMAL, button->state()); - - // Remove it. - model->RemoveItemAt(index); - ASSERT_EQ(--button_count, test.GetButtonCount()); -} - // Confirm that launching a browser gets the appropriate state reflected in // its button. TEST_F(LauncherTest, OpenBrowser) { diff --git a/ash/launcher/launcher_view.cc b/ash/launcher/launcher_view.cc index 0147fde..44ac922 100644 --- a/ash/launcher/launcher_view.cc +++ b/ash/launcher/launcher_view.cc @@ -355,8 +355,7 @@ views::View* LauncherView::CreateViewForItem(const LauncherItem& item) { break; } - case TYPE_APP_SHORTCUT: - case TYPE_APP: { + case TYPE_APP_SHORTCUT: { LauncherButton* button = LauncherButton::Create(this, this); button->SetImage(item.image); ReflectItemStatus(item, button); @@ -464,7 +463,7 @@ void LauncherView::GetOverflowItems(std::vector<LauncherItem>* items) { } while (index < view_model_->view_size()) { const LauncherItem& item = model_->items()[index]; - if (item.type == TYPE_TABBED || item.type == TYPE_APP) + if (item.type == TYPE_TABBED) items->push_back(item); index++; } @@ -601,8 +600,7 @@ void LauncherView::LauncherItemChanged(int model_index, break; } - case TYPE_APP_SHORTCUT: - case TYPE_APP: { + case TYPE_APP_SHORTCUT: { LauncherButton* button = static_cast<LauncherButton*>(view); ReflectItemStatus(item, button); button->SetImage(item.image); @@ -678,7 +676,6 @@ string16 LauncherView::GetAccessibleName(const views::View* view) { switch (model_->items()[view_index].type) { case TYPE_TABBED: - case TYPE_APP: case TYPE_APP_SHORTCUT: return delegate_->GetTitle(model_->items()[view_index]); @@ -710,7 +707,6 @@ void LauncherView::ButtonPressed(views::Button* sender, switch (model_->items()[view_index].type) { case TYPE_TABBED: - case TYPE_APP: case TYPE_APP_SHORTCUT: delegate_->ItemClicked(model_->items()[view_index]); break; diff --git a/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.cc b/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.cc index 80e9b3a..9e0d068 100644 --- a/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.cc +++ b/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.cc @@ -125,12 +125,13 @@ void ChromeLauncherDelegate::RegisterUserPrefs(PrefService* user_prefs) { ash::LauncherID ChromeLauncherDelegate::CreateTabbedLauncherItem( LauncherUpdater* updater, - IncognitoState is_incognito) { + IncognitoState is_incognito, + ash::LauncherItemStatus status) { ash::LauncherID id = model_->next_id(); ash::LauncherItem item; item.type = ash::TYPE_TABBED; item.is_incognito = (is_incognito == STATE_INCOGNITO); - item.status = ash::STATUS_RUNNING; + item.status = status; model_->Add(item); DCHECK(id_to_item_map_.find(id) == id_to_item_map_.end()); id_to_item_map_[id].item_type = TYPE_TABBED_BROWSER; @@ -145,7 +146,7 @@ ash::LauncherID ChromeLauncherDelegate::CreateAppLauncherItem( ash::LauncherItemStatus status) { ash::LauncherID id = model_->next_id(); ash::LauncherItem item; - item.type = !updater ? ash::TYPE_APP_SHORTCUT : ash::TYPE_APP; + item.type = !updater ? ash::TYPE_APP_SHORTCUT : ash::TYPE_TABBED; item.is_incognito = false; item.image = Extension::GetDefaultIcon(true); item.status = status; diff --git a/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.h b/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.h index 29946f1..5b97bee 100644 --- a/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.h +++ b/chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.h @@ -83,7 +83,8 @@ class ChromeLauncherDelegate : public ash::LauncherDelegate, // Creates a new tabbed item on the launcher for |updater|. ash::LauncherID CreateTabbedLauncherItem(LauncherUpdater* updater, - IncognitoState is_incognito); + IncognitoState is_incognito, + ash::LauncherItemStatus status); // Creates a new app item on the launcher for |updater|. If there is an // existing pinned app that isn't running on the launcher, its id is returned. diff --git a/chrome/browser/ui/views/ash/launcher/launcher_updater.cc b/chrome/browser/ui/views/ash/launcher/launcher_updater.cc index e50bd85..6d91e60 100644 --- a/chrome/browser/ui/views/ash/launcher/launcher_updater.cc +++ b/chrome/browser/ui/views/ash/launcher/launcher_updater.cc @@ -26,8 +26,6 @@ namespace { ChromeLauncherDelegate::AppType GetDelegateType(LauncherUpdater::Type type) { switch (type) { - case LauncherUpdater::TYPE_APP: - return ChromeLauncherDelegate::APP_TYPE_WINDOW; case LauncherUpdater::TYPE_APP_PANEL: return ChromeLauncherDelegate::APP_TYPE_APP_PANEL; case LauncherUpdater::TYPE_EXTENSION_PANEL: @@ -63,18 +61,19 @@ LauncherUpdater::~LauncherUpdater() { void LauncherUpdater::Init() { tab_model_->AddObserver(this); + ash::LauncherItemStatus app_status = + ash::wm::IsActiveWindow(window_) ? + ash::STATUS_ACTIVE : ash::STATUS_RUNNING; if (type_ != TYPE_TABBED) { ChromeLauncherDelegate::AppType app_type = GetDelegateType(type_); - ash::LauncherItemStatus app_status = - ash::wm::IsActiveWindow(window_) ? - ash::STATUS_ACTIVE : ash::STATUS_RUNNING; item_id_ = launcher_delegate_->CreateAppLauncherItem( this, app_id_, app_type, app_status); } else { item_id_ = launcher_delegate_->CreateTabbedLauncherItem( this, is_incognito_ ? ChromeLauncherDelegate::STATE_INCOGNITO : - ChromeLauncherDelegate::STATE_NOT_INCOGNITO); + ChromeLauncherDelegate::STATE_NOT_INCOGNITO, + app_status); } // In testing scenarios we can get tab strips with no active contents. if (tab_model_->GetActiveTabContents()) @@ -94,7 +93,7 @@ LauncherUpdater* LauncherUpdater::Create(Browser* browser) { else type = TYPE_APP_PANEL; } else { - type = TYPE_APP; + type = TYPE_TABBED; } app_id = web_app::GetExtensionIdFromApplicationName(browser->app_name()); } else { @@ -154,9 +153,6 @@ void LauncherUpdater::UpdateLauncher(TabContentsWrapper* tab) { if (!tab) return; // Assume the window is going to be closed if there are no tabs. - if (type_ == TYPE_APP) - return; // TYPE_APP is entirely maintained by ChromeLauncherDelegate. - int item_index = launcher_model()->ItemIndexByID(item_id_); if (item_index == -1) return; diff --git a/chrome/browser/ui/views/ash/launcher/launcher_updater.h b/chrome/browser/ui/views/ash/launcher/launcher_updater.h index d459583..cd179a8 100644 --- a/chrome/browser/ui/views/ash/launcher/launcher_updater.h +++ b/chrome/browser/ui/views/ash/launcher/launcher_updater.h @@ -49,7 +49,6 @@ class LauncherUpdater : public TabStripModelObserver, }; enum Type { - TYPE_APP, TYPE_APP_PANEL, TYPE_EXTENSION_PANEL, TYPE_TABBED diff --git a/chrome/browser/ui/views/ash/launcher/launcher_updater_unittest.cc b/chrome/browser/ui/views/ash/launcher/launcher_updater_unittest.cc index de27793..2de60c9 100644 --- a/chrome/browser/ui/views/ash/launcher/launcher_updater_unittest.cc +++ b/chrome/browser/ui/views/ash/launcher/launcher_updater_unittest.cc @@ -120,8 +120,8 @@ class LauncherUpdaterTest : public ChromeRenderViewHostTestHarness { window.Init(ui::LAYER_NOT_DRAWN); launcher_test->root_window()->AddChild(&window); launcher_test->activation_client_->ActivateWindow(&window); - updater.Init(); aura::client::SetActivationDelegate(&window, this); + updater.Init(); } ash::LauncherItem GetUpdaterItem() { @@ -226,47 +226,6 @@ TEST_F(LauncherUpdaterTest, TabbedSetup) { } } -// Verifies a new launcher item is added for TYPE_APP. -TEST_F(LauncherUpdaterTest, AppSetup) { - size_t initial_size = launcher_model_->items().size(); - { - State state(this, std::string(), LauncherUpdater::TYPE_APP); - // There should be one more item. - ASSERT_EQ(initial_size + 1, launcher_model_->items().size()); - // New item should be added at the end. - EXPECT_EQ(ash::TYPE_APP, state.GetUpdaterItem().type); - } - // Deleting the LauncherUpdater should have removed the item. - ASSERT_EQ(initial_size, launcher_model_->items().size()); -} - -// Verifies AppIconLoader is queried appropriately. -TEST_F(LauncherUpdaterTest, QueryAppIconLoader) { - size_t initial_size = launcher_model_->items().size(); - { - TabContentsWrapper initial_tab(CreateTestWebContents()); - State state(this, std::string(), LauncherUpdater::TYPE_APP); - // AppIconLoader should have been queried. - EXPECT_GT(app_icon_loader_->GetAndClearFetchCount(), 0); - } - // Deleting the LauncherUpdater should have removed the item. - ASSERT_EQ(initial_size, launcher_model_->items().size()); -} - -// Verifies SetAppImage works. -TEST_F(LauncherUpdaterTest, SetAppImage) { - size_t initial_size = launcher_model_->items().size(); - TabContentsWrapper initial_tab(CreateTestWebContents()); - State state(this, "1", LauncherUpdater::TYPE_APP); - SkBitmap image; - image.setConfig(SkBitmap::kARGB_8888_Config, 2, 3); - image.allocPixels(); - launcher_delegate_->SetAppImage("1", &image); - ASSERT_EQ(initial_size + 1, launcher_model_->items().size()); - EXPECT_EQ(2, state.GetUpdaterItem().image.width()); - EXPECT_EQ(3, state.GetUpdaterItem().image.height()); -} - // Verifies Panels items work. TEST_F(LauncherUpdaterTest, PanelItem) { size_t initial_size = launcher_model_->items().size(); @@ -283,7 +242,7 @@ TEST_F(LauncherUpdaterTest, PanelItem) { LauncherUpdater::TYPE_APP_PANEL, std::string()); updater.Init(); ASSERT_EQ(initial_size + 1, launcher_model_->items().size()); - EXPECT_EQ(ash::TYPE_APP, GetItem(&updater).type); + EXPECT_EQ(ash::TYPE_TABBED, GetItem(&updater).type); ash::LauncherID id = GetItem(&updater).id; EXPECT_EQ(ChromeLauncherDelegate::APP_TYPE_APP_PANEL, launcher_delegate_->GetAppType(id)); @@ -303,7 +262,7 @@ TEST_F(LauncherUpdaterTest, PanelItem) { std::string()); updater.Init(); ASSERT_EQ(initial_size + 1, launcher_model_->items().size()); - EXPECT_EQ(ash::TYPE_APP, GetItem(&updater).type); + EXPECT_EQ(ash::TYPE_TABBED, GetItem(&updater).type); ash::LauncherID id = GetItem(&updater).id; EXPECT_EQ(ChromeLauncherDelegate::APP_TYPE_EXTENSION_PANEL, launcher_delegate_->GetAppType(id)); @@ -349,13 +308,13 @@ TEST_F(LauncherUpdaterTest, PersistPinned) { TEST_F(LauncherUpdaterTest, ActivateBrowsers) { State state1(this, std::string(), LauncherUpdater::TYPE_TABBED); - // First browser is running. - EXPECT_EQ(ash::STATUS_RUNNING, state1.GetUpdaterItem().status); + // First browser is active. + EXPECT_EQ(ash::STATUS_ACTIVE, state1.GetUpdaterItem().status); { // Both running. State state2(this, std::string(), LauncherUpdater::TYPE_TABBED); - EXPECT_EQ(ash::STATUS_RUNNING, state2.GetUpdaterItem().status); + EXPECT_EQ(ash::STATUS_ACTIVE, state2.GetUpdaterItem().status); EXPECT_EQ(ash::STATUS_RUNNING, state1.GetUpdaterItem().status); // Make first browser active again. @@ -373,41 +332,13 @@ TEST_F(LauncherUpdaterTest, ActivateBrowsers) { EXPECT_EQ(ash::STATUS_ACTIVE, state1.GetUpdaterItem().status); } -// Confirm that applications handle activation correctly. -TEST_F(LauncherUpdaterTest, ActivateApps) { - State state1(this, "1", LauncherUpdater::TYPE_APP); - - // First app is active. - EXPECT_EQ(ash::STATUS_ACTIVE, state1.GetUpdaterItem().status); - - { - // Second app is active and first is inactive. - State state2(this, "2", LauncherUpdater::TYPE_APP); - EXPECT_EQ(ash::STATUS_ACTIVE, state2.GetUpdaterItem().status); - EXPECT_EQ(ash::STATUS_RUNNING, state1.GetUpdaterItem().status); - - // Make first app active again. - activation_client_->ActivateWindow(&state1.window); - EXPECT_EQ(ash::STATUS_ACTIVE, state1.GetUpdaterItem().status); - EXPECT_EQ(ash::STATUS_RUNNING, state2.GetUpdaterItem().status); - - // And back to second. - activation_client_->ActivateWindow(&state2.window); - EXPECT_EQ(ash::STATUS_ACTIVE, state2.GetUpdaterItem().status); - EXPECT_EQ(ash::STATUS_RUNNING, state1.GetUpdaterItem().status); - } - - // First app should be active again after second is closed. - EXPECT_EQ(ash::STATUS_ACTIVE, state1.GetUpdaterItem().status); -} - // Confirm that window activation works through the model. TEST_F(LauncherUpdaterTest, SwitchDirectlyToApp) { - State state1(this, "1", LauncherUpdater::TYPE_APP); + State state1(this, std::string(), LauncherUpdater::TYPE_TABBED); int index1 = launcher_model_->ItemIndexByID(state1.GetUpdaterItem().id); // Second app is active and first is inactive. - State state2(this, "2", LauncherUpdater::TYPE_APP); + State state2(this, std::string(), LauncherUpdater::TYPE_TABBED); int index2 = launcher_model_->ItemIndexByID(state2.GetUpdaterItem().id); EXPECT_EQ(ash::STATUS_RUNNING, state1.GetUpdaterItem().status); |