| 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_
|
|
|