Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(70)

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutBlock.cpp

Issue 1973843003: LayoutBox (not LayoutBlock) is the common base for floats and out-of-flow objects. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 LayoutObject* sibling = child->previousSibling(); 311 LayoutObject* sibling = child->previousSibling();
312 parentBlockFlow->moveChildTo(this, child, firstChild(), false); 312 parentBlockFlow->moveChildTo(this, child, firstChild(), false);
313 child = sibling; 313 child = sibling;
314 } 314 }
315 } 315 }
316 316
317 void LayoutBlock::styleDidChange(StyleDifference diff, const ComputedStyle* oldS tyle) 317 void LayoutBlock::styleDidChange(StyleDifference diff, const ComputedStyle* oldS tyle)
318 { 318 {
319 LayoutBox::styleDidChange(diff, oldStyle); 319 LayoutBox::styleDidChange(diff, oldStyle);
320 320
321 if (isFloatingOrOutOfFlowPositioned() && oldStyle && !oldStyle->isFloating() && !oldStyle->hasOutOfFlowPosition() && parent() && parent()->isLayoutBlockFlow ())
322 toLayoutBlockFlow(parent())->childBecameFloatingOrOutOfFlow(this);
323
324 const ComputedStyle& newStyle = styleRef(); 321 const ComputedStyle& newStyle = styleRef();
325 322
326 if (oldStyle && parent()) { 323 if (oldStyle && parent()) {
327 if (oldStyle->position() != newStyle.position() && newStyle.position() ! = StaticPosition) { 324 if (oldStyle->position() != newStyle.position() && newStyle.position() ! = StaticPosition) {
328 // Remove our absolute and fixed positioned descendants from their n ew containing block, 325 // Remove our absolute and fixed positioned descendants from their n ew containing block,
329 // in case containingBlock() changes by the change to the position p roperty. 326 // in case containingBlock() changes by the change to the position p roperty.
330 // See styleWillChange() for other cases. 327 // See styleWillChange() for other cases.
331 if (LayoutBlock* cb = containingBlock()) 328 if (LayoutBlock* cb = containingBlock())
332 cb->removePositionedObjects(this, NewContainingBlock); 329 cb->removePositionedObjects(this, NewContainingBlock);
333 } 330 }
(...skipping 1909 matching lines...) Expand 10 before | Expand all | Expand 10 after
2243 for (TrackedLayoutBoxListHashSet::const_iterator it = positionedDescenda ntSet->begin(); it != end; ++it) { 2240 for (TrackedLayoutBoxListHashSet::const_iterator it = positionedDescenda ntSet->begin(); it != end; ++it) {
2244 LayoutBox* currBox = *it; 2241 LayoutBox* currBox = *it;
2245 ASSERT(!currBox->needsLayout()); 2242 ASSERT(!currBox->needsLayout());
2246 } 2243 }
2247 } 2244 }
2248 } 2245 }
2249 2246
2250 #endif 2247 #endif
2251 2248
2252 } // namespace blink 2249 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698