Skip to content

webdriver: Use take_screenshot() API in Take (Element) Screenshot#39587

Merged
mrobinson merged 1 commit intomainfrom
webdriver-take-screenshot-api
Oct 1, 2025
Merged

webdriver: Use take_screenshot() API in Take (Element) Screenshot#39587
mrobinson merged 1 commit intomainfrom
webdriver-take-screenshot-api

Conversation

@delan
Copy link
Copy Markdown
Member

@delan delan commented Sep 30, 2025

WPT tests require us to reliably take screenshots when test pages are fully loaded and testing is complete, and the WPT runner uses test-wait.js to do this in userland. when testing Servo with --product servo, we use servoshell’s --output option, which backs that up with more reliable waiting in Servo. but when testing Servo with --product servodriver, we use the WebDriver Take Screenshot action, which currently takes the screenshot immediately. we think this might be a source of regressions.

this patch makes the WebDriver actions Take Screenshot and Take Element Screenshot use the same new WebView::take_screenshot() API as servoshell’s --output option, such that those actions now wait for a variety of conditions that may affect test output. it’s not clear if this is conformant, so we may want to refine this to only wait when running tests at some point. other changes:

  • we remove the retry loop where we try to take a screenshot every second for up to 30 seconds
  • we send the result as a image::RgbaImage over crossbeam without shared memory (it’s not cross-process)
  • we now handle the zero-sized element case directly in the WebDriver server

Testing: This should fix some flaky tests.
Fixes: #36715.
Fixes: (partially) #39180.
Fixes: (partially) #34683.

@delan delan force-pushed the webdriver-take-screenshot-api branch 2 times, most recently from a63171f to 3e8e76c Compare October 1, 2025 07:20
@mrobinson mrobinson added the T-linux-wpt Do a try run of the WPT label Oct 1, 2025
@github-actions github-actions bot removed the T-linux-wpt Do a try run of the WPT label Oct 1, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Oct 1, 2025

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

