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

Side by Side Diff: Source/core/rendering/RenderBlock.cpp

Issue 14759010: Fix the float logic to not return an anonymous block ancestor (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 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 | Annotate | Revision Log
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 4726 matching lines...) Expand 10 before | Expand all | Expand 10 after
4737 4737
4738 if (floatToRemove) 4738 if (floatToRemove)
4739 removeFloatingObject(floatToRemove); 4739 removeFloatingObject(floatToRemove);
4740 4740
4741 // Iterate over our children and mark them as needed. 4741 // Iterate over our children and mark them as needed.
4742 if (!childrenInline()) { 4742 if (!childrenInline()) {
4743 for (RenderObject* child = firstChild(); child; child = child->nextSibli ng()) { 4743 for (RenderObject* child = firstChild(); child; child = child->nextSibli ng()) {
4744 if ((!floatToRemove && child->isFloatingOrOutOfFlowPositioned()) || !child->isRenderBlock()) 4744 if ((!floatToRemove && child->isFloatingOrOutOfFlowPositioned()) || !child->isRenderBlock())
4745 continue; 4745 continue;
4746 RenderBlock* childBlock = toRenderBlock(child); 4746 RenderBlock* childBlock = toRenderBlock(child);
4747 if ((floatToRemove ? childBlock->containsFloat(floatToRemove) : chil dBlock->containsFloats()) || childBlock->shrinkToAvoidFloats()) 4747 if (childBlock->isAnonymousBlock() || (floatToRemove ? childBlock->c ontainsFloat(floatToRemove) : childBlock->containsFloats()) || childBlock->shrin kToAvoidFloats())
4748 childBlock->markAllDescendantsWithFloatsForLayout(floatToRemove, inLayout); 4748 childBlock->markAllDescendantsWithFloatsForLayout(floatToRemove, inLayout);
4749 } 4749 }
4750 } 4750 }
4751 } 4751 }
4752 4752
4753 void RenderBlock::markSiblingsWithFloatsForLayout(RenderBox* floatToRemove) 4753 void RenderBlock::markSiblingsWithFloatsForLayout(RenderBox* floatToRemove)
4754 { 4754 {
4755 if (!m_floatingObjects) 4755 if (!m_floatingObjects)
4756 return; 4756 return;
4757 4757
(...skipping 3327 matching lines...) Expand 10 before | Expand all | Expand 10 after
8085 { 8085 {
8086 memoryInstrumentation->addRootObject(gColumnInfoMap, WebCoreMemoryTypes::Ren deringStructures); 8086 memoryInstrumentation->addRootObject(gColumnInfoMap, WebCoreMemoryTypes::Ren deringStructures);
8087 memoryInstrumentation->addRootObject(gPositionedDescendantsMap, WebCoreMemor yTypes::RenderingStructures); 8087 memoryInstrumentation->addRootObject(gPositionedDescendantsMap, WebCoreMemor yTypes::RenderingStructures);
8088 memoryInstrumentation->addRootObject(gPercentHeightDescendantsMap, WebCoreMe moryTypes::RenderingStructures); 8088 memoryInstrumentation->addRootObject(gPercentHeightDescendantsMap, WebCoreMe moryTypes::RenderingStructures);
8089 memoryInstrumentation->addRootObject(gPositionedContainerMap, WebCoreMemoryT ypes::RenderingStructures); 8089 memoryInstrumentation->addRootObject(gPositionedContainerMap, WebCoreMemoryT ypes::RenderingStructures);
8090 memoryInstrumentation->addRootObject(gPercentHeightContainerMap, WebCoreMemo ryTypes::RenderingStructures); 8090 memoryInstrumentation->addRootObject(gPercentHeightContainerMap, WebCoreMemo ryTypes::RenderingStructures);
8091 memoryInstrumentation->addRootObject(gDelayedUpdateScrollInfoSet, WebCoreMem oryTypes::RenderingStructures); 8091 memoryInstrumentation->addRootObject(gDelayedUpdateScrollInfoSet, WebCoreMem oryTypes::RenderingStructures);
8092 } 8092 }
8093 8093
8094 } // namespace WebCore 8094 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698