|
Discard compositor frames from unloaded web content
After a navigation commits, it is still possible for the compositor to
resend a frame that draws the previous (now unloaded) page. In some
situations this works against the browser process' new content
rendering timer that attempts to clear a page after 4 seconds if a
navigation has committed but not yet painted in that time.
This CL adds a counter called content_source_id to that increments on
every non-same-page navigation commit under a given top-level
RenderWidget. It tags the CompositorFrameMetadata with this identifier,
and also sends it to the browser process with the
DidCommitProvisionaLoad IPC message. This enables the browser to
recognize compositor frames with stale IDs, corresponding to unloaded
pages.
BUG= 672847
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_site_isolation
Review-Url: https://codereview.chromium.org/2707243005
Cr-Commit-Position: refs/heads/master@{#454578}
Committed: https://chromium.googlesource.com/chromium/src/+/efd1189a0b3febada2bceb4c037fff1718306a3a
Total comments: 5
Total comments: 2
Total comments: 6
Total comments: 4
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+169 lines, -8 lines) |
Patch |
|
M |
cc/ipc/cc_param_traits_macros.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
cc/ipc/compositor_frame_metadata.mojom
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
cc/ipc/compositor_frame_metadata_struct_traits.h
|
View
|
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
cc/ipc/compositor_frame_metadata_struct_traits.cc
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
cc/ipc/struct_traits_unittest.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
3 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
cc/output/compositor_frame_metadata.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
1 chunk |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
cc/trees/layer_tree_host.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
cc/trees/layer_tree_host.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
3 chunks |
+10 lines, -0 lines |
0 comments
|
Download
|
|
M |
cc/trees/layer_tree_host_impl.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
cc/trees/layer_tree_host_unittest.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+27 lines, -0 lines |
0 comments
|
Download
|
|
M |
cc/trees/layer_tree_impl.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
cc/trees/layer_tree_impl.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/browser/frame_host/render_frame_host_impl.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
content/browser/renderer_host/render_widget_host_impl.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+12 lines, -2 lines |
0 comments
|
Download
|
|
M |
content/browser/renderer_host/render_widget_host_impl.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
3 chunks |
+11 lines, -2 lines |
0 comments
|
Download
|
|
M |
content/browser/renderer_host/render_widget_host_unittest.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
4 chunks |
+36 lines, -3 lines |
0 comments
|
Download
|
|
M |
content/common/frame_messages.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/renderer/gpu/render_widget_compositor.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
content/renderer/gpu/render_widget_compositor.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/renderer/render_frame_impl.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/renderer/render_widget.h
|
View
|
1
2
3
4
5
6
7
|
2 chunks |
+16 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/renderer/render_widget.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
3 chunks |
+11 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/test/test_render_view_host.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
Total messages: 67 (42 generated)
|