[webkit-changes] [WebKit/WebKit] 86dc22: Use table direction, not section direction, for or...

fantasai noreply at github.com
Wed Sep 18 15:20:38 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 86dc22fbb4b7f2d718008ecf8545701f98c50cc9
      https://github.com/WebKit/WebKit/commit/86dc22fbb4b7f2d718008ecf8545701f98c50cc9
  Author: Elika Etemad <fantasai.bugs at inkedblade.net>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M LayoutTests/TestExpectations
    M LayoutTests/fast/table/border-collapsing/first-cell-left-border-hidden-table-ltr-section-rtl.html
    M LayoutTests/fast/table/border-collapsing/last-cell-left-border-hidden-table-ltr-section-rtl.html
    A LayoutTests/fast/table/paint-section-borders-without-cells-vertical-rl-rtl-expected.html
    A LayoutTests/fast/table/paint-section-borders-without-cells-vertical-rl-rtl.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/table-progression-htb-001-expected.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/table-progression-htb-001.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/table-progression-htb-002-expected.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/table-progression-htb-002.html
    M Source/WebCore/rendering/RenderTable.cpp
    M Source/WebCore/rendering/RenderTable.h
    M Source/WebCore/rendering/RenderTableCell.cpp
    M Source/WebCore/rendering/RenderTableCell.h
    M Source/WebCore/rendering/RenderTableCellInlines.h
    M Source/WebCore/rendering/RenderTableCol.cpp
    M Source/WebCore/rendering/RenderTableRow.cpp
    M Source/WebCore/rendering/RenderTableRowInlines.h
    M Source/WebCore/rendering/RenderTableSection.cpp
    M Source/WebCore/rendering/RenderTableSection.h
    M Source/WebCore/rendering/RenderTableSectionInlines.h
    M Source/WebCore/rendering/style/RenderStyle.cpp
    M Source/WebCore/rendering/style/RenderStyle.h
    M Source/WebCore/rendering/style/RenderStyleInlines.h

  Log Message:
  -----------
  Use table direction, not section direction, for ordering cells and borders.
https://bugs.webkit.org/show_bug.cgi?id=96691
https://bugs.webkit.org/show_bug.cgi?id=79272
rdar://problem/99343532

Reviewed by Alan Baradlay.

This commit switches table layout to use the direction of the table,
not the section.

In order to make this readable, it updates RenderStyle's border accessors
to accept an optional style argument, from which it takes the writing mode
for directional conversion.

Co-Authored-By: Julian Chaffraix <jchaffraix at webkit.org>

* LayoutTests/TestExpectations:
* LayoutTests/fast/table/border-collapsing/first-cell-left-border-hidden-table-ltr-section-rtl.html:
* LayoutTests/fast/table/border-collapsing/last-cell-left-border-hidden-table-ltr-section-rtl.html:
* LayoutTests/fast/table/paint-section-borders-without-cells-vertical-rl-rtl-expected.html: Added.
* LayoutTests/fast/table/paint-section-borders-without-cells-vertical-rl-rtl.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/table-progression-htb-001-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/table-progression-htb-001.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/table-progression-htb-002-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/table-progression-htb-002.html: Added.
* Source/WebCore/rendering/RenderTable.cpp:
(WebCore::RenderTable::calcBorderStart const):
(WebCore::RenderTable::calcBorderEnd const):
(WebCore::RenderTable::tableStartBorderAdjoiningCell const): Deleted.
(WebCore::RenderTable::tableEndBorderAdjoiningCell const): Deleted.
* Source/WebCore/rendering/RenderTable.h:
(WebCore::isDirectionSame): Deleted.
* Source/WebCore/rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::hasStartBorderAdjoiningTable const):
(WebCore::RenderTableCell::hasEndBorderAdjoiningTable const):
(WebCore::RenderTableCell::computeCollapsedStartBorder const):
(WebCore::RenderTableCell::computeCollapsedEndBorder const):
(WebCore::RenderTableCell::computeCollapsedBeforeBorder const):
(WebCore::RenderTableCell::computeCollapsedAfterBorder const):
* Source/WebCore/rendering/RenderTableCell.h:
* Source/WebCore/rendering/RenderTableCellInlines.h:
(WebCore::RenderTableCell::borderAdjoiningCellAfter):
(WebCore::RenderTableCell::borderAdjoiningCellBefore):
(WebCore::RenderTableCell::borderAdjoiningTableEnd const):
(WebCore::RenderTableCell::borderAdjoiningTableStart const):
* Source/WebCore/rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::borderAdjoiningCellStartBorder const):
(WebCore::RenderTableCol::borderAdjoiningCellEndBorder const):
(WebCore::RenderTableCol::borderAdjoiningCellBefore const):
(WebCore::RenderTableCol::borderAdjoiningCellAfter const):
* Source/WebCore/rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::borderAdjoiningStartCell const):
(WebCore::RenderTableRow::borderAdjoiningEndCell const):
* Source/WebCore/rendering/RenderTableRowInlines.h:
(WebCore::RenderTableRow::borderAdjoiningTableStart const):
(WebCore::RenderTableRow::borderAdjoiningTableEnd const):
* Source/WebCore/rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcOuterBorderBefore const):
(WebCore::RenderTableSection::calcOuterBorderAfter const):
(WebCore::RenderTableSection::calcOuterBorderStart const):
(WebCore::RenderTableSection::calcOuterBorderEnd const):
(WebCore::RenderTableSection::logicalRectForWritingModeAndDirection const):
(WebCore::RenderTableSection::offsetLeftForRowGroupBorder):
(WebCore::RenderTableSection::offsetTopForRowGroupBorder):
(WebCore::RenderTableSection::verticalRowGroupBorderHeight):
(WebCore::RenderTableSection::horizontalRowGroupBorderWidth):
(WebCore::RenderTableSection::paintObject):
(WebCore::RenderTableSection::borderAdjoiningStartCell const):
(WebCore::RenderTableSection::borderAdjoiningEndCell const):
(WebCore::RenderTableSection::setLogicalPositionForCell const):
(WebCore::RenderTableSection::firstRowCellAdjoiningTableStart const): Deleted.
(WebCore::RenderTableSection::firstRowCellAdjoiningTableEnd const): Deleted.
* Source/WebCore/rendering/RenderTableSection.h:
* Source/WebCore/rendering/RenderTableSectionInlines.h:
(WebCore::RenderTableSection::borderAdjoiningTableEnd const):
(WebCore::RenderTableSection::borderAdjoiningTableStart const):
* Source/WebCore/rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::borderBefore const):
(WebCore::RenderStyle::borderAfter const):
(WebCore::RenderStyle::borderStart const):
(WebCore::RenderStyle::borderEnd const):
* Source/WebCore/rendering/style/RenderStyle.h:
* Source/WebCore/rendering/style/RenderStyleInlines.h:
(WebCore::RenderStyle::borderAfter const):
(WebCore::RenderStyle::borderBefore const):
(WebCore::RenderStyle::borderEnd const):
(WebCore::RenderStyle::borderStart const):

Canonical link: https://commits.webkit.org/283875@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list