webdriver: Greatly improve execution speed for all tests using SetWindowSize (#37712)

1. Remove the unnecessary new thread which use GetWindowRect command and
blocks for 500ms. Previously this is necessary because constellation
forward "resize" to embedder, and WebDriver wait for a constant
sufficient time to `GetWindowRect` in the new thread. This caused long
delay because there are many subtests and SetWindowRect is called
between each.
2. Remove `resize_timeout`
3. Return current dimension instead of 0 from embedder when it fails to
resize.
4. Do resizing as long as one of width/height is `Some`, according to
spec.

Testing: All Conformance test with new passing cases.
Fixes: https://github.com/servo/servo/pull/37663#issuecomment-2999120615

---------

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
This commit is contained in:
Euclid Ye 2025-07-01 14:26:01 +08:00 committed by GitHub
parent 0774025d89
commit 9543482f51
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 82 additions and 50 deletions

View file

@ -29,17 +29,32 @@
[test_set_to_screen_size]
expected: FAIL
[test_set_larger_than_screen_size]
expected: FAIL
[test_width_height_floats]
expected: FAIL
[test_height_width_as_current]
expected: FAIL
[test_height_as_current]
expected: FAIL
[test_width_as_current]
expected: FAIL
[test_no_change[rect12\]]
expected: FAIL
[test_no_change[rect13\]]
expected: FAIL
[test_no_change[rect16\]]
expected: FAIL
[test_no_change[rect17\]]
expected: FAIL
[test_no_change[rect18\]]
expected: FAIL
[test_no_change[rect19\]]
expected: FAIL
[test_set_larger_than_screen_size]
expected: FAIL

View file

@ -1,9 +0,0 @@
[iframe.py]
[test_always_captures_top_browsing_context]
expected: FAIL
[test_source_origin[same_origin\]]
expected: FAIL
[test_source_origin[cross_origin\]]
expected: FAIL