diff --git a/components/script/dom/url.rs b/components/script/dom/url.rs index 8f489902747..b31333b7ac2 100644 --- a/components/script/dom/url.rs +++ b/components/script/dom/url.rs @@ -57,10 +57,15 @@ impl URL { pub fn set_query_pairs(&self, pairs: &[(String, String)]) { let mut url = self.url.borrow_mut(); - url.as_mut_url() - .query_pairs_mut() - .clear() - .extend_pairs(pairs); + + if pairs.is_empty() { + url.as_mut_url().set_query(None); + } else { + url.as_mut_url() + .query_pairs_mut() + .clear() + .extend_pairs(pairs); + } } } diff --git a/tests/wpt/metadata/url/urlsearchparams-delete.any.js.ini b/tests/wpt/metadata/url/urlsearchparams-delete.any.js.ini deleted file mode 100644 index 4afafaec160..00000000000 --- a/tests/wpt/metadata/url/urlsearchparams-delete.any.js.ini +++ /dev/null @@ -1,15 +0,0 @@ -[urlsearchparams-delete.any.worker.html] - [Removing non-existent param removes ? from URL] - expected: FAIL - - [Deleting all params removes ? from URL] - expected: FAIL - - -[urlsearchparams-delete.any.html] - [Removing non-existent param removes ? from URL] - expected: FAIL - - [Deleting all params removes ? from URL] - expected: FAIL - diff --git a/tests/wpt/metadata/url/urlsearchparams-sort.any.js.ini b/tests/wpt/metadata/url/urlsearchparams-sort.any.js.ini deleted file mode 100644 index ea25a6c5496..00000000000 --- a/tests/wpt/metadata/url/urlsearchparams-sort.any.js.ini +++ /dev/null @@ -1,7 +0,0 @@ -[urlsearchparams-sort.any.html] - [Sorting non-existent params removes ? from URL] - expected: FAIL - -[urlsearchparams-sort.any.worker.html] - [Sorting non-existent params removes ? from URL] - expected: FAIL