Skip to content

script: Implement bold and fontname commands#44511

Merged
jdm merged 1 commit into
servo:mainfrom
TimvdLippe:more-commands
Apr 26, 2026
Merged

script: Implement bold and fontname commands#44511
jdm merged 1 commit into
servo:mainfrom
TimvdLippe:more-commands

Conversation

@TimvdLippe

Copy link
Copy Markdown
Contributor

Part of #25005

Testing: WPT

@TimvdLippe TimvdLippe requested a review from gterzian as a code owner April 26, 2026 15:42
@TimvdLippe TimvdLippe added the T-linux-wpt Do a try run of the WPT label Apr 26, 2026
@servo-highfive servo-highfive added the S-awaiting-review There is new code that needs to be reviewed. label Apr 26, 2026
@github-actions github-actions Bot removed the T-linux-wpt Do a try run of the WPT label Apr 26, 2026
@github-actions

Copy link
Copy Markdown

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

@github-actions

Copy link
Copy Markdown

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

Flaky unexpected result (34)
  • OK /IndexedDB/idbdatabase_deleteObjectStore.any.html (#43823)
    • PASS [expected FAIL] subtest: Deleted object store's name should be removed from database's list. Attempting to use a deleted IDBObjectStore should throw an InvalidStateError
  • TIMEOUT [expected OK] /content-security-policy/inheritance/document-write-iframe.html (#41195)
    • TIMEOUT [expected PASS] subtest: document.open() keeps inherited CSPs on transient about:blank.

      Test timed out
      

  • CRASH [expected OK] /content-security-policy/meta/sandbox-iframe.html (#43478)
  • FAIL [expected PASS] /css/css-ui/compute-kind-widget-generated/grouped-kind-of-widget-fallback-border-image-source-001.html
  • CRASH [expected OK] /fetch/api/cors/cors-redirect.any.worker.html
  • 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
      

  • CRASH [expected OK] /fetch/api/request/request-consume-empty.any.worker.html
  • TIMEOUT /fetch/metadata/generated/css-images.https.sub.tentative.html (#42229)
    • FAIL [expected PASS] subtest: content sec-fetch-site - Same site

      assert_unreached: Reached unreachable code
      

  • OK /html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html (#28697)
    • PASS [expected FAIL] subtest: aElement.click() before the load event must NOT replace
  • OK [expected TIMEOUT] /html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/form-submit.html (#44028)
  • CRASH [expected OK] /html/browsers/history/the-location-interface/security_location_0.htm
  • CRASH [expected OK] /html/browsers/windows/browsing-context-window.html
  • OK /html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/allow-scripts-flag-changing-2.html (#39703)
    • FAIL [expected PASS] subtest: Meta refresh of the original iframe is not blocked if moved into a sandboxed iframe

      uncaught exception: Error: assert_unreached: The iframe into which the meta was moved must not refresh Reached unreachable code
      

  • OK [expected TIMEOUT] /html/semantics/embedded-content/media-elements/src_object_blob.html (#40340)
    • PASS [expected TIMEOUT] subtest: HTMLMediaElement.srcObject blob
  • 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
      

  • OK /html/semantics/forms/form-submission-0/jsurl-form-submit.tentative.html (#36489)
    • PASS [expected FAIL] subtest: Verifies that form submissions scheduled inside javascript: urls take precedence over the javascript: url's return value.
  • OK /html/semantics/scripting-1/the-script-element/execution-timing/077.html (#22139)
    • FAIL [expected PASS] subtest: adding several types of scripts through the DOM and removing some of them confuses scheduler

      assert_array_equals: expected property 1 to be "Script #1 ran" but got "Script #3 ran" (expected array ["Script #2 ran", "Script #1 ran", "Script #3 ran", "Script #4 ran"] got ["Script #2 ran", "Script #3 ran", "Script #4 ran", "Script #1 ran"])
      

  • OK /html/semantics/scripting-1/the-script-element/module/dynamic-import/blob-url.any.worker.html (#33909)
    • FAIL [expected PASS] subtest: Revoking a blob URL immediately after calling import will not fail

      promise_test: Unhandled rejection with value: object "TypeError: Module fetching failed"
      

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

      Test timed out
      

  • OK /html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html (#43671)
    • PASS [expected FAIL] subtest: document.write external script into iframe write back into parent
  • CRASH [expected OK] /imagebitmap-renderingcontext/context-creation.html
  • FAIL [expected PASS] /png/apng/fcTL-blend-source-nearly-transparent.html (#40915)
  • TIMEOUT [expected OK] /pointerevents/compat/pointerevent_touch-action_two-finger_interaction.html
    • NOTRUN [expected PASS] subtest: touch two-finger pan on 'touch-action: pan-x pan-y'
    • NOTRUN [expected FAIL] subtest: touch two-finger pan on 'touch-action: pinch-zoom'
  • 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 /resource-timing/buffer-full-then-increased.html (#44408)
    • FAIL [expected PASS] subtest: Test that overflowing the buffer and immediately increasing its limit does not trigger the resourcetimingbufferfull event

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

  • OK /resource-timing/buffer-full-when-populate-entries.html (#44408)
    • FAIL [expected PASS] subtest: Test that a buffer full event does not bubble and that resourcetimingbufferfull is called only once per overflow

      assert_equals: onresourcetimingbufferfull should have been invoked once. expected 1 but got 0
      

  • OK /resource-timing/test_resource_timing.https.html (#25216)
    • PASS [expected FAIL] subtest: PerformanceEntry has correct name, initiatorType, startTime, and duration (xmlhttprequest)
  • OK /sanitizer-api/sanitizer-inert-document.tentative.html (#44273)
    • PASS [expected FAIL] subtest: Test whether setHTMLUnsafe loads the image.
  • TIMEOUT /trusted-types/trusted-types-navigation.html?06-10 (#37920)
    • PASS [expected FAIL] subtest: Navigate a frame via anchor with javascript:-urls in report-only mode.
  • TIMEOUT /trusted-types/trusted-types-navigation.html?31-35 (#38034)
    • TIMEOUT [expected PASS] subtest: Navigate a frame via form-submission with javascript:-urls in report-only mode.

      Test timed out
      

    • NOTRUN [expected TIMEOUT] subtest: Navigate a frame via form-submission 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.
  • TIMEOUT [expected OK] /webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.html (#29053)
    • TIMEOUT [expected FAIL] subtest: StorageKey: test 3P about:blank window opened from a 3P iframe

      Test timed out
      

  • CRASH [expected OK] /workers/SharedWorker-script-error.html
  • CRASH [expected OK] /workers/WorkerGlobalScope_importScripts.htm
Stable unexpected results that are known to be intermittent (15)
  • 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 1

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

    • 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-003.html (#38994)
    • PASS [expected FAIL] subtest: @font-face matching for quoted and unquoted sans-serif (drawing text in a canvas)
    • FAIL [expected PASS] subtest: @font-face matching for quoted and unquoted math (drawing text in a canvas)

      assert_equals: quoted math matches  @font-face rule expected 125 but got 40
      

    • FAIL [expected PASS] subtest: @font-face matching for quoted and unquoted generic(fangsong) (drawing text in a canvas)

      assert_equals: quoted generic(fangsong) matches  @font-face rule expected 125 but got 40
      

    • FAIL [expected PASS] subtest: @font-face matching for quoted and unquoted ui-serif (drawing text in a canvas)

      assert_equals: unquoted ui-serif does not match @font-face rule expected 40 but got 125
      

    • PASS [expected FAIL] subtest: @font-face matching for quoted and unquoted ui-monospace (drawing text in a canvas)
  • OK [expected ERROR] /fetch/fetch-later/quota/same-origin-iframe/sandboxed-iframe.https.window.html (#41704)
  • 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)
    • PASS [expected FAIL] subtest: sec-fetch-storage-access - Not sent to non-trustworthy same-origin destination
  • OK /html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment.html (#20768)
    • FAIL [expected PASS] subtest: Tests that a fragment navigation in the unload handler will not block the initial navigation

      assert_equals: expected "" but got "#fragment"
      

  • TIMEOUT [expected OK] /html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/form-submit-button-click.html (#44099)
    • TIMEOUT [expected FAIL] subtest: Replace before load, triggered by submitButton.click()

      Test timed out
      

  • OK /html/browsers/history/the-history-interface/traverse_the_history_4.html (#21383)
    • PASS [expected FAIL] subtest: Multiple history traversals, last would be aborted
  • TIMEOUT /html/interaction/focus/the-autofocus-attribute/supported-elements.html (#24145)
    • TIMEOUT [expected FAIL] subtest: Host element with delegatesFocus should support autofocus

      Test timed out
      

    • NOTRUN [expected TIMEOUT] subtest: Host element with delegatesFocus including no focusable descendants should be skipped
  • TIMEOUT [expected OK] /html/interaction/focus/the-autofocus-attribute/update-the-rendering.html (#24145)
    • TIMEOUT [expected FAIL] subtest: "Flush autofocus candidates" should be happen before a scroll event and animation frame callbacks

      Test timed out
      

  • OK /html/semantics/embedded-content/media-elements/seeking/seek-to-max-value.htm (#40626)
    • PASS [expected FAIL] subtest: seek to Number.MAX_VALUE
  • OK [expected TIMEOUT] /infrastructure/testdriver/click_nested.html (#43887)
    • FAIL [expected NOTRUN] subtest: TestDriver click method with multiple windows and nested iframe

      can't access property "document", child.frames[2] is undefined
      

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

      assert_equals: Length. expected 1 but got Infinity
      

  • 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 domContentLoadedEventEnd > Original domContentLoadedEventEnd

      assert_true: Reload domContentLoadedEventEnd > Original domContentLoadedEventEnd expected true got false
      

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

      assert_true: Reload domContentLoadedEventStart > Original domContentLoadedEventStart 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
      

Stable unexpected results (8)
  • OK /editing/other/editing-div-outside-body.html?body
    • PASS [expected FAIL] subtest: Test for execCommand("bold", false, undefined) in "<div>a[b]c</div>"
  • OK /editing/other/editing-div-outside-body.html?designMode
    • PASS [expected FAIL] subtest: Test for execCommand("bold", false, undefined) in "<div>a[b]c</div>"
  • OK /editing/other/editing-div-outside-body.html?div-in-body
    • PASS [expected FAIL] subtest: Test for execCommand("bold", false, undefined) in "<div>a[b]c</div>"
  • OK /editing/other/editing-div-outside-body.html?html
    • PASS [expected FAIL] subtest: Test for execCommand("bold", false, undefined) in "<div>a[b]c</div>"
  • OK /editing/other/editing-div-outside-body.html?nothing
    • PASS [expected FAIL] subtest: Test for execCommand("bold", false, undefined) in "<div>a[b]c</div>"
  • OK /editing/other/editing-style-of-range-around-void-element-child.tentative.html
    • PASS [expected FAIL] subtest: Try to apply style from void element child
    • PASS [expected FAIL] subtest: Try to apply style by void element child
    • PASS [expected FAIL] subtest: Try to remove style by void element child
    • PASS [expected FAIL] subtest: Try to remove style by start of void element child
  • OK /editing/other/removing-inline-style-specified-by-parent-block.tentative.html?b
    • PASS [expected FAIL] subtest: Disabling style to text, it's applied to the parent block
  • OK /editing/plaintext-only/nested-with-contenteditable-true.html
    • FAIL [expected PASS] subtest: contenteditable="" in contenteditable="plaintext-only" should not support style edit

      assert_equals: expected "<div contenteditable=\"plaintext-only\"><div contenteditable=\"\">abc</div></div>" but got "<div contenteditable=\"plaintext-only\"><div contenteditable=\"\"><b>abc</b></div></div>"
      

    • PASS [expected FAIL] subtest: contenteditable="" in contenteditable="plaintext-only" and contenteditable="false" should support style edit
    • PASS [expected FAIL] subtest: even after moving selection into contenteditable="" in contenteditable="plaintext-only" and contenteditable="false" from parent editing host should support style edit
    • FAIL [expected PASS] subtest: contenteditable="" in contenteditable="plaintext-only" should not support style edit (explicitly setting focus to the nested one)

      assert_equals: expected "<div contenteditable=\"plaintext-only\"><div contenteditable=\"\">abc</div></div>" but got "<div contenteditable=\"plaintext-only\"><div contenteditable=\"\"><b>abc</b></div></div>"
      

    • PASS [expected FAIL] subtest: contenteditable="" in contenteditable="plaintext-only" and contenteditable="false" should support style edit (explicitly setting focus to the nested one)
    • PASS [expected FAIL] subtest: even after moving selection into contenteditable="" in contenteditable="plaintext-only" and contenteditable="false" from parent editing host should support style edit (explicitly setting focus to the nested one)
    • FAIL [expected PASS] subtest: contenteditable="true" in contenteditable="plaintext-only" should not support style edit

      assert_equals: expected "<div contenteditable=\"plaintext-only\"><div contenteditable=\"true\">abc</div></div>" but got "<div contenteditable=\"plaintext-only\"><div contenteditable=\"true\"><b>abc</b></div></div>"
      

    • PASS [expected FAIL] subtest: contenteditable="true" in contenteditable="plaintext-only" and contenteditable="false" should support style edit
    • PASS [expected FAIL] subtest: even after moving selection into contenteditable="true" in contenteditable="plaintext-only" and contenteditable="false" from parent editing host should support style edit
    • FAIL [expected PASS] subtest: contenteditable="true" in contenteditable="plaintext-only" should not support style edit (explicitly setting focus to the nested one)

      assert_equals: expected "<div contenteditable=\"plaintext-only\"><div contenteditable=\"true\">abc</div></div>" but got "<div contenteditable=\"plaintext-only\"><div contenteditable=\"true\"><b>abc</b></div></div>"
      

    • And 2 more unexpected results...

@github-actions

Copy link
Copy Markdown

⚠️ Try run (#24960502981) failed!

Part of servo#25005

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
@servo-highfive servo-highfive removed the S-awaiting-review There is new code that needs to be reviewed. label Apr 26, 2026
@jdm jdm added this pull request to the merge queue Apr 26, 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 Apr 26, 2026
Merged via the queue into servo:main with commit 0030f4b Apr 26, 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 Apr 26, 2026
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.

3 participants