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

Unified Diff: services/ui/ws/window_tree.cc

Issue 2369793002: WIP: Propagate SurfaceID up window tree hierarchy
Patch Set: Fix input events: EventDispatcher ignores container windows Created 4 years, 3 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/window_tree.h ('k') | services/ui/ws/window_tree_host_factory.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 =
« no previous file with comments | « services/ui/ws/window_tree.h ('k') | services/ui/ws/window_tree_host_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698