aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/headers.rs
diff options
context:
space:
mode:
authorBastien Orivel <eijebong@bananium.fr>2020-05-06 02:20:41 +0200
committerBastien Orivel <eijebong@bananium.fr>2020-05-30 12:46:51 +0200
commitc4273d86f2a9c3fce378fcd810971e8cf8cae984 (patch)
tree8a583937d10b308e73b4a624a1bc22c379655765 /components/script/dom/headers.rs
parent1a6193703134512b8d09b54a85bf58b3df82a372 (diff)
downloadservo-c4273d86f2a9c3fce378fcd810971e8cf8cae984.tar.gz
servo-c4273d86f2a9c3fce378fcd810971e8cf8cae984.zip
Fix the webidl for Headers
Make the HeadersInit type match the spec. Fixes #26441
Diffstat (limited to 'components/script/dom/headers.rs')
-rw-r--r--components/script/dom/headers.rs21
1 files changed, 10 insertions, 11 deletions
diff --git a/components/script/dom/headers.rs b/components/script/dom/headers.rs
index ff4fb39aec8..b9198d8d4f2 100644
--- a/components/script/dom/headers.rs
+++ b/components/script/dom/headers.rs
@@ -198,20 +198,19 @@ impl HeadersMethods for Headers {
}
impl Headers {
+ pub fn copy_from_headers(&self, headers: DomRoot<Headers>) -> ErrorResult {
+ for (name, value) in headers.header_list.borrow().iter() {
+ self.Append(
+ ByteString::new(Vec::from(name.as_str())),
+ ByteString::new(Vec::from(value.as_bytes())),
+ )?;
+ }
+ Ok(())
+ }
+
// https://fetch.spec.whatwg.org/#concept-headers-fill
pub fn fill(&self, filler: Option<HeadersInit>) -> ErrorResult {
match filler {
- // Step 1
- Some(HeadersInit::Headers(h)) => {
- for (name, value) in h.header_list.borrow().iter() {
- self.Append(
- ByteString::new(Vec::from(name.as_str())),
- ByteString::new(Vec::from(value.as_bytes())),
- )?;
- }
- Ok(())
- },
- // Step 2
Some(HeadersInit::ByteStringSequenceSequence(v)) => {
for mut seq in v {
if seq.len() == 2 {