Changeset 102526 in webkit


Ignore:
Timestamp:
Dec 10, 2011 12:30:35 PM (12 years ago)
Author:
robert@webkit.org
Message:

CSS 2.1 failure: outline-color-* tests fail
https://bugs.webkit.org/show_bug.cgi?id=71931

Source/WebCore:

Reviewed by Julien Chaffraix.

Test: css2.1/20110323/outline-color-001.html

WebKit didn't paint the top block in this series of tests because it ignored the outline
of objects with a zero size. Fix this by taking account of both offset and width of the
outline when deciding whether to paint it.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::paintOutline): paint the outline even when the block has zero size

LayoutTests:

Add outline-color-001.htm to catch regressions against displaying outlines
on objects with zero size. The rest of the outline-color-* test series will
be landed separately.

Reviewed by Julien Chaffraix.

  • css2.1/20110323/outline-color-001-expected.html: Added.
  • css2.1/20110323/outline-color-001.htm: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r102524 r102526  
     12011-11-09  Robert Hogan  <robert@webkit.org>
     2
     3        CSS 2.1 failure: outline-color-* tests fail
     4        https://bugs.webkit.org/show_bug.cgi?id=71931
     5
     6        Add outline-color-001.htm to catch regressions against displaying outlines
     7        on objects with zero size. The rest of the outline-color-* test series will
     8        be landed separately.
     9
     10        Reviewed by Julien Chaffraix.
     11
     12        * css2.1/20110323/outline-color-001-expected.html: Added.
     13        * css2.1/20110323/outline-color-001.htm: Added.
     14
    1152011-12-10  Alan Stearns  <stearns@adobe.com>
    216
  • trunk/Source/WebCore/ChangeLog

    r102523 r102526  
     12011-11-09  Robert Hogan  <robert@webkit.org>
     2
     3        CSS 2.1 failure: outline-color-* tests fail
     4        https://bugs.webkit.org/show_bug.cgi?id=71931
     5
     6        Reviewed by Julien Chaffraix.
     7
     8        Test: css2.1/20110323/outline-color-001.html
     9
     10        WebKit didn't paint the top block in this series of tests because it ignored the outline
     11        of objects with a zero size. Fix this by taking account of both offset and width of the
     12        outline when deciding whether to paint it.
     13
     14        * rendering/RenderObject.cpp:
     15        (WebCore::RenderObject::paintOutline): paint the outline even when the block has zero size
     16
    1172011-12-10   Arko Saha  <arko@motorola.com>
    218
  • trunk/Source/WebCore/rendering/RenderObject.cpp

    r102364 r102526  
    11311131    Color outlineColor = styleToUse->visitedDependentColor(CSSPropertyOutlineColor);
    11321132
    1133     LayoutUnit offset = styleToUse->outlineOffset();
     1133    LayoutUnit outlineOffset = styleToUse->outlineOffset();
    11341134
    11351135    if (styleToUse->outlineStyleIsAuto() || hasOutlineAnnotation()) {
     
    11441144
    11451145    LayoutRect inner = paintRect;
    1146     inner.inflate(offset);
    1147 
    1148     if (inner.isEmpty())
    1149         return;
     1146    inner.inflate(outlineOffset);
    11501147
    11511148    LayoutRect outer = inner;
    11521149    outer.inflate(outlineWidth);
     1150
     1151    // FIXME: This prevents outlines from painting inside the object. See bug 12042
     1152    if (outer.isEmpty())
     1153        return;
    11531154
    11541155    bool useTransparencyLayer = outlineColor.hasAlpha();
Note: See TracChangeset for help on using the changeset viewer.