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

fonts: Improve emoji support #32189

Closed
wants to merge 1 commit into from
Closed

Conversation

mrobinson
Copy link
Member

  • On FreeType allow rendering bitmap fonts, which should allow rendering
    full-color emoji with Noto Color Emoji.
  • Better detect situations where emoji is necessary by looking ahead one
    character while laying out. This allow processing Unicode presentation
    selectors. When detecting emoji, put emoji fonts at the front of
    fallback lists for all platforms.
  • Allow sending the "EMBEDDED_BITMAPS" flag to WebRender when detecting
    fonts with bitmaps.

This enables full-color emoji on Linux and monochrome emoji on Windows.
Full-color emoji on Windows probably needs full support for processing
the COLR table and drawing separate glyph color layers.


  • ./mach build -d does not report any errors
  • ./mach test-tidy does not report any errors
  • There are tests for these changes OR
  • These changes do not require tests because ___

- On FreeType allow rendering bitmap fonts, which should allow rendering
  full-color emoji with Noto Color Emoji.
- Better detect situations where emoji is necessary by looking ahead one
  character while laying out. This allow processing Unicode presentation
  selectors. When detecting emoji, put emoji fonts at the front of
  fallback lists for all platforms.
- Allow sending the "EMBEDDED_BITMAPS" flag to WebRender when detecting
  fonts with bitmaps.

This enables full-color emoji on Linux and monochrome emoji on Windows.
Full-color emoji on Windows probably needs full support for processing
the COLR table and drawing separate glyph color layers.
@mrobinson mrobinson added the T-linux-wpt-2020 Do a try run of the WPT label Apr 30, 2024
@github-actions github-actions bot removed the T-linux-wpt-2020 Do a try run of the WPT label Apr 30, 2024
Copy link