@mrobinson mrobinson changed the title webdriver: Use new WebView take_screenshot() API in Take Screenshot webdriver: Use new WebView::take_screenshot()` API in Take Screenshot Oct 1, 2025
@mrobinson mrobinson changed the title webdriver: Use new WebView::take_screenshot()` API in Take Screenshot webdriver: Use new WebView::take_screenshot() API in Take Screenshot Oct 1, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Oct 1, 2025

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

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
      

  • OK /IndexedDB/idbfactory_open.any.html
    • FAIL [expected PASS] subtest: Calling open() with version argument 1.5 should not throw.

      assert_equals: version expected 1 but got 9007199254740991
      

  • FAIL [expected PASS] /css/CSS2/css1/c5503-mrgn-b-000.xht
  • FAIL [expected PASS] /css/CSS2/text/letter-spacing-019.xht
  • FAIL [expected PASS] /css/WOFF2/blocks-overlap-001.xht
  • FAIL [expected PASS] /css/WOFF2/metadatadisplay-schema-trademark-009.xht
  • FAIL [expected PASS] /css/css-fonts/font-face-unicode-range-2.html
  • PASS [expected FAIL] /css/css-fonts/system-ui-ja-vs-zh.html (#39601)
  • PASS [expected FAIL] /css/css-fonts/system-ui-zh.html (#39563)
  • OK [expected ERROR] /fetch/fetch-later/quota/same-origin-iframe/multiple-iframes.https.window.html (#35176)
  • OK /html/browsers/browsing-the-web/navigating-across-documents/005.html (#27062)
    • PASS [expected FAIL] subtest: Link with onclick navigation and href navigation
  • OK /html/browsers/browsing-the-web/navigating-across-documents/008.html (#24456)
    • PASS [expected FAIL] subtest: Link with onclick form submit to javascript url and href navigation
  • 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 /html/browsers/history/the-history-interface/001.html (#12580)
    • FAIL [expected PASS] subtest: traversing history must also traverse hash changes

      assert_equals: (this could cause other failures later on) expected "" but got "test"
      

  • TIMEOUT [expected OK] /html/browsers/history/the-history-interface/traverse-during-unload.html (#28688)
    • TIMEOUT [expected PASS] subtest: Traversing the history during unload

      Test timed out
      

  • OK [expected TIMEOUT] /html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.html (#30970)
  • 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/loading-the-media-resource/resource-selection-invoke-pause-networkState.html
    • FAIL [expected PASS] subtest: NOT invoking resource selection with pause() when networkState is not NETWORK_EMPTY

      assert_equals: networkState in onerror expected 3 but got 1
      

  • OK /html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-window-open.html (#32596)
    • FAIL [expected PASS] subtest: Navigating iframe loading='lazy' before it is loaded: location.replace

      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"
      

  • OK [expected CRASH] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html (#24066)
  • OK /html/semantics/forms/form-submission-0/form-submit-iframe-then-location-navigate.html (#29634)
    • PASS [expected FAIL] subtest: Verifies that location navigations take precedence when following form submissions.
  • OK /html/webappapis/user-prompts/print-during-unload.html (#35944)
    • FAIL [expected PASS] subtest: print() during unload

      assert_array_equals: expected property 1 to be "destination" but got "error: window.print is not a function" (expected array ["start", "destination"] got ["start", "error: window.print is not a function"])
      

  • OK /navigation-timing/test-navigation-type-reload.html (#33334)
    • PASS [expected FAIL] subtest: Reload domComplete > Original domComplete
    • PASS [expected FAIL] subtest: Reload domContentLoadedEventEnd > Original domContentLoadedEventEnd
    • PASS [expected FAIL] subtest: Reload domContentLoadedEventStart > Original domContentLoadedEventStart
    • PASS [expected FAIL] subtest: Reload domInteractive > Original domInteractive
    • PASS [expected FAIL] subtest: Reload fetchStart > Original fetchStart
    • PASS [expected FAIL] subtest: Reload loadEventEnd > Original loadEventEnd
    • PASS [expected FAIL] subtest: Reload loadEventStart > Original loadEventStart
  • OK /preload/link-header-preload-delay-onload.html
    • FAIL [expected PASS] subtest: Makes sure that Link headers preload resources and block window.onload after resource discovery

      assert_true: expected true got false
      

  • TIMEOUT /resource-timing/test_resource_timing.https.html (#25216)
    • PASS [expected FAIL] subtest: PerformanceEntry has correct name, initiatorType, startTime, and duration (img)
  • OK /service-workers/service-worker/fetch-event.https.html (#36234)
    • PASS [expected FAIL] subtest: Service Worker falls back to network in fetch event with POST form
  • OK /trusted-types/trusted-types-navigation.html?26-30 (#38807)
    • FAIL [expected PASS] subtest: Navigate a window via form-submission with javascript:-urls in report-only mode.

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

    • PASS [expected FAIL] subtest: Navigate a frame via form-submission with javascript:-urls in enforcing mode.
Stable unexpected results that are known to be intermittent (35)
  • OK /IndexedDB/idbcursor-continuePrimaryKey-exceptions.any.worker.html (#39277)
    • FAIL [expected PASS] subtest: IDBCursor continuePrimaryKey() on object store cursor

      assert_throws_dom: continuePrimaryKey() should throw if source is not an index function "function() {
              cursor.continuePrimaryKey(2, 2);
            }" threw object "TypeError: cursor.continuePrimaryKey is not a function" that is not a DOMException InvalidAccessError: property "code" is equal to undefined, expected 15
      

  • OK /IndexedDB/idbobjectstore_get.any.html (#38942)
    • PASS [expected FAIL] subtest: Attempts to retrieve a record that doesn't exist
  • OK /IndexedDB/idbobjectstore_getAll.any.html (#39276)
    • PASS [expected FAIL] subtest: Get all values with transaction.commit()
  • OK /IndexedDB/idbobjectstore_getAll.any.worker.html (#39400)
    • PASS [expected FAIL] subtest: Get all values with transaction.commit()
  • OK /IndexedDB/key-conversion-exceptions.any.html (#39305)
    • FAIL [expected PASS] subtest: IDBCursor continue() method with throwing/invalid keys

      assert_throws_exactly: key conversion with throwing getter should rethrow function "() => {
            receiver[method](key);
          }" threw object "TypeError: receiver[method] is not a function" but we expected it to throw object "getter: throwing from getter"
      

  • OK /IndexedDB/key-conversion-exceptions.any.worker.html (#39284)
    • FAIL [expected PASS] subtest: IDBCursor continue() method with throwing/invalid keys

      assert_throws_exactly: key conversion with throwing getter should rethrow function "() => {
            receiver[method](key);
          }" threw object "TypeError: receiver[method] is not a function" but we expected it to throw object "getter: throwing from getter"
      

  • FAIL [expected PASS] /_mozilla/css/iframe/hide_and_show.html (#15265)
  • 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 /_webgl/conformance/rendering/texture-switch-performance.html (#23384)
    • FAIL [expected PASS] subtest: WebGL test #0

      assert_true: Texture switching significantly hurt performance - achieved 94 frames in 2.005 seconds (0.55 times baseline performance) expected true got false
      

  • OK /_webgl/conformance2/rendering/texture-switch-performance.html (#23384)
    • FAIL [expected PASS] subtest: WebGL test #0

      assert_true: Texture switching significantly hurt performance - achieved 98 frames in 2.011 seconds (0.57 times baseline performance) expected true got false
      

  • 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.
  • 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 "41.45px"
      

    • FAIL [expected PASS] subtest: @font-face override update with appended sheet 2

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

  • OK /css/css-fonts/generic-family-keywords-003.html (#38994)
    • PASS [expected FAIL] subtest: @font-face matching for quoted and unquoted serif (drawing text in a canvas)
  • OK /css/css-fonts/variations/at-font-face-font-matching.html (#20684)
    • FAIL [expected PASS] subtest: Matching font-weight: '501' should prefer '501' over '502 510'

      assert_equals: Unexpected font on test element expected 487 but got 532
      

  • TIMEOUT [expected FAIL] /dom/xslt/large-cdata.html (#38029)
  • ERROR [expected TIMEOUT] /fetch/fetch-later/quota/same-origin-iframe/max-payload.https.window.html (#35210)
  • OK /fetch/metadata/generated/css-font-face.https.sub.tentative.html (#32732)
    • FAIL [expected PASS] subtest: sec-fetch-dest

      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-site destination
  • TIMEOUT /fetch/metadata/generated/css-images.sub.tentative.html (#29047)
    • TIMEOUT [expected PASS] subtest: background-image sec-fetch-user - Not sent to non-trustworthy same-origin destination

      Test timed out
      

  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-nosrc.html (#34819)
    • PASS [expected FAIL] subtest: link click
    • PASS [expected FAIL] subtest: form submission
  • OK /html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.html (#29056)
    • FAIL [expected PASS] subtest: Cross-origin navigation started from unload handler must be ignored

      promise_test: Unhandled rejection with value: object "SecurityError: The operation is insecure."
      

  • 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/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"
      

  • TIMEOUT [expected CRASH] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html (#22647)
    • 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/forms/form-submission-0/urlencoded2.window.html (#28687)
    • PASS [expected FAIL] subtest: application/x-www-form-urlencoded: 0x00 in value (normal form)
  • 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"
      

  • OK /preload/preload-error.sub.html (#37177)
    • PASS [expected FAIL] subtest: CORS (fetch): main
  • TIMEOUT /preload/preload-resource-match.https.html (#38088)
    • PASS [expected TIMEOUT] subtest: Loading module (use-credentials) with link (anonymous) should discard the preloaded response
    • PASS [expected NOTRUN] subtest: Loading module (use-credentials) with link (use-credentials) should reuse the preloaded response
    • PASS [expected NOTRUN] subtest: Loading style (same-origin) with link (same-origin) should reuse the preloaded response
    • PASS [expected NOTRUN] subtest: Loading style (no-cors) with link (no-cors) should reuse the preloaded response
    • PASS [expected NOTRUN] subtest: Loading style (no-cors) with link (anonymous) should discard the preloaded response
    • PASS [expected NOTRUN] subtest: Loading style (no-cors) with link (use-credentials) should discard the preloaded response
    • PASS [expected NOTRUN] subtest: Loading style (anonymous) with link (no-cors) should discard the preloaded response
    • PASS [expected NOTRUN] subtest: Loading style (anonymous) with link (anonymous) should reuse the preloaded response
    • PASS [expected NOTRUN] subtest: Loading style (anonymous) with link (use-credentials) should discard the preloaded response
    • PASS [expected NOTRUN] subtest: Loading style (use-credentials) with link (no-cors) should discard the preloaded response
    • And 1 more unexpected results...
  • OK [expected TIMEOUT] /resource-timing/nested-context-navigations-iframe.html (#24311)
    • PASS [expected TIMEOUT] subtest: Test that crossorigin iframe navigations are not observable by the parent, even after history navigations by the parent
    • PASS [expected NOTRUN] subtest: Test that cross-site iframe navigations are not observable by the parent, even after history navigations by the parent
    • PASS [expected NOTRUN] subtest: Test that iframe navigations are not observable by the parent
    • PASS [expected NOTRUN] subtest: Test that crossorigin iframe navigations are not observable by the parent
    • PASS [expected NOTRUN] subtest: Test that cross-site iframe navigations are not observable by the parent
    • PASS [expected NOTRUN] subtest: Test that iframe refreshes are not observable by the parent
    • PASS [expected NOTRUN] subtest: Test that crossorigin iframe refreshes are not observable by the parent
    • PASS [expected NOTRUN] subtest: Test that cross-site iframe refreshes are not observable by the parent
  • OK /trusted-types/trusted-types-navigation.html?01-05 (#38975)
    • PASS [expected FAIL] subtest: Navigate a window via anchor with javascript:-urls in enforcing mode.
  • OK /trusted-types/trusted-types-navigation.html?21-25 (#38997)
    • FAIL [expected PASS] subtest: Navigate a window via form-submission with javascript:-urls in enforcing mode.

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

  • TIMEOUT [expected OK] /webdriver/tests/classic/perform_actions/navigation.py (#38822)
  • OK /webdriver/tests/classic/take_element_screenshot/scroll_into_view.py (#39306)
    • FAIL [expected PASS] subtest: test_scroll_into_view

      AssertionError: assert 'iVBORw0KGgoAAAANSUhEUgAAAI4AAAARCAYAAAALzZSeAAACoUlEQVR4Ae3AA6AkWZbG8f937o3IzKdyS2Oubdu2bdu2bdu2bWmMnpZKr54yMyLu+Xa3anqmhztr1a/+3d/9nV/8xV+cq656Uf393/89lauu+tcjeKZxHHmv93ovtre3efEXf3GuuuqFoPJMP/MzP8Of/dmfcccdd3Ds2DGuuuqFoPJMf/3Xf80rvdIrcezYMa666l9A5ZkuXbrEbDbjqqteBATAm7/5m/P1X//1fMu3fAuS+PRP/3QA7rvvPt71Xd+Va665hmuvvZb3eq/34sKFC9zvvvvu413f9V255ppruPbaa3mv93ovLly4wFX/5xEAP//zP8+HfdiH8UEf9EHY5vM///MBeMd3fEcuXbrEX//1X/Pnf/7n3H777bzHe7wH93vHd3xHLl26xF//9V/z53/+59x+++28x3u8B1f9n0flBXja057G7/zO7/D0pz+dG264AYCv/dqv5SVe4iW4++67WS6X/M7v/A5Pf/rTueGGGwD42q/9Wl7iJV6Cu+++m+uvv56r/s8ieAFuv/12aq08+MEP5n4Pf/jDAbj99tu5/fbbqbXy4Ac/mPs9/OEPB+D222/nqv/TCF6Am2++mWmauO2227jfU57yFABuvvlmbr75ZqZp4rbbbuN+T3nKUwC4+eabuer/NIIX4KEPfSiv+ZqvyYd92Idx9913c/vtt/ORH/mRvMmbvAnXX389D33oQ3nN13xNPuzDPoy7776b22+/nY/8yI/kTd7kTbj++uu56v80ghfiR37kR9ja2uIlX/IlebmXezluvPFGvvd7v5f7/ciP/AhbW1u85Eu+JC/3ci/HjTfeyPd+7/dy1f956O/+7u/84i/+4lx11Yvq7//+76lcddW/HpWrrvrXowL8/d//PVdd9a/APwJaQbF56DF3BwAAAABJRU5ErkJggg==' == 'iVBORw0KGgoAAAANSUhEUgAAAI4AAAARCAYAAAALzZSeAAACoUlEQVR4Ae3AA6AkWZbG8f937o3IzKdyS2Oubdu2bdu2bdu2bWmMnpZKr54yMyLu+Xa3anqmhztr1a/+3d/9nV/8xV+cq656Uf393/89wTON48h7vdd7sb29zYu/+Itz1VUvBJVn+pmf+Rn+7M/+jDvuuINjx45x1VUvBJVn+uu//mte6ZVeiWPHjnHVVf8CKs906dIlZrMZV131IiAA3vzN35yv//qv51u+5VuQxKd/+qcDcN999/Gu7/quXHPNNVx77bW813u9FxcuXOB+9913H+/6ru/KNddcw7XXXst7vdd7ceHCBa76P48A+Pmf/3k+7MM+jA/6oA/CNp//+Z8PwDu+4zty6dIl/vqv/5o///M/5/bbb+c93uM9uN87vuM7cunSJf76r/+aP//zP+f222/nPd7jPbjq/zwqL8DTnvY0fud3foenP/3p3HDDDQB87dd+LS/xEi/B3XffzXK55Hd+53d4+tOfzg033ADA137t1/ISL/ES3H333Vx//fVc9X8WwQtw++23U2vlwQ9+MPd7+MMfDsDtt9/O7bffTq2VBz/4wdzv4Q9/OAC33347V/2fRvAC3HzzzUzTxG233cb9nvKUpwBw8803c/PNNzNNE7fddhv3e8pTngLAzTffzFX/pxG8AA996EN5zdd8TT7swz6Mu+++m9tvv52P/MiP5E3e5E24/vrreehDH8prvuZr8mEf9mHcfffd3H777XzkR34kb/Imb8L111/PVf+nEbwQP/IjP8LW1hYv+ZIvycu93Mtx44038r3f+73c70d+5EfY2triJV/yJXm5l3s5brzxRr73e7+Xq/7PQ3/3d3/nF3/xF+eqq15Uf//3f0/lqqv+9ahcddW/HpWrrvrXowL8/d//PVdd9a/APwJma7F5RQE/xgAAAABJRU5ErkJggg=='
      

  • OK [expected ERROR] /webxr/render_state_update.https.html (#27535)
Stable unexpected results (1)
  • FAIL [expected PASS] /_mozilla/css/stacked_layers.html

@github-actions
Copy link
Copy Markdown

github-actions bot commented Oct 1, 2025

⚠️ Try run (#18154620981) failed.

@delan
Copy link
Copy Markdown
Member Author

delan commented Oct 1, 2025

@delan delan marked this pull request as ready for review October 1, 2025 10:05
@servo-highfive servo-highfive added the S-awaiting-review There is new code that needs to be reviewed. label Oct 1, 2025
@servo-highfive servo-highfive removed the S-awaiting-review There is new code that needs to be reviewed. label Oct 1, 2025
@delan delan force-pushed the webdriver-take-screenshot-api branch from e8494e8 to a8755f7 Compare October 1, 2025 10:09
@servo-highfive servo-highfive added the S-awaiting-review There is new code that needs to be reviewed. label Oct 1, 2025
@delan delan changed the title webdriver: Use new WebView::take_screenshot() API in Take Screenshot webdriver: Use take_screenshot() API in Take (Element) Screenshot Oct 1, 2025
@mrobinson mrobinson enabled auto-merge October 1, 2025 10:12
Copy link
Copy Markdown
Member

@yezhizhen yezhizhen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

‎tests/wpt/meta/webdriver/tests/classic/take_element_screenshot/scroll_into_view.py.ini

Testing: This causes a WebDriver conformance test to pass.

See #39306 (comment)
This always passes locally since a few days ago, but is always flaky in CI. And it still is.
#39587 (comment)

@mrobinson mrobinson force-pushed the webdriver-take-screenshot-api branch from a8755f7 to cf3fe23 Compare October 1, 2025 10:52
@mrobinson mrobinson added this pull request to the merge queue Oct 1, 2025
@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 Oct 1, 2025
github-merge-queue bot pushed a commit that referenced this pull request Oct 1, 2025
this patch updates the expectations for tests that use testdriver.js,
which currently only work with `--product servodriver` (#34683), running
the tests with #39587.

expectations for all other tests, which don’t use testdriver.js, are
unaffected.

Testing: this patch updates test expectations, though the tests are not
yet run in CI

Signed-off-by: Delan Azabani <[email protected]>
Co-authored-by: Martin Robinson <[email protected]>
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Oct 1, 2025
@servo-highfive servo-highfive added S-tests-failed The changes caused existing tests to fail. and removed S-awaiting-merge The PR is in the process of compiling and running tests on the automated CI. labels Oct 1, 2025
@mrobinson mrobinson added this pull request to the merge queue Oct 1, 2025
@servo-highfive servo-highfive added S-awaiting-merge The PR is in the process of compiling and running tests on the automated CI. and removed S-tests-failed The changes caused existing tests to fail. labels Oct 1, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Oct 1, 2025
@servo-highfive servo-highfive added S-tests-failed The changes caused existing tests to fail. and removed S-awaiting-merge The PR is in the process of compiling and running tests on the automated CI. labels Oct 1, 2025
@mrobinson mrobinson added this pull request to the merge queue Oct 1, 2025
@servo-highfive servo-highfive added S-awaiting-merge The PR is in the process of compiling and running tests on the automated CI. and removed S-tests-failed The changes caused existing tests to fail. labels Oct 1, 2025
Merged via the queue into main with commit cfa9e71 Oct 1, 2025
37 checks passed
@mrobinson mrobinson deleted the webdriver-take-screenshot-api branch October 1, 2025 13:09
@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 Oct 1, 2025
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

4 participants