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 567 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
578 if (paintInfo) { | 578 if (paintInfo) { |
579 // Note that we don't clip out overflow for positioned objects. We just
stick to the border box. | 579 // Note that we don't clip out overflow for positioned objects. We just
stick to the border box. |
580 LayoutRect blockRect(offsetFromRootBlock.width(), offsetFromRootBlock.he
ight(), width(), height()); | 580 LayoutRect blockRect(offsetFromRootBlock.width(), offsetFromRootBlock.he
ight(), width(), height()); |
581 blockRect.moveBy(rootBlockPhysicalPosition); | 581 blockRect.moveBy(rootBlockPhysicalPosition); |
582 clipOutPositionedObjects(paintInfo, blockRect.location(), positionedObje
cts()); | 582 clipOutPositionedObjects(paintInfo, blockRect.location(), positionedObje
cts()); |
583 } | 583 } |
584 | 584 |
585 // FIXME: overflow: auto/scroll regions need more math here, since painting
in the border box is different from painting in the padding box (one is scrolled
, the other is | 585 // FIXME: overflow: auto/scroll regions need more math here, since painting
in the border box is different from painting in the padding box (one is scrolled
, the other is |
586 // fixed). | 586 // fixed). |
587 GapRects result; | 587 GapRects result; |
588 if (!isRenderBlockFlow()) // FIXME: Make multi-column selection gap filling
work someday. | 588 if (!isRenderParagraph()) // FIXME: Make multi-column selection gap filling
work someday. |
589 return result; | 589 return result; |
590 | 590 |
591 if (hasTransform()) { | 591 if (hasTransform()) { |
592 // FIXME: We should learn how to gap fill multiple columns and transform
s eventually. | 592 // FIXME: We should learn how to gap fill multiple columns and transform
s eventually. |
593 lastLogicalTop = rootBlock->blockDirectionOffset(offsetFromRootBlock) +
logicalHeight(); | 593 lastLogicalTop = rootBlock->blockDirectionOffset(offsetFromRootBlock) +
logicalHeight(); |
594 lastLogicalLeft = logicalLeftSelectionOffset(rootBlock, logicalHeight())
; | 594 lastLogicalLeft = logicalLeftSelectionOffset(rootBlock, logicalHeight())
; |
595 lastLogicalRight = logicalRightSelectionOffset(rootBlock, logicalHeight(
)); | 595 lastLogicalRight = logicalRightSelectionOffset(rootBlock, logicalHeight(
)); |
596 return result; | 596 return result; |
597 } | 597 } |
598 | 598 |
(...skipping 838 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1437 RenderBlock* firstLineBlock = const_cast<RenderBlock*>(this); | 1437 RenderBlock* firstLineBlock = const_cast<RenderBlock*>(this); |
1438 bool hasPseudo = false; | 1438 bool hasPseudo = false; |
1439 while (true) { | 1439 while (true) { |
1440 // FIXME(sky): Remove all this. | 1440 // FIXME(sky): Remove all this. |
1441 hasPseudo = false; | 1441 hasPseudo = false; |
1442 if (hasPseudo) | 1442 if (hasPseudo) |
1443 break; | 1443 break; |
1444 RenderObject* parentBlock = firstLineBlock->parent(); | 1444 RenderObject* parentBlock = firstLineBlock->parent(); |
1445 if (firstLineBlock->isReplaced() | 1445 if (firstLineBlock->isReplaced() |
1446 || !parentBlock | 1446 || !parentBlock |
1447 || !parentBlock->isRenderBlockFlow()) | 1447 || !parentBlock->isRenderParagraph()) |
1448 break; | 1448 break; |
1449 ASSERT_WITH_SECURITY_IMPLICATION(parentBlock->isRenderBlock()); | 1449 ASSERT_WITH_SECURITY_IMPLICATION(parentBlock->isRenderBlock()); |
1450 if (toRenderBlock(parentBlock)->firstChild() != firstLineBlock) | 1450 if (toRenderParagraph(parentBlock)->firstChild() != firstLineBlock) |
1451 break; | 1451 break; |
1452 firstLineBlock = toRenderBlock(parentBlock); | 1452 firstLineBlock = toRenderBlock(parentBlock); |
1453 } | 1453 } |
1454 | 1454 |
1455 if (!hasPseudo) | 1455 if (!hasPseudo) |
1456 return 0; | 1456 return 0; |
1457 | 1457 |
1458 return firstLineBlock; | 1458 return firstLineBlock; |
1459 } | 1459 } |
1460 | 1460 |
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1723 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render
Object* obj) const | 1723 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render
Object* obj) const |
1724 { | 1724 { |
1725 showRenderObject(); | 1725 showRenderObject(); |
1726 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) | 1726 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) |
1727 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); | 1727 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); |
1728 } | 1728 } |
1729 | 1729 |
1730 #endif | 1730 #endif |
1731 | 1731 |
1732 } // namespace blink | 1732 } // namespace blink |
OLD | NEW |