servo/components/script/dom/svggraphicselement.rs
Martin Robinson 569fd5d8b5
Upgrade stylo to 2024-07-16 (#32812)
* Upgrade stylo to 2024-07-16

Signed-off-by: Martin Robinson <mrobinson@igalia.com>

* Use the new `dom` crate from stylo

Signed-off-by: Martin Robinson <mrobinson@igalia.com>

---------

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2024-07-24 14:37:08 +00:00

49 lines
1.4 KiB
Rust

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
use dom_struct::dom_struct;
use html5ever::{LocalName, Prefix};
use style_dom::ElementState;
use crate::dom::bindings::inheritance::Castable;
use crate::dom::document::Document;
use crate::dom::svgelement::SVGElement;
use crate::dom::virtualmethods::VirtualMethods;
#[dom_struct]
pub struct SVGGraphicsElement {
svgelement: SVGElement,
}
impl SVGGraphicsElement {
pub fn new_inherited(
tag_name: LocalName,
prefix: Option<Prefix>,
document: &Document,
) -> SVGGraphicsElement {
SVGGraphicsElement::new_inherited_with_state(
ElementState::empty(),
tag_name,
prefix,
document,
)
}
pub fn new_inherited_with_state(
state: ElementState,
tag_name: LocalName,
prefix: Option<Prefix>,
document: &Document,
) -> SVGGraphicsElement {
SVGGraphicsElement {
svgelement: SVGElement::new_inherited_with_state(state, tag_name, prefix, document),
}
}
}
impl VirtualMethods for SVGGraphicsElement {
fn super_type(&self) -> Option<&dyn VirtualMethods> {
Some(self.upcast::<SVGElement>() as &dyn VirtualMethods)
}
}