summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordavemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-25 05:11:55 +0000
committerdavemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-25 05:11:55 +0000
commit4280f4be4e602f51c34add5286d119dfa764a00c (patch)
treeb4fa3461a5f760f07a81b994ff9159ddf8782b24
parent2e6b2ddcc4e9a0363d3e125172be75f1dc24bf6b (diff)
downloadchromium_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.cc10
-rw-r--r--ash/launcher/launcher_types.h3
-rw-r--r--ash/launcher/launcher_unittest.cc37
-rw-r--r--ash/launcher/launcher_view.cc10
-rw-r--r--chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.cc7
-rw-r--r--chrome/browser/ui/views/ash/launcher/chrome_launcher_delegate.h3
-rw-r--r--chrome/browser/ui/views/ash/launcher/launcher_updater.cc16
-rw-r--r--chrome/browser/ui/views/ash/launcher/launcher_updater.h1
-rw-r--r--chrome/browser/ui/views/ash/launcher/launcher_updater_unittest.cc85
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);