|
Avoid destroying surface before the parent surface stops referencing it.
Add surface sequence numbers, which are used to schedule the
destruction of surfaces. The child surface's destruction can
wait on a set of sequence numbers, and the parent surface can
later queue a frame that satisfies those numbers, causing the
former child surface to be destroyed.
Also move ownership of the SurfaceIdAllocator to the
ui::Compositor, so that the surface id namespace for a
compositor will stay the same across all output surfaces it
ever uses.
BUG= 411118
Committed: https://crrev.com/fdc3baa3f2ae1554292165b53189196acd7418e4
Cr-Commit-Position: refs/heads/master@{#299022}
Total comments: 15
Total comments: 7
Total comments: 8
Total comments: 2
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+270 lines, -31 lines) |
Patch |
 |
M |
cc/output/compositor_frame_metadata.h
|
View
|
1
2
3
4
5
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
M |
cc/surfaces/surface.h
|
View
|
1
2
3
4
5
6
7
8
9
|
2 chunks |
+3 lines, -2 lines |
0 comments
|
Download
|
 |
M |
cc/surfaces/surface.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
5 chunks |
+6 lines, -2 lines |
0 comments
|
Download
|
 |
M |
cc/surfaces/surface_factory.h
|
View
|
1
2
3
4
5
6
7
8
|
3 chunks |
+5 lines, -0 lines |
0 comments
|
Download
|
 |
M |
cc/surfaces/surface_factory.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
2 chunks |
+12 lines, -3 lines |
0 comments
|
Download
|
 |
M |
cc/surfaces/surface_factory_unittest.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+27 lines, -0 lines |
0 comments
|
Download
|
 |
M |
cc/surfaces/surface_id_allocator.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
cc/surfaces/surface_manager.h
|
View
|
1
2
3
4
5
6
7
8
|
3 chunks |
+24 lines, -0 lines |
0 comments
|
Download
|
 |
M |
cc/surfaces/surface_manager.cc
|
View
|
1
2
3
4
5
6
|
3 chunks |
+52 lines, -0 lines |
0 comments
|
Download
|
 |
A |
cc/surfaces/surface_sequence.h
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+38 lines, -0 lines |
0 comments
|
Download
|
 |
M |
content/browser/compositor/delegated_frame_host.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+15 lines, -5 lines |
0 comments
|
Download
|
 |
M |
content/browser/compositor/gpu_process_transport_factory.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
content/browser/compositor/gpu_process_transport_factory.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
content/browser/compositor/image_transport_factory.h
|
View
|
1
2
3
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
content/browser/compositor/surface_display_output_surface.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
content/browser/compositor/surface_display_output_surface.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
2 chunks |
+3 lines, -3 lines |
0 comments
|
Download
|
 |
M |
content/browser/compositor/test/no_transport_image_transport_factory.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
2 chunks |
+1 line, -2 lines |
0 comments
|
Download
|
 |
M |
content/browser/compositor/test/no_transport_image_transport_factory.cc
|
View
|
1
2
3
|
3 chunks |
+4 lines, -7 lines |
0 comments
|
Download
|
 |
M |
content/common/cc_messages.h
|
View
|
1
2
3
4
5
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
mojo/aura/surface_context_factory.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
mojo/aura/surface_context_factory.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
2 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/compositor/BUILD.gn
|
View
|
1
2
3
4
5
6
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
ui/compositor/compositor.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
5 chunks |
+15 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/compositor/compositor.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
3 chunks |
+30 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/compositor/compositor.gyp
|
View
|
1
2
3
4
5
6
7
8
9
|
2 chunks |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/compositor/test/in_process_context_factory.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/compositor/test/in_process_context_factory.cc
|
View
|
1
2
3
4
5
6
7
|
3 chunks |
+9 lines, -1 line |
0 comments
|
Download
|
Total messages: 31 (3 generated)
|