Track intruding and overhanging floats

Keep track of which floats in the floating object list are intruding or
overhanging so that they can be removed from the list before the
container is and it's children are destoryed. This makes it impossible
to access an already destroyed float renderer when detaching the tree.

In addition, use the new knowledge about intruding and overhanging
floats to only copy the FloatingObject entries for contained floats in
moveAllChildrenIncludingFloatsTo.

This also fixes a bug in FloatingObject::unsafeClone, it shouldn't copy
the originatingLine, because that allows breaking the rule that the
renderer for the line must be the same as the renderer that contains the
FloatingObject instance.

BUG=245727

Review URL: https://codereview.chromium.org/131223003

git-svn-id: svn://svn.chromium.org/blink/trunk@165002 bbb929c8-8fbe-4397-9dbb-9b2b20218538
6 files changed
tree: ad4104e66b1f16b00063736519a7aaf40c5d43ac
  1. third_party/