Changeset 105021 in webkit


Ignore:
Timestamp:
Jan 14, 2012 11:13:35 AM (12 years ago)
Author:
robert@webkit.org
Message:

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

Reviewed by Julien Chaffraix.

Source/WebCore:

Paint the outline color for row, row-group, header-group and footer-group
elements.

Tests: css2.1/20110323/outline-color-applies-to-001.htm

css2.1/20110323/outline-color-applies-to-002.htm
css2.1/20110323/outline-color-applies-to-003.htm
css2.1/20110323/outline-color-applies-to-004.htm
css2.1/20110323/outline-color-applies-to-005.htm
css2.1/20110323/outline-color-applies-to-006.htm
css2.1/20110323/outline-color-applies-to-007.htm
css2.1/20110323/outline-color-applies-to-008.htm
css2.1/20110323/outline-color-applies-to-009.htm
css2.1/20110323/outline-color-applies-to-010.htm
(There is no outline-color-applies-to-011.htm in the test suite.)
css2.1/20110323/outline-color-applies-to-012.htm
css2.1/20110323/outline-color-applies-to-013.htm
css2.1/20110323/outline-color-applies-to-014.htm
css2.1/20110323/outline-color-applies-to-015.htm
fast/css/outline-color-self-painting-row.htm

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::paintOutlineForRowIfNeeded): Wrapper function for painting the outline for the row.

This is used by RenderTableSection::paintObject and RenderTableRow::paint

(WebCore::RenderTableRow::paint): For rows with a self-painting layer, paint the outline. Tested by

fast/css/outline-color-self-painting-row.htm.

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::paint): Paint the outline for header-group, row-group and footer-groups.
(WebCore::RenderTableSection::paintObject): When iterating through the cells paint the outline of rows as required.
Doing it here avoids the need to walk the RenderTableSection's tree separately elsewhere.

LayoutTests:

  • css2.1/20110323/outline-color-applies-to-001-expected.html: Added.
  • css2.1/20110323/outline-color-applies-to-001.htm: Added.
  • css2.1/20110323/outline-color-applies-to-002-expected.html: Added.
  • css2.1/20110323/outline-color-applies-to-002.htm: Added.
  • css2.1/20110323/outline-color-applies-to-003-expected.html: Added.
  • css2.1/20110323/outline-color-applies-to-003.htm: Added.
  • css2.1/20110323/outline-color-applies-to-004-expected.html: Added.
  • css2.1/20110323/outline-color-applies-to-004.htm: Added.
  • css2.1/20110323/outline-color-applies-to-005-expected.html: Added.
  • css2.1/20110323/outline-color-applies-to-005.htm: Added.
  • css2.1/20110323/outline-color-applies-to-006-expected.html: Added.
  • css2.1/20110323/outline-color-applies-to-006.htm: Added.
  • css2.1/20110323/outline-color-applies-to-007-expected.html: Added.
  • css2.1/20110323/outline-color-applies-to-007.htm: Added.
  • css2.1/20110323/outline-color-applies-to-008-expected.html: Added.
  • css2.1/20110323/outline-color-applies-to-008.htm: Added.
  • css2.1/20110323/outline-color-applies-to-009-expected.html: Added.
  • css2.1/20110323/outline-color-applies-to-009.htm: Added.
  • css2.1/20110323/outline-color-applies-to-010-expected.html: Added.
  • css2.1/20110323/outline-color-applies-to-010.htm: Added.
  • css2.1/20110323/outline-color-applies-to-012-expected.html: Added.
  • css2.1/20110323/outline-color-applies-to-012.htm: Added.
  • css2.1/20110323/outline-color-applies-to-013-expected.html: Added.
  • css2.1/20110323/outline-color-applies-to-013.htm: Added.
  • css2.1/20110323/outline-color-applies-to-014-expected.html: Added.
  • css2.1/20110323/outline-color-applies-to-014.htm: Added.
  • css2.1/20110323/outline-color-applies-to-015-expected.html: Added.
  • css2.1/20110323/outline-color-applies-to-015.htm: Added.
  • fast/css/outline-color-self-painting-row-expected.html: Added.
  • fast/css/outline-color-self-painting-row.htm: Added.
