diff options
author | nupurbaghel <nupurbaghel@gmail.com> | 2018-09-19 19:01:43 +0000 |
---|---|---|
committer | nupurbaghel <nupurbaghel@gmail.com> | 2018-09-20 03:13:32 +0000 |
commit | 7ab5df11064ccfb44158b168ae1719392b24e8fd (patch) | |
tree | 00a45f1c4f96a024815ca542e639a31c6bf30039 /components/script/dom/htmlimageelement.rs | |
parent | df2adebefdfa3da49f173e480fa1e56450f9bda2 (diff) | |
download | servo-7ab5df11064ccfb44158b168ae1719392b24e8fd.tar.gz servo-7ab5df11064ccfb44158b168ae1719392b24e8fd.zip |
implement missing steps for complete api
Diffstat (limited to 'components/script/dom/htmlimageelement.rs')
-rw-r--r-- | components/script/dom/htmlimageelement.rs | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/components/script/dom/htmlimageelement.rs b/components/script/dom/htmlimageelement.rs index 8107d8bcb5d..4ef2fccc79d 100644 --- a/components/script/dom/htmlimageelement.rs +++ b/components/script/dom/htmlimageelement.rs @@ -1414,6 +1414,11 @@ impl HTMLImageElementMethods for HTMLImageElement { // https://html.spec.whatwg.org/multipage/#dom-img-src make_setter!(SetSrc, "src"); + // https://html.spec.whatwg.org/multipage/#dom-img-srcset + make_getter!(Srcset, "srcset"); + // https://html.spec.whatwg.org/multipage/#dom-img-src + make_setter!(SetSrcset, "srcset"); + // https://html.spec.whatwg.org/multipage/#dom-img-crossOrigin fn GetCrossOrigin(&self) -> Option<DOMString> { reflect_cross_origin_attribute(self.upcast::<Element>()) @@ -1487,13 +1492,13 @@ impl HTMLImageElementMethods for HTMLImageElement { // https://html.spec.whatwg.org/multipage/#dom-img-complete fn Complete(&self) -> bool { let elem = self.upcast::<Element>(); - // TODO: take srcset into account - if !elem.has_attribute(&local_name!("src")) { - return true; + let srcset_absent = !elem.has_attribute(&local_name!("srcset")); + if !elem.has_attribute(&local_name!("src")) && srcset_absent { + return true } let src = elem.get_string_attribute(&local_name!("src")); - if src.is_empty() { - return true; + if srcset_absent && src.is_empty() { + return true } let request = self.current_request.borrow(); let request_state = request.state; |