diff options
author | Fernando Jiménez Moreno <ferjmoreno@gmail.com> | 2019-01-23 18:08:28 +0100 |
---|---|---|
committer | Fernando Jiménez Moreno <ferjmoreno@gmail.com> | 2019-04-26 10:17:44 +0200 |
commit | ffdc9d255f017fc82ff8d8a0c57256563082bf1d (patch) | |
tree | 861886cff9002425cad172ded5b1f5b4625efe85 /components/script | |
parent | 091fcbecd13e6d45f49f2760df939ed57282eada (diff) | |
download | servo-ffdc9d255f017fc82ff8d8a0c57256563082bf1d.tar.gz servo-ffdc9d255f017fc82ff8d8a0c57256563082bf1d.zip |
Expose Element.AttachShadow under dom.shadowdom.enabled pref
Diffstat (limited to 'components/script')
-rw-r--r-- | components/script/dom/element.rs | 7 | ||||
-rw-r--r-- | components/script/dom/node.rs | 2 | ||||
-rw-r--r-- | components/script/dom/webidls/Element.webidl | 2 |
3 files changed, 10 insertions, 1 deletions
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 6dc7b7c3147..599efd4a8cc 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -2642,6 +2642,13 @@ impl ElementMethods for Element { let doc = document_from_node(self); doc.enter_fullscreen(self) } + + // XXX Hidden under dom.shadowdom.enabled pref. Only exposed to be able + // to test partial Shadow DOM support for UA widgets. + // https://dom.spec.whatwg.org/#dom-element-attachshadow + fn AttachShadow(&self) -> Fallible<DomRoot<ShadowRoot>> { + self.attach_shadow() + } } impl VirtualMethods for Element { diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index 7dd402796df..4aa6f390b16 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -23,7 +23,6 @@ use crate::dom::bindings::inheritance::{EventTargetTypeId, HTMLElementTypeId, No use crate::dom::bindings::inheritance::{SVGElementTypeId, SVGGraphicsElementTypeId, TextTypeId}; use crate::dom::bindings::reflector::{reflect_dom_object, DomObject}; use crate::dom::bindings::root::{Dom, DomRoot, DomSlice, LayoutDom, MutNullableDom}; -use crate::dom::shadowroot::ShadowRoot; use crate::dom::bindings::str::{DOMString, USVString}; use crate::dom::bindings::xmlname::namespace_from_domstring; use crate::dom::characterdata::{CharacterData, LayoutCharacterDataHelpers}; @@ -51,6 +50,7 @@ use crate::dom::mutationobserver::{Mutation, MutationObserver, RegisteredObserve use crate::dom::nodelist::NodeList; use crate::dom::processinginstruction::ProcessingInstruction; use crate::dom::range::WeakRangeVec; +use crate::dom::shadowroot::ShadowRoot; use crate::dom::svgsvgelement::{LayoutSVGSVGElementHelpers, SVGSVGElement}; use crate::dom::text::Text; use crate::dom::virtualmethods::{vtable_for, VirtualMethods}; diff --git a/components/script/dom/webidls/Element.webidl b/components/script/dom/webidls/Element.webidl index b7de03ac344..af14f81b373 100644 --- a/components/script/dom/webidls/Element.webidl +++ b/components/script/dom/webidls/Element.webidl @@ -81,6 +81,8 @@ interface Element : Node { void insertAdjacentText(DOMString where_, DOMString data); [CEReactions, Throws] void insertAdjacentHTML(DOMString position, DOMString html); + + [Throws, Pref="dom.shadowdom.enabled"] ShadowRoot attachShadow(); }; // http://dev.w3.org/csswg/cssom-view/#extensions-to-the-element-interface |