Changeset 31044 in webkit


Ignore:
Timestamp:
Mar 13, 2008 3:14:15 PM (16 years ago)
Author:
mitz@apple.com
Message:

WebCore:

Reviewed by Dave Hyatt.

Test: fast/table/border-collapsing/equal-precedence-resolution.html

  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::collapsedLeftBorder): When calling compareBorders() with borders that may have the same precedence, made sure to pass the border belonging to the earlier (in document order) element first, since compareBorders() prefers the first argument when there is a tie. (WebCore::RenderTableCell::collapsedRightBorder): Ditto. (WebCore::RenderTableCell::collapsedTopBorder): Ditto.

LayoutTests:

Reviewed by Dave Hyatt.

  • fast/table/border-collapsing/equal-precedence-resolution.html: Added.
  • platform/mac/fast/table/border-collapsing/equal-precedence-resolution-expected.checksum: Added.
  • platform/mac/fast/table/border-collapsing/equal-precedence-resolution-expected.png: Added.
  • platform/mac/fast/table/border-collapsing/equal-precedence-resolution-expected.txt: Added.
Location:
trunk
Files:
4 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r30987 r31044  
     12008-03-13  Dan Bernstein  <mitz@apple.com>
     2
     3        Reviewed by Dave Hyatt.
     4
     5        - test for http://bugs.webkit.org/show_bug.cgi?id=17819
     6          Border-collapse: collapse later cell wins on PC, earlier cell on Mac
     7
     8        * fast/table/border-collapsing/equal-precedence-resolution.html: Added.
     9        * platform/mac/fast/table/border-collapsing/equal-precedence-resolution-expected.checksum: Added.
     10        * platform/mac/fast/table/border-collapsing/equal-precedence-resolution-expected.png: Added.
     11        * platform/mac/fast/table/border-collapsing/equal-precedence-resolution-expected.txt: Added.
     12
    1132008-03-12  Justin Garcia  <justin.garcia@apple.com>
    214
  • trunk/WebCore/ChangeLog

    r31042 r31044  
     12008-03-13  Dan Bernstein  <mitz@apple.com>
     2
     3        Reviewed by Dave Hyatt.
     4
     5        - fix http://bugs.webkit.org/show_bug.cgi?id=17819
     6          Border-collapse: collapse later cell wins on PC, earlier cell on Mac
     7
     8        Test: fast/table/border-collapsing/equal-precedence-resolution.html
     9
     10        * rendering/RenderTableCell.cpp:
     11        (WebCore::RenderTableCell::collapsedLeftBorder): When calling
     12        compareBorders() with borders that may have the same precedence, made
     13        sure to pass the border belonging to the earlier (in document order)
     14        element first, since compareBorders() prefers the first argument when
     15        there is a tie.
     16        (WebCore::RenderTableCell::collapsedRightBorder): Ditto.
     17        (WebCore::RenderTableCell::collapsedTopBorder): Ditto.
     18
    1192008-03-13  Adam Roben  <aroben@apple.com>
    220
  • trunk/WebCore/rendering/RenderTableCell.cpp

    r30415 r31044  
    315315    RenderTableCell* prevCell = rtl ? tableElt->cellAfter(this) : tableElt->cellBefore(this);
    316316    if (prevCell) {
    317         result = compareBorders(result, CollapsedBorderValue(&prevCell->style()->borderRight(), BCELL));
     317        result = rtl ? compareBorders(result, CollapsedBorderValue(&prevCell->style()->borderRight(), BCELL)) : compareBorders(CollapsedBorderValue(&prevCell->style()->borderRight(), BCELL), result);
    318318        if (!result.exists())
    319319            return result;
     
    349349        colElt = tableElt->colElement(col() + (rtl ? colSpan() : -1), &startColEdge, &endColEdge);
    350350        if (colElt && (!rtl ? endColEdge : startColEdge)) {
    351             result = compareBorders(result, CollapsedBorderValue(&colElt->style()->borderRight(), BCOL));
     351            result = rtl ? compareBorders(result, CollapsedBorderValue(&colElt->style()->borderRight(), BCOL)) : compareBorders(CollapsedBorderValue(&colElt->style()->borderRight(), BCOL), result);
    352352            if (!result.exists())
    353353                return result;
     
    382382        RenderTableCell* nextCell = rtl ? tableElt->cellBefore(this) : tableElt->cellAfter(this);
    383383        if (nextCell && nextCell->style()) {
    384             result = compareBorders(result, CollapsedBorderValue(&nextCell->style()->borderLeft(), BCELL));
     384            result = rtl ? compareBorders(CollapsedBorderValue(&nextCell->style()->borderLeft(), BCELL), result) : compareBorders(result, CollapsedBorderValue(&nextCell->style()->borderLeft(), BCELL));
    385385            if (!result.exists())
    386386                return result;
     
    417417        colElt = tableElt->colElement(col() + (rtl ? -1 : colSpan()), &startColEdge, &endColEdge);
    418418        if (colElt && (!rtl ? startColEdge : endColEdge)) {
    419             result = compareBorders(result, CollapsedBorderValue(&colElt->style()->borderLeft(), BCOL));
     419            result = rtl ? compareBorders(CollapsedBorderValue(&colElt->style()->borderLeft(), BCOL), result) : compareBorders(result, CollapsedBorderValue(&colElt->style()->borderLeft(), BCOL));
    420420            if (!result.exists())
    421421                return result;
     
    440440    if (prevCell) {
    441441        // (2) A previous cell's bottom border.
    442         result = compareBorders(result, CollapsedBorderValue(&prevCell->style()->borderBottom(), BCELL));
     442        result = compareBorders(CollapsedBorderValue(&prevCell->style()->borderBottom(), BCELL), result);
    443443        if (!result.exists())
    444444            return result;
     
    459459   
    460460        if (prevRow) {
    461             result = compareBorders(result, CollapsedBorderValue(&prevRow->style()->borderBottom(), BROW));
     461            result = compareBorders(CollapsedBorderValue(&prevRow->style()->borderBottom(), BROW), result);
    462462            if (!result.exists())
    463463                return result;
     
    476476        currSection = table()->sectionAbove(currSection);
    477477        if (currSection) {
    478             result = compareBorders(result, CollapsedBorderValue(&currSection->style()->borderBottom(), BROWGROUP));
     478            result = compareBorders(CollapsedBorderValue(&currSection->style()->borderBottom(), BROWGROUP), result);
    479479            if (!result.exists())
    480480                return result;
Note: See TracChangeset for help on using the changeset viewer.