Chromium Code Reviews| Index: ui/aura/mus/client_surface_embedder.h |
| diff --git a/ui/aura/mus/client_surface_embedder.h b/ui/aura/mus/client_surface_embedder.h |
| index 58d0bf911920e4300ad3cb7c27e60aa622393674..c469789d1bded62da496fd587e033951dff816c7 100644 |
| --- a/ui/aura/mus/client_surface_embedder.h |
| +++ b/ui/aura/mus/client_surface_embedder.h |
| @@ -5,11 +5,16 @@ |
| #include <memory> |
| #include "base/macros.h" |
| +#include "ui/gfx/geometry/insets.h" |
| namespace cc { |
| class SurfaceInfo; |
| } |
| +namespace gfx { |
| +class Insets; |
| +} |
| + |
| namespace ui { |
| class Layer; |
| } |
| @@ -23,7 +28,9 @@ class Window; |
| // layer, and updating them when the client submits new surfaces. |
| class ClientSurfaceEmbedder { |
| public: |
| - explicit ClientSurfaceEmbedder(Window* window); |
| + // TODO(fsamuel): Insets might differ when the window is maximized. We should |
| + // deal with that case as well. |
| + ClientSurfaceEmbedder(Window* window, const gfx::Insets& client_area_insets); |
| ~ClientSurfaceEmbedder(); |
| // Updates the clip layer and primary SurfaceInfo of the surface layer based |
| @@ -34,6 +41,14 @@ class ClientSurfaceEmbedder { |
| // updated. |
| void SetFallbackSurfaceInfo(const cc::SurfaceInfo& surface_info); |
| + // Update the surface layer size and the right and bottom gutter layers for |
| + // the current window size. |
| + void UpdateSizeAndGutters(); |
| + |
| + ui::Layer* RightGutterForTesting() { return right_gutter_.get(); } |
| + |
| + ui::Layer* BottomGutterForTesting() { return bottom_gutter_.get(); } |
| + |
| private: |
| // The window which embeds the client. |
| Window* window_; |
| @@ -41,8 +56,11 @@ class ClientSurfaceEmbedder { |
| // Contains the client's content. |
| std::unique_ptr<ui::Layer> surface_layer_; |
| - // Used for clipping the surface layer to the window bounds. |
| - std::unique_ptr<ui::Layer> clip_layer_; |
|
sadrul
2017/04/07 13:07:33
Do we not need the clip layer anymore (e.g. during
Fady Samuel
2017/04/07 15:27:25
We do not need it. SetMasksToBounds(true) on the s
|
| + // Used for showing a gutter when the content is not available. |
| + std::unique_ptr<ui::Layer> right_gutter_; |
| + std::unique_ptr<ui::Layer> bottom_gutter_; |
| + |
| + gfx::Insets client_area_insets_; |
| DISALLOW_COPY_AND_ASSIGN(ClientSurfaceEmbedder); |
| }; |