| Index: services/ui/ws/window_tree.cc
|
| diff --git a/services/ui/ws/window_tree.cc b/services/ui/ws/window_tree.cc
|
| index 9d030735e490e6a374e44fa33e33b30871929a61..60c2b5228b1f916fc96d2633fd036a4fca4943ba 100644
|
| --- a/services/ui/ws/window_tree.cc
|
| +++ b/services/ui/ws/window_tree.cc
|
| @@ -21,6 +21,7 @@
|
| #include "services/ui/ws/platform_display.h"
|
| #include "services/ui/ws/server_window.h"
|
| #include "services/ui/ws/server_window_observer.h"
|
| +#include "services/ui/ws/server_window_surface_manager.h"
|
| #include "services/ui/ws/user_display_manager.h"
|
| #include "services/ui/ws/window_manager_display_root.h"
|
| #include "services/ui/ws/window_manager_state.h"
|
| @@ -526,6 +527,20 @@ void WindowTree::ProcessWindowBoundsChanged(const ServerWindow* window,
|
| client()->OnWindowBoundsChanged(client_window_id.id, old_bounds, new_bounds);
|
| }
|
|
|
| +void WindowTree::ProcessWindowSurfaceCreated(
|
| + const ServerWindow* window,
|
| + const gfx::Size& size,
|
| + float device_scale_factor,
|
| + const cc::SurfaceId& surface_id,
|
| + const cc::SurfaceSequence& surface_sequence) {
|
| + ClientWindowId client_window_id;
|
| + if (!IsWindowKnown(window, &client_window_id))
|
| + return;
|
| + client()->OnWindowSurfaceCreated(client_window_id.id, size,
|
| + device_scale_factor, surface_id,
|
| + surface_sequence);
|
| +}
|
| +
|
| void WindowTree::ProcessClientAreaChanged(
|
| const ServerWindow* window,
|
| const gfx::Insets& new_client_area,
|
| @@ -1334,11 +1349,22 @@ void WindowTree::AttachSurface(Id transport_window_id,
|
| window && access_policy_->CanSetWindowSurface(window, type);
|
| if (!success) {
|
| DVLOG(1) << "request to AttachSurface failed";
|
| + fprintf(stderr, ">>>FAILED TO ATTACH %p\n", window);
|
| return;
|
| }
|
| window->CreateSurface(type, std::move(surface), std::move(client));
|
| }
|
|
|
| +void WindowTree::SatisfySurfaceSequence(Id transport_window_id,
|
| + const cc::SurfaceSequence& sequence) {
|
| +
|
| + ServerWindow* window =
|
| + GetWindowByClientId(ClientWindowId(transport_window_id));
|
| + if (!window)
|
| + return;
|
| + window->GetOrCreateSurfaceManager()->SatisfySurfaceSequence(sequence);
|
| +}
|
| +
|
| void WindowTree::SetWindowTextInputState(Id transport_window_id,
|
| mojo::TextInputStatePtr state) {
|
| ServerWindow* window =
|
|
|