aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/document.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/document.rs')
-rw-r--r--components/script/dom/document.rs15
1 files changed, 8 insertions, 7 deletions
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs
index 7a50fe5cf6c..fe1065104f4 100644
--- a/components/script/dom/document.rs
+++ b/components/script/dom/document.rs
@@ -2,6 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+use cookie_rs;
use core::nonzero::NonZero;
use devtools_traits::ScriptToDevtoolsControlMsg;
use document_loader::{DocumentLoader, LoadType};
@@ -3285,15 +3286,15 @@ impl DocumentMethods for Document {
return Err(Error::Security);
}
- let header = Header::parse_header(&[cookie.into()]);
- if let Ok(SetCookie(cookies)) = header {
- let cookies = cookies.into_iter().map(Serde).collect();
+ if let Ok(cookie_header) = SetCookie::parse_header(&vec![cookie.to_string().into_bytes()]) {
+ let cookies = cookie_header.0.into_iter().filter_map(|cookie| {
+ cookie_rs::Cookie::parse(cookie).ok().map(Serde)
+ }).collect();
let _ = self.window
- .upcast::<GlobalScope>()
- .resource_threads()
- .send(SetCookiesForUrl(self.url(), cookies, NonHTTP));
+ .upcast::<GlobalScope>()
+ .resource_threads()
+ .send(SetCookiesForUrl(self.url(), cookies, NonHTTP));
}
-
Ok(())
}