Skip to content

stylo: Enable system color#42529

Merged
Loirooriol merged 5 commits into
servo:mainfrom
longvatrong111:system-color
Mar 3, 2026
Merged

stylo: Enable system color#42529
Loirooriol merged 5 commits into
servo:mainfrom
longvatrong111:system-color

Conversation

@longvatrong111
Copy link
Copy Markdown
Contributor

@longvatrong111 longvatrong111 commented Feb 11, 2026

Enable system color:

@longvatrong111 longvatrong111 added the T-linux-wpt Do a try run of the WPT label Feb 11, 2026
@github-actions github-actions Bot removed the T-linux-wpt Do a try run of the WPT label Feb 11, 2026
@github-actions
Copy link
Copy Markdown

🔨 Triggering try run (#21891676748) for Linux (WPT)

@github-actions
Copy link
Copy Markdown

⚠️ Try run (#21891676748) failed!

@longvatrong111 longvatrong111 force-pushed the system-color branch 2 times, most recently from 08dd786 to ed83221 Compare February 11, 2026 04:02
@longvatrong111 longvatrong111 added the T-linux-wpt Do a try run of the WPT label Feb 11, 2026
@github-actions github-actions Bot removed the T-linux-wpt Do a try run of the WPT label Feb 11, 2026
@github-actions
Copy link
Copy Markdown

🔨 Triggering try run (#21892315809) for Linux (WPT)

@github-actions
Copy link
Copy Markdown

⚠️ Try run (#21892315809) failed!

@longvatrong111 longvatrong111 added the T-linux-wpt Do a try run of the WPT label Feb 11, 2026
@github-actions github-actions Bot removed the T-linux-wpt Do a try run of the WPT label Feb 11, 2026
@github-actions
Copy link
Copy Markdown

🔨 Triggering try run (#21892434137) for Linux (WPT)

@github-actions
Copy link
Copy Markdown

Test results for linux-wpt from try job (#21892434137):

Flaky unexpected result (38)
  • ERROR [expected OK] /IndexedDB/cursor-overloads.any.html (#42437)
  • OK [expected ERROR] /IndexedDB/cursor-overloads.any.worker.html (#42324)
  • OK /IndexedDB/idbfactory-databases-opaque-origin.html
    • FAIL [expected PASS] subtest: IDBFactory.databases() in non-sandboxed iframe should not reject

      assert_equals: IDBFactory.databases() should not reject expected "no exception" but got "OperationError"
      

  • OK /IndexedDB/transaction-deactivation-timing.any.html (#38772)
    • PASS [expected FAIL] subtest: New transactions are deactivated before next task
    • PASS [expected FAIL] subtest: New transactions from microtask are deactivated before next task
  • OK /_mozilla/css/offset_properties_inline.html (#40543)
    • FAIL [expected PASS] subtest: offsetTop

      assert_equals: offsetTop of #inline-1 should be 0. expected 0 but got -1
      

    • FAIL [expected PASS] subtest: offsetLeft

      assert_equals: offsetLeft of #inline-2 should be 40. expected 40 but got 25
      

  • OK /_mozilla/mozilla/getBoundingClientRect.html (#39668)
    • FAIL [expected PASS] subtest: getBoundingClientRect 1

      assert_equals: expected 62 but got 60.35
      

  • CRASH [expected OK] /_webgl/conformance2/wasm/readpixels-2gb-in-4gb-wasm-memory.html
  • FAIL [expected PASS] /css/css-backgrounds/background-size-041.html
  • OK /css/css-fonts/variations/font-weight-matching.html (#38577)
    • FAIL [expected PASS] subtest: Test @font-face matching for weight 420

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

  • OK /encoding-detection/zh-GBK-late.tentative.html
    • FAIL [expected PASS] subtest: Check detection result

      assert_equals: Expected GBK expected "GBK" but got "UTF-8"
      

  • 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 [expected ERROR] /fetch/fetch-later/quota/same-origin-iframe/sandboxed-iframe.https.window.html (#41704)
  • OK /html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.html (#29056)
    • PASS [expected FAIL] subtest: Cross-origin navigation started from unload handler must be ignored
  • 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/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"
      

  • CRASH [expected OK] /html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/replacestate.html
  • OK /html/browsers/history/the-history-interface/traverse_the_history_2.html (#21383)
    • PASS [expected FAIL] subtest: Multiple history traversals, last would be aborted
  • OK /html/browsers/history/the-history-interface/traverse_the_history_3.html (#21383)
    • PASS [expected FAIL] subtest: Multiple history traversals, last would be aborted
  • CRASH [expected OK] /html/browsers/windows/browsing-context-names/choose-_parent-004.html
  • TIMEOUT [expected OK] /html/interaction/focus/the-autofocus-attribute/autofocus-dialog.html (#29087)
    • TIMEOUT [expected FAIL] subtest: <dialog>-contained autofocus element gets focused when the dialog is shown

      Test timed out
      

  • OK /html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/allow-scripts-flag-changing-1.html (#39694)
    • FAIL [expected PASS] subtest: Meta refresh is blocked by the allow-scripts sandbox flag at its creation time, not when refresh comes due

      uncaught exception: Error: assert_unreached: The iframe from which the meta came from must not refresh Reached unreachable code
      

  • OK /html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/allow-scripts-flag-changing-2.html (#39703)
    • PASS [expected FAIL] subtest: Meta refresh of the original iframe is not blocked if moved into a sandboxed iframe
  • OK /html/semantics/embedded-content/media-elements/media_fragment_seek.html (#24114)
    • FAIL [expected PASS] subtest: Video should seek to time specified in media fragment syntax

      assert_equals: expected 3 but got 0
      

  • OK [expected TIMEOUT] /html/semantics/embedded-content/media-elements/src_object_blob.html (#40340)
    • PASS [expected TIMEOUT] subtest: HTMLMediaElement.srcObject blob
  • OK /html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-location-assign.html (#32863)
    • FAIL [expected PASS] subtest: Navigating iframe loading='lazy' before it is loaded: location.assign

      uncaught exception: Error: assert_equals: expected "http://web-platform.test:8000/html/semantics/embedded-content/the-iframe-element/support/blank.htm?nav" but got "http://web-platform.test:8000/html/semantics/embedded-content/the-iframe-element/support/blank.htm?src"
      

  • TIMEOUT [expected OK] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_other_frame_popup.sub.html (#39702)
    • TIMEOUT [expected FAIL] subtest: Sandboxed iframe can not navigate other frame's popup

      Test timed out
      

  • TIMEOUT [expected OK] /html/user-activation/navigation-state-reset-sameorigin.html
    • TIMEOUT [expected PASS] subtest: Post-navigation state reset.

      Test timed out
      

  • CRASH [expected OK] /html/webappapis/system-state-and-capabilities/the-navigator-object/plugins-and-mimetypes.html
  • CRASH [expected OK] /html/webappapis/timers/cleartimeout-clearinterval.any.html
  • OK /paint-timing/fcp-only/input-text.html (#42439)
    • FAIL [expected PASS] subtest: Text from a form control triggers First Contentful Paint.

      assert_equals: First contentful paint marked too early.  expected 0 but got 1
      

  • OK /preload/prefetch-document.html (#37210)
    • FAIL [expected PASS] subtest: different-site document prefetch with 'as=document' should not be consumed

      assert_equals: expected 2 but got 1
      

  • OK [expected CRASH] /resource-timing/render-blocking-status-link.html (#41664)
  • TIMEOUT [expected OK] /trusted-types/trusted-types-navigation.html?01-05 (#38975)
    • TIMEOUT [expected PASS] subtest: Navigate a window via anchor with javascript:-urls in report-only mode.

      Test timed out
      

    • NOTRUN [expected PASS] subtest: Navigate a window via anchor with javascript:-urls w/ default policy in report-only mode.
    • NOTRUN [expected PASS] subtest: Navigate a frame via anchor with javascript:-urls in enforcing mode.
  • TIMEOUT /trusted-types/trusted-types-navigation.html?06-10 (#37920)
    • TIMEOUT [expected FAIL] subtest: Navigate a frame via anchor with javascript:-urls in report-only mode.

      Test timed out
      

    • NOTRUN [expected TIMEOUT] subtest: Navigate a frame via anchor with javascript:-urls w/ default policy in report-only mode.
  • OK [expected TIMEOUT] /trusted-types/trusted-types-navigation.html?31-35 (#38034)
    • PASS [expected TIMEOUT] subtest: Navigate a frame via form-submission with javascript:-urls w/ default policy in report-only mode.
    • FAIL [expected NOTRUN] subtest: Navigate a window via form-submission with javascript:-urls w/ a default policy throwing an exception in enforcing mode.

      promise_test: Unhandled rejection with value: "Unexpected message received: \"No securitypolicyviolation reported!\""
      

    • FAIL [expected NOTRUN] subtest: Navigate a window via form-submission with javascript:-urls w/ a default policy throwing an exception in report-only mode.

      promise_test: Unhandled rejection with value: "Unexpected message received: \"No securitypolicyviolation reported!\""
      

    • FAIL [expected NOTRUN] subtest: Navigate a window via form-submission with javascript:-urls w/ a default policy making the URL invalid in enforcing mode.

      promise_test: Unhandled rejection with value: "Unexpected message received: \"No securitypolicyviolation reported!\""
      

  • CRASH [expected OK] /webaudio/the-audio-api/the-mediastreamaudiodestinationnode-interface/closed-audiocontext-construction.html
  • OK /webdriver/tests/classic/take_screenshot/iframe.py
    • ERROR [expected PASS] subtest: test_always_captures_top_browsing_context

      setup error: ConnectionRefusedError: [Errno 111] Connection refused
      

    • ERROR [expected PASS] subtest: test_source_origin[same_origin]

      setup error: ConnectionRefusedError: [Errno 111] Connection refused
      

    • ERROR [expected PASS] subtest: test_source_origin[cross_origin]

      setup error: ConnectionRefusedError: [Errno 111] Connection refused
      

  • OK /webxr/xrSession_features_deviceSupport.https.html (#24357)
    • FAIL [expected PASS] subtest: Immersive XRSession requests with no supported device should reject

      assert_unreached: Should have rejected: undefined Reached unreachable code
      

Stable unexpected results that are known to be intermittent (22)
  • FAIL [expected PASS] /_mozilla/mozilla/sslfail.html (#10760)
  • TIMEOUT [expected OK] /_mozilla/mozilla/window_resize_event.html (#36741)
    • TIMEOUT [expected PASS] subtest: Popup onresize event fires after resizeTo

      Test timed out
      

  • OK /css/css-cascade/layer-font-face-override.html (#35935)
    • FAIL [expected PASS] subtest: @font-face override update with appended sheet 2

      assert_equals: expected "80px" but got "38.3166666666667px"
      

  • OK /css/css-fonts/generic-family-keywords-001.html (#37467)
    • PASS [expected FAIL] subtest: @font-face matching for quoted and unquoted generic(khmer-mul)
    • FAIL [expected PASS] subtest: @font-face matching for quoted and unquoted generic(nastaliq)

      assert_equals: quoted generic(nastaliq) matches  @font-face rule expected 50 but got 30
      

  • OK [expected ERROR] /fetch/fetch-later/quota/same-origin-iframe/accumulated-oversized-payload.https.window.html (#41705)
  • OK /fetch/metadata/generated/css-font-face.https.sub.tentative.html (#32732)
    • FAIL [expected PASS] subtest: sec-fetch-mode

      promise_test: Unhandled rejection with value: object "Error: Failed to query for recorded headers."
      

    • PASS [expected FAIL] subtest: sec-fetch-storage-access - Same site
  • OK /fetch/metadata/generated/css-font-face.sub.tentative.html (#34624)
    • FAIL [expected PASS] subtest: sec-fetch-storage-access - Not sent to non-trustworthy cross-site destination

      promise_test: Unhandled rejection with value: object "Error: Failed to query for recorded headers."
      

  • TIMEOUT /fetch/metadata/generated/css-images.sub.tentative.html (#29047)
    • PASS [expected TIMEOUT] subtest: background-image sec-fetch-mode - Not sent to non-trustworthy same-site destination
  • ERROR /fetch/metadata/generated/serviceworker.https.sub.html (#36247)
    • FAIL [expected PASS] subtest: sec-fetch-site - Same origin, no options - registration

      promise_test: Unhandled rejection with value: object "Error: Failed to query for recorded headers."
      

  • ERROR [expected TIMEOUT] /html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-initial-navigation.html (#40387)
  • 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/interaction/focus/the-autofocus-attribute/document-with-fragment-top.html (#28259)
    • TIMEOUT [expected FAIL] subtest: Autofocus elements in top-level browsing context's documents with "top" fragments should work.

      Test timed out
      

  • TIMEOUT /html/interaction/focus/the-autofocus-attribute/supported-elements.html (#24145)
    • TIMEOUT [expected PASS] subtest: Non-HTMLElement should not support autofocus

      Test timed out
      

  • TIMEOUT /html/semantics/embedded-content/media-elements/autoplay-disabled-by-feature-policy.https.sub.html (#41221)
    • TIMEOUT [expected FAIL] subtest: Feature-Policy header: autoplay "none" disallows same-origin iframes.

      Test timed out
      

  • OK /html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-reload-location-reload.html (#32595)
    • FAIL [expected PASS] subtest: Reloading iframe loading='lazy' before it is loaded: location.reload

      uncaught exception: Error: assert_equals: expected "http://web-platform.test:8000/html/semantics/embedded-content/the-iframe-element/support/blank.htm?src" but got "about:blank"
      

  • OK /navigation-timing/test-navigation-type-reload.html (#33334)
    • FAIL [expected PASS] subtest: Reload domComplete > Original domComplete

      assert_true: Reload domComplete > Original domComplete expected true got false
      

    • FAIL [expected PASS] subtest: Reload domInteractive > Original domInteractive

      assert_true: Reload domInteractive > Original domInteractive expected true got false
      

    • FAIL [expected PASS] subtest: Reload loadEventEnd > Original loadEventEnd

      assert_true: Reload loadEventEnd > Original loadEventEnd expected true got false
      

    • FAIL [expected PASS] subtest: Reload loadEventStart > Original loadEventStart

      assert_true: Reload loadEventStart > Original loadEventStart expected true got false
      

  • OK /paint-timing/fcp-only/fcp-with-rtl.html (#42357)
    • FAIL [expected PASS] subtest: FCP should fire when coordinates are negative, if within document scrollable area

      assert_equals: First contentful paint marked too early.  expected 0 but got 1
      

  • OK /pointerevents/compat/pointerevent_touch-action_two-finger_interaction.html (#40418)
    • PASS [expected FAIL] subtest: touch two-finger pan on 'touch-action: pan-x pan-y'
  • OK /resource-timing/test_resource_timing.html (#25720)
    • PASS [expected FAIL] subtest: PerformanceEntry has correct name, initiatorType, startTime, and duration (iframe)
  • OK /visual-viewport/resize-event-order.html (#41981)
    • PASS [expected FAIL] subtest: Popup: DOMWindow resize fired before VisualViewport.
  • OK /webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html (#22849)
    • FAIL [expected PASS] subtest: buffer-stitching-2

      assert_approx_equals: Stitched sine‑wave buffers at sample rate 43800 sample[1360] |-1.7263254082836404e-22 - -0.42100346088409424| = 0.42100346088409424 > 0.0038986 expected -0.42100346088409424 +/- 0.0038986 but got -1.7263254082836404e-22
      

  • TIMEOUT [expected OK] /webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.html (#29053)
    • TIMEOUT [expected PASS] subtest: StorageKey: test 3P about:blank window opened from a 3P iframe

      Test timed out
      

Stable unexpected results (33)
  • PASS [expected FAIL] /css/css-color/deprecated-sameas-001.html
  • PASS [expected FAIL] /css/css-color/deprecated-sameas-002.html
  • PASS [expected FAIL] /css/css-color/deprecated-sameas-003.html
  • PASS [expected FAIL] /css/css-color/deprecated-sameas-004.html
  • PASS [expected FAIL] /css/css-color/deprecated-sameas-005.html
  • PASS [expected FAIL] /css/css-color/deprecated-sameas-006.html
  • PASS [expected FAIL] /css/css-color/deprecated-sameas-007.html
  • PASS [expected FAIL] /css/css-color/deprecated-sameas-008.html
  • PASS [expected FAIL] /css/css-color/deprecated-sameas-009.html
  • PASS [expected FAIL] /css/css-color/deprecated-sameas-010.html
  • PASS [expected FAIL] /css/css-color/deprecated-sameas-011.html
  • PASS [expected FAIL] /css/css-color/deprecated-sameas-012.html
  • PASS [expected FAIL] /css/css-color/deprecated-sameas-013.html
  • PASS [expected FAIL] /css/css-color/deprecated-sameas-014.html
  • PASS [expected FAIL] /css/css-color/deprecated-sameas-015.html
  • PASS [expected FAIL] /css/css-color/deprecated-sameas-016.html
  • PASS [expected FAIL] /css/css-color/deprecated-sameas-017.html
  • PASS [expected FAIL] /css/css-color/deprecated-sameas-020.html
  • PASS [expected FAIL] /css/css-color/deprecated-sameas-021.html
  • PASS [expected FAIL] /css/css-color/deprecated-sameas-022.html
  • PASS [expected FAIL] /css/css-color/deprecated-sameas-023.html
  • OK /css/css-color/parsing/color-valid-system-color.html
    • PASS [expected FAIL] subtest: e.style['color'] = "ActiveText" should set the property value
    • PASS [expected FAIL] subtest: e.style['color'] = "ButtonBorder" should set the property value
    • PASS [expected FAIL] subtest: e.style['color'] = "ButtonFace" should set the property value
    • PASS [expected FAIL] subtest: e.style['color'] = "ButtonText" should set the property value
    • PASS [expected FAIL] subtest: e.style['color'] = "Canvas" should set the property value
    • PASS [expected FAIL] subtest: e.style['color'] = "CanvasText" should set the property value
    • PASS [expected FAIL] subtest: e.style['color'] = "Field" should set the property value
    • PASS [expected FAIL] subtest: e.style['color'] = "FieldText" should set the property value
    • PASS [expected FAIL] subtest: e.style['color'] = "GrayText" should set the property value
    • PASS [expected FAIL] subtest: e.style['color'] = "Highlight" should set the property value
    • And 9 more unexpected results...
  • OK /css/css-color/system-color-consistency.html
    • PASS [expected FAIL] subtest: Property color value 'ButtonText' resolves to the same color as text on a button (light)
    • PASS [expected FAIL] subtest: Property color value 'ButtonText' resolves to the same color as text on a submit button (light)
    • PASS [expected FAIL] subtest: Property color value 'ButtonText' resolves to the same color as text on a reset button (light)
    • PASS [expected FAIL] subtest: Property color value 'ButtonText' resolves to the same color as text on a color picker (light)
    • PASS [expected FAIL] subtest: Property color value 'CanvasText' has the same color as the color of the html element (light)
    • PASS [expected FAIL] subtest: Property color value 'Field' resolves to the same color as the background-color of a text field (light)
    • PASS [expected FAIL] subtest: Property color value 'FieldText' resolves to the same color as text on a text field (light)
    • PASS [expected FAIL] subtest: Property color value 'Field' resolves to the same color as the background-color of a password field (light)
    • PASS [expected FAIL] subtest: Property color value 'FieldText' resolves to the same color as text on a password field (light)
    • PASS [expected FAIL] subtest: Property color value 'Field' resolves to the same color as the background-color of a email field (light)
    • And 28 more unexpected results...
  • FAIL [expected PASS] /css/css-color/system-color-hightlights-vs-getSelection-001.html
  • FAIL [expected PASS] /css/css-color/system-color-hightlights-vs-getSelection-002.html
  • OK /css/css-color/system-color-support.html
    • PASS [expected FAIL] subtest: System color ActiveText works
    • PASS [expected FAIL] subtest: System color ButtonBorder works
    • PASS [expected FAIL] subtest: System color HighlightText works
    • PASS [expected FAIL] subtest: System color SelectedItemText works
    • PASS [expected FAIL] subtest: System color Mark works
    • PASS [expected FAIL] subtest: System color MarkText works
    • PASS [expected FAIL] subtest: System color GrayText works
    • PASS [expected FAIL] subtest: System color AccentColor works
    • PASS [expected FAIL] subtest: System color AccentColorText works
  • PASS [expected FAIL] /css/css-display/display-contents-fieldset-nested-legend.html
  • PASS [expected FAIL] /css/css-properties-values-api/registered-property-computation-color-003.html
  • FAIL [expected PASS] /css/css-pseudo/active-selection-014.html
  • OK /css/cssom/getComputedStyle-resolved-colors.html
    • PASS [expected FAIL] subtest: The resolved value for 'box-shadow' is the used value
  • FAIL [expected PASS] /html/canvas/element/manual/shadows/canvas_shadows_system_colors.html
  • PASS [expected FAIL] /html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-content-rtl.html
  • OK /html/semantics/interactive-elements/the-dialog-element/default-color.html
    • PASS [expected FAIL] subtest: <dialog> color and background match default

@github-actions
Copy link
Copy Markdown

⚠️ Try run (#21892434137) failed!

@longvatrong111 longvatrong111 added the T-linux-wpt Do a try run of the WPT label Feb 11, 2026
@github-actions github-actions Bot removed the T-linux-wpt Do a try run of the WPT label Feb 11, 2026
@github-actions
Copy link
Copy Markdown

🔨 Triggering try run (#21895149577) for Linux (WPT)

@github-actions
Copy link
Copy Markdown

Test results for linux-wpt from try job (#21895149577):

Flaky unexpected result (27)
  • TIMEOUT /FileAPI/url/url-in-tags-revoke.window.html (#19978)
    • TIMEOUT [expected PASS] subtest: Fetching a blob URL immediately before revoking it works in <script> tags.

      Test timed out
      

  • ERROR [expected OK] /IndexedDB/cursor-overloads.any.html (#42437)
  • OK [expected ERROR] /IndexedDB/cursor-overloads.any.worker.html (#42324)
  • OK /IndexedDB/idbfactory-databases-opaque-origin.html
    • FAIL [expected PASS] subtest: IDBFactory.databases() in non-sandboxed iframe should not reject

      assert_equals: IDBFactory.databases() should not reject expected "no exception" but got "OperationError"
      

  • CRASH [expected OK] /_webgl/conformance2/wasm/readpixels-2gb-in-4gb-wasm-memory.html
  • OK /content-security-policy/frame-ancestors/frame-ancestors-path-ignored.window.html (#36468)
    • PASS [expected FAIL] subtest: A 'frame-ancestors' CSP directive with a URL that includes a path should be ignored.
  • FAIL [expected PASS] /css/css-backgrounds/background-size-041.html
  • TIMEOUT /fetch/metadata/generated/css-images.https.sub.tentative.html (#42229)
    • FAIL [expected PASS] subtest: content sec-fetch-site - Cross-Site -> Cross-Site

      assert_unreached: Reached unreachable code
      

  • OK /html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.html (#29056)
    • PASS [expected FAIL] subtest: Cross-origin navigation started from unload handler must be ignored
  • 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])
      

  • OK /html/browsers/windows/browsing-context-names/duplicate-name-order.html (#34623)
    • PASS [expected FAIL] subtest: Duplicate name lookup order
  • CRASH [expected OK] /html/canvas/element/compositing/2d.composite.solid.copy.html
  • OK /html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/allow-scripts-flag-changing-1.html (#39694)
    • FAIL [expected PASS] subtest: Meta refresh is blocked by the allow-scripts sandbox flag at its creation time, not when refresh comes due

      uncaught exception: Error: assert_unreached: The iframe from which the meta came from must not refresh Reached unreachable code
      

  • OK /html/semantics/embedded-content/media-elements/media_fragment_seek.html (#24114)
    • FAIL [expected PASS] subtest: Video should seek to time specified in media fragment syntax

      assert_equals: expected 3 but got 0
      

  • OK /html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-location-replace-set-src.html (#32697)
    • PASS [expected FAIL] subtest: Navigating iframe loading='lazy' and then setting src: location.replace
  • TIMEOUT [expected OK] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_other_frame_popup.sub.html (#39702)
    • TIMEOUT [expected FAIL] subtest: Sandboxed iframe can not navigate other frame's popup

      Test timed out
      

  • TIMEOUT [expected OK] /html/user-activation/navigation-state-reset-sameorigin.html
    • TIMEOUT [expected PASS] subtest: Post-navigation state reset.

      Test timed out
      

  • OK /mixed-content/tentative/autoupgrades/audio-upgrade.https.sub.html (#41697)
    • FAIL [expected PASS] subtest: Audio autoupgraded

      assert_equals: Length expected 1 but got Infinity
      

  • OK /paint-timing/fcp-only/input-text.html (#42439)
    • FAIL [expected PASS] subtest: Text from a form control triggers First Contentful Paint.

      assert_equals: First contentful paint marked too early.  expected 0 but got 1
      

  • OK /resource-timing/buffer-full-add-then-clear.html (#40819)
    • FAIL [expected PASS] subtest: Test that if the buffer is cleared after entries were added to the secondary buffer, those entries make it into the primary one

      assert_equals: Number of entries does not match the expected value. expected 3 but got 0
      

  • TIMEOUT /trusted-types/trusted-types-navigation.html?06-10 (#37920)
    • TIMEOUT [expected FAIL] subtest: Navigate a frame via anchor with javascript:-urls in report-only mode.

      Test timed out
      

    • NOTRUN [expected TIMEOUT] subtest: Navigate a frame via anchor with javascript:-urls w/ default policy in report-only mode.
  • OK /visual-viewport/resize-event-order.html (#41981)
    • PASS [expected FAIL] subtest: Popup: DOMWindow resize fired before VisualViewport.
  • OK /webdriver/tests/classic/element_click/events.py
    • FAIL [expected PASS] subtest: test_event_mousemove

      webdriver.error.NoSuchWindowException: no such window (404): No such window
      

  • OK /webdriver/tests/classic/get_active_element/get.py
    • ERROR [expected PASS] subtest: test_no_top_browsing_context

      setup error: webdriver.error.NoSuchElementException: no such element (404)
      

  • OK /webdriver/tests/classic/get_alert_text/get.py
    • ERROR [expected PASS] subtest: test_no_top_browsing_context

      setup error: webdriver.error.NoSuchElementException: no such element (404)
      

  • OK /webdriver/tests/classic/take_screenshot/iframe.py
    • ERROR [expected PASS] subtest: test_always_captures_top_browsing_context

      setup error: ConnectionRefusedError: [Errno 111] Connection refused
      

    • ERROR [expected PASS] subtest: test_source_origin[same_origin]

      setup error: ConnectionRefusedError: [Errno 111] Connection refused
      

    • ERROR [expected PASS] subtest: test_source_origin[cross_origin]

      setup error: ConnectionRefusedError: [Errno 111] Connection refused
      

  • CRASH [expected OK] /workers/WorkerGlobalScope_ErrorEvent_colno.htm
Stable unexpected results that are known to be intermittent (23)
  • FAIL [expected PASS] /_mozilla/mozilla/sslfail.html (#10760)
  • TIMEOUT [expected OK] /_mozilla/mozilla/window_resize_event.html (#36741)
    • TIMEOUT [expected PASS] subtest: Popup onresize event fires after resizeTo

      Test timed out
      

  • OK /css/css-cascade/layer-font-face-override.html (#35935)
    • FAIL [expected PASS] subtest: @font-face override update with appended sheet 2

      assert_equals: expected "80px" but got "38.3166666666667px"
      

  • OK /css/css-fonts/generic-family-keywords-001.html (#37467)
    • FAIL [expected PASS] subtest: @font-face matching for quoted and unquoted generic(nastaliq)

      assert_equals: quoted generic(nastaliq) matches  @font-face rule expected 30 but got 50
      

  • OK /css/css-fonts/generic-family-keywords-003.html (#38994)
    • PASS [expected FAIL] subtest: @font-face matching for quoted and unquoted sans-serif (drawing text in a canvas)
    • PASS [expected FAIL] subtest: @font-face matching for quoted and unquoted fantasy (drawing text in a canvas)
    • PASS [expected FAIL] subtest: @font-face matching for quoted and unquoted monospace (drawing text in a canvas)
    • PASS [expected FAIL] subtest: @font-face matching for quoted and unquoted system-ui (drawing text in a canvas)
    • PASS [expected FAIL] subtest: @font-face matching for quoted and unquoted generic(fangsong) (drawing text in a canvas)
    • PASS [expected FAIL] subtest: @font-face matching for quoted and unquoted generic(nastaliq) (drawing text in a canvas)
    • PASS [expected FAIL] subtest: @font-face matching for quoted and unquoted ui-serif (drawing text in a canvas)
  • 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 /fetch/metadata/generated/css-font-face.https.sub.tentative.html (#32732)
    • FAIL [expected PASS] subtest: sec-fetch-mode

      promise_test: Unhandled rejection with value: object "Error: Failed to query for recorded headers."
      

  • OK /fetch/metadata/generated/css-font-face.sub.tentative.html (#34624)
    • FAIL [expected PASS] subtest: sec-fetch-storage-access - Not sent to non-trustworthy cross-site destination

      promise_test: Unhandled rejection with value: object "Error: Failed to query for recorded headers."
      

  • TIMEOUT /fetch/metadata/generated/css-images.sub.tentative.html (#29047)
    • PASS [expected TIMEOUT] subtest: background-image sec-fetch-mode - Not sent to non-trustworthy same-site destination
  • ERROR /fetch/metadata/generated/serviceworker.https.sub.html (#36247)
    • FAIL [expected PASS] subtest: sec-fetch-site - Same origin, no options - registration

      promise_test: Unhandled rejection with value: object "Error: Failed to query for recorded headers."
      

  • ERROR [expected OK] /focus/focus-event-after-switching-iframes.sub.html (#40368)
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-window-open.html (#28691)
    • FAIL [expected PASS] subtest: load event does not fire on window.open('about:blank')

      assert_unreached: load should not be fired Reached unreachable code
      

  • 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 /html/browsers/history/the-history-interface/traverse_the_history_5.html (#21383)
    • PASS [expected FAIL] subtest: Multiple history traversals, last would be aborted
  • OK /html/browsers/windows/embedded-opener-remove-frame.html (#23867)
    • FAIL [expected PASS] subtest: opener of discarded auxiliary browsing context

      assert_object_equals: property "get" expected function "function opener() {
          [native code]
      }" got function "function opener() {
          [native code]
      }"
      

  • TIMEOUT /html/interaction/focus/the-autofocus-attribute/supported-elements.html (#24145)
    • FAIL [expected NOTRUN] subtest: Host element with delegatesFocus should support autofocus

      assert_equals: expected Element node <div autofocus=""></div> but got Element node <body><div autofocus=""></div></body>
      

    • TIMEOUT [expected NOTRUN] subtest: Host element with delegatesFocus including no focusable descendants should be skipped

      Test timed out
      

  • OK /html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/allow-scripts-flag-changing-2.html (#39703)
    • PASS [expected FAIL] subtest: Meta refresh of the original iframe is not blocked if moved into a sandboxed iframe
  • TIMEOUT /html/semantics/embedded-content/media-elements/autoplay-disabled-by-feature-policy.https.sub.html (#41221)
    • TIMEOUT [expected FAIL] subtest: Feature-Policy header: autoplay "none" disallows same-origin iframes.

      Test timed out
      

  • OK /navigation-timing/test-navigation-type-reload.html (#33334)
    • PASS [expected FAIL] subtest: Reload domContentLoadedEventStart > Original domContentLoadedEventStart
    • PASS [expected FAIL] subtest: Reload fetchStart > Original fetchStart
  • OK /paint-timing/fcp-only/fcp-with-rtl.html (#42357)
    • FAIL [expected PASS] subtest: FCP should fire when coordinates are negative, if within document scrollable area

      assert_equals: First contentful paint marked too early.  expected 0 but got 1
      

  • OK /pointerevents/compat/pointerevent_touch-action_two-finger_interaction.html (#40418)
    • PASS [expected FAIL] subtest: touch two-finger pan on 'touch-action: pan-x pan-y'
  • OK /resource-timing/test_resource_timing.https.html (#25216)
    • FAIL [expected PASS] subtest: PerformanceEntry has correct name, initiatorType, startTime, and duration (xmlhttprequest)

      assert_equals: expected 48.670000000000016 but got 48.66
      

  • TIMEOUT [expected OK] /webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.html (#29053)
    • TIMEOUT [expected PASS] subtest: StorageKey: test 3P about:blank window opened from a 3P iframe

      Test timed out
      

@github-actions
Copy link
Copy Markdown

✨ Try run (#21895149577) succeeded.

Comment thread tests/wpt/meta/css/css-color/system-color-consistency.html.ini Outdated
Comment thread tests/wpt/meta/css/css-color/system-color-consistency.html.ini Outdated
@longvatrong111 longvatrong111 marked this pull request as ready for review February 12, 2026 02:14
@servo-highfive servo-highfive added the S-awaiting-review There is new code that needs to be reviewed. label Feb 12, 2026
@longvatrong111 longvatrong111 added the T-linux-wpt Do a try run of the WPT label Feb 12, 2026
@github-actions github-actions Bot removed the T-linux-wpt Do a try run of the WPT label Feb 12, 2026
@github-actions
Copy link
Copy Markdown

🔨 Triggering try run (#21939734028) for Linux (WPT)

@servo-highfive servo-highfive removed the S-needs-rebase There are merge conflict errors. label Mar 3, 2026
github-merge-queue Bot pushed a commit to servo/stylo that referenced this pull request Mar 3, 2026
Enable system color and map keyword to value according to:
https://w3c.github.io/csswg-drafts/css-color-4/#valdef-color-canvastext
Values not mentioned are set to default.

Servo PR: servo/servo#42529

Signed-off-by: batu_hoang <[email protected]>
@Loirooriol Loirooriol enabled auto-merge March 3, 2026 15:25
@Loirooriol Loirooriol added this pull request to the merge queue Mar 3, 2026
@servo-highfive servo-highfive added the S-awaiting-merge The PR is in the process of compiling and running tests on the automated CI. label Mar 3, 2026
Merged via the queue into servo:main with commit 712b7b3 Mar 3, 2026
30 checks passed
@servo-highfive servo-highfive removed the S-awaiting-merge The PR is in the process of compiling and running tests on the automated CI. label Mar 3, 2026
minghuaw pushed a commit to minghuaw/stylo that referenced this pull request Mar 5, 2026
Enable system color and map keyword to value according to:
https://w3c.github.io/csswg-drafts/css-color-4/#valdef-color-canvastext
Values not mentioned are set to default.

Servo PR: servo/servo#42529

Signed-off-by: batu_hoang <[email protected]>
Loirooriol pushed a commit to servo/stylo that referenced this pull request Mar 5, 2026
Enable system color and map keyword to value according to:
https://w3c.github.io/csswg-drafts/css-color-4/#valdef-color-canvastext
Values not mentioned are set to default.

Servo PR: servo/servo#42529

Signed-off-by: batu_hoang <[email protected]>
@longvatrong111 longvatrong111 deleted the system-color branch March 6, 2026 08:19
mrobinson added a commit to mrobinson/servo that referenced this pull request Mar 9, 2026
I believe that these changes were likely made in error. Servo button
controls do not follow the system theme, so system colors should not be
used. These changes degraded the look of the buttons, so this change
reverts to the previous state.

Signed-off-by: Martin Robinson <[email protected]>
mrobinson added a commit to mrobinson/servo that referenced this pull request Mar 9, 2026
I believe that these changes were likely made in error. Servo button
controls do not follow the system theme, so system colors should not be
used. These changes degraded the look of the buttons, so this change
reverts to the previous state.

Signed-off-by: Martin Robinson <[email protected]>
@mrobinson
Copy link
Copy Markdown
Member

This change modified the styling of form controls, which should have been done in a separate change. Instead, this change should have maintained the existing style of form controls by porting the current Servo colors to Stylo or, instead, provided a way for Stylo to override these colors for itself.

mrobinson added a commit to mrobinson/servo that referenced this pull request Mar 9, 2026
I believe that these changes were likely made in error. Servo button
controls do not follow the system theme, so system colors should not be
used. These changes degraded the look of the buttons, so this change
reverts to the previous state.

Signed-off-by: Martin Robinson <[email protected]>
github-merge-queue Bot pushed a commit that referenced this pull request Mar 9, 2026
I believe that these changes (part of #42529) were likely made in error.
Servo
button controls do not follow the system theme, so system colors should
not be
used. These changes degraded the look of the buttons, so this change
reverts to the previous state.

### Before (with unintended change):

<img width="520" height="115" alt="Screenshot 2026-03-09 at 08 47 15"
src="https://github.com/user-attachments/assets/cff5fc1a-bfd0-4785-8326-91e735390176"
/>

### After (restored style):

<img width="499" height="113" alt="Screenshot 2026-03-09 at 08 46 02"
src="https://github.com/user-attachments/assets/99660c7f-9eb6-4ee8-905e-f7a594bd363d"
/>


Testing: These changes are really only testable via the manual test
`tests/html/form-control-visuals.html`.

Signed-off-by: Martin Robinson <[email protected]>
mrobinson added a commit to mrobinson/servo that referenced this pull request Mar 9, 2026
I believe that these changes were likely made in error. Servo button
controls do not follow the system theme, so system colors should not be
used. These changes degraded the look of the buttons, so this change
reverts to the previous state.

Signed-off-by: Martin Robinson <[email protected]>
mrobinson added a commit to mrobinson/servo that referenced this pull request Mar 9, 2026
I believe that these changes were likely made in error. Servo button
controls do not follow the system theme, so system colors should not be
used. These changes degraded the look of the buttons, so this change
reverts to the previous state.

Signed-off-by: Martin Robinson <[email protected]>
mrobinson added a commit to mrobinson/servo that referenced this pull request Mar 10, 2026
I believe that these changes were likely made in error. Servo button
controls do not follow the system theme, so system colors should not be
used. These changes degraded the look of the buttons, so this change
reverts to the previous state.

Signed-off-by: Martin Robinson <[email protected]>
mrobinson added a commit to mrobinson/servo that referenced this pull request Mar 10, 2026
I believe that these changes were likely made in error. Servo button
controls do not follow the system theme, so system colors should not be
used. These changes degraded the look of the buttons, so this change
reverts to the previous state.

Signed-off-by: Martin Robinson <[email protected]>
mrobinson added a commit to mrobinson/servo that referenced this pull request Mar 10, 2026
I believe that these changes were likely made in error. Servo button
controls do not follow the system theme, so system colors should not be
used. These changes degraded the look of the buttons, so this change
reverts to the previous state.

Signed-off-by: Martin Robinson <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-awaiting-review There is new code that needs to be reviewed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants