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 1479 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1490 } | 1490 } |
1491 | 1491 |
1492 addVisualEffectOverflow(); | 1492 addVisualEffectOverflow(); |
1493 | 1493 |
1494 addVisualOverflowFromTheme(); | 1494 addVisualOverflowFromTheme(); |
1495 } | 1495 } |
1496 | 1496 |
1497 void RenderBlock::addOverflowFromBlockChildren() | 1497 void RenderBlock::addOverflowFromBlockChildren() |
1498 { | 1498 { |
1499 for (RenderBox* child = firstChildBox(); child; child = child->nextSiblingBo
x()) { | 1499 for (RenderBox* child = firstChildBox(); child; child = child->nextSiblingBo
x()) { |
1500 if (!child->isFloatingOrOutOfFlowPositioned()) | 1500 if (!child->isFloatingOrOutOfFlowPositioned() && !child->isColumnSpanAll
()) |
1501 addOverflowFromChild(child); | 1501 addOverflowFromChild(child); |
1502 } | 1502 } |
1503 } | 1503 } |
1504 | 1504 |
1505 void RenderBlock::addOverflowFromPositionedObjects() | 1505 void RenderBlock::addOverflowFromPositionedObjects() |
1506 { | 1506 { |
1507 TrackedRendererListHashSet* positionedDescendants = positionedObjects(); | 1507 TrackedRendererListHashSet* positionedDescendants = positionedObjects(); |
1508 if (!positionedDescendants) | 1508 if (!positionedDescendants) |
1509 return; | 1509 return; |
1510 | 1510 |
(...skipping 15 matching lines...) Expand all Loading... |
1526 | 1526 |
1527 IntRect inflatedRect = pixelSnappedBorderBoxRect(); | 1527 IntRect inflatedRect = pixelSnappedBorderBoxRect(); |
1528 RenderTheme::theme().adjustPaintInvalidationRect(this, inflatedRect); | 1528 RenderTheme::theme().adjustPaintInvalidationRect(this, inflatedRect); |
1529 addVisualOverflow(inflatedRect); | 1529 addVisualOverflow(inflatedRect); |
1530 } | 1530 } |
1531 | 1531 |
1532 bool RenderBlock::createsNewFormattingContext() const | 1532 bool RenderBlock::createsNewFormattingContext() const |
1533 { | 1533 { |
1534 return isInlineBlockOrInlineTable() || isFloatingOrOutOfFlowPositioned() ||
hasOverflowClip() || isFlexItemIncludingDeprecated() | 1534 return isInlineBlockOrInlineTable() || isFloatingOrOutOfFlowPositioned() ||
hasOverflowClip() || isFlexItemIncludingDeprecated() |
1535 || style()->specifiesColumns() || isRenderFlowThread() || isTableCell()
|| isTableCaption() || isFieldset() || isWritingModeRoot() | 1535 || style()->specifiesColumns() || isRenderFlowThread() || isTableCell()
|| isTableCaption() || isFieldset() || isWritingModeRoot() |
1536 || isDocumentElement() || style()->columnSpan() || isGridItem(); | 1536 || isDocumentElement() || (document().regionBasedColumnsEnabled() ? isCo
lumnSpanAll() : style()->columnSpan()) || isGridItem(); |
1537 } | 1537 } |
1538 | 1538 |
1539 void RenderBlock::updateBlockChildDirtyBitsBeforeLayout(bool relayoutChildren, R
enderBox& child) | 1539 void RenderBlock::updateBlockChildDirtyBitsBeforeLayout(bool relayoutChildren, R
enderBox& child) |
1540 { | 1540 { |
1541 // FIXME: Technically percentage height objects only need a relayout if thei
r percentage isn't going to be turned into | 1541 // FIXME: Technically percentage height objects only need a relayout if thei
r percentage isn't going to be turned into |
1542 // an auto value. Add a method to determine this, so that we can avoid the r
elayout. | 1542 // an auto value. Add a method to determine this, so that we can avoid the r
elayout. |
1543 bool hasRelativeLogicalHeight = child.hasRelativeLogicalHeight() || (child.i
sAnonymous() && this->hasRelativeLogicalHeight()); | 1543 bool hasRelativeLogicalHeight = child.hasRelativeLogicalHeight() || (child.i
sAnonymous() && this->hasRelativeLogicalHeight()); |
1544 if (relayoutChildren || (hasRelativeLogicalHeight && !isRenderView())) | 1544 if (relayoutChildren || (hasRelativeLogicalHeight && !isRenderView())) |
1545 child.setChildNeedsLayout(MarkOnlyThis); | 1545 child.setChildNeedsLayout(MarkOnlyThis); |
1546 | 1546 |
(...skipping 811 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2358 // We have to hit-test our line boxes. | 2358 // We have to hit-test our line boxes. |
2359 if (m_lineBoxes.hitTest(this, request, result, locationInContainer, accu
mulatedOffset, hitTestAction)) | 2359 if (m_lineBoxes.hitTest(this, request, result, locationInContainer, accu
mulatedOffset, hitTestAction)) |
2360 return true; | 2360 return true; |
2361 } else { | 2361 } else { |
2362 // Hit test our children. | 2362 // Hit test our children. |
2363 HitTestAction childHitTest = hitTestAction; | 2363 HitTestAction childHitTest = hitTestAction; |
2364 if (hitTestAction == HitTestChildBlockBackgrounds) | 2364 if (hitTestAction == HitTestChildBlockBackgrounds) |
2365 childHitTest = HitTestChildBlockBackground; | 2365 childHitTest = HitTestChildBlockBackground; |
2366 for (RenderBox* child = lastChildBox(); child; child = child->previousSi
blingBox()) { | 2366 for (RenderBox* child = lastChildBox(); child; child = child->previousSi
blingBox()) { |
2367 LayoutPoint childPoint = flipForWritingModeForChild(child, accumulat
edOffset); | 2367 LayoutPoint childPoint = flipForWritingModeForChild(child, accumulat
edOffset); |
2368 if (!child->hasSelfPaintingLayer() && !child->isFloating() && child-
>nodeAtPoint(request, result, locationInContainer, childPoint, childHitTest)) | 2368 if (!child->hasSelfPaintingLayer() && !child->isFloating() && !child
->isColumnSpanAll() && child->nodeAtPoint(request, result, locationInContainer,
childPoint, childHitTest)) |
2369 return true; | 2369 return true; |
2370 } | 2370 } |
2371 } | 2371 } |
2372 | 2372 |
2373 return false; | 2373 return false; |
2374 } | 2374 } |
2375 | 2375 |
2376 Position RenderBlock::positionForBox(InlineBox *box, bool start) const | 2376 Position RenderBlock::positionForBox(InlineBox *box, bool start) const |
2377 { | 2377 { |
2378 if (!box) | 2378 if (!box) |
(...skipping 1536 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3915 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render
Object* obj) const | 3915 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render
Object* obj) const |
3916 { | 3916 { |
3917 showRenderObject(); | 3917 showRenderObject(); |
3918 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) | 3918 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) |
3919 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); | 3919 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); |
3920 } | 3920 } |
3921 | 3921 |
3922 #endif | 3922 #endif |
3923 | 3923 |
3924 } // namespace blink | 3924 } // namespace blink |
OLD | NEW |