aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmlimageelement.rs
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2024-10-07 21:51:58 -0400
committerGitHub <noreply@github.com>2024-10-08 01:51:58 +0000
commit7d931e673af2780f3f62d52cb17324ec2cc68c71 (patch)
tree450d534196e9eb8d0e04db37203b414f5d92420d /components/script/dom/htmlimageelement.rs
parent946fa9cdee68bb834a3b75821e8e7f94cf86d31c (diff)
downloadservo-7d931e673af2780f3f62d52cb17324ec2cc68c71.tar.gz
servo-7d931e673af2780f3f62d52cb17324ec2cc68c71.zip
script: Include constructors and static methods in generated DOM traits (#33665)
* Add all constructors, special operations, and static methods to generated DOM interface traits. Signed-off-by: Josh Matthews <josh@joshmatthews.net> * Move all constructors and static methods defined in bare impl blocks inside FooMethods trait impls. Signed-off-by: Josh Matthews <josh@joshmatthews.net> * Add missing doc links. Signed-off-by: Josh Matthews <josh@joshmatthews.net> --------- Signed-off-by: Josh Matthews <josh@joshmatthews.net>
Diffstat (limited to 'components/script/dom/htmlimageelement.rs')
-rw-r--r--components/script/dom/htmlimageelement.rs64
1 files changed, 33 insertions, 31 deletions
diff --git a/components/script/dom/htmlimageelement.rs b/components/script/dom/htmlimageelement.rs
index bf98d5f5b1d..bac35cc7a8d 100644
--- a/components/script/dom/htmlimageelement.rs
+++ b/components/script/dom/htmlimageelement.rs
@@ -1356,37 +1356,6 @@ impl HTMLImageElement {
)
}
- pub fn Image(
- window: &Window,
- proto: Option<HandleObject>,
- can_gc: CanGc,
- width: Option<u32>,
- height: Option<u32>,
- ) -> Fallible<DomRoot<HTMLImageElement>> {
- let element = Element::create(
- QualName::new(None, ns!(html), local_name!("img")),
- None,
- &window.Document(),
- ElementCreator::ScriptCreated,
- CustomElementCreationMode::Synchronous,
- proto,
- can_gc,
- );
-
- let image = DomRoot::downcast::<HTMLImageElement>(element).unwrap();
- if let Some(w) = width {
- image.SetWidth(w);
- }
- if let Some(h) = height {
- image.SetHeight(h);
- }
-
- // run update_the_image_data when the element is created.
- // https://html.spec.whatwg.org/multipage/#when-to-obtain-images
- image.update_the_image_data(can_gc);
-
- Ok(image)
- }
pub fn areas(&self) -> Option<Vec<DomRoot<HTMLAreaElement>>> {
let elem = self.upcast::<Element>();
let usemap_attr = elem.get_attribute(&ns!(), &local_name!("usemap"))?;
@@ -1568,6 +1537,39 @@ fn get_correct_referrerpolicy_from_raw_token(token: &DOMString) -> DOMString {
}
impl HTMLImageElementMethods for HTMLImageElement {
+ // https://html.spec.whatwg.org/multipage/#dom-image
+ fn Image(
+ window: &Window,
+ proto: Option<HandleObject>,
+ can_gc: CanGc,
+ width: Option<u32>,
+ height: Option<u32>,
+ ) -> Fallible<DomRoot<HTMLImageElement>> {
+ let element = Element::create(
+ QualName::new(None, ns!(html), local_name!("img")),
+ None,
+ &window.Document(),
+ ElementCreator::ScriptCreated,
+ CustomElementCreationMode::Synchronous,
+ proto,
+ can_gc,
+ );
+
+ let image = DomRoot::downcast::<HTMLImageElement>(element).unwrap();
+ if let Some(w) = width {
+ image.SetWidth(w);
+ }
+ if let Some(h) = height {
+ image.SetHeight(h);
+ }
+
+ // run update_the_image_data when the element is created.
+ // https://html.spec.whatwg.org/multipage/#when-to-obtain-images
+ image.update_the_image_data(can_gc);
+
+ Ok(image)
+ }
+
// https://html.spec.whatwg.org/multipage/#dom-img-alt
make_getter!(Alt, "alt");
// https://html.spec.whatwg.org/multipage/#dom-img-alt