servo: Merge #17935 - Custom element upgrades (from cbrewster:ce_upgrades); r=jdm
<!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [ ] These changes fix #__ (github issue number if applicable). <!-- Either: --> - [X] There are tests for these changes OR - [ ] These changes do not require tests because _____ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> Source-Repo: https://github.com/servo/servo Source-Revision: a087fee4b4daa76c7e1677b0adae512fb6c87d04
This commit is contained in:
@@ -39,7 +39,7 @@ use dom::bindings::str::DOMString;
|
||||
use dom::bindings::structuredclone::StructuredCloneData;
|
||||
use dom::bindings::trace::JSTraceable;
|
||||
use dom::bindings::utils::WRAP_CALLBACKS;
|
||||
use dom::customelementregistry::{CallbackReaction, CustomElementReactionStack};
|
||||
use dom::customelementregistry::{CallbackReaction, CustomElementDefinition, CustomElementReactionStack};
|
||||
use dom::document::{Document, DocumentSource, FocusType, HasBrowsingContext, IsHTMLDocument, TouchEventResult};
|
||||
use dom::element::Element;
|
||||
use dom::event::{Event, EventBubbles, EventCancelable};
|
||||
@@ -774,11 +774,22 @@ impl ScriptThread {
|
||||
})
|
||||
}
|
||||
|
||||
pub fn enqueue_callback_reaction(element:&Element, reaction: CallbackReaction) {
|
||||
pub fn enqueue_callback_reaction(element: &Element,
|
||||
reaction: CallbackReaction,
|
||||
definition: Option<Rc<CustomElementDefinition>>) {
|
||||
SCRIPT_THREAD_ROOT.with(|root| {
|
||||
if let Some(script_thread) = root.get() {
|
||||
let script_thread = unsafe { &*script_thread };
|
||||
script_thread.custom_element_reaction_stack.enqueue_callback_reaction(element, reaction);
|
||||
script_thread.custom_element_reaction_stack.enqueue_callback_reaction(element, reaction, definition);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
pub fn enqueue_upgrade_reaction(element: &Element, definition: Rc<CustomElementDefinition>) {
|
||||
SCRIPT_THREAD_ROOT.with(|root| {
|
||||
if let Some(script_thread) = root.get() {
|
||||
let script_thread = unsafe { &*script_thread };
|
||||
script_thread.custom_element_reaction_stack.enqueue_upgrade_reaction(element, definition);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user