diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-08-08 06:09:13 -0600 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-08-08 06:09:13 -0600 |
commit | a0af7a1581ffaa6b40149affdd5519caa2be015f (patch) | |
tree | 216bba13121a21216c11dbab5b64492a2084a70f /components/script/dom/htmlanchorelement.rs | |
parent | d8b4611a79fbb8c4675d9de763280ada34e63b13 (diff) | |
parent | 7e179d924525096aa1f7ee0db1c52f8e85533107 (diff) | |
download | servo-a0af7a1581ffaa6b40149affdd5519caa2be015f.tar.gz servo-a0af7a1581ffaa6b40149affdd5519caa2be015f.zip |
Auto merge of #7075 - Ms2ger:load_url, r=dzbarsky
Improve code around Window::load_url.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7075)
<!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/htmlanchorelement.rs')
-rw-r--r-- | components/script/dom/htmlanchorelement.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/components/script/dom/htmlanchorelement.rs b/components/script/dom/htmlanchorelement.rs index bace18798ed..2774b74a60a 100644 --- a/components/script/dom/htmlanchorelement.rs +++ b/components/script/dom/htmlanchorelement.rs @@ -29,6 +29,8 @@ use std::default::Default; use string_cache::Atom; use util::str::DOMString; +use url::UrlParser; + #[dom_struct] pub struct HTMLAnchorElement { htmlelement: HTMLElement, @@ -155,7 +157,13 @@ impl<'a> Activatable for &'a HTMLAnchorElement { value.push_str(&suffix); } debug!("clicked on link to {}", value); - doc.r().load_anchor_href(value); + + let window = doc.window(); + let base_url = window.get_url(); + let url = UrlParser::new().base_url(&base_url).parse(&value); + // FIXME: handle URL parse errors more gracefully. + let url = url.unwrap(); + window.load_url(url); } //TODO:https://html.spec.whatwg.org/multipage/#the-a-element |