mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
Move click event trigger from embedding layer to ScriptThread
(#36413)
1. Move click event trigger from embedding layer to `ScriptThread`
2. Previously, the logic is to trigger click event at same position as
`MouseButtonAction::Up` if `MouseButtonAction::Up` is within 10px of
`MouseButtonAction::Down`, in embedding layer. This PR ~~removes the
condition~~ moves the check to `ScriptThread`.
Testing: tested for webdriver with self written test case. Perform
actions of pointermove, pointerdown, pointerup in sequence. Click event
can now be triggered.
Fixes: #35395
cc @xiaochengh @jdm
For `MAYBE? TODO:` part I added, should we do it? I read the
[spec](https://w3c.github.io/uievents/#event-type-click), it doesn't
specify we have to implement MDN's way.
If we should work in the MDN's way, it also should be fixed in another
PR, as this PR doesn't regress anything. Also I am not sure what is the
best way to do it.
Should I handle it in
4d4f94936f/components/script/dom/document.rs (L1296-L1297)
?
---------
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
This commit is contained in:
parent
2ee8427665
commit
46247a7621
4 changed files with 60 additions and 35 deletions
|
@ -256,7 +256,7 @@ pub enum DocumentState {
|
|||
}
|
||||
|
||||
/// Input events from the embedder that are sent via the `Constellation`` to the `ScriptThread`.
|
||||
#[derive(Debug, Deserialize, Serialize)]
|
||||
#[derive(Clone, Debug, Deserialize, Serialize)]
|
||||
pub struct ConstellationInputEvent {
|
||||
/// The hit test result of this input event, if any.
|
||||
pub hit_test_result: Option<CompositorHitTestResult>,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue