mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-07 19:59:18 +02:00
Now `#[dom_struct]` also generates Reflectable impls, and there's another lint to ensure that a DOM struct only contains one bare DOM field (as the first field) or a Reflector. A lot of this was generated by sed -- each autogenerated change has its own commit for easy review; these will be squashed later. Source-Repo: https://github.com/servo/servo Source-Revision: 56d1b16d1b3a18d5ffa1d9c32562d3b209851711
41 lines
1.3 KiB
Rust
41 lines
1.3 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 http://mozilla.org/MPL/2.0/. */
|
|
|
|
use dom::bindings::js::{JSRef};
|
|
use dom::bindings::codegen::InheritTypes::HTMLMediaElementDerived;
|
|
use dom::document::Document;
|
|
use dom::element::ElementTypeId;
|
|
use dom::eventtarget::{EventTarget, EventTargetTypeId};
|
|
use dom::htmlelement::HTMLElement;
|
|
use dom::node::NodeTypeId;
|
|
use servo_util::str::DOMString;
|
|
|
|
#[dom_struct]
|
|
pub struct HTMLMediaElement {
|
|
htmlelement: HTMLElement,
|
|
}
|
|
|
|
impl HTMLMediaElementDerived for EventTarget {
|
|
fn is_htmlmediaelement(&self) -> bool {
|
|
match *self.type_id() {
|
|
EventTargetTypeId::Node(NodeTypeId::Element(ElementTypeId::HTMLVideoElement)) |
|
|
EventTargetTypeId::Node(NodeTypeId::Element(ElementTypeId::HTMLAudioElement)) => true,
|
|
_ => false
|
|
}
|
|
}
|
|
}
|
|
|
|
impl HTMLMediaElement {
|
|
pub fn new_inherited(type_id: ElementTypeId, tag_name: DOMString, prefix: Option<DOMString>, document: JSRef<Document>) -> HTMLMediaElement {
|
|
HTMLMediaElement {
|
|
htmlelement: HTMLElement::new_inherited(type_id, tag_name, prefix, document)
|
|
}
|
|
}
|
|
|
|
#[inline]
|
|
pub fn htmlelement<'a>(&'a self) -> &'a HTMLElement {
|
|
&self.htmlelement
|
|
}
|
|
}
|
|
|