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

Unified Diff: components/mus/ws/modal_window_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/ids.h ('k') | components/mus/ws/modal_window_controller.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/mus/ws/modal_window_controller.h
diff --git a/components/mus/ws/modal_window_controller.h b/components/mus/ws/modal_window_controller.h
deleted file mode 100644
index 112fce771e64c5d364add2d134e62140a4d9c702..0000000000000000000000000000000000000000
--- a/components/mus/ws/modal_window_controller.h
+++ /dev/null
@@ -1,87 +0,0 @@
-// Copyright 2016 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_MODAL_WINDOW_CONTROLLER_H_
-#define COMPONENTS_MUS_WS_MODAL_WINDOW_CONTROLLER_H_
-
-#include <list>
-#include <map>
-
-#include "components/mus/ws/server_window_drawn_tracker_observer.h"
-#include "components/mus/ws/server_window_observer.h"
-
-namespace mus {
-namespace ws {
-
-class EventDispatcher;
-class ServerWindow;
-class ServerWindowDrawnTracker;
-
-namespace test {
-class ModalWindowControllerTestApi;
-}
-
-// Used to keeps track of system modal windows and check whether windows are
-// blocked by modal windows or not to do appropriate retargetting of events.
-class ModalWindowController : public ServerWindowObserver,
- public ServerWindowDrawnTrackerObserver {
- public:
- explicit ModalWindowController(EventDispatcher* event_dispatcher);
- ~ModalWindowController() override;
-
- // Adds a system modal window. The window remains modal to system until it is
- // destroyed. There can exist multiple system modal windows, in which case the
- // one that is visible and added most recently or shown most recently would be
- // the active one.
- void AddSystemModalWindow(ServerWindow* window);
-
- // Checks whether |modal_window| is a visible modal window that blocks
- // |window|.
- bool IsWindowBlockedBy(const ServerWindow* window,
- const ServerWindow* modal_window) const;
-
- // Checks whether |window| is blocked by any visible modal window.
- bool IsWindowBlocked(const ServerWindow* window) const;
-
- // Returns the window that events targeted to |window| should be retargeted
- // to; according to modal windows. If any modal window is blocking |window|
- // (either system modal or window modal), returns the topmost one; otherwise,
- // returns |window| itself.
- const ServerWindow* GetTargetForWindow(const ServerWindow* window) const;
- ServerWindow* GetTargetForWindow(ServerWindow* window) const {
- return const_cast<ServerWindow*>(
- GetTargetForWindow(static_cast<const ServerWindow*>(window)));
- }
-
- private:
- friend class test::ModalWindowControllerTestApi;
-
- // Returns the system modal window that is visible and added/shown most
- // recently, if any.
- ServerWindow* GetActiveSystemModalWindow() const;
-
- // ServerWindowObserver:
- void OnWindowDestroyed(ServerWindow* window) override;
-
- // ServerWindowDrawnTrackerObserver:
- void OnDrawnStateChanged(ServerWindow* ancestor,
- ServerWindow* window,
- bool is_drawn) override;
-
- EventDispatcher* event_dispatcher_;
-
- // List of system modal windows in order they are added/shown.
- std::list<ServerWindow*> system_modal_windows_;
-
- // Drawn trackers for system modal windows.
- std::map<ServerWindow*, std::unique_ptr<ServerWindowDrawnTracker>>
- window_drawn_trackers_;
-
- DISALLOW_COPY_AND_ASSIGN(ModalWindowController);
-};
-
-} // namespace ws
-} // namespace mus
-
-#endif // COMPONENTS_MUS_WS_MODAL_WINDOW_CONTROLLER_H_
« no previous file with comments | « components/mus/ws/ids.h ('k') | components/mus/ws/modal_window_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698