mirror of
https://github.com/servo/servo.git
synced 2025-07-23 07:13:52 +01:00
Make StyleSheetListOwner an enum instead of a trait object
This commit is contained in:
parent
8b353ee3ce
commit
2350f0e3d1
7 changed files with 177 additions and 134 deletions
|
@ -2802,13 +2802,14 @@ pub fn shadow_root_from_node<T: DerivedFrom<Node> + DomObject>(
|
|||
derived.upcast().owner_shadow_root()
|
||||
}
|
||||
|
||||
#[allow(unrooted_must_root)]
|
||||
pub fn stylesheets_owner_from_node<T: DerivedFrom<Node> + DomObject>(
|
||||
derived: &T,
|
||||
) -> Box<StyleSheetListOwner> {
|
||||
) -> StyleSheetListOwner {
|
||||
if let Some(shadow_root) = shadow_root_from_node(derived) {
|
||||
Box::new(Dom::from_ref(&*shadow_root))
|
||||
StyleSheetListOwner::ShadowRoot(Dom::from_ref(&*shadow_root))
|
||||
} else {
|
||||
Box::new(Dom::from_ref(&*document_from_node(derived)))
|
||||
StyleSheetListOwner::Document(Dom::from_ref(&*document_from_node(derived)))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue