Revert 150924 "Node::lazyAttach shouldn't lie about being attached"
Reverting as it's causing https://code.google.com/p/chromium/issues/detail?id=245879
> Node::lazyAttach shouldn't lie about being attached
>
> lazyAttach just needs to mark the node as needing a style recalc, there's no reason
> to mark the node as attached, or mark all the descendants as being attached. We also
> don't need to mark all descendants as needing a style recalc since Element::recalcStyle
> is going to transform the StyleChange into a Force when it goes to descendants.
>
> Now lazyAttach just marks you as needing a FullStyleChange and the later recalcStyle
> will mark you as attached. This means that after this patch attached() is equivalent to
> "ever had style recalc". In a future patch we should rename that flag.
>
> A benefit of this patch is that doing appendChild(divWithLotsOfDescendants); now does 2
> fewer walks of the descendants because we don't need to mark them all as attached in
> lazyAttach, and we don't need to run detach() in recalcStyle() when it calls reattach.
>
> Another benefit is that Node::attach is no longer n^2 when you append many elements
> without any whitespace between them because the loop to fix up whitespace can bail
> out early when it sees !next->attached().
>
> R=eseidel@chromium.org
>
> Review URL: https://codereview.chromium.org/15159008
TBR=esprehn@chromium.org
BUG=245879
Review URL: https://codereview.chromium.org/16336010
git-svn-id: svn://svn.chromium.org/blink/trunk@151674 bbb929c8-8fbe-4397-9dbb-9b2b20218538
30 files changed