mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Support USVString as default value of a union argument
This commit is contained in:
parent
c5d6bb604d
commit
e905a4606a
3 changed files with 10 additions and 8 deletions
|
@ -47,12 +47,12 @@ impl URLSearchParams {
|
|||
// https://url.spec.whatwg.org/#dom-urlsearchparams-urlsearchparams
|
||||
pub fn Constructor(
|
||||
global: &GlobalScope,
|
||||
init: Option<USVStringSequenceSequenceOrUSVStringUSVStringRecordOrUSVString>,
|
||||
init: USVStringSequenceSequenceOrUSVStringUSVStringRecordOrUSVString,
|
||||
) -> Fallible<DomRoot<URLSearchParams>> {
|
||||
// Step 1.
|
||||
let query = URLSearchParams::new(global, None);
|
||||
match init {
|
||||
Some(USVStringSequenceSequenceOrUSVStringUSVStringRecordOrUSVString::USVStringSequenceSequence(init)) => {
|
||||
USVStringSequenceSequenceOrUSVStringUSVStringRecordOrUSVString::USVStringSequenceSequence(init) => {
|
||||
// Step 2.
|
||||
|
||||
// Step 2-1.
|
||||
|
@ -64,12 +64,12 @@ impl URLSearchParams {
|
|||
*query.list.borrow_mut() =
|
||||
init.iter().map(|pair| (pair[0].to_string(), pair[1].to_string())).collect::<Vec<_>>();
|
||||
},
|
||||
Some(USVStringSequenceSequenceOrUSVStringUSVStringRecordOrUSVString::USVStringUSVStringRecord(init)) => {
|
||||
USVStringSequenceSequenceOrUSVStringUSVStringRecordOrUSVString::USVStringUSVStringRecord(init) => {
|
||||
// Step 3.
|
||||
*query.list.borrow_mut() =
|
||||
(*init).iter().map(|(name, value)| (name.to_string(), value.to_string())).collect::<Vec<_>>();
|
||||
},
|
||||
Some(USVStringSequenceSequenceOrUSVStringUSVStringRecordOrUSVString::USVString(init)) => {
|
||||
USVStringSequenceSequenceOrUSVStringUSVStringRecordOrUSVString::USVString(init) => {
|
||||
// Step 4.
|
||||
let init_bytes = match init.0.chars().next() {
|
||||
Some(first_char) if first_char == '?' => {
|
||||
|
@ -82,8 +82,7 @@ impl URLSearchParams {
|
|||
|
||||
*query.list.borrow_mut() =
|
||||
form_urlencoded::parse(init_bytes).into_owned().collect();
|
||||
},
|
||||
None => {},
|
||||
}
|
||||
}
|
||||
|
||||
// Step 5.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue