RenderBox::haveSameDirection is used only by table items.
authorzalan@apple.com <zalan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 26 Jul 2016 02:15:56 +0000 (02:15 +0000)
committerzalan@apple.com <zalan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 26 Jul 2016 02:15:56 +0000 (02:15 +0000)
https://bugs.webkit.org/show_bug.cgi?id=160141

Reviewed by Simon Fraser.

Remove RenderBox::haveSameDirection() since it's used only by RenderTable*
classes. The new stand alone function (with 2 arguments) now checks if both of
the objects are valid.

No change in functionality.

* rendering/RenderBox.h:
(WebCore::RenderBox::hasSameDirectionAs): Deleted.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::tableStartBorderAdjoiningCell):
(WebCore::RenderTable::tableEndBorderAdjoiningCell):
* rendering/RenderTable.h:
(WebCore::haveSameDirection):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::hasStartBorderAdjoiningTable):
(WebCore::RenderTableCell::hasEndBorderAdjoiningTable):
* rendering/RenderTableCell.h:
(WebCore::RenderTableCell::borderAdjoiningTableStart):
(WebCore::RenderTableCell::borderAdjoiningTableEnd):
* rendering/RenderTableRow.h:
(WebCore::RenderTableRow::borderAdjoiningTableStart):
(WebCore::RenderTableRow::borderAdjoiningTableEnd):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::borderAdjoiningStartCell):
(WebCore::RenderTableSection::borderAdjoiningEndCell):
(WebCore::RenderTableSection::firstRowCellAdjoiningTableStart):
(WebCore::RenderTableSection::firstRowCellAdjoiningTableEnd):
* rendering/RenderTableSection.h:
(WebCore::RenderTableSection::borderAdjoiningTableStart):
(WebCore::RenderTableSection::borderAdjoiningTableEnd):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@203705 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderBox.h
Source/WebCore/rendering/RenderTable.cpp
Source/WebCore/rendering/RenderTable.h
Source/WebCore/rendering/RenderTableCell.cpp
Source/WebCore/rendering/RenderTableCell.h
Source/WebCore/rendering/RenderTableRow.h
Source/WebCore/rendering/RenderTableSection.cpp
Source/WebCore/rendering/RenderTableSection.h

index e2bc9ab..a9fa384 100644 (file)
@@ -1,3 +1,41 @@
+2016-07-25  Zalan Bujtas  <zalan@apple.com>
+
+        RenderBox::haveSameDirection is used only by table items.
+        https://bugs.webkit.org/show_bug.cgi?id=160141
+
+        Reviewed by Simon Fraser.
+
+        Remove RenderBox::haveSameDirection() since it's used only by RenderTable*
+        classes. The new stand alone function (with 2 arguments) now checks if both of
+        the objects are valid. 
+
+        No change in functionality.
+
+        * rendering/RenderBox.h:
+        (WebCore::RenderBox::hasSameDirectionAs): Deleted.
+        * rendering/RenderTable.cpp:
+        (WebCore::RenderTable::tableStartBorderAdjoiningCell):
+        (WebCore::RenderTable::tableEndBorderAdjoiningCell):
+        * rendering/RenderTable.h:
+        (WebCore::haveSameDirection):
+        * rendering/RenderTableCell.cpp:
+        (WebCore::RenderTableCell::hasStartBorderAdjoiningTable):
+        (WebCore::RenderTableCell::hasEndBorderAdjoiningTable):
+        * rendering/RenderTableCell.h:
+        (WebCore::RenderTableCell::borderAdjoiningTableStart):
+        (WebCore::RenderTableCell::borderAdjoiningTableEnd):
+        * rendering/RenderTableRow.h:
+        (WebCore::RenderTableRow::borderAdjoiningTableStart):
+        (WebCore::RenderTableRow::borderAdjoiningTableEnd):
+        * rendering/RenderTableSection.cpp:
+        (WebCore::RenderTableSection::borderAdjoiningStartCell):
+        (WebCore::RenderTableSection::borderAdjoiningEndCell):
+        (WebCore::RenderTableSection::firstRowCellAdjoiningTableStart):
+        (WebCore::RenderTableSection::firstRowCellAdjoiningTableEnd):
+        * rendering/RenderTableSection.h:
+        (WebCore::RenderTableSection::borderAdjoiningTableStart):
+        (WebCore::RenderTableSection::borderAdjoiningTableEnd):
+
 2016-07-25  Chris Dumez  <cdumez@apple.com>
 
         ClientRect properties should be on the prototype
 2016-07-25  Chris Dumez  <cdumez@apple.com>
 
         ClientRect properties should be on the prototype
index 99a2bc6..23e0174 100644 (file)
@@ -604,8 +604,6 @@ public:
         return nullptr;
     }
 
         return nullptr;
     }
 
