| 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 Apple Inc. All r
ights reserved. | 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All r
ights 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 3065 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3076 DeprecatedPtrListIterator<FloatingObject> it(*m_floatingObjects); | 3076 DeprecatedPtrListIterator<FloatingObject> it(*m_floatingObjects); |
| 3077 while (it.current()) { | 3077 while (it.current()) { |
| 3078 if (it.current()->m_renderer == o) { | 3078 if (it.current()->m_renderer == o) { |
| 3079 if (childrenInline()) { | 3079 if (childrenInline()) { |
| 3080 int logicalTop = logicalTopForFloat(it.current()); | 3080 int logicalTop = logicalTopForFloat(it.current()); |
| 3081 int logicalBottom = logicalBottomForFloat(it.current()); | 3081 int logicalBottom = logicalBottomForFloat(it.current()); |
| 3082 | 3082 |
| 3083 // Special-case zero- and less-than-zero-height floats: thos
e don't touch | 3083 // Special-case zero- and less-than-zero-height floats: thos
e don't touch |
| 3084 // the line that they're on, but it still needs to be dirtie
d. This is | 3084 // the line that they're on, but it still needs to be dirtie
d. This is |
| 3085 // accomplished by pretending they have a height of 1. | 3085 // accomplished by pretending they have a height of 1. |
| 3086 logicalBottom = max(logicalBottom, logicalTop + 1); | 3086 logicalBottom = max(logicalBottom, max(logicalTop + 1, logic
alTop)); |
| 3087 markLinesDirtyInBlockRange(0, logicalBottom); | 3087 markLinesDirtyInBlockRange(0, logicalBottom); |
| 3088 } | 3088 } |
| 3089 m_floatingObjects->removeRef(it.current()); | 3089 m_floatingObjects->removeRef(it.current()); |
| 3090 } | 3090 } |
| 3091 ++it; | 3091 ++it; |
| 3092 } | 3092 } |
| 3093 } | 3093 } |
| 3094 } | 3094 } |
| 3095 | 3095 |
| 3096 void RenderBlock::removeFloatingObjectsBelow(FloatingObject* lastFloat, int y) | 3096 void RenderBlock::removeFloatingObjectsBelow(FloatingObject* lastFloat, int y) |
| (...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3438 return lowestFloatBottom; | 3438 return lowestFloatBottom; |
| 3439 } | 3439 } |
| 3440 | 3440 |
| 3441 void RenderBlock::markLinesDirtyInBlockRange(int logicalTop, int logicalBottom,
RootInlineBox* highest) | 3441 void RenderBlock::markLinesDirtyInBlockRange(int logicalTop, int logicalBottom,
RootInlineBox* highest) |
| 3442 { | 3442 { |
| 3443 if (logicalTop >= logicalBottom) | 3443 if (logicalTop >= logicalBottom) |
| 3444 return; | 3444 return; |
| 3445 | 3445 |
| 3446 RootInlineBox* lowestDirtyLine = lastRootBox(); | 3446 RootInlineBox* lowestDirtyLine = lastRootBox(); |
| 3447 RootInlineBox* afterLowest = lowestDirtyLine; | 3447 RootInlineBox* afterLowest = lowestDirtyLine; |
| 3448 while (lowestDirtyLine && lowestDirtyLine->blockLogicalHeight() >= logicalBo
ttom) { | 3448 while (lowestDirtyLine && lowestDirtyLine->blockLogicalHeight() >= logicalBo
ttom && logicalBottom < numeric_limits<int>::max()) { |
| 3449 afterLowest = lowestDirtyLine; | 3449 afterLowest = lowestDirtyLine; |
| 3450 lowestDirtyLine = lowestDirtyLine->prevRootBox(); | 3450 lowestDirtyLine = lowestDirtyLine->prevRootBox(); |
| 3451 } | 3451 } |
| 3452 | 3452 |
| 3453 while (afterLowest && afterLowest != highest && afterLowest->blockLogicalHei
ght() >= logicalTop) { | 3453 while (afterLowest && afterLowest != highest && afterLowest->blockLogicalHei
ght() >= logicalTop) { |
| 3454 afterLowest->markDirty(); | 3454 afterLowest->markDirty(); |
| 3455 afterLowest = afterLowest->prevRootBox(); | 3455 afterLowest = afterLowest->prevRootBox(); |
| 3456 } | 3456 } |
| 3457 } | 3457 } |
| 3458 | 3458 |
| (...skipping 2618 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6077 else if (isAnonymous()) | 6077 else if (isAnonymous()) |
| 6078 return "RenderBlock (generated)"; | 6078 return "RenderBlock (generated)"; |
| 6079 if (isRelPositioned()) | 6079 if (isRelPositioned()) |
| 6080 return "RenderBlock (relative positioned)"; | 6080 return "RenderBlock (relative positioned)"; |
| 6081 if (isRunIn()) | 6081 if (isRunIn()) |
| 6082 return "RenderBlock (run-in)"; | 6082 return "RenderBlock (run-in)"; |
| 6083 return "RenderBlock"; | 6083 return "RenderBlock"; |
| 6084 } | 6084 } |
| 6085 | 6085 |
| 6086 } // namespace WebCore | 6086 } // namespace WebCore |
| OLD | NEW |