mirror of
https://github.com/servo/servo.git
synced 2025-07-31 03:00:29 +01:00
Auto merge of #5423 - yodalee:issue5397-location-pathname, r=jdm
issue #5397
This commit is contained in:
commit
d0acc33bf2
8 changed files with 22 additions and 23 deletions
|
@ -46,6 +46,10 @@ impl<'a> LocationMethods for JSRef<'a, Location> {
|
|||
UrlHelper::Href(&self.get_url())
|
||||
}
|
||||
|
||||
fn Pathname(self) -> USVString {
|
||||
UrlHelper::Pathname(&self.get_url())
|
||||
}
|
||||
|
||||
fn Stringify(self) -> DOMString {
|
||||
self.Href().0
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
use dom::bindings::str::USVString;
|
||||
|
||||
use url::Url;
|
||||
use url::{Url, SchemeData};
|
||||
|
||||
use std::borrow::ToOwned;
|
||||
|
||||
|
@ -31,6 +31,15 @@ impl UrlHelper {
|
|||
})
|
||||
}
|
||||
|
||||
pub fn Pathname(url: &Url) -> USVString {
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-pathname
|
||||
// FIXME: Url null check is skipped for now
|
||||
USVString(match url.scheme_data {
|
||||
SchemeData::NonRelative(ref scheme_data) => scheme_data.clone(),
|
||||
SchemeData::Relative(..) => url.serialize_path().unwrap()
|
||||
})
|
||||
}
|
||||
|
||||
/// https://html.spec.whatwg.org/multipage/browsers.html#same-origin
|
||||
pub fn SameOrigin(urlA: &Url, urlB: &Url) -> bool {
|
||||
if urlA.host() != urlB.host() {
|
||||
|
|
|
@ -16,6 +16,7 @@ interface URLUtils {
|
|||
// attribute USVString hostname;
|
||||
// attribute USVString port;
|
||||
// attribute USVString pathname;
|
||||
readonly attribute USVString pathname;
|
||||
// attribute USVString search;
|
||||
readonly attribute USVString search;
|
||||
// attribute URLSearchParams searchParams;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue