Chromium Code Reviews| Index: ash/test/test_shelf_delegate.cc |
| diff --git a/ash/test/test_shelf_delegate.cc b/ash/test/test_shelf_delegate.cc |
| index c438fe49765bbbe70869ba7bcc52992280e09995..ddd6f26adc39f9d772b7b78ab85c122b3da0cb72 100644 |
| --- a/ash/test/test_shelf_delegate.cc |
| +++ b/ash/test/test_shelf_delegate.cc |
| @@ -4,18 +4,9 @@ |
| #include "ash/test/test_shelf_delegate.h" |
| -#include <utility> |
| - |
| -#include "ash/root_window_controller.h" |
| #include "ash/shelf/shelf_model.h" |
| -#include "ash/shelf/wm_shelf.h" |
| #include "ash/shell.h" |
| -#include "ash/shell_observer.h" |
| -#include "ash/test/test_shelf_item_delegate.h" |
| -#include "ash/wm/window_properties.h" |
| -#include "ash/wm_window.h" |
| -#include "base/memory/ptr_util.h" |
| -#include "ui/aura/window.h" |
| +#include "base/strings/string_util.h" |
| namespace ash { |
| namespace test { |
| @@ -37,31 +28,7 @@ void SetItemType(ShelfID shelf_id, ShelfItemType type) { |
| TestShelfDelegate* TestShelfDelegate::instance_ = nullptr; |
| -// A ShellObserver that sets the shelf alignment and auto hide behavior when the |
| -// shelf is created, to simulate ChromeLauncherController's behavior. |
| -class ShelfInitializer : public ShellObserver { |
| - public: |
| - ShelfInitializer() { Shell::Get()->AddShellObserver(this); } |
| - ~ShelfInitializer() override { Shell::Get()->RemoveShellObserver(this); } |
| - |
| - // ShellObserver: |
| - void OnShelfCreatedForRootWindow(WmWindow* root_window) override { |
| - WmShelf* shelf = root_window->GetRootWindowController()->GetShelf(); |
| - // Do not override the custom initialization performed by some unit tests. |
| - if (shelf->alignment() == SHELF_ALIGNMENT_BOTTOM_LOCKED && |
| - shelf->auto_hide_behavior() == SHELF_AUTO_HIDE_ALWAYS_HIDDEN) { |
| - shelf->SetAlignment(SHELF_ALIGNMENT_BOTTOM); |
| - shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER); |
| - shelf->UpdateVisibilityState(); |
| - } |
| - } |
| - |
| - private: |
| - DISALLOW_COPY_AND_ASSIGN(ShelfInitializer); |
| -}; |
| - |
| -TestShelfDelegate::TestShelfDelegate() |
| - : shelf_initializer_(base::MakeUnique<ShelfInitializer>()) { |
| +TestShelfDelegate::TestShelfDelegate() { |
| CHECK(!instance_); |
| instance_ = this; |
| } |
| @@ -70,57 +37,6 @@ TestShelfDelegate::~TestShelfDelegate() { |
| instance_ = nullptr; |
| } |
| -void TestShelfDelegate::AddShelfItem(WmWindow* window) { |
| - AddShelfItem(window, std::string()); |
| -} |
| - |
| -void TestShelfDelegate::AddShelfItem(WmWindow* window, |
| - const std::string& app_id) { |
| - ShelfItem item; |
| - if (!app_id.empty()) |
| - item.app_launch_id = AppLaunchId(app_id); |
| - if (window->GetType() == ui::wm::WINDOW_TYPE_PANEL) |
| - item.type = TYPE_APP_PANEL; |
| - else |
| - item.type = TYPE_APP; |
| - ShelfModel* model = Shell::Get()->shelf_model(); |
| - ShelfID id = model->next_id(); |
| - item.status = STATUS_CLOSED; |
| - model->Add(item); |
| - window->aura_window()->AddObserver(this); |
| - |
| - model->SetShelfItemDelegate(id, |
| - base::MakeUnique<TestShelfItemDelegate>(window)); |
| - window->aura_window()->SetProperty(kShelfIDKey, id); |
| -} |
| - |
| -void TestShelfDelegate::RemoveShelfItemForWindow(WmWindow* window) { |
| - ShelfID shelf_id = window->aura_window()->GetProperty(kShelfIDKey); |
| - if (shelf_id == 0) |
| - return; |
| - ShelfModel* model = Shell::Get()->shelf_model(); |
| - int index = model->ItemIndexByID(shelf_id); |
| - DCHECK_NE(-1, index); |
| - model->RemoveItemAt(index); |
| - window->aura_window()->RemoveObserver(this); |
| - const std::string& app_id = GetAppIDForShelfID(shelf_id); |
| - if (IsAppPinned(app_id)) |
| - UnpinAppWithID(app_id); |
| -} |
| - |
| -void TestShelfDelegate::OnWindowDestroying(aura::Window* window) { |
| - RemoveShelfItemForWindow(WmWindow::Get(window)); |
| -} |
| - |
| -void TestShelfDelegate::OnWindowHierarchyChanging( |
| - const HierarchyChangeParams& params) { |
| - // The window may be legitimately reparented while staying open if it moves |
| - // to another display or container. If the window does not have a new parent |
| - // then remove the shelf item. |
| - if (!params.new_parent) |
| - RemoveShelfItemForWindow(WmWindow::Get(params.target)); |
| -} |
| - |
| ShelfID TestShelfDelegate::GetShelfIDForAppID(const std::string& app_id) { |
| // Get shelf id for |app_id| and an empty |launch_id|. |
| return GetShelfIDForAppIDAndLaunchID(app_id, std::string()); |
| @@ -148,16 +64,17 @@ const std::string& TestShelfDelegate::GetAppIDForShelfID(ShelfID id) { |
| void TestShelfDelegate::PinAppWithID(const std::string& app_id) { |
| SetItemType(GetShelfIDForAppID(app_id), TYPE_PINNED_APP); |
| - pinned_apps_.insert(app_id); |
| } |
| bool TestShelfDelegate::IsAppPinned(const std::string& app_id) { |
| - return pinned_apps_.find(app_id) != pinned_apps_.end(); |
| + ShelfID shelf_id = GetShelfIDForAppID(app_id); |
| + ShelfModel* model = Shell::Get()->shelf_model(); |
| + ash::ShelfItems::const_iterator item = model->ItemByID(shelf_id); |
|
James Cook
2017/04/17 23:59:02
nit: is ash:: needed?
msw
2017/04/18 01:07:04
Done.
|
| + return (item != model->items().end()) && item->type == TYPE_PINNED_APP; |
|
James Cook
2017/04/17 23:59:02
nit: no extra parens
msw
2017/04/18 01:07:04
Done.
|
| } |
| void TestShelfDelegate::UnpinAppWithID(const std::string& app_id) { |
| SetItemType(GetShelfIDForAppID(app_id), TYPE_APP); |
| - pinned_apps_.erase(app_id); |
| } |
| } // namespace test |