| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2008 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 139 } | 139 } |
| 140 | 140 |
| 141 void RenderLineBoxList::dirtyLineBoxes() | 141 void RenderLineBoxList::dirtyLineBoxes() |
| 142 { | 142 { |
| 143 for (InlineFlowBox* curr = firstLineBox(); curr; curr = curr->nextLineBox()) | 143 for (InlineFlowBox* curr = firstLineBox(); curr; curr = curr->nextLineBox()) |
| 144 curr->dirtyLineBoxes(); | 144 curr->dirtyLineBoxes(); |
| 145 } | 145 } |
| 146 | 146 |
| 147 bool RenderLineBoxList::rangeIntersectsRect(LayoutBoxModelObject* renderer, Layo
utUnit logicalTop, LayoutUnit logicalBottom, const LayoutRect& rect, const Layou
tPoint& offset) const | 147 bool RenderLineBoxList::rangeIntersectsRect(LayoutBoxModelObject* renderer, Layo
utUnit logicalTop, LayoutUnit logicalBottom, const LayoutRect& rect, const Layou
tPoint& offset) const |
| 148 { | 148 { |
| 149 RenderBox* block; | 149 LayoutBox* block; |
| 150 if (renderer->isBox()) | 150 if (renderer->isBox()) |
| 151 block = toRenderBox(renderer); | 151 block = toLayoutBox(renderer); |
| 152 else | 152 else |
| 153 block = renderer->containingBlock(); | 153 block = renderer->containingBlock(); |
| 154 LayoutUnit physicalStart = block->flipForWritingMode(logicalTop); | 154 LayoutUnit physicalStart = block->flipForWritingMode(logicalTop); |
| 155 LayoutUnit physicalEnd = block->flipForWritingMode(logicalBottom); | 155 LayoutUnit physicalEnd = block->flipForWritingMode(logicalBottom); |
| 156 LayoutUnit physicalExtent = absoluteValue(physicalEnd - physicalStart); | 156 LayoutUnit physicalExtent = absoluteValue(physicalEnd - physicalStart); |
| 157 physicalStart = std::min(physicalStart, physicalEnd); | 157 physicalStart = std::min(physicalStart, physicalEnd); |
| 158 | 158 |
| 159 if (renderer->style()->isHorizontalWritingMode()) { | 159 if (renderer->style()->isHorizontalWritingMode()) { |
| 160 physicalStart += offset.y(); | 160 physicalStart += offset.y(); |
| 161 if (physicalStart >= rect.maxY() || physicalStart + physicalExtent <= re
ct.y()) | 161 if (physicalStart >= rect.maxY() || physicalStart + physicalExtent <= re
ct.y()) |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 254 LayoutObject* curr = 0; | 254 LayoutObject* curr = 0; |
| 255 ListHashSet<LayoutObject*, 16> potentialLineBreakObjects; | 255 ListHashSet<LayoutObject*, 16> potentialLineBreakObjects; |
| 256 potentialLineBreakObjects.add(child); | 256 potentialLineBreakObjects.add(child); |
| 257 for (curr = child->previousSibling(); curr; curr = curr->previousSibling())
{ | 257 for (curr = child->previousSibling(); curr; curr = curr->previousSibling())
{ |
| 258 potentialLineBreakObjects.add(curr); | 258 potentialLineBreakObjects.add(curr); |
| 259 | 259 |
| 260 if (curr->isFloatingOrOutOfFlowPositioned()) | 260 if (curr->isFloatingOrOutOfFlowPositioned()) |
| 261 continue; | 261 continue; |
| 262 | 262 |
| 263 if (curr->isReplaced()) { | 263 if (curr->isReplaced()) { |
| 264 InlineBox* wrapper = toRenderBox(curr)->inlineBoxWrapper(); | 264 InlineBox* wrapper = toLayoutBox(curr)->inlineBoxWrapper(); |
| 265 if (wrapper) | 265 if (wrapper) |
| 266 box = &wrapper->root(); | 266 box = &wrapper->root(); |
| 267 } else if (curr->isText()) { | 267 } else if (curr->isText()) { |
| 268 InlineTextBox* textBox = toRenderText(curr)->lastTextBox(); | 268 InlineTextBox* textBox = toRenderText(curr)->lastTextBox(); |
| 269 if (textBox) | 269 if (textBox) |
| 270 box = &textBox->root(); | 270 box = &textBox->root(); |
| 271 } else if (curr->isRenderInline()) { | 271 } else if (curr->isRenderInline()) { |
| 272 InlineBox* lastSiblingBox = toRenderInline(curr)->lastLineBoxIncludi
ngCulling(); | 272 InlineBox* lastSiblingBox = toRenderInline(curr)->lastLineBoxIncludi
ngCulling(); |
| 273 if (lastSiblingBox) | 273 if (lastSiblingBox) |
| 274 box = &lastSiblingBox->root(); | 274 box = &lastSiblingBox->root(); |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 326 ASSERT(child->prevLineBox() == prev); | 326 ASSERT(child->prevLineBox() == prev); |
| 327 prev = child; | 327 prev = child; |
| 328 } | 328 } |
| 329 ASSERT(prev == m_lastLineBox); | 329 ASSERT(prev == m_lastLineBox); |
| 330 #endif | 330 #endif |
| 331 } | 331 } |
| 332 | 332 |
| 333 #endif | 333 #endif |
| 334 | 334 |
| 335 } | 335 } |
| OLD | NEW |