Location:
trunk
Files:
30 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r105016 r105021  
     12011-11-09  Robert Hogan  <robert@webkit.org>
     2
     3        CSS 2.1 failure: outline-color-applies-to* tests fail
     4        https://bugs.webkit.org/show_bug.cgi?id=71944
     5
     6        Reviewed by Julien Chaffraix.
     7
     8        * css2.1/20110323/outline-color-applies-to-001-expected.html: Added.
     9        * css2.1/20110323/outline-color-applies-to-001.htm: Added.
     10        * css2.1/20110323/outline-color-applies-to-002-expected.html: Added.
     11        * css2.1/20110323/outline-color-applies-to-002.htm: Added.
     12        * css2.1/20110323/outline-color-applies-to-003-expected.html: Added.
     13        * css2.1/20110323/outline-color-applies-to-003.htm: Added.
     14        * css2.1/20110323/outline-color-applies-to-004-expected.html: Added.
     15        * css2.1/20110323/outline-color-applies-to-004.htm: Added.
     16        * css2.1/20110323/outline-color-applies-to-005-expected.html: Added.
     17        * css2.1/20110323/outline-color-applies-to-005.htm: Added.
     18        * css2.1/20110323/outline-color-applies-to-006-expected.html: Added.
     19        * css2.1/20110323/outline-color-applies-to-006.htm: Added.
     20        * css2.1/20110323/outline-color-applies-to-007-expected.html: Added.
     21        * css2.1/20110323/outline-color-applies-to-007.htm: Added.
     22        * css2.1/20110323/outline-color-applies-to-008-expected.html: Added.
     23        * css2.1/20110323/outline-color-applies-to-008.htm: Added.
     24        * css2.1/20110323/outline-color-applies-to-009-expected.html: Added.
     25        * css2.1/20110323/outline-color-applies-to-009.htm: Added.
     26        * css2.1/20110323/outline-color-applies-to-010-expected.html: Added.
     27        * css2.1/20110323/outline-color-applies-to-010.htm: Added.
     28        * css2.1/20110323/outline-color-applies-to-012-expected.html: Added.
     29        * css2.1/20110323/outline-color-applies-to-012.htm: Added.
     30        * css2.1/20110323/outline-color-applies-to-013-expected.html: Added.
     31        * css2.1/20110323/outline-color-applies-to-013.htm: Added.
     32        * css2.1/20110323/outline-color-applies-to-014-expected.html: Added.
     33        * css2.1/20110323/outline-color-applies-to-014.htm: Added.
     34        * css2.1/20110323/outline-color-applies-to-015-expected.html: Added.
     35        * css2.1/20110323/outline-color-applies-to-015.htm: Added.
     36        * fast/css/outline-color-self-painting-row-expected.html: Added.
     37        * fast/css/outline-color-self-painting-row.htm: Added.
     38
    1392012-01-13  Ojan Vafai  <ojan@chromium.org>
    240
  • trunk/Source/WebCore/ChangeLog

    r105019 r105021  
     12011-11-09  Robert Hogan  <robert@webkit.org>
     2
     3        CSS 2.1 failure: outline-color-applies-to* tests fail
     4        https://bugs.webkit.org/show_bug.cgi?id=71944
     5
     6        Reviewed by Julien Chaffraix.
     7
     8        Paint the outline color for row, row-group, header-group and footer-group
     9        elements.
     10
     11        Tests: css2.1/20110323/outline-color-applies-to-001.htm
     12               css2.1/20110323/outline-color-applies-to-002.htm
     13               css2.1/20110323/outline-color-applies-to-003.htm
     14               css2.1/20110323/outline-color-applies-to-004.htm
     15               css2.1/20110323/outline-color-applies-to-005.htm
     16               css2.1/20110323/outline-color-applies-to-006.htm
     17               css2.1/20110323/outline-color-applies-to-007.htm
     18               css2.1/20110323/outline-color-applies-to-008.htm
     19               css2.1/20110323/outline-color-applies-to-009.htm
     20               css2.1/20110323/outline-color-applies-to-010.htm
     21               (There is no outline-color-applies-to-011.htm in the test suite.)
     22               css2.1/20110323/outline-color-applies-to-012.htm
     23               css2.1/20110323/outline-color-applies-to-013.htm
     24               css2.1/20110323/outline-color-applies-to-014.htm
     25               css2.1/20110323/outline-color-applies-to-015.htm
     26               fast/css/outline-color-self-painting-row.htm
     27
     28        * rendering/RenderTableRow.cpp:
     29        (WebCore::RenderTableRow::paintOutlineForRowIfNeeded): Wrapper function for painting the outline for the row.
     30         This is used by RenderTableSection::paintObject and RenderTableRow::paint
     31        (WebCore::RenderTableRow::paint): For rows with a self-painting layer, paint the outline. Tested by
     32         fast/css/outline-color-self-painting-row.htm.
     33        * rendering/RenderTableSection.cpp:
     34        (WebCore::RenderTableSection::paint): Paint the outline for header-group, row-group and footer-groups.
     35        (WebCore::RenderTableSection::paintObject): When iterating through the cells paint the outline of rows as required.
     36        Doing it here avoids the need to walk the RenderTableSection's tree separately elsewhere.
     37
    1382012-01-14  Simon Fraser  <simon.fraser@apple.com>
    239
  • trunk/Source/WebCore/rendering/RenderTableRow.cpp

    r100630 r105021  
    219219}
    220220
     221void RenderTableRow::paintOutlineForRowIfNeeded(PaintInfo& paintInfo, const LayoutPoint& paintOffset)
     222{
     223    PaintPhase paintPhase = paintInfo.phase;
     224    if ((paintPhase == PaintPhaseOutline || paintPhase == PaintPhaseSelfOutline) && style()->visibility() == VISIBLE)
     225        paintOutline(paintInfo.context, LayoutRect(paintOffset, size()));
     226}
     227
    221228void RenderTableRow::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset)
    222229{
    223230    ASSERT(hasSelfPaintingLayer());
    224     if (!layer())
    225         return;
     231
     232    paintOutlineForRowIfNeeded(paintInfo, paintOffset);
    226233    for (RenderObject* child = firstChild(); child; child = child->nextSibling()) {
    227234        if (child->isTableCell()) {
  • trunk/Source/WebCore/rendering/RenderTableRow.h

    r103630 r105021  
    4141
    4242    void updateBeforeAndAfterContent();
     43    void paintOutlineForRowIfNeeded(PaintInfo&, const LayoutPoint&);
    4344
    4445private:
  • trunk/Source/WebCore/rendering/RenderTableSection.cpp

    r103327 r105021  
    956956    if (pushedClip)
    957957        popContentsClip(paintInfo, phase, adjustedPaintOffset);
     958
     959    if ((phase == PaintPhaseOutline || phase == PaintPhaseSelfOutline) && style()->visibility() == VISIBLE)
     960        paintOutline(paintInfo.context, LayoutRect(adjustedPaintOffset, size()));
    958961}
    959962
     
    10861089                // Draw the dirty cells in the order that they appear.
    10871090                for (unsigned r = startrow; r < endrow; r++) {
     1091                    RenderTableRow* row = m_grid[r].rowRenderer;
     1092                    if (row && !row->hasSelfPaintingLayer())
     1093                        row->paintOutlineForRowIfNeeded(paintInfo, paintOffset);
    10881094                    for (unsigned c = startcol; c < endcol; c++) {
    10891095                        CellStruct& current = cellAt(r, c);
     
    11061112
    11071113            for (unsigned r = startrow; r < endrow; r++) {
     1114                RenderTableRow* row = m_grid[r].rowRenderer;
     1115                if (row && !row->hasSelfPaintingLayer())
     1116                    row->paintOutlineForRowIfNeeded(paintInfo, paintOffset);
    11081117                for (unsigned c = startcol; c < endcol; c++) {
    11091118                    CellStruct& current = cellAt(r, c);
Note: See TracChangeset for help on using the changeset viewer.