commit | a0f8775417a4b36578e04318b2f4d9a42beed9ed | [log] [tgz] |
---|---|---|
author | David Bokan <[email protected]> | Tue Jan 23 15:32:42 2018 |
committer | Commit Bot <[email protected]> | Tue Jan 23 15:32:42 2018 |
tree | 1415a8bce4b4e5e0c81d3129a5e598d202c29a07 | |
parent | ba29acd9460d792f17a947bcadcec21ee531abf0 [diff] |
Fix root layer scrolls crash in viewport registration The crash would occur when a non-main frame finished its lifecycle update before the main frame. This can happen in an OOPIF as lifecycle on local roots is independent. This would kick the viewport layer registration method while the main frame hadn't yet completed compositing, leading to a CanQueryCompositingState DCHECK. This occured only when root-layer-scrolls is turned on because, without it, the container and scrolling layers would be the layers created by the PaintLayerCompositor (unless the test/page sets a rootScroller) which live outside the document lifecycle. This patch fixes the issue by only reregistering viewport layers after a compositing update on the frame that contains the global root scroller. This guarantees that we're in the correct lifecycle state. Bug: 800566, 642378 Change-Id: Ibbaa77b7f40794f16cecdaec46353dd00bc277e9 Reviewed-on: https://chromium-review.googlesource.com/877338 Reviewed-by: Steve Kobes <[email protected]> Commit-Queue: David Bokan <[email protected]> Cr-Commit-Position: refs/heads/master@{#531243}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .