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

Unified Diff: ash/common/shelf/shelf_window_watcher.h

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/shelf/shelf_widget.cc ('k') | ash/common/shelf/shelf_window_watcher.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/common/shelf/shelf_window_watcher.h
diff --git a/ash/common/shelf/shelf_window_watcher.h b/ash/common/shelf/shelf_window_watcher.h
deleted file mode 100644
index c683f39fce1b0f4e5465878780c4cdb9ca62c303..0000000000000000000000000000000000000000
--- a/ash/common/shelf/shelf_window_watcher.h
+++ /dev/null
@@ -1,120 +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.
-
-#ifndef ASH_COMMON_SHELF_SHELF_WINDOW_WATCHER_H_
-#define ASH_COMMON_SHELF_SHELF_WINDOW_WATCHER_H_
-
-#include <set>
-
-#include "base/macros.h"
-#include "base/scoped_observer.h"
-#include "ui/aura/window_observer.h"
-#include "ui/display/display_observer.h"
-#include "ui/wm/public/activation_change_observer.h"
-
-namespace ash {
-
-class ShelfModel;
-
-// ShelfWindowWatcher creates and handles a ShelfItem for windows in the default
-// container and panels in the panel container that have a valid ShelfItemType
-// property (e.g. the task manager dialog or the OS settings window). It adds
-// the ShelfItem when the window is added to the default container and maintains
-// it until the window is closed, even if the window is transiently reparented
-// (e.g. during a drag).
-class ShelfWindowWatcher : public aura::client::ActivationChangeObserver,
- public display::DisplayObserver {
- public:
- explicit ShelfWindowWatcher(ShelfModel* model);
- ~ShelfWindowWatcher() override;
-
- private:
- // Observes for windows being added to a root window's default container.
- class ContainerWindowObserver : public aura::WindowObserver {
- public:
- explicit ContainerWindowObserver(ShelfWindowWatcher* window_watcher);
- ~ContainerWindowObserver() override;
-
- private:
- // aura::WindowObserver:
- void OnWindowHierarchyChanged(const HierarchyChangeParams& params) override;
- void OnWindowDestroying(aura::Window* window) override;
-
- ShelfWindowWatcher* window_watcher_;
-
- DISALLOW_COPY_AND_ASSIGN(ContainerWindowObserver);
- };
-
- // Observes individual user windows to detect when they are closed or when
- // their shelf item properties have changed.
- class UserWindowObserver : public aura::WindowObserver {
- public:
- explicit UserWindowObserver(ShelfWindowWatcher* window_watcher);
- ~UserWindowObserver() override;
-
- private:
- // aura::WindowObserver:
- void OnWindowPropertyChanged(aura::Window* window,
- const void* key,
- intptr_t old) override;
- void OnWindowDestroying(aura::Window* window) override;
- void OnWindowVisibilityChanged(aura::Window* window, bool visible) override;
- void OnWindowTitleChanged(aura::Window* window) override;
-
- ShelfWindowWatcher* window_watcher_;
-
- DISALLOW_COPY_AND_ASSIGN(UserWindowObserver);
- };
-
- // Creates a ShelfItem for |window|.
- void AddShelfItem(aura::Window* window);
-
- // Removes a ShelfItem for |window|.
- void RemoveShelfItem(aura::Window* window);
-
- // Returns the index of ShelfItem associated with |window|, or -1 if none.
- int GetShelfItemIndexForWindow(aura::Window* window) const;
-
- // Cleans up observers on |container|.
- void OnContainerWindowDestroying(aura::Window* container);
-
- // Adds a shelf item for new windows added to the default container that have
- // a valid ShelfItemType property value.
- void OnUserWindowAdded(aura::Window* window);
-
- // Adds, updates or removes the shelf item based on a property change.
- void OnUserWindowPropertyChanged(aura::Window* window);
-
- // Removes the shelf item when a window closes.
- void OnUserWindowDestroying(aura::Window* window);
-
- // aura::client::ActivationChangeObserver:
- void OnWindowActivated(ActivationReason reason,
- aura::Window* gained_active,
- aura::Window* lost_active) override;
-
- // display::DisplayObserver overrides:
- void OnDisplayAdded(const display::Display& display) override;
- void OnDisplayRemoved(const display::Display& old_display) override;
- void OnDisplayMetricsChanged(const display::Display& display,
- uint32_t metrics) override;
-
- ShelfModel* model_;
-
- ContainerWindowObserver container_window_observer_;
- UserWindowObserver user_window_observer_;
-
- ScopedObserver<aura::Window, ContainerWindowObserver>
- observed_container_windows_;
- ScopedObserver<aura::Window, UserWindowObserver> observed_user_windows_;
-
- // The set of windows with shelf items managed by this ShelfWindowWatcher.
- std::set<aura::Window*> user_windows_with_items_;
-
- DISALLOW_COPY_AND_ASSIGN(ShelfWindowWatcher);
-};
-
-} // namespace ash
-
-#endif // ASH_COMMON_SHELF_SHELF_WINDOW_WATCHER_H_
« no previous file with comments | « ash/common/shelf/shelf_widget.cc ('k') | ash/common/shelf/shelf_window_watcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698