2010-07-23 fsamuel@chromium.org <fsamuel@chromium.org>
authorjamesr@google.com <jamesr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 23 Jul 2010 20:22:29 +0000 (20:22 +0000)
committerjamesr@google.com <jamesr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 23 Jul 2010 20:22:29 +0000 (20:22 +0000)
commitc72f56c695265df6cc3208f24456cf1b324778a1
tree3b7911d23194f1d03bbf5558d95a1594ef08ace5
parent6c775a35842157d99442c12e52f5098c11d42b9b
2010-07-23  fsamuel@chromium.org  <fsamuel@chromium.org>

        Reviewed by David Hyatt.

        Updated table painting to draw cell layers in the correct order.

        Table Cell Layering
        https://bugs.webkit.org/show_bug.cgi?id=40775

        Tests: tables/layering/paint-test-layering-1.html
               tables/layering/paint-test-layering-2.html

        * accessibility/AccessibilityTable.cpp:
        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
        (WebCore::AccessibilityTable::addChildren):
        (WebCore::AccessibilityTable::cellForColumnAndRow):
        * accessibility/AccessibilityTableCell.cpp:
        (WebCore::AccessibilityTableCell::titleUIElement):
        * accessibility/AccessibilityTableColumn.cpp:
        (WebCore::AccessibilityTableColumn::headerObjectForSection):
        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::recalcColumn):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::splitColumn):
        (WebCore::RenderTable::calcBorderLeft):
        (WebCore::RenderTable::calcBorderRight):
        (WebCore::RenderTable::cellAbove):
        (WebCore::RenderTable::cellBelow):
        (WebCore::RenderTable::cellBefore):
        (WebCore::RenderTable::cellAfter):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::RenderTableSection):
        (WebCore::RenderTableSection::ensureRows):
        (WebCore::RenderTableSection::addCell):
        (WebCore::RenderTableSection::setCellWidths):
        (WebCore::RenderTableSection::calcRowHeight):
        (WebCore::RenderTableSection::layoutRows):
        (WebCore::RenderTableSection::calcOuterBorderTop):
        (WebCore::RenderTableSection::calcOuterBorderBottom):
        (WebCore::RenderTableSection::calcOuterBorderLeft):
        (WebCore::RenderTableSection::calcOuterBorderRight):
        (WebCore::RenderTableSection::firstLineBoxBaseline):
        (WebCore::compareCellPositions):
        (WebCore::RenderTableSection::paintCell):
        (WebCore::RenderTableSection::paintObject):
        (WebCore::RenderTableSection::numColumns):
        (WebCore::RenderTableSection::appendColumn):
        (WebCore::RenderTableSection::splitColumn):
        (WebCore::RenderTableSection::nodeAtPoint):
        * rendering/RenderTableSection.h:
        (WebCore::RenderTableSection::CellStruct::CellStruct):
        (WebCore::RenderTableSection::CellStruct::primaryCell):
        (WebCore::RenderTableSection::CellStruct::hasCells):
        (WebCore::RenderTableSection::primaryCellAt):
