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

Unified Diff: components/mus/ws/focus_controller.h

Issue 2119963002: Move mus to //services/ui (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 6 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 | « components/mus/ws/event_matcher_unittest.cc ('k') | components/mus/ws/focus_controller.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/mus/ws/focus_controller.h
diff --git a/components/mus/ws/focus_controller.h b/components/mus/ws/focus_controller.h
deleted file mode 100644
index 96a08609ad0c318c4695f5e6591c1d60eded15c4..0000000000000000000000000000000000000000
--- a/components/mus/ws/focus_controller.h
+++ /dev/null
@@ -1,104 +0,0 @@
-// Copyright 2015 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 COMPONENTS_MUS_WS_FOCUS_CONTROLLER_H_
-#define COMPONENTS_MUS_WS_FOCUS_CONTROLLER_H_
-
-#include <memory>
-
-#include "base/macros.h"
-#include "base/observer_list.h"
-#include "components/mus/ws/server_window_drawn_tracker_observer.h"
-#include "components/mus/ws/server_window_tracker.h"
-
-namespace mus {
-
-namespace ws {
-
-class FocusControllerDelegate;
-class FocusControllerObserver;
-class ServerWindow;
-class ServerWindowDrawnTracker;
-struct WindowId;
-
-// Describes the source of the change.
-enum class FocusControllerChangeSource {
- EXPLICIT,
- DRAWN_STATE_CHANGED,
-};
-
-// Tracks the focused window. Focus is moved to another window when the drawn
-// state of the focused window changes.
-class FocusController : public ServerWindowDrawnTrackerObserver {
- public:
- FocusController(FocusControllerDelegate* delegate, ServerWindow* root);
- ~FocusController() override;
-
- // Sets the focused window. Does nothing if |window| is currently focused.
- // This does not notify the delegate. See ServerWindow::SetFocusedWindow()
- // for details on return value.
- bool SetFocusedWindow(ServerWindow* window);
- ServerWindow* GetFocusedWindow();
-
- // Moves activation to the next activatable window.
- void ActivateNextWindow();
-
- void AddObserver(FocusControllerObserver* observer);
- void RemoveObserver(FocusControllerObserver* observer);
-
- private:
- enum class ActivationChangeReason {
- UNKNONW,
- CYCLE, // Activation changed because of ActivateNextWindow().
- FOCUS, // Focus change required a different window to be activated.
- DRAWN_STATE_CHANGED, // Active window was hidden or destroyed.
- };
- void SetActiveWindow(ServerWindow* window, ActivationChangeReason reason);
-
- // Returns whether |window| can be focused or activated.
- bool CanBeFocused(ServerWindow* window) const;
- bool CanBeActivated(ServerWindow* window) const;
-
- // Returns the closest activatable ancestor of |window|. Returns nullptr if
- // there is no such ancestor.
- ServerWindow* GetActivatableAncestorOf(ServerWindow* window) const;
-
- // Implementation of SetFocusedWindow().
- bool SetFocusedWindowImpl(FocusControllerChangeSource change_source,
- ServerWindow* window);
-
- // ServerWindowDrawnTrackerObserver:
- void OnDrawnStateWillChange(ServerWindow* ancestor,
- ServerWindow* window,
- bool is_drawn) override;
- void OnDrawnStateChanged(ServerWindow* ancestor,
- ServerWindow* window,
- bool is_drawn) override;
-
- FocusControllerDelegate* delegate_;
-
- ServerWindow* root_;
- ServerWindow* focused_window_;
- ServerWindow* active_window_;
- // Tracks what caused |active_window_| to be activated.
- ActivationChangeReason activation_reason_;
-
- // Keeps track of the list of windows that have already been visited during a
- // window cycle. This is only active when |activation_reason_| is set to
- // CYCLE.
- std::unique_ptr<ServerWindowTracker> cycle_windows_;
-
- base::ObserverList<FocusControllerObserver> observers_;
-
- // Keeps track of the visibility of the focused and active window.
- std::unique_ptr<ServerWindowDrawnTracker> drawn_tracker_;
-
- DISALLOW_COPY_AND_ASSIGN(FocusController);
-};
-
-} // namespace ws
-
-} // namespace mus
-
-#endif // COMPONENTS_MUS_WS_FOCUS_CONTROLLER_H_
« no previous file with comments | « components/mus/ws/event_matcher_unittest.cc ('k') | components/mus/ws/focus_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698