Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upIntermittent failure in /_mozilla/css/border_collapse_simple_a.html #8120
Comments
|
Cc @mbrubeck This is again an incremental layout bug. Layout is first done with only the first and second rows, resulting in a bottom border of 4px. The other rows are then parsed and laid out, but the bottom border of the second row isn't updated to 2px. |
This disables the tests mentioned in servo#8120, servo#9014, servo#9092, servo#9148, servo#9205 and servo#9803.
Vindictively disable all intermittent tests that failed #9787 This disables the tests mentioned in #8120, #9014, #9092, #9148, #9205 and #9803. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9804) <!-- Reviewable:end -->
This disables the tests mentioned in servo#8120, servo#9014, servo#9092, servo#9148, servo#9205 and servo#9803.
This disables the tests mentioned in servo#8120, servo#9014, servo#9092, servo#9148, servo#9205 and servo#9803.
Vindictively disable all intermittent tests that failed #9787 This disables the tests mentioned in #8120, #9014, #9092, #9148, #9205 and #9803. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9804) <!-- Reviewable:end -->
This disables the tests mentioned in servo#8120, servo#9014, servo#9033, servo#9092, servo#9148, servo#9205, servo#9772 and servo#9803.
Vindictively disable all intermittent tests that failed #9787 This disables the tests mentioned in #8120, #9014, #9033, #9092, #9148, #9205, #9772 and #9803. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9804) <!-- Reviewable:end -->
This fixes the border-end calculation for a table row that is the last in its rowgroup but not the last in its table. Fixes servo#8120
This fixes the border-end calculation for a table row that is the last in its rowgroup but not the last in its table. Fixes servo#8120
|
Part of the issue is that inserting a row into a table dynamically can lead to a flow tree like this: <table>
<tbody>
<tr><td></td></tr>
</tbody>
<tr><td></td></tr>
</table>The border-collapse code in Servo has a bug that prevents it from traversing this flow tree correctly. Fixing that bug fixes the border width. I haven't submitted that fix yet because some other bug that's causing the position of the border to be off by 1px in my test case. Investigating that now. |
|
@mbrubeck Oh nice! |
This fixes the border-end calculation for table rows whose borders are collapsed with rows in different rowgroups. The border collapsing code now uses an iterator that yields all the rows as a flat sequence, regardless of how they are grouped in rowgroups. It gets rid of `TableRowGroupFlow::preliminary_collapsed_borders` which was never correct. (It was read but never written.) This may fix servo#8120 but I'm not 100% certain. (I haven't managed to reproduce the intermittent failure locally, and my reduced test case still fails but in a different way.)
Table border-collapse fixes Two related fixes for border-collapse: * Fix border collapsing across table-row-group flows This fixes the border-end calculation for table rows whose borders are collapsed with rows in different rowgroups. The border collapsing code now uses an iterator that yields all the rows as a flat sequence, regardless of how they are grouped in rowgroups. It gets rid of `TableRowGroupFlow::preliminary_collapsed_borders` which was never correct. (It was read but never written.) This may fix #8120 but I'm not 100% certain. (I haven't managed to reproduce the intermittent failure locally, and my reduced test case still fails but in a different way.) * Fix confusing `push_or_mutate` API This fixes a bug when recalculating border collapsing for an existing table row. The bug was caused by using `push_or_mutate` which has no effect if there is already a value at the specified index. The fix switches incorrect `push_or_mutate` calls to use `push_or_set` instead. It also renames `push_or_mutate` to `get_mut_or_push` which I think is a less-confusing name for this method. r? @pcwalton <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9826) <!-- Reviewable:end -->

#8119 (comment)