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); |
}; |