[webdriver] Move Webdriver to ServoShell (#36714)

Moving `webdriver` to `servoshell`:

- Let `servoshell` manage lifecycle of `webdriver`
- One by one, move the handling of webdriver commands from
`constellation` to `embedder`

Partially fix: https://github.com/servo/servo/issues/37370
Partially fix webdriver test timeout with `no_top_browsing_context`

cc: @xiaochengh

---------

Signed-off-by: batu_hoang <longvatrong111@gmail.com>
This commit is contained in:
batu_hoang 2025-06-19 17:52:01 +08:00 committed by GitHub
parent d55e2c4c90
commit d0100797e8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 156 additions and 35 deletions

View file

@ -37,7 +37,7 @@ ProductName = "Servo"
[features]
crown = ["libservo/crown"]
debugmozjs = ["libservo/debugmozjs"]
default = ["max_log_level", "webdriver", "webgpu", "webxr"]
default = ["max_log_level", "webgpu", "webxr"]
jitspew = ["libservo/jitspew"]
js_backtrace = ["libservo/js_backtrace"]
max_log_level = ["log/release_max_level_info"]
@ -55,6 +55,8 @@ webxr = ["libservo/webxr"]
[dependencies]
cfg-if = { workspace = true }
constellation_traits = { workspace = true }
crossbeam-channel = { workspace = true }
dpi = { workspace = true }
euclid = { workspace = true }
getopts = { workspace = true }
@ -72,6 +74,7 @@ tracing = { workspace = true, optional = true }
tracing-perfetto = { workspace = true, optional = true }
tracing-subscriber = { workspace = true, optional = true, features = ["env-filter"] }
url = { workspace = true }
webdriver_server = { path = "../../components/webdriver_server" }
[target.'cfg(target_os = "android")'.dependencies]
android_logger = "0.15"