aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmldialogelement.rs
diff options
context:
space:
mode:
authorDave Hodder <dmh@dmh.org.uk>2015-04-12 09:26:29 +0100
committerMs2ger <ms2ger@gmail.com>2015-04-28 17:47:37 +0200
commit50ea68206dd1e644db4d7fae8374959b615a56b2 (patch)
tree39415a0f5f82a6709c4c29edb625411c0615c537 /components/script/dom/htmldialogelement.rs
parent2fd5ecf3d7b93addb42d42d46e440451043a2f43 (diff)
downloadservo-50ea68206dd1e644db4d7fae8374959b615a56b2.tar.gz
servo-50ea68206dd1e644db4d7fae8374959b615a56b2.zip
Add attributes to the HTMLDialogElement interface.
Diffstat (limited to 'components/script/dom/htmldialogelement.rs')
-rw-r--r--components/script/dom/htmldialogelement.rs28
1 files changed, 27 insertions, 1 deletions
diff --git a/components/script/dom/htmldialogelement.rs b/components/script/dom/htmldialogelement.rs
index d6e2a724461..febfbc38f81 100644
--- a/components/script/dom/htmldialogelement.rs
+++ b/components/script/dom/htmldialogelement.rs
@@ -3,18 +3,25 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLDialogElementBinding;
+use dom::bindings::codegen::Bindings::HTMLDialogElementBinding::HTMLDialogElementMethods;
use dom::bindings::codegen::InheritTypes::HTMLDialogElementDerived;
+use dom::bindings::cell::DOMRefCell;
use dom::bindings::js::{JSRef, Temporary};
use dom::document::Document;
use dom::element::ElementTypeId;
use dom::eventtarget::{EventTarget, EventTargetTypeId};
use dom::htmlelement::{HTMLElement, HTMLElementTypeId};
use dom::node::{Node, NodeTypeId};
+
use util::str::DOMString;
+use string_cache::Atom;
+
+use std::borrow::ToOwned;
#[dom_struct]
pub struct HTMLDialogElement {
htmlelement: HTMLElement,
+ return_value: DOMRefCell<DOMString>,
}
impl HTMLDialogElementDerived for EventTarget {
@@ -26,7 +33,8 @@ impl HTMLDialogElementDerived for EventTarget {
impl HTMLDialogElement {
fn new_inherited(localName: DOMString, prefix: Option<DOMString>, document: JSRef<Document>) -> HTMLDialogElement {
HTMLDialogElement {
- htmlelement: HTMLElement::new_inherited(HTMLElementTypeId::HTMLDialogElement, localName, prefix, document)
+ htmlelement: HTMLElement::new_inherited(HTMLElementTypeId::HTMLDialogElement, localName, prefix, document),
+ return_value: DOMRefCell::new("".to_owned()),
}
}
@@ -37,3 +45,21 @@ impl HTMLDialogElement {
}
}
+impl<'a> HTMLDialogElementMethods for JSRef<'a, HTMLDialogElement> {
+ // https://html.spec.whatwg.org/multipage/#dom-dialog-open
+ make_bool_getter!(Open);
+
+ // https://html.spec.whatwg.org/multipage/#dom-dialog-open
+ make_bool_setter!(SetOpen, "open");
+
+ // https://html.spec.whatwg.org/multipage/#dom-dialog-returnvalue
+ fn ReturnValue(self) -> DOMString {
+ let return_value = self.return_value.borrow();
+ return_value.clone()
+ }
+
+ // https://html.spec.whatwg.org/multipage/#dom-dialog-returnvalue
+ fn SetReturnValue(self, return_value: DOMString) {
+ *self.return_value.borrow_mut() = return_value;
+ }
+}