DescriptionDetach PaintLayerScrollableArea from RootFrameViewport when disposed.
With document.rootScroller, a PLSA can become the layoutViewport in
RootFrameViewport. This crash was happening because the associated Node being
removed from the DOM causes deletion of the associated LayoutObject and
PaintLayer but the RootFrameViewport still has a pointer to the PLSA. The
RootScrollerController will realize the rootScroller's LayoutObject is gone
during the next layout but we can call into the dead PLSA (which could have
been garbage collected in the mean time).
This fix checks during PLSA disposal whether it's registered as the layout
viewport, and if so, resets the layout viewport to the FrameView.
BUG=649340
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Committed: https://crrev.com/10a29c5ef01177b72535c855713df141a9ef9ddc
Cr-Commit-Position: refs/heads/master@{#422209}
Patch Set 1 #Patch Set 2 : None #Patch Set 3 : None #
Total comments: 1
Patch Set 4 : Fixed ASAN failure in previous patch #
Messages
Total messages: 23 (12 generated)
|