🔨 Triggering try run (#8890676830) for Linux WPT

Copy link

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

Flaky unexpected result (12)
  • FAIL [expected PASS] /_mozilla/css/iframe/hide_and_show.html (#15265)
  • CRASH [expected PASS] /_webgl/conformance/glsl/bugs/temp-expressions-should-not-crash.html (#22050)
  • OK /css/cssom-view/matchMedia.html (#31428)
    • PASS [expected FAIL] subtest: iframe.matchMedia("(width: 200px)") matches
  • TIMEOUT [expected OK] /fetch/api/redirect/redirect-keepalive.https.any.html (#32153)
    • TIMEOUT [expected PASS] subtest: [keepalive][iframe][load] mixed content redirect; setting up

      Test timed out
      

  • OK /html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html (#29066)
    • FAIL [expected PASS] subtest: Check execution order from nested timeout

      assert_equals: Expected nested setTimeout to run second expected true but got false
      

    • FAIL [expected PASS] subtest: Check execution order on load handler

      assert_equals: Expected onload to run first expected false but got true
      

  • TIMEOUT [expected OK] /html/browsers/browsing-the-web/navigating-across-documents/javascript-url-referrer.window.html (#29081)
    • TIMEOUT [expected PASS] subtest: no-referrer referrer policy used to create the starting page

      Test timed out
      

  • 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 expected property 1 to be 5 but got 3 (expected array [6, 5] got [6, 3])
      

  • 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
  • CRASH [expected PASS] /html/semantics/embedded-content/the-img-element/image-loading-lazy-subframe-detached-crash.html (#31572)
  • OK [expected TIMEOUT] /html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html (#29724)
    • PASS [expected TIMEOUT] subtest: reparent-form-during-planned-navigation-task
  • TIMEOUT /html/webappapis/scripting/events/compile-event-handler-settings-objects.html (#24246)
    • PASS [expected FAIL] subtest: The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document
  • TIMEOUT [expected OK] /webmessaging/with-ports/017.html (#24486)
    • TIMEOUT [expected PASS] subtest: origin of the script that invoked the method, about:blank

      Test timed out
      

Stable unexpected results that are known to be intermittent (19)
  • FAIL [expected PASS] /_mozilla/css/dirty_viewport.html (#13731)
  • FAIL [expected PASS] /_mozilla/gfx-rs-gecko/descriptor-ranges.html (#23258)
  • PASS [expected FAIL] /css/CSS2/text/white-space-002.xht (#22592)
  • PASS [expected FAIL] /css/CSS2/text/white-space-003.xht (#22592)
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-040.xht (#22592)
  • OK /css/css-fonts/variations/font-weight-matching.html (#20686)
    • PASS [expected FAIL] subtest: Test @font-face matching for weight 99
    • FAIL [expected PASS] subtest: Test @font-face matching for weight 249

      assert_approx_equals: @font-face should be mapped to CSSTest Weights 900. expected 90 +/- 2 but got 180
      

    • PASS [expected FAIL] subtest: Test @font-face matching for weight 250
    • PASS [expected FAIL] subtest: Test @font-face matching for weight 400
    • PASS [expected FAIL] subtest: Test @font-face matching for weight 500
    • PASS [expected FAIL] subtest: Test @font-face matching for weight 750
    • PASS [expected FAIL] subtest: Test @font-face matching for weight 900
    • PASS [expected FAIL] subtest: Test @font-face matching for weight 1000
  • PASS [expected FAIL] /css/css-transforms/transform-input-018.html (#22725)
  • OK /css/cssom-view/MediaQueryList-addListener-handleEvent.html (#24571)
    • FAIL [expected PASS] subtest: doesn't look up handleEvent method on callable event listeners

      assert_equals: expected 1 but got 0
      

  • OK /css/cssom-view/MediaQueryListEvent.html (#25275)
    • FAIL [expected PASS] subtest: argument of onchange

      assert_true: expected true got false
      

  • TIMEOUT /fetch/metadata/generated/element-img-environment-change.sub.html (#30111)
    • PASS [expected FAIL] subtest: sec-fetch-site - Not sent to non-trustworthy same-origin destination, no attributes
  • OK /html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html (#28697)
    • FAIL [expected PASS] subtest: aElement.click() before the load event must NOT replace

      assert_equals: expected "http://web-platform.test:8000/common/blank.html?thereplacement" but got "http://web-platform.test:8000/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/resources/code-injector.html?pipe=sub(none)&code=%0A%20%20%20%20const%20a%20%3D%20document.createElement(%22a%22)%3B%0A%20%20%20%20a.href%20%3D%20%22%2Fcommon%2Fblank.html%3Fthereplacement%22%3B%0A%20%20%20%20document.currentScript.before(a)%3B%0A%20%20%20%20a.click()%3B%0A%20%20"
      

  • OK [expected TIMEOUT] /html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.html (#30970)
  • OK [expected TIMEOUT] /html/semantics/embedded-content/media-elements/track/track-element/no-cuechange-before-play.html (#31014)
    • FAIL [expected TIMEOUT] subtest: Ensure that the 'cuechange' event is not fired before video playback has begun.

      assert_true: Not expecting event, but got canplaythrough event expected true got false
      

  • TIMEOUT [expected CRASH] /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_escaping-3.html (#24057)
    • TIMEOUT [expected FAIL] subtest: Check that popups from a sandboxed iframe escape the sandbox if allow-popups-to-escape-sandbox is used

      Test timed out
      

  • OK /html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-width-1000px.html (#21666)
    • FAIL [expected PASS] subtest: <img srcset="/images/green-1x1.png?e38 50w, /images/green-16x16.png?e38 51w" sizes="(min-width:calc(0)) 1px"> ref sizes="1px" (width:1000px)

      assert_equals: expected "http://web-platform.test:8000/images/green-1x1.png" but got "http://web-platform.test:8000/images/green-16x16.png"
      

  • OK /html/semantics/forms/form-submission-0/urlencoded2.window.html (#28687)
    • FAIL [expected PASS] subtest: application/x-www-form-urlencoded: 0x00 in name (normal form)

      assert_equals: expected "a%00b=c" but got ""
      

  • TIMEOUT [expected OK] /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 PASS] subtest: Test that iframe refreshes are not observable by the parent
    • NOTRUN [expected PASS] subtest: Test that crossorigin iframe refreshes are not observable by the parent
    • NOTRUN [expected PASS] subtest: Test that cross-site iframe refreshes are not observable by the parent
  • OK [expected TIMEOUT] /webmessaging/without-ports/018.html (#24485)
    • PASS [expected TIMEOUT] subtest: origin of the script that invoked the method, javascript:
Stable unexpected results (220)
  • FAIL [expected PASS] /_mozilla/css/text_decoration_underline_subpx_a.html
  • FAIL [expected PASS] /css/CSS2/backgrounds/background-position-001.xht
  • FAIL [expected PASS] /css/CSS2/backgrounds/background-position-002.xht
  • FAIL [expected PASS] /css/CSS2/borders/border-bottom-width-080.xht
  • FAIL [expected PASS] /css/CSS2/borders/border-bottom-width-083.xht
  • FAIL [expected PASS] /css/CSS2/borders/border-bottom-width-084.xht
  • FAIL [expected PASS] /css/CSS2/borders/border-left-width-080.xht
  • FAIL [expected PASS] /css/CSS2/borders/border-left-width-083.xht
  • FAIL [expected PASS] /css/CSS2/borders/border-left-width-084.xht
  • FAIL [expected PASS] /css/CSS2/borders/border-right-width-080.xht
  • FAIL [expected PASS] /css/CSS2/borders/border-right-width-083.xht
  • FAIL [expected PASS] /css/CSS2/borders/border-right-width-084.xht
  • FAIL [expected PASS] /css/CSS2/borders/border-top-width-080.xht
  • FAIL [expected PASS] /css/CSS2/borders/border-top-width-083.xht
  • FAIL [expected PASS] /css/CSS2/borders/border-top-width-084.xht
  • FAIL [expected PASS] /css/CSS2/css1/c44-ln-box-002.xht
  • FAIL [expected PASS] /css/CSS2/css1/c526-font-sz-002.xht
  • FAIL [expected PASS] /css/CSS2/css1/c541-word-sp-000.xht
  • FAIL [expected PASS] /css/CSS2/css1/c542-letter-sp-000.xht
  • FAIL [expected PASS] /css/CSS2/css1/c544-valgn-001.xht
  • FAIL [expected PASS] /css/CSS2/css1/c547-indent-000.xht
  • FAIL [expected PASS] /css/CSS2/css1/c548-ln-ht-002.xht
  • PASS [expected FAIL] /css/CSS2/css1/c5502-imrgn-r-005.xht
  • PASS [expected FAIL] /css/CSS2/css1/c5502-imrgn-r-006.xht
  • PASS [expected FAIL] /css/CSS2/css1/c5504-imrgn-l-005.xht
  • PASS [expected FAIL] /css/CSS2/css1/c5504-imrgn-l-006.xht
  • PASS [expected FAIL] /css/CSS2/css1/c5505-imrgn-000.xht
  • PASS [expected FAIL] /css/CSS2/css1/c5507-ipadn-r-004.xht
  • PASS [expected FAIL] /css/CSS2/css1/c5509-ipadn-l-004.xht
  • PASS [expected FAIL] /css/CSS2/css1/c5510-ipadn-000.xht
  • FAIL [expected PASS] /css/CSS2/css1/c61-ex-len-000.xht
  • FAIL [expected PASS] /css/CSS2/css1/c61-rel-len-000.xht
  • PASS [expected FAIL] /css/CSS2/fonts/font-family-applies-to-001.xht
  • PASS [expected FAIL] /css/CSS2/fonts/font-family-applies-to-002.xht
  • PASS [expected FAIL] /css/CSS2/fonts/font-family-applies-to-005.xht
  • PASS [expected FAIL] /css/CSS2/fonts/font-family-applies-to-006.xht
  • PASS [expected FAIL] /css/CSS2/fonts/font-family-applies-to-007.xht
  • PASS [expected FAIL] /css/CSS2/fonts/font-family-applies-to-008.xht
  • PASS [expected FAIL] /css/CSS2/fonts/font-family-applies-to-009.xht
  • PASS [expected FAIL] /css/CSS2/fonts/font-family-applies-to-010.xht
  • PASS [expected FAIL] /css/CSS2/fonts/font-family-applies-to-011.xht
  • PASS [expected FAIL] /css/CSS2/fonts/font-family-applies-to-014.xht
  • PASS [expected FAIL] /css/CSS2/fonts/font-family-applies-to-017.xht
  • PASS [expected FAIL] /css/CSS2/fonts/font-size-122.xht
  • FAIL [expected PASS] /css/CSS2/fonts/font-size-124.xht
  • PASS [expected FAIL] /css/CSS2/generated-content/content-070.xht
  • PASS [expected FAIL] /css/CSS2/generated-content/content-082.xht
  • FAIL [expected PASS] /css/CSS2/linebox/line-height-080.xht
  • FAIL [expected PASS] /css/CSS2/linebox/line-height-083.xht
  • FAIL [expected PASS] /css/CSS2/linebox/line-height-084.xht
  • FAIL [expected PASS] /css/CSS2/linebox/vertical-align-091.xht
  • FAIL [expected PASS] /css/CSS2/linebox/vertical-align-092.xht
  • FAIL [expected PASS] /css/CSS2/linebox/vertical-align-122.xht
  • FAIL [expected PASS] /css/CSS2/margin-padding-clear/margin-bottom-091.xht
  • FAIL [expected PASS] /css/CSS2/margin-padding-clear/margin-bottom-092.xht
  • PASS [expected FAIL] /css/CSS2/margin-padding-clear/margin-em-inherit-001.xht
  • FAIL [expected PASS] /css/CSS2/margin-padding-clear/margin-left-091.xht
  • FAIL [expected PASS] /css/CSS2/margin-padding-clear/margin-left-092.xht
  • FAIL [expected PASS] /css/CSS2/margin-padding-clear/margin-right-091.xht
  • FAIL [expected PASS] /css/CSS2/margin-padding-clear/margin-right-092.xht
  • FAIL [expected PASS] /css/CSS2/margin-padding-clear/margin-top-091.xht
  • FAIL [expected PASS] /css/CSS2/margin-padding-clear/margin-top-092.xht
  • FAIL [expected PASS] /css/CSS2/margin-padding-clear/padding-bottom-080.xht
  • FAIL [expected PASS] /css/CSS2/margin-padding-clear/padding-bottom-083.xht
  • FAIL [expected PASS] /css/CSS2/margin-padding-clear/padding-bottom-084.xht
  • PASS [expected FAIL] /css/CSS2/margin-padding-clear/padding-em-inherit-001.xht
  • FAIL [expected PASS] /css/CSS2/margin-padding-clear/padding-left-080.xht
  • FAIL [expected PASS] /css/CSS2/margin-padding-clear/padding-left-083.xht
  • FAIL [expected PASS] /css/CSS2/margin-padding-clear/padding-left-084.xht
  • FAIL [expected PASS] /css/CSS2/margin-padding-clear/padding-right-080.xht
  • FAIL [expected PASS] /css/CSS2/margin-padding-clear/padding-right-083.xht
  • FAIL [expected PASS] /css/CSS2/margin-padding-clear/padding-right-084.xht
  • FAIL [expected PASS] /css/CSS2/margin-padding-clear/padding-top-080.xht
  • FAIL [expected PASS] /css/CSS2/margin-padding-clear/padding-top-083.xht
  • FAIL [expected PASS] /css/CSS2/margin-padding-clear/padding-top-084.xht
  • FAIL [expected PASS] /css/CSS2/normal-flow/height-080.xht
  • FAIL [expected PASS] /css/CSS2/normal-flow/height-083.xht
  • FAIL [expected PASS] /css/CSS2/normal-flow/height-084.xht
  • FAIL [expected PASS] /css/CSS2/normal-flow/max-height-080.xht
  • FAIL [expected PASS] /css/CSS2/normal-flow/max-height-083.xht
  • FAIL [expected PASS] /css/CSS2/normal-flow/max-height-084.xht
  • FAIL [expected PASS] /css/CSS2/normal-flow/max-width-080.xht
  • FAIL [expected PASS] /css/CSS2/normal-flow/max-width-083.xht
  • FAIL [expected PASS] /css/CSS2/normal-flow/max-width-084.xht
  • FAIL [expected PASS] /css/CSS2/normal-flow/min-height-080.xht
  • FAIL [expected PASS] /css/CSS2/normal-flow/min-height-083.xht
  • FAIL [expected PASS] /css/CSS2/normal-flow/min-height-084.xht
  • FAIL [expected PASS] /css/CSS2/normal-flow/min-width-080.xht
  • FAIL [expected PASS] /css/CSS2/normal-flow/min-width-083.xht
  • FAIL [expected PASS] /css/CSS2/normal-flow/min-width-084.xht
  • FAIL [expected PASS] /css/CSS2/normal-flow/width-080.xht
  • FAIL [expected PASS] /css/CSS2/normal-flow/width-083.xht
  • FAIL [expected PASS] /css/CSS2/normal-flow/width-084.xht
  • FAIL [expected PASS] /css/CSS2/positioning/bottom-091.xht
  • FAIL [expected PASS] /css/CSS2/positioning/bottom-092.xht
  • FAIL [expected PASS] /css/CSS2/positioning/left-091.xht
  • FAIL [expected PASS] /css/CSS2/positioning/left-092.xht
  • PASS [expected FAIL] /css/CSS2/positioning/position-relative-032.xht
  • FAIL [expected PASS] /css/CSS2/positioning/right-091.xht
  • FAIL [expected PASS] /css/CSS2/positioning/right-092.xht
  • FAIL [expected PASS] /css/CSS2/positioning/top-091.xht
  • FAIL [expected PASS] /css/CSS2/positioning/top-092.xht
  • PASS [expected FAIL] /css/CSS2/tables/fixed-table-layout-003b01.xht
  • PASS [expected FAIL] /css/CSS2/tables/fixed-table-layout-003b02.xht
  • PASS [expected FAIL] /css/CSS2/tables/fixed-table-layout-003b03.xht
  • PASS [expected FAIL] /css/CSS2/tables/fixed-table-layout-003b04.xht
  • PASS [expected FAIL] /css/CSS2/tables/fixed-table-layout-003b05.xht
  • PASS [expected FAIL] /css/CSS2/tables/fixed-table-layout-003b06.xht
  • PASS [expected FAIL] /css/CSS2/tables/fixed-table-layout-003b07.xht
  • PASS [expected FAIL] /css/CSS2/tables/fixed-table-layout-003b08.xht
  • PASS [expected FAIL] /css/CSS2/tables/fixed-table-layout-003b09.xht
  • PASS [expected FAIL] /css/CSS2/tables/fixed-table-layout-003b10.xht
  • PASS [expected FAIL] /css/CSS2/tables/fixed-table-layout-003b11.xht
  • PASS [expected FAIL] /css/CSS2/tables/fixed-table-layout-003b12.xht
  • PASS [expected FAIL] /css/CSS2/tables/fixed-table-layout-003c01.xht
  • PASS [expected FAIL] /css/CSS2/tables/fixed-table-layout-003c02.xht
  • PASS [expected FAIL] /css/CSS2/tables/fixed-table-layout-003c03.xht
  • PASS [expected FAIL] /css/CSS2/tables/fixed-table-layout-003c04.xht
  • PASS [expected FAIL] /css/CSS2/tables/fixed-table-layout-003c05.xht
  • PASS [expected FAIL] /css/CSS2/tables/fixed-table-layout-003c06.xht
  • PASS [expected FAIL] /css/CSS2/tables/fixed-table-layout-003c07.xht
  • PASS [expected FAIL] /css/CSS2/tables/fixed-table-layout-003c08.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-001.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-005.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-006.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-applies-to-001.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-applies-to-002.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-applies-to-005.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-applies-to-006.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-applies-to-007.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-applies-to-008.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-applies-to-009.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-applies-to-010.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-applies-to-011.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-applies-to-012.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-applies-to-013.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-applies-to-014.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-001.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-002.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-003.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-004.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-008.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-009.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-010.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-011.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-012.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-019.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-020.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-021.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-022.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-023.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-024.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-025.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-026.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-027.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-028.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-029.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-030.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-031.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-032.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-033.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-034.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-035.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-036.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-037.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-038.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-039.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-041.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-050.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-051.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-054.xht
  • PASS [expected FAIL] /css/CSS2/text/white-space-processing-055.xht
  • PASS [expected FAIL] /css/CSS2/values/numbers-units-007.xht
  • PASS [expected FAIL] /css/CSS2/values/numbers-units-009.xht
  • PASS [expected FAIL] /css/CSS2/values/numbers-units-010.xht
  • FAIL [expected PASS] /css/CSS2/values/numbers-units-015.xht
  • FAIL [expected PASS] /css/CSS2/values/numbers-units-018.xht
  • FAIL [expected PASS] /css/CSS2/values/numbers-units-019.xht
  • PASS [expected FAIL] /css/CSS2/values/numbers-units-021.xht
  • FAIL [expected PASS] /css/CSS2/values/units-001.xht
  • FAIL [expected PASS] /css/CSS2/values/units-004.xht
  • PASS [expected FAIL] /css/compositing/mix-blend-mode/mix-blend-mode-both-parent-and-blended-with-3D-transform.html
  • PASS [expected FAIL] /css/compositing/mix-blend-mode/mix-blend-mode-parent-with-3D-transform.html
  • PASS [expected FAIL] /css/compositing/mix-blend-mode/mix-blend-mode-with-transform-and-preserve-3D.html
  • PASS [expected FAIL] /css/css-backgrounds/background-repeat/background-repeat-space.xht
  • PASS [expected FAIL] /css/css-flexbox/flexbox-align-self-baseline-horiz-004.xhtml
  • OK /css/css-fonts/variations/at-font-face-font-matching.html
    • PASS [expected FAIL] subtest: Matching font-style: 'oblique 20deg' should prefer 'oblique 10deg' over 'italic'
    • PASS [expected FAIL] subtest: Matching font-style: 'oblique 21deg' should prefer 'oblique 40deg 50deg' over 'oblique 20deg'
    • PASS [expected FAIL] subtest: Matching font-style: 'oblique 21deg' should prefer 'oblique 0deg' over 'oblique -50deg -20deg'
    • PASS [expected FAIL] subtest: Matching font-style: 'oblique 10deg' should prefer 'italic' over 'oblique 0deg'
    • PASS [expected FAIL] subtest: Matching font-style: 'oblique -10deg' should prefer 'oblique -60deg -30deg' over 'oblique -50deg -40deg'
  • FAIL [expected PASS] /css/css-pseudo/spelling-error-006.html
  • OK /css/css-tables/tentative/baseline-table.html
    • FAIL [expected PASS] subtest: .container 8

      assert_equals: 
      <div class="container">
        Xp<table style="vertical-align:middle" data-offset-y="5"></table>
      </div>
      offsetTop expected 5 but got 6
      

    • FAIL [expected PASS] subtest: .container 10

      assert_equals: 
      <div class="container">
        Xp<table style="vertical-align:top" data-offset-y="0"></table>
        <table style="vertical-align:middle" data-offset-y="5"></table>
        <table style="vertical-align:bottom" data-offset-y="20"></table>
      </div>
      offsetTop expected 5 but got 6
      

  • PASS [expected FAIL] /css/css-text-decor/invalidation/selection-pseudo-with-decoration-invalidation-001.html
  • PASS [expected FAIL] /css/css-text-decor/invalidation/selection-pseudo-with-decoration-invalidation-002.html
  • PASS [expected FAIL] /css/css-text-decor/ruby-text-decoration-01.html
  • PASS [expected FAIL] /css/css-text-decor/text-decoration-propagation-display-contents.html
  • PASS [expected FAIL] /css/css-text-decor/text-decoration-underline-position-vertical-ja.html
  • PASS [expected FAIL] /css/css-text-decor/text-decoration-underline-position-vertical.html
  • PASS [expected FAIL] /css/css-text-decor/text-shadow/decorations-multiple-zorder.html
  • FAIL [expected PASS] /css/css-text/line-breaking/line-breaking-015.html
  • FAIL [expected PASS] /css/css-text/text-justify/text-justify-001.html
  • FAIL [expected PASS] /css/css-text/text-transform/text-transform-capitalize-026.html
  • FAIL [expected PASS] /css/css-transforms/perspective-origin-001.html
  • FAIL [expected PASS] /css/css-transforms/perspective-origin-002.html
  • FAIL [expected PASS] /css/css-transforms/perspective-origin-003.html
  • FAIL [expected PASS] /css/css-transforms/perspective-origin-004.html
  • FAIL [expected PASS] /css/css-transforms/perspective-origin-005.html
  • FAIL [expected PASS] /css/css-transforms/perspective-origin-006.html
  • PASS [expected FAIL] /css/css-transforms/transform-input-017.html
  • PASS [expected FAIL] /css/css-transforms/transform-table-009.html
  • PASS [expected FAIL] /css/css-transforms/transform-table-010.html
  • PASS [expected FAIL] /css/css-transforms/transform-table-011.html
  • FAIL [expected PASS] /css/css-transforms/transform3d-backface-visibility-008.html
  • PASS [expected FAIL] /css/css-variables/variable-reference-visited.html
  • FAIL [expected PASS] /css/reference/pass_if_filler_text_underlined.html
  • PASS [expected FAIL] /html/rendering/non-replaced-elements/phrasing-content-0/br-wbr-content/content-property.tentative.html
  • PASS [expected FAIL] /html/rendering/non-replaced-elements/phrasing-content-0/font-element-text-decoration-color/001-a.html
  • PASS [expected FAIL] /html/rendering/non-replaced-elements/phrasing-content-0/font-element-text-decoration-color/001-q.html
  • PASS [expected FAIL] /html/rendering/non-replaced-elements/phrasing-content-0/font-element-text-decoration-color/001-s.html
  • PASS [expected FAIL] /html/rendering/non-replaced-elements/phrasing-content-0/font-element-text-decoration-color/001-x.xhtml
  • OK /html/semantics/forms/the-fieldset-element/fieldset-intrinsic-size.html
    • PASS [expected FAIL] subtest: min-content content-box
    • PASS [expected FAIL] subtest: min-content border-box
    • PASS [expected FAIL] subtest: max-content border-box
  • PASS [expected FAIL] /quirks/text-decoration-doesnt-propagate-into-tables/quirks.html
  • PASS [expected FAIL] /quirks/text-decoration-doesnt-propagate-into-tables/standards.html

Copy link

⚠️ Try run (#8890676830) failed.

@mrobinson mrobinson closed this Apr 30, 2024
@mrobinson
Copy link
Member Author

Closing this one for now as it needs a bit of work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant