mirror of
https://github.com/servo/servo.git
synced 2025-07-24 07:40:27 +01:00
compositor: Make input event handling per-WebView (#35716)
This is another step in the move to having a per-WebView renderer. In this step event handling is made per-WebView. Most events sent to Servo are sent via the WebView API already, so this just moves more event handling code to the per-WebView render portion of the compositor. - ServoRenderer is given shared ownership and interior mutability as it is now shared among all WebView(Renderers). - Some messages coming from other parts of Servo must now carry a WebViewId as well so that they can be associated with a particular WebView. - There needs to be some reorganization of `ServoRenderer` in order to avoid issues with double borrow of `RefCells`. Signed-off-by: Delan Azabani <dazabani@igalia.com> Co-authored-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
parent
16aeeaec85
commit
69e7499479
9 changed files with 1016 additions and 887 deletions
|
@ -279,6 +279,7 @@ impl Handler {
|
|||
|
||||
let button = (action.button as u16).into();
|
||||
let cmd_msg = WebDriverCommandMsg::MouseButtonAction(
|
||||
session.top_level_browsing_context_id,
|
||||
MouseButtonAction::Down,
|
||||
button,
|
||||
pointer_input_state.x as f32,
|
||||
|
@ -325,6 +326,7 @@ impl Handler {
|
|||
|
||||
let button = (action.button as u16).into();
|
||||
let cmd_msg = WebDriverCommandMsg::MouseButtonAction(
|
||||
session.top_level_browsing_context_id,
|
||||
MouseButtonAction::Up,
|
||||
button,
|
||||
pointer_input_state.x as f32,
|
||||
|
@ -469,7 +471,11 @@ impl Handler {
|
|||
// Step 7
|
||||
if x != current_x || y != current_y {
|
||||
// Step 7.2
|
||||
let cmd_msg = WebDriverCommandMsg::MouseMoveAction(x as f32, y as f32);
|
||||
let cmd_msg = WebDriverCommandMsg::MouseMoveAction(
|
||||
session.top_level_browsing_context_id,
|
||||
x as f32,
|
||||
y as f32,
|
||||
);
|
||||
self.constellation_chan
|
||||
.send(ConstellationMsg::WebDriverCommand(cmd_msg))
|
||||
.unwrap();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue