Line boxes hold potentially dangling pointers to FloatingObject.
And that's how it's supposed to work, apparently. We're just supposed to mark such lines dirty when the objects get deleted, and the dangling pointers will be cleaned up "soon enough". When removing a FloatingObject, we need to mark the RootInlineBox object that points to it as dirty. The case we were missing was the one where we remove ALL floating objects. When removing just one, on the other hand, we use LayoutBlockFlow::RemoveFloatingObject(), which already takes care of this. Bug: 835613 Change-Id: I2b978f1bb4c9a496a5dad4b097ef598630059a9d Reviewed-on: https://chromium-review.googlesource.com/1108936 Commit-Queue: Morten Stenshorne <mstensho@chromium.org> Reviewed-by:Emil A Eklund <eae@chromium.org> Cr-Commit-Position: refs/heads/master@{#569223}
Showing
Please register or sign in to comment