Use Url.join instead of UrlParser.base_url(...).parse (#9002)

This commit is contained in:
Mathieu Agopian 2015-12-18 17:02:41 +01:00
parent 6764cf0ee9
commit 11234f5370
41 changed files with 58 additions and 64 deletions

View file

@ -38,5 +38,5 @@ string_cache = "0.2"
euclid = {version = "0.4", features = ["plugins"]}
serde = "0.6"
serde_macros = "0.6"
url = "0.5"
url = "0.5.2"

View file

@ -8,7 +8,7 @@ use parser::{ParserContext, log_css_error};
use properties::longhands::font_family::parse_one_family;
use std::ascii::AsciiExt;
use string_cache::Atom;
use url::{Url, UrlParser};
use url::Url;
use util::mem::HeapSizeOf;
#[derive(Clone, Debug, HeapSizeOf, PartialEq, Eq, Deserialize, Serialize)]
@ -111,7 +111,7 @@ fn parse_one_src(context: &ParserContext, input: &mut Parser) -> Result<Source,
return Ok(Source::Local(try!(input.parse_nested_block(parse_one_non_generic_family_name))))
}
let url = try!(input.expect_url());
let url = UrlParser::new().base_url(context.base_url).parse(&url).unwrap_or_else(
let url = context.base_url.join(&url).unwrap_or_else(
|_error| url!("about:invalid"));
// Parsing optional format()

View file

@ -7,7 +7,7 @@ use cssparser::{Parser, SourcePosition};
use msg::ParseErrorReporter;
use selectors::parser::ParserContext as SelectorParserContext;
use stylesheets::Origin;
use url::{Url, UrlParser};
use url::Url;
pub struct ParserContext<'a> {
pub stylesheet_origin: Origin,
@ -33,7 +33,7 @@ impl<'a> ParserContext<'a> {
impl<'a> ParserContext<'a> {
pub fn parse_url(&self, input: &str) -> Url {
UrlParser::new().base_url(self.base_url).parse(input)
self.base_url.join(input)
.unwrap_or_else(|_| url!("about:invalid"))
}
}