mirror of
https://github.com/servo/servo.git
synced 2025-06-11 01:50:10 +00:00
Optimise use of RootedVec in ScriptTask::handle_event()
This commit is contained in:
parent
22931145ab
commit
178f696df3
1 changed files with 5 additions and 3 deletions
|
@ -88,6 +88,7 @@ use std::any::Any;
|
|||
use std::borrow::ToOwned;
|
||||
use std::cell::{Cell, RefCell};
|
||||
use std::collections::HashSet;
|
||||
use std::mem;
|
||||
use std::option::Option;
|
||||
use std::ptr;
|
||||
use std::rc::Rc;
|
||||
|
@ -1340,11 +1341,12 @@ impl ScriptTask {
|
|||
}
|
||||
let page = get_page(&self.root_page(), pipeline_id);
|
||||
let document = page.document().root();
|
||||
// We temporarily steal the list of targets over which the mouse is to pass it to
|
||||
// handle_mouse_move_event() in a safe RootedVec container.
|
||||
let mut mouse_over_targets = RootedVec::new();
|
||||
mouse_over_targets.append(&mut *self.mouse_over_targets.borrow_mut());
|
||||
|
||||
mem::swap(&mut *self.mouse_over_targets.borrow_mut(), &mut *mouse_over_targets);
|
||||
document.r().handle_mouse_move_event(self.js_runtime.rt(), point, &mut mouse_over_targets);
|
||||
*self.mouse_over_targets.borrow_mut() = mouse_over_targets.clone();
|
||||
mem::swap(&mut *self.mouse_over_targets.borrow_mut(), &mut *mouse_over_targets);
|
||||
}
|
||||
|
||||
KeyEvent(key, state, modifiers) => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue