Changeset 120835 in webkit
- Timestamp:
- Jun 20, 2012 10:49:18 AM (12 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r120817 r120835 1 2012-06-20 Alexis Menard <alexis.menard@openbossa.org> 2 3 [CSS3 Backgrounds and Borders] Implement box-decoration-break rendering. 4 https://bugs.webkit.org/show_bug.cgi?id=88228 5 6 Reviewed by Eric Seidel. 7 8 Add new tests to cover the feature. 9 10 * fast/box-decoration-break/box-decoration-break-rendering-expected.html: Added. 11 * fast/box-decoration-break/box-decoration-break-rendering.html: Added. 12 1 13 2012-06-20 Hans Wennborg <hans@chromium.org> 2 14 -
trunk/Source/WebCore/ChangeLog
r120832 r120835 1 2012-06-20 Alexis Menard <alexis.menard@openbossa.org> 2 3 [CSS3 Backgrounds and Borders] Implement box-decoration-break rendering. 4 https://bugs.webkit.org/show_bug.cgi?id=88228 5 6 Reviewed by Eric Seidel. 7 8 Implement the new CSS property box-decoration-break. It modifies 9 where we decide whether the borders needs to be sliced or not by 10 checking if the box-decoration-break is set to clone. If it's the case 11 then we need to explicitely redraw all edges. 12 13 Test: fast/box-decoration-break/box-decoration-break-rendering.html 14 15 * rendering/InlineFlowBox.cpp: 16 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): 17 (WebCore::InlineFlowBox::paintFillLayer): 18 1 19 2012-06-20 Julien Chaffraix <jchaffraix@webkit.org> 2 20 -
trunk/Source/WebCore/rendering/InlineFlowBox.cpp
r120824 r120835 317 317 RenderLineBoxList* lineBoxList = rendererLineBoxes(); 318 318 if (!lineBoxList->firstLineBox()->isConstructed() && !renderer()->isInlineElementContinuation()) { 319 #if ENABLE(CSS_BOX_DECORATION_BREAK) 320 if (renderer()->style()->boxDecorationBreak() == DCLONE) 321 includeLeftEdge = includeRightEdge = true; 322 else 323 #endif 319 324 if (ltr && lineBoxList->firstLineBox() == this) 320 325 includeLeftEdge = true; … … 331 336 // (2) The logicallyLastRun is not a descendant of this renderer. 332 337 // (3) The logicallyLastRun is a descendant of this renderer, but it is the last child of this renderer and it does not wrap to the next line. 333 338 #if ENABLE(CSS_BOX_DECORATION_BREAK) 339 // (4) The decoration break is set to clone therefore there will be borders on every sides. 340 if (renderer()->style()->boxDecorationBreak() == DCLONE) 341 includeLeftEdge = includeRightEdge = true; 342 else 343 #endif 334 344 if (ltr) { 335 345 if (!nextLineBox() … … 1103 1113 if ((!hasFillImage && !renderer()->style()->hasBorderRadius()) || (!prevLineBox() && !nextLineBox()) || !parent()) 1104 1114 boxModelObject()->paintFillLayerExtended(paintInfo, c, fillLayer, rect, BackgroundBleedNone, this, rect.size(), op); 1115 #if ENABLE(CSS_BOX_DECORATION_BREAK) 1116 else if (renderer()->style()->boxDecorationBreak() == DCLONE) { 1117 GraphicsContextStateSaver stateSaver(*paintInfo.context); 1118 paintInfo.context->clip(LayoutRect(rect.x(), rect.y(), width(), height())); 1119 boxModelObject()->paintFillLayerExtended(paintInfo, c, fillLayer, rect, BackgroundBleedNone, this, rect.size(), op); 1120 } 1121 #endif 1105 1122 else { 1106 1123 // We have a fill image that spans multiple lines.
Note: See TracChangeset
for help on using the changeset viewer.