aboutsummaryrefslogtreecommitdiffstats
path: root/components/script
diff options
context:
space:
mode:
authorStjepan Glavina <stjepang@gmail.com>2016-04-06 12:09:12 +0200
committerStjepan Glavina <stjepang@gmail.com>2016-04-06 14:18:24 +0200
commit321cfcd16c2301235b7df8d854a1007da657ab1d (patch)
tree150ea66896320eb2d23038c71b45189870ef8225 /components/script
parente36e3be855549ec86790c072808563538a950a41 (diff)
downloadservo-321cfcd16c2301235b7df8d854a1007da657ab1d.tar.gz
servo-321cfcd16c2301235b7df8d854a1007da657ab1d.zip
Remove URL.base (it was removed from the spec)
Spec: https://url.spec.whatwg.org/#concept-url-url
Diffstat (limited to 'components/script')
-rw-r--r--components/script/dom/url.rs42
1 files changed, 18 insertions, 24 deletions
diff --git a/components/script/dom/url.rs b/components/script/dom/url.rs
index 06e1af5b133..6438e258543 100644
--- a/components/script/dom/url.rs
+++ b/components/script/dom/url.rs
@@ -13,7 +13,7 @@ use dom::urlhelper::UrlHelper;
use dom::urlsearchparams::URLSearchParams;
use std::borrow::ToOwned;
use std::default::Default;
-use url::{Host, ParseResult, Url, UrlParser};
+use url::{Host, Url, UrlParser};
use util::str::DOMString;
// https://url.spec.whatwg.org/#url
@@ -21,28 +21,24 @@ use util::str::DOMString;
pub struct URL {
reflector_: Reflector,
- // https://url.spec.whatwg.org/#concept-urlutils-url
+ // https://url.spec.whatwg.org/#concept-url-url
url: DOMRefCell<Url>,
- // https://url.spec.whatwg.org/#concept-urlutils-get-the-base
- base: Option<Url>,
-
// https://url.spec.whatwg.org/#dom-url-searchparams
search_params: MutNullableHeap<JS<URLSearchParams>>,
}
impl URL {
- fn new_inherited(url: Url, base: Option<Url>) -> URL {
+ fn new_inherited(url: Url) -> URL {
URL {
reflector_: Reflector::new(),
url: DOMRefCell::new(url),
- base: base,
search_params: Default::default(),
}
}
- pub fn new(global: GlobalRef, url: Url, base: Option<Url>) -> Root<URL> {
- reflect_dom_object(box URL::new_inherited(url, base),
+ pub fn new(global: GlobalRef, url: Url) -> Root<URL> {
+ reflect_dom_object(box URL::new_inherited(url),
global, URLBinding::Wrap)
}
@@ -72,16 +68,22 @@ impl URL {
}
};
// Step 3.
- let parsed_url = match parse_with_base(url, parsed_base.as_ref()) {
- Ok(url) => url,
- Err(error) => {
- // Step 4.
- return Err(Error::Type(format!("could not parse URL: {}", error)));
+ let parsed_url = {
+ let mut parser = UrlParser::new();
+ if let Some(parsed_base) = parsed_base.as_ref() {
+ parser.base_url(parsed_base);
+ }
+ match parser.parse(&url.0) {
+ Ok(url) => url,
+ Err(error) => {
+ // Step 4.
+ return Err(Error::Type(format!("could not parse URL: {}", error)));
+ }
}
};
// Step 5: Skip (see step 8 below).
// Steps 6-7.
- let result = URL::new(global, parsed_url, parsed_base);
+ let result = URL::new(global, parsed_url);
// Step 8: Instead of construcing a new `URLSearchParams` object here, construct it
// on-demand inside `URL::SearchParams`.
// Step 9.
@@ -140,7 +142,7 @@ impl URLMethods for URL {
// https://url.spec.whatwg.org/#dom-url-href
fn SetHref(&self, value: USVString) -> ErrorResult {
- match parse_with_base(value, self.base.as_ref()) {
+ match Url::parse(&value.0) {
Ok(url) => {
*self.url.borrow_mut() = url;
Ok(())
@@ -229,11 +231,3 @@ impl URLMethods for URL {
UrlHelper::SetUsername(&mut self.url.borrow_mut(), value);
}
}
-
-fn parse_with_base(input: USVString, base: Option<&Url>) -> ParseResult<Url> {
- let mut parser = UrlParser::new();
- if let Some(base) = base {
- parser.base_url(base);
- }
- parser.parse(&input.0)
-}