| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "core/paint/PaintControllerPaintTest.h" | 5 #include "core/paint/PaintControllerPaintTest.h" |
| 6 #include "core/paint/PaintLayerPainter.h" | 6 #include "core/paint/PaintLayerPainter.h" |
| 7 | 7 |
| 8 // This file contains tests testing TablePainter, TableSectionPainter, | 8 // This file contains tests testing TablePainter, TableSectionPainter, |
| 9 // TableRowPainter and TableCellPainter. It's difficult to separate the tests | 9 // TableRowPainter and TableCellPainter. It's difficult to separate the tests |
| 10 // into individual files because of dependencies among the painter classes. | 10 // into individual files because of dependencies among the painter classes. |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 "separate; }" | 115 "separate; }" |
| 116 "</style>" | 116 "</style>" |
| 117 "<table>" | 117 "<table>" |
| 118 " <tr id='row'><td id='cell1'><td id='cell2'></td></tr>" | 118 " <tr id='row'><td id='cell1'><td id='cell2'></td></tr>" |
| 119 "</table>"); | 119 "</table>"); |
| 120 | 120 |
| 121 LayoutView& layoutView = *document().layoutView(); | 121 LayoutView& layoutView = *document().layoutView(); |
| 122 LayoutObject& cell1 = *getLayoutObjectByElementId("cell1"); | 122 LayoutObject& cell1 = *getLayoutObjectByElementId("cell1"); |
| 123 LayoutObject& cell2 = *getLayoutObjectByElementId("cell2"); | 123 LayoutObject& cell2 = *getLayoutObjectByElementId("cell2"); |
| 124 LayoutObject& row = *getLayoutObjectByElementId("row"); | 124 LayoutObject& row = *getLayoutObjectByElementId("row"); |
| 125 PaintLayer& htmlLayer = | |
| 126 *toLayoutBoxModelObject(document().documentElement()->layoutObject()) | |
| 127 ->layer(); | |
| 128 | 125 |
| 129 rootPaintController().invalidateAll(); | 126 rootPaintController().invalidateAll(); |
| 130 document().view()->updateAllLifecyclePhasesExceptPaint(); | 127 document().view()->updateAllLifecyclePhasesExceptPaint(); |
| 131 // Intersects cell1 and the spacing between cell1 and cell2. | 128 // Intersects cell1 and the spacing between cell1 and cell2. |
| 132 IntRect interestRect(200, 0, 200, 200); | 129 IntRect interestRect(200, 0, 200, 200); |
| 133 paint(&interestRect); | 130 paint(&interestRect); |
| 134 | 131 |
| 135 EXPECT_DISPLAY_LIST( | 132 EXPECT_DISPLAY_LIST( |
| 136 rootPaintController().getDisplayItemList(), 7, | 133 rootPaintController().getDisplayItemList(), 5, |
| 137 TestDisplayItem(layoutView, DisplayItem::kDocumentBackground), | 134 TestDisplayItem(layoutView, DisplayItem::kDocumentBackground), |
| 138 TestDisplayItem(htmlLayer, DisplayItem::kSubsequence), | |
| 139 TestDisplayItem(row, DisplayItem::kBeginCompositing), | 135 TestDisplayItem(row, DisplayItem::kBeginCompositing), |
| 140 TestDisplayItem(row, DisplayItem::kBoxDecorationBackground), | 136 TestDisplayItem(row, DisplayItem::kBoxDecorationBackground), |
| 141 TestDisplayItem(cell1, DisplayItem::kBoxDecorationBackground), | 137 TestDisplayItem(cell1, DisplayItem::kBoxDecorationBackground), |
| 142 TestDisplayItem(row, DisplayItem::kEndCompositing), | 138 TestDisplayItem(row, DisplayItem::kEndCompositing)); |
| 143 TestDisplayItem(htmlLayer, DisplayItem::kEndSubsequence)); | |
| 144 | 139 |
| 145 document().view()->updateAllLifecyclePhasesExceptPaint(); | 140 document().view()->updateAllLifecyclePhasesExceptPaint(); |
| 146 // Intersects the spacing only. | 141 // Intersects the spacing only. |
| 147 interestRect = IntRect(300, 0, 100, 100); | 142 interestRect = IntRect(300, 0, 100, 100); |
| 148 paint(&interestRect); | 143 paint(&interestRect); |
| 149 | 144 |
| 150 EXPECT_DISPLAY_LIST( | 145 EXPECT_DISPLAY_LIST( |
| 151 rootPaintController().getDisplayItemList(), 3, | 146 rootPaintController().getDisplayItemList(), 1, |
| 152 TestDisplayItem(layoutView, DisplayItem::kDocumentBackground), | 147 TestDisplayItem(layoutView, DisplayItem::kDocumentBackground)); |
| 153 TestDisplayItem(htmlLayer, DisplayItem::kSubsequence), | |
| 154 TestDisplayItem(htmlLayer, DisplayItem::kEndSubsequence)); | |
| 155 | 148 |
| 156 document().view()->updateAllLifecyclePhasesExceptPaint(); | 149 document().view()->updateAllLifecyclePhasesExceptPaint(); |
| 157 // Intersects cell2 only. | 150 // Intersects cell2 only. |
| 158 interestRect = IntRect(450, 0, 200, 200); | 151 interestRect = IntRect(450, 0, 200, 200); |
| 159 paint(&interestRect); | 152 paint(&interestRect); |
| 160 | 153 |
| 161 EXPECT_DISPLAY_LIST( | 154 EXPECT_DISPLAY_LIST( |
| 162 rootPaintController().getDisplayItemList(), 7, | 155 rootPaintController().getDisplayItemList(), 5, |
| 163 TestDisplayItem(layoutView, DisplayItem::kDocumentBackground), | 156 TestDisplayItem(layoutView, DisplayItem::kDocumentBackground), |
| 164 TestDisplayItem(htmlLayer, DisplayItem::kSubsequence), | |
| 165 TestDisplayItem(row, DisplayItem::kBeginCompositing), | 157 TestDisplayItem(row, DisplayItem::kBeginCompositing), |
| 166 TestDisplayItem(row, DisplayItem::kBoxDecorationBackground), | 158 TestDisplayItem(row, DisplayItem::kBoxDecorationBackground), |
| 167 TestDisplayItem(cell2, DisplayItem::kBoxDecorationBackground), | 159 TestDisplayItem(cell2, DisplayItem::kBoxDecorationBackground), |
| 168 TestDisplayItem(row, DisplayItem::kEndCompositing), | 160 TestDisplayItem(row, DisplayItem::kEndCompositing)); |
| 169 TestDisplayItem(htmlLayer, DisplayItem::kEndSubsequence)); | |
| 170 } | 161 } |
| 171 | 162 |
| 172 TEST_F(TablePainterTest, CollapsedBorderAndOverflow) { | 163 TEST_F(TablePainterTest, CollapsedBorderAndOverflow) { |
| 173 setBodyInnerHTML( | 164 setBodyInnerHTML( |
| 174 "<style>" | 165 "<style>" |
| 175 " body { margin: 0 }" | 166 " body { margin: 0 }" |
| 176 " td { width: 100px; height: 100px; border: 100px solid blue; outline: " | 167 " td { width: 100px; height: 100px; border: 100px solid blue; outline: " |
| 177 "100px solid yellow; background: green; }" | 168 "100px solid yellow; background: green; }" |
| 178 " table { margin: 100px; border-collapse: collapse; }" | 169 " table { margin: 100px; border-collapse: collapse; }" |
| 179 "</style>" | 170 "</style>" |
| (...skipping 14 matching lines...) Expand all Loading... |
| 194 EXPECT_DISPLAY_LIST( | 185 EXPECT_DISPLAY_LIST( |
| 195 rootPaintController().getDisplayItemList(), 4, | 186 rootPaintController().getDisplayItemList(), 4, |
| 196 TestDisplayItem(layoutView, DisplayItem::kDocumentBackground), | 187 TestDisplayItem(layoutView, DisplayItem::kDocumentBackground), |
| 197 TestDisplayItem(cell, DisplayItem::kBoxDecorationBackground), | 188 TestDisplayItem(cell, DisplayItem::kBoxDecorationBackground), |
| 198 TestDisplayItem(cell, DisplayItem::kTableCollapsedBorderLast), | 189 TestDisplayItem(cell, DisplayItem::kTableCollapsedBorderLast), |
| 199 TestDisplayItem(cell, DisplayItem::paintPhaseToDrawingType( | 190 TestDisplayItem(cell, DisplayItem::paintPhaseToDrawingType( |
| 200 PaintPhaseSelfOutlineOnly))); | 191 PaintPhaseSelfOutlineOnly))); |
| 201 } | 192 } |
| 202 | 193 |
| 203 } // namespace blink | 194 } // namespace blink |
| OLD | NEW |