| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2007 David Smith (catfish.man@gmail.com) | 4 * (C) 2007 David Smith (catfish.man@gmail.com) |
| 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. | 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. |
| 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
| 7 * | 7 * |
| 8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| (...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 314 LayoutObject* sibling = child->previousSibling(); | 314 LayoutObject* sibling = child->previousSibling(); |
| 315 parentBlockFlow->moveChildTo(this, child, firstChild(), false); | 315 parentBlockFlow->moveChildTo(this, child, firstChild(), false); |
| 316 child = sibling; | 316 child = sibling; |
| 317 } | 317 } |
| 318 } | 318 } |
| 319 | 319 |
| 320 void LayoutBlock::styleDidChange(StyleDifference diff, const ComputedStyle* oldS
tyle) | 320 void LayoutBlock::styleDidChange(StyleDifference diff, const ComputedStyle* oldS
tyle) |
| 321 { | 321 { |
| 322 LayoutBox::styleDidChange(diff, oldStyle); | 322 LayoutBox::styleDidChange(diff, oldStyle); |
| 323 | 323 |
| 324 if (isFloatingOrOutOfFlowPositioned() && oldStyle && !oldStyle->isFloating()
&& !oldStyle->hasOutOfFlowPosition() && parent() && parent()->isLayoutBlockFlow
()) { | 324 if (isFloatingOrOutOfFlowPositioned() && oldStyle && !oldStyle->isFloating()
&& !oldStyle->hasOutOfFlowPosition() && parent() && parent()->isLayoutBlockFlow
()) |
| 325 toLayoutBlock(parent())->makeChildrenInlineIfPossible(); | 325 toLayoutBlockFlow(parent())->childBecameFloatingOrOutOfFlow(this); |
| 326 // Reparent to an adjacent anonymous block if one is available. | |
| 327 if (previousSibling() && previousSibling()->isAnonymousBlock()) { | |
| 328 LayoutBlock* newParent = toLayoutBlock(previousSibling()); | |
| 329 toLayoutBlock(parent())->moveChildTo(newParent, this, nullptr, false
); | |
| 330 // The anonymous block we've moved to may now be adjacent to former
siblings of ours that it can contain also. | |
| 331 newParent->reparentSubsequentFloatingOrOutOfFlowSiblings(); | |
| 332 } else if (nextSibling() && nextSibling()->isAnonymousBlock()) { | |
| 333 toLayoutBlock(parent())->moveChildTo(toLayoutBlock(nextSibling()), t
his, nextSibling()->slowFirstChild(), false); | |
| 334 } | |
| 335 } | |
| 336 | 326 |
| 337 const ComputedStyle& newStyle = styleRef(); | 327 const ComputedStyle& newStyle = styleRef(); |
| 338 | 328 |
| 339 if (oldStyle && parent()) { | 329 if (oldStyle && parent()) { |
| 340 if (oldStyle->position() != newStyle.position() && newStyle.position() !
= StaticPosition) { | 330 if (oldStyle->position() != newStyle.position() && newStyle.position() !
= StaticPosition) { |
| 341 // Remove our absolute and fixed positioned descendants from their n
ew containing block, | 331 // Remove our absolute and fixed positioned descendants from their n
ew containing block, |
| 342 // in case containingBlock() changes by the change to the position p
roperty. | 332 // in case containingBlock() changes by the change to the position p
roperty. |
| 343 // See styleWillChange() for other cases. | 333 // See styleWillChange() for other cases. |
| 344 if (LayoutBlock* cb = containingBlock()) | 334 if (LayoutBlock* cb = containingBlock()) |
| 345 cb->removePositionedObjects(this, NewContainingBlock); | 335 cb->removePositionedObjects(this, NewContainingBlock); |
| (...skipping 1907 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2253 for (TrackedLayoutBoxListHashSet::const_iterator it = positionedDescenda
ntSet->begin(); it != end; ++it) { | 2243 for (TrackedLayoutBoxListHashSet::const_iterator it = positionedDescenda
ntSet->begin(); it != end; ++it) { |
| 2254 LayoutBox* currBox = *it; | 2244 LayoutBox* currBox = *it; |
| 2255 ASSERT(!currBox->needsLayout()); | 2245 ASSERT(!currBox->needsLayout()); |
| 2256 } | 2246 } |
| 2257 } | 2247 } |
| 2258 } | 2248 } |
| 2259 | 2249 |
| 2260 #endif | 2250 #endif |
| 2261 | 2251 |
| 2262 } // namespace blink | 2252 } // namespace blink |
| OLD | NEW |