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 1812 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1823 return false; | 1823 return false; |
1824 ASSERT(node() || isAnonymous()); | 1824 ASSERT(node() || isAnonymous()); |
1825 | 1825 |
1826 // FIXME: Eventually tables should have to learn how to fill gaps between ce
lls, at least in simple non-spanning cases. | 1826 // FIXME: Eventually tables should have to learn how to fill gaps between ce
lls, at least in simple non-spanning cases. |
1827 if (isTable()) | 1827 if (isTable()) |
1828 return false; | 1828 return false; |
1829 | 1829 |
1830 if (isBody() || isDocumentElement() || hasOverflowClip() | 1830 if (isBody() || isDocumentElement() || hasOverflowClip() |
1831 || isPositioned() || isFloating() | 1831 || isPositioned() || isFloating() |
1832 || isTableCell() || isInlineBlockOrInlineTable() | 1832 || isTableCell() || isInlineBlockOrInlineTable() |
1833 || hasTransform() || hasReflection() || hasMask() || isWritingModeRoot() | 1833 || hasTransformRelatedProperty() || hasReflection() || hasMask() || isWr
itingModeRoot() |
1834 || isRenderFlowThread() || isFlexItemIncludingDeprecated()) | 1834 || isRenderFlowThread() || isFlexItemIncludingDeprecated()) |
1835 return true; | 1835 return true; |
1836 | 1836 |
1837 if (view() && view()->selectionStart()) { | 1837 if (view() && view()->selectionStart()) { |
1838 Node* startElement = view()->selectionStart()->node(); | 1838 Node* startElement = view()->selectionStart()->node(); |
1839 if (startElement && startElement->rootEditableElement() == node()) | 1839 if (startElement && startElement->rootEditableElement() == node()) |
1840 return true; | 1840 return true; |
1841 } | 1841 } |
1842 | 1842 |
1843 return false; | 1843 return false; |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1914 clipOutPositionedObjects(paintInfo, LayoutPoint(cb->x(), cb->y()
), cb->positionedObjects()); // FIXME: Not right for flipped writing modes. | 1914 clipOutPositionedObjects(paintInfo, LayoutPoint(cb->x(), cb->y()
), cb->positionedObjects()); // FIXME: Not right for flipped writing modes. |
1915 clipOutFloatingObjects(rootBlock, paintInfo, rootBlockPhysicalPosition,
offsetFromRootBlock); | 1915 clipOutFloatingObjects(rootBlock, paintInfo, rootBlockPhysicalPosition,
offsetFromRootBlock); |
1916 } | 1916 } |
1917 | 1917 |
1918 // 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 | 1918 // 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 |
1919 // fixed). | 1919 // fixed). |
1920 GapRects result; | 1920 GapRects result; |
1921 if (!isRenderBlockFlow()) // FIXME: Make multi-column selection gap filling
work someday. | 1921 if (!isRenderBlockFlow()) // FIXME: Make multi-column selection gap filling
work someday. |
1922 return result; | 1922 return result; |
1923 | 1923 |
1924 if (hasColumns() || hasTransform() || style()->columnSpan()) { | 1924 if (hasColumns() || hasTransformRelatedProperty() || style()->columnSpan())
{ |
1925 // FIXME: We should learn how to gap fill multiple columns and transform
s eventually. | 1925 // FIXME: We should learn how to gap fill multiple columns and transform
s eventually. |
1926 lastLogicalTop = rootBlock->blockDirectionOffset(offsetFromRootBlock) +
logicalHeight(); | 1926 lastLogicalTop = rootBlock->blockDirectionOffset(offsetFromRootBlock) +
logicalHeight(); |
1927 lastLogicalLeft = logicalLeftSelectionOffset(rootBlock, logicalHeight())
; | 1927 lastLogicalLeft = logicalLeftSelectionOffset(rootBlock, logicalHeight())
; |
1928 lastLogicalRight = logicalRightSelectionOffset(rootBlock, logicalHeight(
)); | 1928 lastLogicalRight = logicalRightSelectionOffset(rootBlock, logicalHeight(
)); |
1929 return result; | 1929 return result; |
1930 } | 1930 } |
1931 | 1931 |
1932 if (childrenInline()) | 1932 if (childrenInline()) |
1933 result = toRenderBlockFlow(this)->inlineSelectionGaps(rootBlock, rootBlo
ckPhysicalPosition, offsetFromRootBlock, lastLogicalTop, lastLogicalLeft, lastLo
gicalRight, paintInfo); | 1933 result = toRenderBlockFlow(this)->inlineSelectionGaps(rootBlock, rootBlo
ckPhysicalPosition, offsetFromRootBlock, lastLogicalTop, lastLogicalLeft, lastLo
gicalRight, paintInfo); |
1934 else | 1934 else |
(...skipping 2430 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4365 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render
Object* obj) const | 4365 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render
Object* obj) const |
4366 { | 4366 { |
4367 showRenderObject(); | 4367 showRenderObject(); |
4368 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) | 4368 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) |
4369 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); | 4369 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); |
4370 } | 4370 } |
4371 | 4371 |
4372 #endif | 4372 #endif |
4373 | 4373 |
4374 } // namespace blink | 4374 } // namespace blink |
OLD | NEW |