mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Implement declarative shadow dom (#34964)
* Implement declarative shadow dom Signed-off-by: batu_hoang <longvatrong111@gmail.com> * Set allowDeclarativeShadowRoots false for innerHTML Signed-off-by: batu_hoang <longvatrong111@gmail.com> * Enable allowDeclarativeShadowRoots for Document Signed-off-by: batu_hoang <longvatrong111@gmail.com> * Expose HTMLTemplateElement to js Signed-off-by: batu_hoang <longvatrong111@gmail.com> * Implemenet setHTMLUnsafe and add more test cases Signed-off-by: batu_hoang <longvatrong111@gmail.com> * Declarative shadow dom: minor updates and expected test result update Signed-off-by: batu_hoang <longvatrong111@gmail.com> * Shadow-dom: add more test cases Signed-off-by: batu_hoang <longvatrong111@gmail.com> * Update comments according to the spec Signed-off-by: batu_hoang <longvatrong111@gmail.com> * Bump html5ever version Signed-off-by: batu_hoang <longvatrong111@gmail.com> --------- Signed-off-by: batu_hoang <longvatrong111@gmail.com>
This commit is contained in:
parent
f483a3d34b
commit
28c8c1df0c
44 changed files with 360 additions and 1965 deletions
|
@ -79,6 +79,9 @@ pub(crate) struct ShadowRoot {
|
|||
slots: DomRefCell<HashMap<DOMString, Vec<Dom<HTMLSlotElement>>>>,
|
||||
|
||||
is_user_agent_widget: bool,
|
||||
|
||||
/// <https://dom.spec.whatwg.org/#shadowroot-declarative>
|
||||
declarative: Cell<bool>,
|
||||
}
|
||||
|
||||
impl ShadowRoot {
|
||||
|
@ -113,6 +116,7 @@ impl ShadowRoot {
|
|||
available_to_element_internals: Cell::new(false),
|
||||
slots: Default::default(),
|
||||
is_user_agent_widget: is_user_agent_widget == IsUserAgentWidget::Yes,
|
||||
declarative: Cell::new(false),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -276,6 +280,10 @@ impl ShadowRoot {
|
|||
pub(crate) fn is_user_agent_widget(&self) -> bool {
|
||||
self.is_user_agent_widget
|
||||
}
|
||||
|
||||
pub(crate) fn set_declarative(&self, declarative: bool) {
|
||||
self.declarative.set(declarative);
|
||||
}
|
||||
}
|
||||
|
||||
impl ShadowRootMethods<crate::DomTypeHolder> for ShadowRoot {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue