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

Side by Side Diff: cc/output/compositor_frame_metadata.h

Issue 2803913004: cc: Introduce embedded_surfaces in metadata for surface Ids in draw quads (Closed)
Patch Set: Fix unit test Created 3 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CC_OUTPUT_COMPOSITOR_FRAME_METADATA_H_ 5 #ifndef CC_OUTPUT_COMPOSITOR_FRAME_METADATA_H_
6 #define CC_OUTPUT_COMPOSITOR_FRAME_METADATA_H_ 6 #define CC_OUTPUT_COMPOSITOR_FRAME_METADATA_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <vector> 10 #include <vector>
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 // it's too small to fill the box the parent reserved for it. 70 // it's too small to fill the box the parent reserved for it.
71 SkColor root_background_color = SK_ColorWHITE; 71 SkColor root_background_color = SK_ColorWHITE;
72 72
73 // Provides selection region updates relative to the current viewport. If the 73 // Provides selection region updates relative to the current viewport. If the
74 // selection is empty or otherwise unused, the bound types will indicate such. 74 // selection is empty or otherwise unused, the bound types will indicate such.
75 Selection<gfx::SelectionBound> selection; 75 Selection<gfx::SelectionBound> selection;
76 76
77 std::vector<ui::LatencyInfo> latency_info; 77 std::vector<ui::LatencyInfo> latency_info;
78 78
79 // This is the set of Surfaces that are referenced by this frame. 79 // This is the set of Surfaces that are referenced by this frame.
80 // Note: this includes occluded and clipped surfaces and surfaces that may
81 // be accessed by this CompositorFrame in the future.
82 // TODO(fsamuel): This should go away once generalized frame eviction is
danakj 2017/04/07 16:41:17 It'd be nice to explain /why/ this should go away
Fady Samuel 2017/04/07 17:16:26 Done.
83 // implemented.
80 std::vector<SurfaceId> referenced_surfaces; 84 std::vector<SurfaceId> referenced_surfaces;
81 85
86 // This is the set of SurfaceIds embedded in DrawQuads.
87 std::vector<SurfaceId> embedded_surfaces;
88
82 // This indicates whether this CompositorFrame can be activated before 89 // This indicates whether this CompositorFrame can be activated before
83 // dependencies have been resolved. 90 // dependencies have been resolved.
84 bool can_activate_before_dependencies = true; 91 bool can_activate_before_dependencies = true;
85 92
86 // This is a value that allows the browser to associate compositor frames 93 // This is a value that allows the browser to associate compositor frames
87 // with the content that they represent -- typically top-level page loads. 94 // with the content that they represent -- typically top-level page loads.
88 // TODO(kenrb, fsamuel): This should eventually by SurfaceID, when they 95 // TODO(kenrb, fsamuel): This should eventually by SurfaceID, when they
89 // become available in all renderer processes. See https://crbug.com/695579. 96 // become available in all renderer processes. See https://crbug.com/695579.
90 uint32_t content_source_id = 0; 97 uint32_t content_source_id = 0;
91 98
92 // BeginFrameAck for the BeginFrame that this CompositorFrame answers. 99 // BeginFrameAck for the BeginFrame that this CompositorFrame answers.
93 BeginFrameAck begin_frame_ack; 100 BeginFrameAck begin_frame_ack;
94 101
95 // Once the display compositor processes a frame containing a non-zero frame 102 // Once the display compositor processes a frame containing a non-zero frame
96 // token, the token is sent to embedder of the frame. This is helpful when 103 // token, the token is sent to embedder of the frame. This is helpful when
97 // the embedder wants to do something after a particular frame is processed. 104 // the embedder wants to do something after a particular frame is processed.
98 uint32_t frame_token = 0; 105 uint32_t frame_token = 0;
99 106
100 private: 107 private:
101 CompositorFrameMetadata(const CompositorFrameMetadata& other); 108 CompositorFrameMetadata(const CompositorFrameMetadata& other);
102 CompositorFrameMetadata operator=(const CompositorFrameMetadata&) = delete; 109 CompositorFrameMetadata operator=(const CompositorFrameMetadata&) = delete;
103 }; 110 };
104 111
105 } // namespace cc 112 } // namespace cc
106 113
107 #endif // CC_OUTPUT_COMPOSITOR_FRAME_METADATA_H_ 114 #endif // CC_OUTPUT_COMPOSITOR_FRAME_METADATA_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698