-    bool hasSameDirectionAs(const RenderBox* object) const { return style().direction() == object->style().direction(); }
-
 #if ENABLE(CSS_SHAPES)
     ShapeOutsideInfo* shapeOutsideInfo() const
     {
 #if ENABLE(CSS_SHAPES)
     ShapeOutsideInfo* shapeOutsideInfo() const
     {
index f637623..c4bda03 100644 (file)
@@ -1565,7 +1565,7 @@ RenderTable* RenderTable::createAnonymousWithParentRenderer(const RenderObject*
 const BorderValue& RenderTable::tableStartBorderAdjoiningCell(const RenderTableCell& cell) const
 {
     ASSERT(cell.isFirstOrLastCellInRow());
 const BorderValue& RenderTable::tableStartBorderAdjoiningCell(const RenderTableCell& cell) const
 {
     ASSERT(cell.isFirstOrLastCellInRow());
-    if (hasSameDirectionAs(cell.row()))
+    if (isDirectionSame(this, cell.row()))
         return style().borderStart();
 
     return style().borderEnd();
         return style().borderStart();
 
     return style().borderEnd();
@@ -1574,7 +1574,7 @@ const BorderValue& RenderTable::tableStartBorderAdjoiningCell(const RenderTableC
 const BorderValue& RenderTable::tableEndBorderAdjoiningCell(const RenderTableCell& cell) const
 {
     ASSERT(cell.isFirstOrLastCellInRow());
 const BorderValue& RenderTable::tableEndBorderAdjoiningCell(const RenderTableCell& cell) const
 {
     ASSERT(cell.isFirstOrLastCellInRow());
-    if (hasSameDirectionAs(cell.row()))
+    if (isDirectionSame(this, cell.row()))
         return style().borderEnd();
 
     return style().borderStart();
         return style().borderEnd();
 
     return style().borderStart();
index 4685bde..c48a58f 100644 (file)
@@ -378,6 +378,8 @@ inline RenderTableSection* RenderTable::topSection() const
     return m_foot;
 }
 
     return m_foot;
 }
 
+inline bool isDirectionSame(const RenderBox* tableItem, const RenderBox* otherTableItem) { return tableItem && otherTableItem ? tableItem->style().direction() == otherTableItem->style().direction() : true; }
+
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderTable, isTable())
 } // namespace WebCore
 
 SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderTable, isTable())
index a5b31fe..b28e49b 100644 (file)
@@ -506,7 +506,7 @@ bool RenderTableCell::hasStartBorderAdjoiningTable() const
 {
     bool isStartColumn = !col();
     bool isEndColumn = table()->colToEffCol(col() + colSpan() - 1) == table()->numEffCols() - 1;
 {
     bool isStartColumn = !col();
     bool isEndColumn = table()->colToEffCol(col() + colSpan() - 1) == table()->numEffCols() - 1;
-    bool hasSameDirectionAsTable = hasSameDirectionAs(section());
+    bool hasSameDirectionAsTable = isDirectionSame(this, section());
 
     // The table direction determines the row direction. In mixed directionality, we cannot guarantee that
     // we have a common border with the table (think a ltr table with rtl start cell).
 
     // The table direction determines the row direction. In mixed directionality, we cannot guarantee that
     // we have a common border with the table (think a ltr table with rtl start cell).
@@ -517,7 +517,7 @@ bool RenderTableCell::hasEndBorderAdjoiningTable() const
 {
     bool isStartColumn = !col();
     bool isEndColumn = table()->colToEffCol(col() + colSpan() - 1) == table()->numEffCols() - 1;
 {
     bool isStartColumn = !col();
     bool isEndColumn = table()->colToEffCol(col() + colSpan() - 1) == table()->numEffCols() - 1;
-    bool hasSameDirectionAsTable = hasSameDirectionAs(section());
+    bool hasSameDirectionAsTable = isDirectionSame(this, section());
 
     // The table direction determines the row direction. In mixed directionality, we cannot guarantee that
     // we have a common border with the table (think a ltr table with ltr end cell).
 
     // The table direction determines the row direction. In mixed directionality, we cannot guarantee that
     // we have a common border with the table (think a ltr table with ltr end cell).
index 6fd46bb..7439628 100644 (file)
@@ -301,7 +301,7 @@ inline bool RenderTableCell::isBaselineAligned() const
 inline const BorderValue& RenderTableCell::borderAdjoiningTableStart() const
 {
     ASSERT(isFirstOrLastCellInRow());
 inline const BorderValue& RenderTableCell::borderAdjoiningTableStart() const
 {
     ASSERT(isFirstOrLastCellInRow());
-    if (section()->hasSameDirectionAs(table()))
+    if (isDirectionSame(section(), table()))
         return style().borderStart();
 
     return style().borderEnd();
         return style().borderStart();
 
     return style().borderEnd();
@@ -310,7 +310,7 @@ inline const BorderValue& RenderTableCell::borderAdjoiningTableStart() const
 inline const BorderValue& RenderTableCell::borderAdjoiningTableEnd() const
 {
     ASSERT(isFirstOrLastCellInRow());
 inline const BorderValue& RenderTableCell::borderAdjoiningTableEnd() const
 {
     ASSERT(isFirstOrLastCellInRow());
-    if (section()->hasSameDirectionAs(table()))
+    if (isDirectionSame(section(), table()))
         return style().borderEnd();
 
     return style().borderStart();
         return style().borderEnd();
 
     return style().borderStart();
index 3399e41..651e7c0 100644 (file)
@@ -107,16 +107,14 @@ inline unsigned RenderTableRow::rowIndex() const
 
 inline const BorderValue& RenderTableRow::borderAdjoiningTableStart() const
 {
 
 inline const BorderValue& RenderTableRow::borderAdjoiningTableStart() const
 {
-    RenderTableSection* section = this->section();
-    if (section && section->hasSameDirectionAs(table()))
+    if (isDirectionSame(section(), table()))
         return style().borderStart();
     return style().borderEnd();
 }
 
 inline const BorderValue& RenderTableRow::borderAdjoiningTableEnd() const
 {
         return style().borderStart();
     return style().borderEnd();
 }
 
 inline const BorderValue& RenderTableRow::borderAdjoiningTableEnd() const
 {
-    RenderTableSection* section = this->section();
-    if (section && section->hasSameDirectionAs(table()))
+    if (isDirectionSame(section(), table()))
         return style().borderEnd();
     return style().borderStart();
 }
         return style().borderEnd();
     return style().borderStart();
 }
index 4f86e4b..f7b74a9 100644 (file)
@@ -1422,24 +1422,24 @@ unsigned RenderTableSection::numColumns() const
 const BorderValue& RenderTableSection::borderAdjoiningStartCell(const RenderTableCell& cell) const
 {
     ASSERT(cell.isFirstOrLastCellInRow());
 const BorderValue& RenderTableSection::borderAdjoiningStartCell(const RenderTableCell& cell) const
 {
     ASSERT(cell.isFirstOrLastCellInRow());
-    return hasSameDirectionAs(&cell) ? style().borderStart() : style().borderEnd();
+    return isDirectionSame(this, &cell) ? style().borderStart() : style().borderEnd();
 }
 
 const BorderValue& RenderTableSection::borderAdjoiningEndCell(const RenderTableCell& cell) const
 {
     ASSERT(cell.isFirstOrLastCellInRow());
 }
 
 const BorderValue& RenderTableSection::borderAdjoiningEndCell(const RenderTableCell& cell) const
 {
     ASSERT(cell.isFirstOrLastCellInRow());
-    return hasSameDirectionAs(&cell) ? style().borderEnd() : style().borderStart();
+    return isDirectionSame(this, &cell) ? style().borderEnd() : style().borderStart();
 }
 
 const RenderTableCell* RenderTableSection::firstRowCellAdjoiningTableStart() const
 {
 }
 
 const RenderTableCell* RenderTableSection::firstRowCellAdjoiningTableStart() const
 {
-    unsigned adjoiningStartCellColumnIndex = hasSameDirectionAs(table()) ? 0 : table()->lastColumnIndex();
+    unsigned adjoiningStartCellColumnIndex = isDirectionSame(this, table()) ? 0 : table()->lastColumnIndex();
     return cellAt(0, adjoiningStartCellColumnIndex).primaryCell();
 }
 
 const RenderTableCell* RenderTableSection::firstRowCellAdjoiningTableEnd() const
 {
     return cellAt(0, adjoiningStartCellColumnIndex).primaryCell();
 }
 
 const RenderTableCell* RenderTableSection::firstRowCellAdjoiningTableEnd() const
 {
-    unsigned adjoiningEndCellColumnIndex = hasSameDirectionAs(table()) ? table()->lastColumnIndex() : 0;
+    unsigned adjoiningEndCellColumnIndex = isDirectionSame(this, table()) ? table()->lastColumnIndex() : 0;
     return cellAt(0, adjoiningEndCellColumnIndex).primaryCell();
 }
 
     return cellAt(0, adjoiningEndCellColumnIndex).primaryCell();
 }
 
index 3b777f5..6d10881 100644 (file)
@@ -242,14 +242,14 @@ private:
 
 inline const BorderValue& RenderTableSection::borderAdjoiningTableStart() const
 {
 
 inline const BorderValue& RenderTableSection::borderAdjoiningTableStart() const
 {
-    if (hasSameDirectionAs(table()))
+    if (isDirectionSame(this, table()))
         return style().borderStart();
     return style().borderEnd();
 }
 
 inline const BorderValue& RenderTableSection::borderAdjoiningTableEnd() const
 {
         return style().borderStart();
     return style().borderEnd();
 }
 
 inline const BorderValue& RenderTableSection::borderAdjoiningTableEnd() const
 {
-    if (hasSameDirectionAs(table()))
+    if (isDirectionSame(this, table()))
         return style().borderEnd();
     return style().borderStart();
 }
         return style().borderEnd();
     return style().borderStart();
 }