mirror of
https://github.com/servo/servo.git
synced 2025-09-27 23:30:08 +01:00
webdriver: Element Send keys use dispatch actions for KeyboardEvent (#38444)
Previously we immediately passed the KeyboardEvent to embedder. Now we make element send keys go through the dispatch action which required by spec. CompositionEvent still immediately passed through embedder Testing: Should make `./tests/wpt/tests/webdriver/tests/classic/element_send_keys/` more stable. Fixes: https://github.com/servo/servo/issues/38354 Fixes: https://github.com/servo/servo/issues/38442 --------- Signed-off-by: PotatoCP <Kenzie.Raditya.Tirtarahardja@huawei.com> Co-authored-by: Euclid Ye <euclid.ye@huawei.com>
This commit is contained in:
parent
56ce19511c
commit
cae8d22823
9 changed files with 138 additions and 137 deletions
|
@ -12,8 +12,7 @@ use euclid::default::Rect as UntypedRect;
|
|||
use euclid::{Rect, Size2D};
|
||||
use hyper_serde::Serde;
|
||||
use ipc_channel::ipc::IpcSender;
|
||||
use keyboard_types::KeyboardEvent;
|
||||
use keyboard_types::webdriver::Event as WebDriverInputEvent;
|
||||
use keyboard_types::{CompositionEvent, KeyboardEvent};
|
||||
use pixels::RasterImage;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use servo_geometry::DeviceIndependentIntRect;
|
||||
|
@ -92,8 +91,8 @@ pub enum WebDriverCommandMsg {
|
|||
/// Pass a webdriver command to the script thread of the current pipeline
|
||||
/// of a browsing context.
|
||||
ScriptCommand(BrowsingContextId, WebDriverScriptCommand),
|
||||
/// Act as if keys were pressed in the browsing context with the given ID.
|
||||
SendKeys(WebViewId, Vec<WebDriverInputEvent>),
|
||||
/// Dispatch composition event from element send keys command.
|
||||
DispatchComposition(WebViewId, CompositionEvent),
|
||||
/// Act as if keys were pressed or release in the browsing context with the given ID.
|
||||
KeyboardAction(
|
||||
WebViewId,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue