Handle url parse errors in Location#assign more gracefully.

This commit is contained in:
Ms2ger 2015-08-07 15:47:55 +02:00
parent da88e9ad9f
commit 7e179d9245
2 changed files with 9 additions and 4 deletions

View file

@ -43,11 +43,10 @@ impl<'a> LocationMethods for &'a Location {
// TODO: per spec, we should use the _API base URL_ specified by the
// _entry settings object_.
let base_url = window.get_url();
let url = UrlParser::new().base_url(&base_url).parse(&url);
// FIXME: handle URL parse errors more gracefully.
let url = url.unwrap();
if let Ok(url) = UrlParser::new().base_url(&base_url).parse(&url) {
window.load_url(url);
}
}
// https://url.spec.whatwg.org/#dom-urlutils-hash
fn Hash(self) -> USVString {

View file

@ -15,6 +15,12 @@
assert_equals((href + "#x"), location.href, "location href");
}, "location assign");
test(function () {
var href = location.href;
location.assign("http://:");
assert_equals(location.href, href);
}, "URL that fails to parse");
</script>
</body>
</html>