Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

layout: Add support for table border-spacing #31166

Merged
merged 1 commit into from Jan 26, 2024

Conversation

mrobinson
Copy link
Member

This adds support for table border-spacing property. Note that we do
not yet support the collapsed border model.

Co-authored-by: Oriol Brufau obrufau@igalia.com


  • ./mach build -d does not report any errors
  • ./mach test-tidy does not report any errors
  • There are tests for these changes

@mrobinson mrobinson added the T-linux-wpt-2020 Do a try run of the WPT label Jan 25, 2024
@github-actions github-actions bot removed the T-linux-wpt-2020 Do a try run of the WPT label Jan 25, 2024
Copy link

🔨 Triggering try run (#7653090626) with platforms=linux and layout=2020

Copy link

Test results for linux-wpt-layout-2020 from try job (#7653090626):

Flaky unexpected result (19)
  • FAIL [expected PASS] /_mozilla/css/iframe/hide_and_show.html (#15265)
  • OK /_mozilla/mozilla/task_queue_throttling.any.html (#22519)
    • FAIL [expected PASS] subtest: Throttling the performance timeline task queue. assert_true: expected true got false
  • CRASH [expected PASS] /_webgl/conformance/glsl/bugs/long-expressions-should-not-crash.html (#19221)
  • TIMEOUT [expected OK] /_webgl/conformance/glsl/misc/shader-with-non-reserved-words.html (#16216)
    • NOTRUN [expected PASS] subtest: Overall test
  • FAIL [expected TIMEOUT] /css/css-animations/animation-delay-010.html (#26573)
  • FAIL [expected TIMEOUT] /css/css-backgrounds/animations/background-color-transition.html
  • TIMEOUT [expected OK] /fetch/api/redirect/redirect-keepalive.https.any.html
    • TIMEOUT [expected PASS] subtest: [keepalive][iframe][load] mixed content redirect; setting up Test timed out
  • TIMEOUT [expected OK] /html/browsers/browsing-the-web/navigating-across-documents/navigate-to-unparseable-url.html (#29050)
    • TIMEOUT [expected FAIL] subtest: location.href setter throws a SyntaxError DOMException for unparseable URLs Test timed out
    • NOTRUN [expected FAIL] subtest: <a> tag navigate fails for unparseable URLs
  • FAIL [expected PASS] /html/rendering/non-replaced-elements/the-page/iframe-scrolling-attribute-values.html
  • CRASH [expected OK] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html (#24066)
  • OK /html/semantics/forms/form-submission-0/text-plain.window.html (#28687)
    • PASS [expected FAIL] subtest: text/plain: Basic File test (formdata event)
  • OK /html/semantics/forms/form-submission-0/urlencoded2.window.html (#28687)
    • PASS [expected FAIL] subtest: application/x-www-form-urlencoded: 0x00 in name (formdata event)
  • OK /html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html (#23205)
    • PASS [expected FAIL] subtest: Check that rel=noopener with target=_self does a normal load
  • OK [expected ERROR] /html/semantics/scripting-1/the-script-element/defer-script/async-script.html?reload (#29054)
  • TIMEOUT [expected OK] /html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry-different-function-realm.html (#25805)
    • TIMEOUT [expected FAIL] subtest: Fulfillment handler on pending-then-fulfilled promise Test timed out
    • TIMEOUT [expected FAIL] subtest: Rejection handler on pending-then-rejected promise Test timed out
  • TIMEOUT [expected OK] /html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html (#25805)
    • TIMEOUT [expected FAIL] subtest: Fulfillment handler on pending-then-fulfilled promise Test timed out
    • TIMEOUT [expected FAIL] subtest: Rejection handler on pending-then-rejected promise Test timed out
  • TIMEOUT /resource-timing/nested-context-navigations-iframe.html (#24311)
    • TIMEOUT [expected PASS] subtest: Test that cross-site iframe navigations are not observable by the parent, even after history navigations by the parent Test timed out
    • NOTRUN [expected PASS] subtest: Test that iframe navigations are not observable by the parent
    • NOTRUN [expected PASS] subtest: Test that crossorigin iframe navigations are not observable by the parent
    • NOTRUN [expected PASS] subtest: Test that cross-site iframe navigations are not observable by the parent
    • NOTRUN [expected TIMEOUT] subtest: Test that iframe refreshes are not observable by the parent
  • TIMEOUT /resource-timing/test_resource_timing.html (#25720)
    • FAIL [expected PASS] subtest: PerformanceEntry has correct name, initiatorType, startTime, and duration (img) assert_equals: expected 8020736 but got 8021248
  • TIMEOUT [expected OK] /webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html (#29053)
    • TIMEOUT [expected PASS] subtest: StorageKey: test 3P about:blank window opened from a 3P iframe Test timed out
Stable unexpected results that are known to be intermittent (15)
  • TIMEOUT [expected OK] /_webgl/conformance/glsl/misc/shader-uniform-packing-restrictions.html (#28103)
    • NOTRUN [expected PASS] subtest: Overall test
  • TIMEOUT [expected OK] /_webgl/conformance/uniforms/out-of-bounds-uniform-array-access.html (#26225)
    • NOTRUN [expected PASS] subtest: Overall test
  • OK /css/css-fonts/variations/at-font-face-font-matching.html (#20684)
    • FAIL [expected PASS] subtest: Matching font-weight: '430' should prefer '420 440' over '450 460' assert_equals: Unexpected font on test element expected 487 but got 532
    • FAIL [expected PASS] subtest: Matching font-stretch: '100%' should prefer '110% 120%' over '115% 116%' assert_equals: Unexpected font on test element expected 487 but got 532
    • FAIL [expected PASS] subtest: Matching font-style: 'normal' should prefer 'oblique 10deg 40deg' over 'oblique 20deg 30deg' assert_equals: Unexpected font on test element expected 487 but got 532
    • FAIL [expected PASS] subtest: Matching font-style: 'italic' should prefer 'italic' over 'oblique 20deg' assert_equals: Unexpected font on test element expected 487 but got 532
    • FAIL [expected PASS] subtest: Matching font-style: 'oblique 10deg' should prefer 'italic' over 'oblique 0deg' assert_equals: Unexpected font on test element expected 487 but got 532
    • FAIL [expected PASS] subtest: Matching font-style: 'oblique -21deg' should prefer 'oblique -10deg' over 'italic' assert_equals: Unexpected font on test element expected 487 but got 532
  • OK [expected TIMEOUT] /html/browsers/browsing-the-web/history-traversal/srcdoc/consecutive-srcdoc.html (#29084)
    • FAIL [expected TIMEOUT] subtest: changing srcdoc to about:srcdoc#yo then another srcdoc does two push navigations and we can navigate back promise_test: Unhandled rejection with value: object "TypeError: iframe is null"
  • OK /html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html (#29066)
    • PASS [expected FAIL] subtest: Check execution order on load handler
    • PASS [expected FAIL] subtest: Check execution order from nested timeout
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html (#28681)
    • FAIL [expected PASS] subtest: load & pageshow events do not fire on contentWindow of <iframe> element created with src='about:blank' assert_unreached: load should not be fired Reached unreachable code
    • PASS [expected FAIL] subtest: load & pageshow events do not fire on contentWindow of <iframe> element created with src='about:blank#foo'
  • OK /html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.html (#29049)
    • PASS [expected FAIL] subtest: Same-origin navigation started from unload handler must be ignored
  • OK /html/browsers/history/the-history-interface/traverse_the_history_2.html (#21383)
    • FAIL [expected PASS] subtest: Multiple history traversals, last would be aborted assert_array_equals: Pages opened during history navigation lengths differ, expected array [6, 3] length 2, got [6, 2, 2] length 3
  • OK /html/browsers/history/the-history-interface/traverse_the_history_4.html (#21383)
    • FAIL [expected PASS] subtest: Multiple history traversals, last would be aborted assert_array_equals: Pages opened during history navigation lengths differ, expected array [6, 5] length 2, got [6, 3, 3] length 3
  • TIMEOUT [expected OK] /html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.html (#30970)
  • CRASH [expected OK] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html (#22667)
  • TIMEOUT [expected OK] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html (#24066)
    • NOTRUN [expected FAIL] subtest: Check that popups from a sandboxed iframe do not escape the sandbox
  • PASS [expected FAIL] /html/semantics/embedded-content/the-img-element/image-loading-lazy-slow.html (#30684)
  • OK /html/semantics/forms/form-submission-0/multipart-formdata.window.html (#28725)
    • FAIL [expected PASS] subtest: multipart/form-data: 0x00 in name (normal form) assert_equals: expected "\r\nContent-Disposition: form-data; name="a\0b"\r\n\r\nc\r\n--\r\n" but got ""
  • OK /html/semantics/forms/historical.html (#28568)
    • FAIL [expected PASS] subtest: <input name=isindex> should not be supported assert_regexp_match: expected object "/?isindex=x$/" but got "about:blank"
Stable unexpected results (8)
  • OK /_mozilla/mozilla/calc.html
    • PASS [expected FAIL] subtest: calc for border-spacing
  • FAIL [expected PASS] /css/CSS2/floats-clear/floats-149.xht
  • PASS [expected FAIL] /css/CSS2/floats-clear/floats-153.xht
  • FAIL [expected TIMEOUT] /css/css-tables/paint/col-change-span-bg-invalidation-002.html
  • OK /css/css-values/viewport-units-css2-001.html
    • PASS [expected FAIL] subtest: vw length applied to border-spacing
    • PASS [expected FAIL] subtest: vw length applied to border-spacing: getComputedStyle returns a non-zero px-based value
    • PASS [expected FAIL] subtest: vh length applied to border-spacing
    • PASS [expected FAIL] subtest: vh length applied to border-spacing: getComputedStyle returns a non-zero px-based value
    • PASS [expected FAIL] subtest: vmin length applied to border-spacing
    • PASS [expected FAIL] subtest: vmin length applied to border-spacing: getComputedStyle returns a non-zero px-based value
    • PASS [expected FAIL] subtest: vmax length applied to border-spacing
    • PASS [expected FAIL] subtest: vmax length applied to border-spacing: getComputedStyle returns a non-zero px-based value
  • OK /css/css-variables/variable-substitution-basic.html
    • PASS [expected FAIL] subtest: Multiple variable references in a single property
    • PASS [expected FAIL] subtest: Multiple variable references in a single property (no spaces)
    • PASS [expected FAIL] subtest: Multiple var references in fallback value
    • PASS [expected FAIL] subtest: Multiple nested fallbacks
  • OK /css/cssom/cssom-setProperty-shorthand.html
    • PASS [expected FAIL] subtest: shorthand border-spacing can be set with setProperty
    • PASS [expected FAIL] subtest: shorthand border-spacing can be set with setProperty and priority !important
  • OK /css/cssom/serialize-values.html
    • PASS [expected FAIL] subtest: border-spacing: 0px
    • PASS [expected FAIL] subtest: border-spacing: 1px
    • PASS [expected FAIL] subtest: border-spacing: .1em
    • PASS [expected FAIL] subtest: border-spacing: inherit

Copy link

⚠️ Try run (#7653090626) failed.

@mrobinson mrobinson added the A-layout/2020 https://github.com/servo/servo/wiki/Layout-2020 label Jan 25, 2024
@mrobinson mrobinson marked this pull request as ready for review January 26, 2024 07:12
@mrobinson mrobinson added this pull request to the merge queue Jan 26, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 26, 2024
@mrobinson mrobinson added this pull request to the merge queue Jan 26, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 26, 2024
This adds support for table `border-spacing` property. Note that we do
not yet support the collapsed border model.

Co-authored-by: Oriol Brufau <obrufau@igalia.com>
@Loirooriol
Copy link
Contributor

fractional-percent-width.html is failing due to w3c/csswg-drafts#9866

@mrobinson
Copy link
Member Author

fractional-percent-width.html is failing due to w3c/csswg-drafts#9866

I've opened #31187 to address this.

@mrobinson mrobinson added this pull request to the merge queue Jan 26, 2024
Merged via the queue into servo:main with commit 1876b49 Jan 26, 2024
10 checks passed
@mrobinson mrobinson deleted the table-layout-border-collapse branch January 26, 2024 17:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-layout/2020 https://github.com/servo/servo/wiki/Layout-2020
Projects
Development

Successfully merging this pull request may close these issues.

None yet

2 participants