aboutsummaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
Diffstat (limited to 'components')
-rw-r--r--components/script/dom/htmltimeelement.rs27
-rw-r--r--components/script/dom/webidls/HTMLTimeElement.webidl2
2 files changed, 26 insertions, 3 deletions
diff --git a/components/script/dom/htmltimeelement.rs b/components/script/dom/htmltimeelement.rs
index e7d9e049baa..84794443e02 100644
--- a/components/script/dom/htmltimeelement.rs
+++ b/components/script/dom/htmltimeelement.rs
@@ -2,23 +2,27 @@
* 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::codegen::Bindings::ElementBinding::ElementBinding::ElementMethods;
use dom::bindings::codegen::Bindings::HTMLTimeElementBinding;
+use dom::bindings::codegen::Bindings::HTMLTimeElementBinding::HTMLTimeElementMethods;
+use dom::bindings::inheritance::Castable;
use dom::bindings::js::Root;
use dom::bindings::str::DOMString;
use dom::document::Document;
+use dom::element::Element;
use dom::htmlelement::HTMLElement;
use dom::node::Node;
use html5ever_atoms::LocalName;
#[dom_struct]
pub struct HTMLTimeElement {
- htmlelement: HTMLElement
+ htmlelement: HTMLElement,
}
impl HTMLTimeElement {
fn new_inherited(local_name: LocalName, prefix: Option<DOMString>, document: &Document) -> HTMLTimeElement {
HTMLTimeElement {
- htmlelement: HTMLElement::new_inherited(local_name, prefix, document)
+ htmlelement: HTMLElement::new_inherited(local_name, prefix, document),
}
}
@@ -31,3 +35,22 @@ impl HTMLTimeElement {
HTMLTimeElementBinding::Wrap)
}
}
+
+impl HTMLTimeElementMethods for HTMLTimeElement {
+ // https://html.spec.whatwg.org/multipage/#dom-time-datetime
+ //make_getter!(DateTime, "datetime");
+ fn DateTime(&self) -> DOMString {
+ let element = self.upcast::<Element>();
+ if element.has_attribute(&local_name!("datetime")) {
+ return element.get_string_attribute(&local_name!("datetime"))
+ } else {
+ match element.GetInnerHTML() {
+ Ok(x) => x,
+ _ => DOMString::new(),
+ }
+ }
+ }
+
+ // https://html.spec.whatwg.org/multipage/#dom-time-datetime
+ make_setter!(SetDateTime, "datetime");
+}
diff --git a/components/script/dom/webidls/HTMLTimeElement.webidl b/components/script/dom/webidls/HTMLTimeElement.webidl
index 21f9dcf090e..5f2ac73d4cb 100644
--- a/components/script/dom/webidls/HTMLTimeElement.webidl
+++ b/components/script/dom/webidls/HTMLTimeElement.webidl
@@ -4,5 +4,5 @@
// https://html.spec.whatwg.org/multipage/#htmltimeelement
interface HTMLTimeElement : HTMLElement {
- // attribute DOMString dateTime;
+ attribute DOMString dateTime;
};