| 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 657 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 668 RenderBlock* block = containingColumnsBlock(); | 668 RenderBlock* block = containingColumnsBlock(); |
| 669 | 669 |
| 670 // Delete our line boxes before we do the inline split into continuations. | 670 // Delete our line boxes before we do the inline split into continuations. |
| 671 block->deleteLineBoxTree(); | 671 block->deleteLineBoxTree(); |
| 672 | 672 |
| 673 bool madeNewBeforeBlock = false; | 673 bool madeNewBeforeBlock = false; |
| 674 if (block->isAnonymousColumnsBlock()) { | 674 if (block->isAnonymousColumnsBlock()) { |
| 675 // We can reuse this block and make it the preBlock of the next continua
tion. | 675 // We can reuse this block and make it the preBlock of the next continua
tion. |
| 676 pre = block; | 676 pre = block; |
| 677 pre->removePositionedObjects(0); | 677 pre->removePositionedObjects(0); |
| 678 pre->removeFloatingObjects(); |
| 678 block = toRenderBlock(block->parent()); | 679 block = toRenderBlock(block->parent()); |
| 679 } else { | 680 } else { |
| 680 // No anonymous block available for use. Make one. | 681 // No anonymous block available for use. Make one. |
| 681 pre = block->createAnonymousColumnsBlock(); | 682 pre = block->createAnonymousColumnsBlock(); |
| 682 pre->setChildrenInline(false); | 683 pre->setChildrenInline(false); |
| 683 madeNewBeforeBlock = true; | 684 madeNewBeforeBlock = true; |
| 684 } | 685 } |
| 685 | 686 |
| 686 RenderBlock* post = block->createAnonymousColumnsBlock(); | 687 RenderBlock* post = block->createAnonymousColumnsBlock(); |
| 687 post->setChildrenInline(false); | 688 post->setChildrenInline(false); |
| (...skipping 3066 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3754 p->setChildNeedsLayout(true); | 3755 p->setChildNeedsLayout(true); |
| 3755 | 3756 |
| 3756 deadObjects.append(r); | 3757 deadObjects.append(r); |
| 3757 } | 3758 } |
| 3758 } | 3759 } |
| 3759 | 3760 |
| 3760 for (unsigned i = 0; i < deadObjects.size(); i++) | 3761 for (unsigned i = 0; i < deadObjects.size(); i++) |
| 3761 removePositionedObject(deadObjects.at(i)); | 3762 removePositionedObject(deadObjects.at(i)); |
| 3762 } | 3763 } |
| 3763 | 3764 |
| 3765 void RenderBlock::removeFloatingObjects() |
| 3766 { |
| 3767 if (!m_floatingObjects) |
| 3768 return; |
| 3769 |
| 3770 deleteAllValues(m_floatingObjects->set()); |
| 3771 m_floatingObjects->clear(); |
| 3772 } |
| 3773 |
| 3764 RenderBlock::FloatingObject* RenderBlock::insertFloatingObject(RenderBox* o) | 3774 RenderBlock::FloatingObject* RenderBlock::insertFloatingObject(RenderBox* o) |
| 3765 { | 3775 { |
| 3766 ASSERT(o->isFloating()); | 3776 ASSERT(o->isFloating()); |
| 3767 | 3777 |
| 3768 // Create the list of special objects if we don't aleady have one | 3778 // Create the list of special objects if we don't aleady have one |
| 3769 if (!m_floatingObjects) | 3779 if (!m_floatingObjects) |
| 3770 m_floatingObjects = adoptPtr(new FloatingObjects(this, isHorizontalWriti
ngMode())); | 3780 m_floatingObjects = adoptPtr(new FloatingObjects(this, isHorizontalWriti
ngMode())); |
| 3771 else { | 3781 else { |
| 3772 // Don't insert the object again if it's already in the list | 3782 // Don't insert the object again if it's already in the list |
| 3773 const FloatingObjectSet& floatingObjectSet = m_floatingObjects->set(); | 3783 const FloatingObjectSet& floatingObjectSet = m_floatingObjects->set(); |
| (...skipping 3934 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7708 } | 7718 } |
| 7709 | 7719 |
| 7710 String ValueToString<RenderBlock::FloatingObject*>::string(const RenderBlock::Fl
oatingObject* floatingObject) | 7720 String ValueToString<RenderBlock::FloatingObject*>::string(const RenderBlock::Fl
oatingObject* floatingObject) |
| 7711 { | 7721 { |
| 7712 return String::format("%p (%dx%d %dx%d)", floatingObject, floatingObject->fr
ameRect().pixelSnappedX(), floatingObject->frameRect().pixelSnappedY(), floating
Object->frameRect().pixelSnappedMaxX(), floatingObject->frameRect().pixelSnapped
MaxY()); | 7722 return String::format("%p (%dx%d %dx%d)", floatingObject, floatingObject->fr
ameRect().pixelSnappedX(), floatingObject->frameRect().pixelSnappedY(), floating
Object->frameRect().pixelSnappedMaxX(), floatingObject->frameRect().pixelSnapped
MaxY()); |
| 7713 } | 7723 } |
| 7714 | 7724 |
| 7715 #endif | 7725 #endif |
| 7716 | 7726 |
| 7717 } // namespace WebCore | 7727 } // namespace WebCore |
| OLD | NEW |