aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/document.rs
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2016-04-13 10:39:16 +0200
committerMs2ger <Ms2ger@gmail.com>2016-04-13 12:07:05 +0200
commit90454c279d3ff3226f5758709d72f0a7d47f63f6 (patch)
tree7ff91f30b406455baffa2184f504b93483c54d5a /components/script/dom/document.rs
parentfa42b452a0287fbdbec8cb709c08a9becfbe37eb (diff)
downloadservo-90454c279d3ff3226f5758709d72f0a7d47f63f6.tar.gz
servo-90454c279d3ff3226f5758709d72f0a7d47f63f6.zip
Use origin when manipulating cookies.
Diffstat (limited to 'components/script/dom/document.rs')
-rw-r--r--components/script/dom/document.rs14
1 files changed, 6 insertions, 8 deletions
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs
index 76e33565e63..723e461df30 100644
--- a/components/script/dom/document.rs
+++ b/components/script/dom/document.rs
@@ -2519,10 +2519,11 @@ impl DocumentMethods for Document {
return Ok(DOMString::new());
}
- let url = self.url();
- if !is_scheme_host_port_tuple(&url) {
+ if !self.origin.is_scheme_host_port_tuple() {
return Err(Error::Security);
}
+
+ let url = self.url();
let (tx, rx) = ipc::channel().unwrap();
let _ = self.window.resource_thread().send(GetCookiesForUrl((*url).clone(), tx, NonHTTP));
let cookies = rx.recv().unwrap();
@@ -2535,10 +2536,11 @@ impl DocumentMethods for Document {
return Ok(());
}
- let url = self.url();
- if !is_scheme_host_port_tuple(url) {
+ if !self.origin.is_scheme_host_port_tuple() {
return Err(Error::Security);
}
+
+ let url = self.url();
let _ = self.window
.resource_thread()
.send(SetCookiesForUrl((*url).clone(), String::from(cookie), NonHTTP));
@@ -2742,10 +2744,6 @@ impl DocumentMethods for Document {
}
}
-fn is_scheme_host_port_tuple(url: &Url) -> bool {
- url.host().is_some() && url.port_or_default().is_some()
-}
-
fn update_with_current_time_ms(marker: &Cell<u64>) {
if marker.get() == Default::default() {
let time = time::get_time();