webdriver: Refactor webdriver session and improve window handles (#38745)

This PR contains 2 parts:

1. Refactor webdriver session.
2. Improve webdriver window handles:
- Webdriver always get window handles from script thread by default.
- If script thread is blocked by user prompt, embedder stores the window
handle before user prompt appears, then webdriver can get window handle
from embedder.

Testing: Clear timeout cause by user prompt blocking script thread:
https://github.com/longvatrong111/servo/actions/runs/17033900026

---------

Signed-off-by: batu_hoang <hoang.binh.trong@huawei.com>
Signed-off-by: batu_hoang <longvatrong111@gmail.com>
Co-authored-by: Euclid Ye <euclid.ye@huawei.com>
This commit is contained in:
batu_hoang 2025-08-22 06:46:13 +08:00 committed by GitHub
parent b18a65ed70
commit bce9f06cf8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
18 changed files with 372 additions and 369 deletions

View file

@ -1,3 +0,0 @@
[accept.py]
[test_accept_in_popup_window]
expected: FAIL

View file

@ -7,3 +7,6 @@
[test_seen_nodes[https coop\]]
expected: FAIL
[test_history_pushstate]
expected: FAIL

View file

@ -1,3 +0,0 @@
[dismiss.py]
[test_dismiss_in_popup_window]
expected: FAIL

View file

@ -37,3 +37,6 @@
[test_element_reference[shadow-root\]]
expected: FAIL
[test_element_reference[window\]]
expected: FAIL

View file

@ -37,3 +37,6 @@
[test_element_reference[shadow-root\]]
expected: FAIL
[test_element_reference[window\]]
expected: FAIL

View file

@ -1,3 +0,0 @@
[window.py]
[test_same_id_after_cross_origin_navigation]
expected: FAIL

View file

@ -13,3 +13,6 @@
[test_removed_iframe]
expected: FAIL
[test_history_pushstate]
expected: FAIL

View file

@ -1,6 +0,0 @@
[get.py]
[test_get_confirm_text]
expected: FAIL
[test_get_prompt_text]
expected: FAIL

View file

@ -1,4 +0,0 @@
[navigation.py]
expected: TIMEOUT
[test_pointer]
expected: FAIL

View file

@ -13,3 +13,6 @@
[test_send_alert_text[Fed\\terer\]]
expected: FAIL
[test_chained_alert_element_not_interactable[confirm\]]
expected: FAIL