Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(271)

Unified Diff: ash/common/test/test_shelf_delegate.cc

Issue 2736573002: chromeos: Move files in //ash/common to //ash, part 2 (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ash/common/test/test_shelf_delegate.h ('k') | ash/common/test/test_shelf_item_delegate.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/common/test/test_shelf_delegate.cc
diff --git a/ash/common/test/test_shelf_delegate.cc b/ash/common/test/test_shelf_delegate.cc
deleted file mode 100644
index ee762fdc6958a4aa826c6777e5879ec7c8e4edc7..0000000000000000000000000000000000000000
--- a/ash/common/test/test_shelf_delegate.cc
+++ /dev/null
@@ -1,162 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "ash/common/test/test_shelf_delegate.h"
-
-#include <utility>
-
-#include "ash/common/shelf/shelf_model.h"
-#include "ash/common/shelf/wm_shelf.h"
-#include "ash/common/shell_observer.h"
-#include "ash/common/test/test_shelf_item_delegate.h"
-#include "ash/common/wm_shell.h"
-#include "ash/common/wm_window.h"
-#include "ash/root_window_controller.h"
-#include "ash/wm/window_properties.h"
-#include "base/memory/ptr_util.h"
-#include "ui/aura/window.h"
-
-namespace ash {
-namespace test {
-
-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() { WmShell::Get()->AddShellObserver(this); }
- ~ShelfInitializer() override { WmShell::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>()) {
- CHECK(!instance_);
- instance_ = this;
-}
-
-TestShelfDelegate::~TestShelfDelegate() {
- instance_ = nullptr;
-}
-
-void TestShelfDelegate::AddShelfItem(WmWindow* window) {
- AddShelfItem(window, STATUS_CLOSED);
-}
-
-void TestShelfDelegate::AddShelfItem(WmWindow* window,
- const std::string& app_id) {
- AddShelfItem(window, STATUS_CLOSED);
- ShelfID shelf_id = window->aura_window()->GetProperty(kShelfIDKey);
- AddShelfIDToAppIDMapping(shelf_id, app_id);
-}
-
-void TestShelfDelegate::AddShelfItem(WmWindow* window, ShelfItemStatus status) {
- ShelfItem item;
- if (window->GetType() == ui::wm::WINDOW_TYPE_PANEL)
- item.type = TYPE_APP_PANEL;
- else
- item.type = TYPE_APP;
- ShelfModel* model = WmShell::Get()->shelf_model();
- ShelfID id = model->next_id();
- item.status = status;
- 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 = WmShell::Get()->shelf_model();
- int index = model->ItemIndexByID(shelf_id);
- DCHECK_NE(-1, index);
- model->RemoveItemAt(index);
- window->aura_window()->RemoveObserver(this);
- if (HasShelfIDToAppIDMapping(shelf_id)) {
- const std::string& app_id = GetAppIDForShelfID(shelf_id);
- if (IsAppPinned(app_id))
- UnpinAppWithID(app_id);
- if (HasShelfIDToAppIDMapping(shelf_id))
- RemoveShelfIDToAppIDMapping(shelf_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) {
- for (auto const& iter : shelf_id_to_app_id_map_) {
- if (iter.second == app_id)
- return iter.first;
- }
- return 0;
-}
-
-ShelfID TestShelfDelegate::GetShelfIDForAppIDAndLaunchID(
- const std::string& app_id,
- const std::string& launch_id) {
- return GetShelfIDForAppID(app_id);
-}
-
-bool TestShelfDelegate::HasShelfIDToAppIDMapping(ShelfID id) const {
- return shelf_id_to_app_id_map_.find(id) != shelf_id_to_app_id_map_.end();
-}
-
-const std::string& TestShelfDelegate::GetAppIDForShelfID(ShelfID id) {
- DCHECK_GT(shelf_id_to_app_id_map_.count(id), 0u);
- return shelf_id_to_app_id_map_[id];
-}
-
-void TestShelfDelegate::PinAppWithID(const std::string& app_id) {
- pinned_apps_.insert(app_id);
-}
-
-bool TestShelfDelegate::IsAppPinned(const std::string& app_id) {
- return pinned_apps_.find(app_id) != pinned_apps_.end();
-}
-
-void TestShelfDelegate::UnpinAppWithID(const std::string& app_id) {
- pinned_apps_.erase(app_id);
-}
-
-void TestShelfDelegate::AddShelfIDToAppIDMapping(ShelfID shelf_id,
- const std::string& app_id) {
- shelf_id_to_app_id_map_[shelf_id] = app_id;
-}
-
-void TestShelfDelegate::RemoveShelfIDToAppIDMapping(ShelfID shelf_id) {
- shelf_id_to_app_id_map_.erase(shelf_id);
-}
-
-} // namespace test
-} // namespace ash
« no previous file with comments | « ash/common/test/test_shelf_delegate.h ('k') | ash/common/test/test_shelf_item_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698