diff options
Diffstat (limited to 'components/script/dom/customelementregistry.rs')
-rw-r--r-- | components/script/dom/customelementregistry.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/components/script/dom/customelementregistry.rs b/components/script/dom/customelementregistry.rs index 4080731a534..abefc4eca58 100644 --- a/components/script/dom/customelementregistry.rs +++ b/components/script/dom/customelementregistry.rs @@ -399,20 +399,21 @@ impl CustomElementRegistryMethods for CustomElementRegistry { } /// <https://html.spec.whatwg.org/multipage/#dom-customelementregistry-whendefined> + #[allow(unsafe_code)] fn WhenDefined(&self, name: DOMString) -> Rc<Promise> { let global_scope = self.window.upcast::<GlobalScope>(); let name = LocalName::from(&*name); // Step 1 if !is_valid_custom_element_name(&name) { - let promise = Promise::new(global_scope); + let promise = unsafe { Promise::new_in_current_compartment(global_scope) }; promise.reject_native(&DOMException::new(global_scope, DOMErrorName::SyntaxError)); return promise; } // Step 2 if self.definitions.borrow().contains_key(&name) { - let promise = Promise::new(global_scope); + let promise = unsafe { Promise::new_in_current_compartment(global_scope) }; promise.resolve_native(&UndefinedValue()); return promise; } @@ -422,7 +423,7 @@ impl CustomElementRegistryMethods for CustomElementRegistry { // Steps 4, 5 let promise = map.get(&name).cloned().unwrap_or_else(|| { - let promise = Promise::new(global_scope); + let promise = unsafe { Promise::new_in_current_compartment(global_scope) }; map.insert(name, promise.clone()); promise }); |