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

Unified Diff: services/ui/ws/window_server.h

Issue 2712203002: c++ / mojo changes for 'external window mode'
Patch Set: rebased 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 | « services/ui/ws/display.cc ('k') | services/ui/ws/window_server.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: services/ui/ws/window_server.h
diff --git a/services/ui/ws/window_server.h b/services/ui/ws/window_server.h
index 2949e88ce52eabd18f1bdf32c53097dd115729e9..fc535a521aed7b13bd9bb8ae5cfa551e5051bc88 100644
--- a/services/ui/ws/window_server.h
+++ b/services/ui/ws/window_server.h
@@ -27,6 +27,7 @@
#include "services/ui/ws/user_id_tracker.h"
#include "services/ui/ws/user_id_tracker_observer.h"
#include "services/ui/ws/window_manager_window_tree_factory_set.h"
+#include "services/ui/ws/window_tree_host_factory.h"
namespace ui {
namespace ws {
@@ -100,6 +101,8 @@ class WindowServer : public ServerWindowDelegate,
WindowTree* GetTreeWithClientName(const std::string& client_name);
+ WindowTree* GetTreeForExternalWindowMode();
+
size_t num_trees() const { return tree_map_.size(); }
// Returns the Window identified by |id|.
@@ -136,12 +139,21 @@ class WindowServer : public ServerWindowDelegate,
return &window_manager_window_tree_factory_set_;
}
+ void set_window_tree_host_factory(
+ std::unique_ptr<WindowTreeHostFactory> factory) {
+ DCHECK(factory);
+ window_tree_host_factory_ = std::move(factory);
+ }
+
// Sets focus to |window|. Returns true if |window| already has focus, or
// focus was successfully changed. Returns |false| if |window| is not a valid
// window to receive focus.
bool SetFocusedWindow(ServerWindow* window);
ServerWindow* GetFocusedWindow();
+ void SetInExternalWindowMode() { in_external_window_mode = true; }
+ bool IsInExternalWindowMode() const { return in_external_window_mode; }
+
bool IsActiveUserInHighContrastMode() const;
void SetHighContrastMode(const UserId& user, bool enabled);
@@ -381,6 +393,8 @@ class WindowServer : public ServerWindowDelegate,
WindowManagerWindowTreeFactorySet window_manager_window_tree_factory_set_;
+ std::unique_ptr<WindowTreeHostFactory> window_tree_host_factory_;
+
cc::SurfaceId root_surface_id_;
mojo::Binding<cc::mojom::DisplayCompositorClient>
@@ -388,6 +402,8 @@ class WindowServer : public ServerWindowDelegate,
// State for rendering into a Surface.
cc::mojom::DisplayCompositorPtr display_compositor_;
+ bool in_external_window_mode = false;
+
DISALLOW_COPY_AND_ASSIGN(WindowServer);
};
« no previous file with comments | « services/ui/ws/display.cc ('k') | services/ui/ws/window_server.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698