diff options
author | paavininanda <paavininanda@gmail.com> | 2018-02-13 14:51:20 +0530 |
---|---|---|
committer | paavininanda <paavininanda@gmail.com> | 2018-02-26 07:38:41 +0530 |
commit | b9f7aa468610b7091eb7e3cdc34a085f7931302d (patch) | |
tree | 0555680f09fe5fbb2a6522e1207c013e5196c91a /components/script/dom/htmliframeelement.rs | |
parent | b1d3d6f6324394f0e9f17b027fef24420d829b5c (diff) | |
download | servo-b9f7aa468610b7091eb7e3cdc34a085f7931302d.tar.gz servo-b9f7aa468610b7091eb7e3cdc34a085f7931302d.zip |
Adding Name and SetName functions for window
Diffstat (limited to 'components/script/dom/htmliframeelement.rs')
-rw-r--r-- | components/script/dom/htmliframeelement.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/components/script/dom/htmliframeelement.rs b/components/script/dom/htmliframeelement.rs index b03cfdce07e..41bb2a23e6a 100644 --- a/components/script/dom/htmliframeelement.rs +++ b/components/script/dom/htmliframeelement.rs @@ -457,6 +457,22 @@ impl HTMLIFrameElementMethods for HTMLIFrameElement { make_getter!(FrameBorder, "frameborder"); // https://html.spec.whatwg.org/multipage/#other-elements,-attributes-and-apis:attr-iframe-frameborder make_setter!(SetFrameBorder, "frameborder"); + + // https://html.spec.whatwg.org/multipage/#dom-iframe-name + fn SetName(&self, name: DOMString) { + if let Some(window) = self.GetContentWindow() { + window.set_name(name) + } + } + + // https://html.spec.whatwg.org/multipage/#dom-iframe-name + fn Name(&self) -> DOMString { + if let Some(window) = self.GetContentWindow() { + window.get_name() + } else { + DOMString::new() + } + } } impl VirtualMethods for HTMLIFrameElement { @@ -498,6 +514,11 @@ impl VirtualMethods for HTMLIFrameElement { self.process_the_iframe_attributes(ProcessingMode::NotFirstTime); } }, + &local_name!("name") => { + let new_value = mutation.new_value(attr); + let value = new_value.as_ref().map_or("", |v| &v); + self.SetName(DOMString::from(value.to_owned())); + }, _ => {}, } } |