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

Unified Diff: ui/aura/mus/window_tree_client.h

Issue 2582823002: WIP: Surface Synchronization System
Patch Set: Only create ClientSurfaceEmbedder if window is visible. Trash it otherwise. Created 3 years, 11 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
Index: ui/aura/mus/window_tree_client.h
diff --git a/ui/aura/mus/window_tree_client.h b/ui/aura/mus/window_tree_client.h
index f2bf77d227c9ea444e036ff2b515b444eadac98a..cafb2280f6a70ecf673a724355de31070038cdc6 100644
--- a/ui/aura/mus/window_tree_client.h
+++ b/ui/aura/mus/window_tree_client.h
@@ -18,6 +18,7 @@
#include "base/macros.h"
#include "base/memory/weak_ptr.h"
#include "base/observer_list.h"
+#include "cc/surfaces/surface_id_allocator.h"
#include "mojo/public/cpp/bindings/associated_binding.h"
#include "mojo/public/cpp/bindings/strong_binding.h"
#include "services/ui/public/interfaces/window_tree.mojom.h"
@@ -29,6 +30,7 @@
#include "ui/aura/mus/mus_types.h"
#include "ui/aura/mus/window_manager_delegate.h"
#include "ui/aura/mus/window_tree_host_mus_delegate.h"
+#include "ui/compositor/layer_type.h"
namespace display {
class Display;
@@ -268,7 +270,8 @@ class AURA_EXPORT WindowTreeClient
// Called when a property needs to change as the result of a change in the
// server, or the server failing to accept a change.
void SetWindowBoundsFromServer(WindowMus* window,
- const gfx::Rect& revert_bounds_in_pixels);
+ const gfx::Rect& revert_bounds_in_pixels,
+ const cc::LocalFrameId& local_frame_id);
void SetWindowVisibleFromServer(WindowMus* window, bool visible);
// Called from OnWindowMusBoundsChanged() and SetRootWindowBounds().
@@ -277,7 +280,7 @@ class AURA_EXPORT WindowTreeClient
const gfx::Rect& new_bounds);
// Following are called from WindowMus.
- void OnWindowMusCreated(WindowMus* window);
+ void OnWindowMusCreated(WindowMus* window, ui::LayerType layer_type);
void OnWindowMusDestroyed(WindowMus* window, Origin origin);
void OnWindowMusBoundsChanged(WindowMus* window,
const gfx::Rect& old_bounds,
@@ -315,7 +318,8 @@ class AURA_EXPORT WindowTreeClient
bool drawn) override;
void OnWindowBoundsChanged(Id window_id,
const gfx::Rect& old_bounds,
- const gfx::Rect& new_bounds) override;
+ const gfx::Rect& new_bounds,
+ const cc::LocalFrameId& local_frame_id) override;
void OnClientAreaChanged(
uint32_t window_id,
const gfx::Insets& new_client_area,
@@ -390,7 +394,8 @@ class AURA_EXPORT WindowTreeClient
void WmDisplayModified(const display::Display& display) override;
void WmSetBounds(uint32_t change_id,
Id window_id,
- const gfx::Rect& transit_bounds_in_pixels) override;
+ const gfx::Rect& transit_bounds_in_pixels,
+ const cc::LocalFrameId& local_frame_id) override;
void WmSetProperty(
uint32_t change_id,
Id window_id,
@@ -533,6 +538,10 @@ class AURA_EXPORT WindowTreeClient
// The current change id for the window manager.
uint32_t current_wm_move_loop_change_ = 0u;
Id current_wm_move_loop_window_id_ = 0u;
+ std::unordered_map<cc::FrameSinkId,
+ std::unique_ptr<cc::SurfaceIdAllocator>,
+ cc::FrameSinkIdHash>
+ local_frame_id_allocators_;
std::unique_ptr<DragDropControllerMus> drag_drop_controller_;

Powered by Google App Engine
This is Rietveld 408576698