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

Unified Diff: cc/layers/surface_layer_impl.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: cc/layers/surface_layer_impl.h
diff --git a/cc/layers/surface_layer_impl.h b/cc/layers/surface_layer_impl.h
index 22798cd7df88c0f0d81d13e37cf038a16742aade..f804dbf490d869980b7a9f5d6d3271499ddd02d9 100644
--- a/cc/layers/surface_layer_impl.h
+++ b/cc/layers/surface_layer_impl.h
@@ -11,6 +11,7 @@
#include "base/memory/ptr_util.h"
#include "cc/base/cc_export.h"
#include "cc/layers/layer_impl.h"
+#include "cc/quads/surface_draw_quad.h"
#include "cc/surfaces/surface_id.h"
#include "cc/surfaces/surface_info.h"
@@ -24,8 +25,16 @@ class CC_EXPORT SurfaceLayerImpl : public LayerImpl {
}
~SurfaceLayerImpl() override;
- void SetSurfaceInfo(const SurfaceInfo& surface_info);
- const SurfaceInfo& surface_info() const { return surface_info_; }
+ void SetPrimarySurfaceInfo(const SurfaceInfo& surface_info);
+ const SurfaceInfo& primary_surface_info() const {
+ return primary_surface_info_;
+ }
+
+ void SetFallbackSurfaceInfo(const SurfaceInfo& surface_info);
+ const SurfaceInfo& fallback_surface_info() const {
+ return fallback_surface_info_;
+ }
+
void SetStretchContentToFillBounds(bool stretch_content);
// LayerImpl overrides.
@@ -38,12 +47,20 @@ class CC_EXPORT SurfaceLayerImpl : public LayerImpl {
SurfaceLayerImpl(LayerTreeImpl* tree_impl, int id);
private:
+ void PopulateSurfaceDrawQuad(RenderPass* render_pass,
+ SurfaceDrawQuad* surface_draw_quad,
+ SurfaceDrawQuad* fallback_surface_draw_quad,
+ SurfaceDrawQuadType surface_draw_quad_type,
+ const SurfaceInfo& surface_info);
+
void GetDebugBorderProperties(SkColor* color, float* width) const override;
void AppendRainbowDebugBorder(RenderPass* render_pass);
void AsValueInto(base::trace_event::TracedValue* dict) const override;
const char* LayerTypeAsString() const override;
- SurfaceInfo surface_info_;
+ SurfaceInfo primary_surface_info_;
+ SurfaceInfo fallback_surface_info_;
+
bool stretch_content_to_fill_bounds_ = false;
DISALLOW_COPY_AND_ASSIGN(SurfaceLayerImpl);

Powered by Google App Engine
This is Rietveld 408576698