2010-07-23  fsamuel@chromium.org  <fsamuel@chromium.org>

        Reviewed by David Hyatt.

        Updated table painting to draw cell layers in the correct order.

        Table Cell Layering
        https://bugs.webkit.org/show_bug.cgi?id=40775

        * platform/chromium-linux/tables/layering/paint-test-layering-1-expected.checksum: Added.
        * platform/chromium-linux/tables/layering/paint-test-layering-1-expected.png: Added.
        * platform/chromium-linux/tables/layering/paint-test-layering-1-expected.txt: Added.
        * platform/chromium-linux/tables/layering/paint-test-layering-2-expected.checksum: Added.
        * platform/chromium-linux/tables/layering/paint-test-layering-2-expected.png: Added.
        * platform/chromium-linux/tables/layering/paint-test-layering-2-expected.txt: Added.
        * platform/chromium-mac/tables/layering/paint-test-layering-1-expected.checksum: Added.
        * platform/chromium-mac/tables/layering/paint-test-layering-1-expected.png: Added.
        * platform/chromium-mac/tables/layering/paint-test-layering-1-expected.txt: Added.
        * platform/chromium-mac/tables/layering/paint-test-layering-2-expected.checksum: Added.
        * platform/chromium-mac/tables/layering/paint-test-layering-2-expected.png: Added.
        * platform/chromium-mac/tables/layering/paint-test-layering-2-expected.txt: Added.
        * platform/gtk/tables/layering/paint-test-layering-1-expected.checksum: Added.
        * platform/gtk/tables/layering/paint-test-layering-1-expected.png: Added.
        * platform/gtk/tables/layering/paint-test-layering-1-expected.txt: Added.
        * platform/gtk/tables/layering/paint-test-layering-2-expected.checksum: Added.
        * platform/gtk/tables/layering/paint-test-layering-2-expected.png: Added.
        * platform/gtk/tables/layering/paint-test-layering-2-expected.txt: Added.
        * platform/mac/tables/layering/paint-test-layering-1-expected.checksum: Added.
        * platform/mac/tables/layering/paint-test-layering-1-expected.png: Added.
        * platform/mac/tables/layering/paint-test-layering-1-expected.txt: Added.
        * platform/mac/tables/layering/paint-test-layering-2-expected.checksum: Added.
        * platform/mac/tables/layering/paint-test-layering-2-expected.png: Added.
        * platform/mac/tables/layering/paint-test-layering-2-expected.txt: Added.
        * tables/layering/paint-test-layering-1.html: Added.
        * tables/layering/paint-test-layering-2.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@63994 268f45cc-cd09-0410-ab3c-d52691b4dbfc
35 files changed:
LayoutTests/ChangeLog
LayoutTests/platform/chromium-linux/tables/layering/paint-test-layering-1-expected.checksum [new file with mode: 0644]
LayoutTests/platform/chromium-linux/tables/layering/paint-test-layering-1-expected.png [new file with mode: 0644]
LayoutTests/platform/chromium-linux/tables/layering/paint-test-layering-1-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium-linux/tables/layering/paint-test-layering-2-expected.checksum [new file with mode: 0644]
LayoutTests/platform/chromium-linux/tables/layering/paint-test-layering-2-expected.png [new file with mode: 0644]
LayoutTests/platform/chromium-linux/tables/layering/paint-test-layering-2-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium-mac/tables/layering/paint-test-layering-1-expected.checksum [new file with mode: 0644]
LayoutTests/platform/chromium-mac/tables/layering/paint-test-layering-1-expected.png [new file with mode: 0644]
LayoutTests/platform/chromium-mac/tables/layering/paint-test-layering-1-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium-mac/tables/layering/paint-test-layering-2-expected.checksum [new file with mode: 0644]
LayoutTests/platform/chromium-mac/tables/layering/paint-test-layering-2-expected.png [new file with mode: 0644]
LayoutTests/platform/chromium-mac/tables/layering/paint-test-layering-2-expected.txt [new file with mode: 0644]
LayoutTests/platform/gtk/tables/layering/paint-test-layering-1-expected.checksum [new file with mode: 0644]
LayoutTests/platform/gtk/tables/layering/paint-test-layering-1-expected.png [new file with mode: 0644]
LayoutTests/platform/gtk/tables/layering/paint-test-layering-1-expected.txt [new file with mode: 0644]
LayoutTests/platform/gtk/tables/layering/paint-test-layering-2-expected.checksum [new file with mode: 0644]
LayoutTests/platform/gtk/tables/layering/paint-test-layering-2-expected.png [new file with mode: 0644]
LayoutTests/platform/gtk/tables/layering/paint-test-layering-2-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/tables/layering/paint-test-layering-1-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/tables/layering/paint-test-layering-1-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/tables/layering/paint-test-layering-1-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/tables/layering/paint-test-layering-2-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/tables/layering/paint-test-layering-2-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/tables/layering/paint-test-layering-2-expected.txt [new file with mode: 0644]
LayoutTests/tables/layering/paint-test-layering-1.html [new file with mode: 0644]
LayoutTests/tables/layering/paint-test-layering-2.html [new file with mode: 0644]
WebCore/ChangeLog
WebCore/accessibility/AccessibilityTable.cpp
WebCore/accessibility/AccessibilityTableCell.cpp
WebCore/accessibility/AccessibilityTableColumn.cpp
WebCore/rendering/AutoTableLayout.cpp
WebCore/rendering/RenderTable.cpp
WebCore/rendering/RenderTableSection.cpp
WebCore/rendering/RenderTableSection.h