OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_SURFACES_SURFACE_H_ | 5 #ifndef CC_SURFACES_SURFACE_H_ |
6 #define CC_SURFACES_SURFACE_H_ | 6 #define CC_SURFACES_SURFACE_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 | 123 |
124 bool HasActiveFrame() const { return active_frame_data_.has_value(); } | 124 bool HasActiveFrame() const { return active_frame_data_.has_value(); } |
125 bool HasPendingFrame() const { return pending_frame_data_.has_value(); } | 125 bool HasPendingFrame() const { return pending_frame_data_.has_value(); } |
126 bool HasUndrawnActiveFrame() const { | 126 bool HasUndrawnActiveFrame() const { |
127 return HasActiveFrame() && active_frame_data_->draw_callback; | 127 return HasActiveFrame() && active_frame_data_->draw_callback; |
128 } | 128 } |
129 | 129 |
130 bool destroyed() const { return destroyed_; } | 130 bool destroyed() const { return destroyed_; } |
131 void set_destroyed(bool destroyed) { destroyed_ = destroyed; } | 131 void set_destroyed(bool destroyed) { destroyed_ = destroyed; } |
132 | 132 |
| 133 base::WeakPtr<Surface> AsWeakPtr(); |
| 134 |
133 private: | 135 private: |
134 struct FrameData { | 136 struct FrameData { |
135 FrameData(CompositorFrame&& frame, | 137 FrameData(CompositorFrame&& frame, |
136 const base::Closure& draw_callback, | 138 const base::Closure& draw_callback, |
137 const WillDrawCallback& will_draw_callback); | 139 const WillDrawCallback& will_draw_callback); |
138 FrameData(FrameData&& other); | 140 FrameData(FrameData&& other); |
139 ~FrameData(); | 141 ~FrameData(); |
140 FrameData& operator=(FrameData&& other); | 142 FrameData& operator=(FrameData&& other); |
141 CompositorFrame frame; | 143 CompositorFrame frame; |
142 base::Closure draw_callback; | 144 base::Closure draw_callback; |
(...skipping 27 matching lines...) Expand all Loading... |
170 | 172 |
171 base::Optional<FrameData> pending_frame_data_; | 173 base::Optional<FrameData> pending_frame_data_; |
172 base::Optional<FrameData> active_frame_data_; | 174 base::Optional<FrameData> active_frame_data_; |
173 int frame_index_; | 175 int frame_index_; |
174 bool closed_ = false; | 176 bool closed_ = false; |
175 bool destroyed_; | 177 bool destroyed_; |
176 std::vector<SurfaceSequence> destruction_dependencies_; | 178 std::vector<SurfaceSequence> destruction_dependencies_; |
177 | 179 |
178 base::flat_set<SurfaceId> blocking_surfaces_; | 180 base::flat_set<SurfaceId> blocking_surfaces_; |
179 | 181 |
| 182 base::WeakPtrFactory<Surface> weak_factory_; |
| 183 |
180 DISALLOW_COPY_AND_ASSIGN(Surface); | 184 DISALLOW_COPY_AND_ASSIGN(Surface); |
181 }; | 185 }; |
182 | 186 |
183 } // namespace cc | 187 } // namespace cc |
184 | 188 |
185 #endif // CC_SURFACES_SURFACE_H_ | 189 #endif // CC_SURFACES_SURFACE_H_ |
OLD | NEW |