Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(843)

Side by Side Diff: Source/core/rendering/RenderBlock.cpp

Issue 176953008: Include the outline into the visual overflow (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 1527 matching lines...) Expand 10 before | Expand all | Expand 10 after
1538 LayoutRect rectToApply; 1538 LayoutRect rectToApply;
1539 if (isHorizontalWritingMode()) 1539 if (isHorizontalWritingMode())
1540 rectToApply = LayoutRect(clientRect.x(), clientRect.y(), 1, max<Layo utUnit>(0, oldClientAfterEdge - clientRect.y())); 1540 rectToApply = LayoutRect(clientRect.x(), clientRect.y(), 1, max<Layo utUnit>(0, oldClientAfterEdge - clientRect.y()));
1541 else 1541 else
1542 rectToApply = LayoutRect(clientRect.x(), clientRect.y(), max<LayoutU nit>(0, oldClientAfterEdge - clientRect.x()), 1); 1542 rectToApply = LayoutRect(clientRect.x(), clientRect.y(), max<LayoutU nit>(0, oldClientAfterEdge - clientRect.x()), 1);
1543 addLayoutOverflow(rectToApply); 1543 addLayoutOverflow(rectToApply);
1544 if (hasRenderOverflow()) 1544 if (hasRenderOverflow())
1545 m_overflow->setLayoutClientAfterEdge(oldClientAfterEdge); 1545 m_overflow->setLayoutClientAfterEdge(oldClientAfterEdge);
1546 } 1546 }
1547 1547
1548 // Add visual overflow from box-shadow and border-image-outset.
1549 addVisualEffectOverflow(); 1548 addVisualEffectOverflow();
1550 1549
1551 // Add visual overflow from theme. 1550 // Add visual overflow from theme.
leviw_travelin_and_unemployed 2014/03/11 22:51:10 If you're going to get rid of the comment above, h
Julien - ping for review 2014/03/12 03:18:58 Done.
1552 addVisualOverflowFromTheme(); 1551 addVisualOverflowFromTheme();
1553 } 1552 }
1554 1553
1555 void RenderBlock::addOverflowFromBlockChildren() 1554 void RenderBlock::addOverflowFromBlockChildren()
1556 { 1555 {
1557 for (RenderBox* child = firstChildBox(); child; child = child->nextSiblingBo x()) { 1556 for (RenderBox* child = firstChildBox(); child; child = child->nextSiblingBo x()) {
1558 if (!child->isFloatingOrOutOfFlowPositioned()) 1557 if (!child->isFloatingOrOutOfFlowPositioned())
1559 addOverflowFromChild(child); 1558 addOverflowFromChild(child);
1560 } 1559 }
1561 } 1560 }
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after
1828 LayoutPoint adjustedPaintOffset = paintOffset + location(); 1827 LayoutPoint adjustedPaintOffset = paintOffset + location();
1829 1828
1830 PaintPhase phase = paintInfo.phase; 1829 PaintPhase phase = paintInfo.phase;
1831 1830
1832 // Check if we need to do anything at all. 1831 // Check if we need to do anything at all.
1833 // FIXME: Could eliminate the isRoot() check if we fix background painting s o that the RenderView 1832 // FIXME: Could eliminate the isRoot() check if we fix background painting s o that the RenderView
1834 // paints the root's background. 1833 // paints the root's background.
1835 if (!isRoot()) { 1834 if (!isRoot()) {
1836 LayoutRect overflowBox = overflowRectForPaintRejection(); 1835 LayoutRect overflowBox = overflowRectForPaintRejection();
1837 flipForWritingMode(overflowBox); 1836 flipForWritingMode(overflowBox);
1838 overflowBox.inflate(maximalOutlineSize(paintInfo.phase));
1839 overflowBox.moveBy(adjustedPaintOffset); 1837 overflowBox.moveBy(adjustedPaintOffset);
1840 if (!overflowBox.intersects(paintInfo.rect)) 1838 if (!overflowBox.intersects(paintInfo.rect))
1841 return; 1839 return;
1842 } 1840 }
1843 1841
1844 // There are some cases where not all clipped visual overflow is accounted f or. 1842 // There are some cases where not all clipped visual overflow is accounted f or.
1845 // FIXME: reduce the number of such cases. 1843 // FIXME: reduce the number of such cases.
1846 ContentsClipBehavior contentsClipBehavior = ForceContentsClip; 1844 ContentsClipBehavior contentsClipBehavior = ForceContentsClip;
1847 if (hasOverflowClip() && !hasControlClip() && !(shouldPaintSelectionGaps() & & phase == PaintPhaseForeground) && !hasCaret()) 1845 if (hasOverflowClip() && !hasControlClip() && !(shouldPaintSelectionGaps() & & phase == PaintPhaseForeground) && !hasCaret())
1848 contentsClipBehavior = SkipContentsClipIfPossible; 1846 contentsClipBehavior = SkipContentsClipIfPossible;
(...skipping 3170 matching lines...) Expand 10 before | Expand all | Expand 10 after
5019 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render Object* obj) const 5017 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render Object* obj) const
5020 { 5018 {
5021 showRenderObject(); 5019 showRenderObject();
5022 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot Box()) 5020 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot Box())
5023 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa bel2, obj, 1); 5021 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa bel2, obj, 1);
5024 } 5022 }
5025 5023
5026 #endif 5024 #endif
5027 5025
5028 } // namespace WebCore 5026 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698