mirror of
https://github.com/servo/servo.git
synced 2025-09-30 00:29:14 +01:00
script: Strip javascript
URL scheme using Position::AfterScheme
rather than Position::BeforePath
(#38599)
This makes the initial split match step 2 of https://html.spec.whatwg.org/multipage/browsing-the-web.html#evaluate-a-javascript%3A-url. Testing: Covered by WPT tests. Fixes: #38547 --------- Signed-off-by: lumiscosity <averyrudelphe@gmail.com>
This commit is contained in:
parent
be5e7a982b
commit
b747589286
4 changed files with 8 additions and 6 deletions
|
@ -3592,7 +3592,7 @@ impl ScriptThread {
|
|||
// Start with the scheme data of the parsed URL;
|
||||
// append question mark and query component, if any;
|
||||
// append number sign and fragment component if any.
|
||||
let encoded = &load_data.url.clone()[Position::BeforePath..];
|
||||
let encoded = &load_data.url[Position::AfterScheme..][1..];
|
||||
|
||||
// Percent-decode (8.) and UTF-8 decode (9.)
|
||||
let script_source = percent_decode(encoded.as_bytes()).decode_utf8_lossy();
|
||||
|
|
2
tests/wpt/meta/MANIFEST.json
vendored
2
tests/wpt/meta/MANIFEST.json
vendored
|
@ -835815,7 +835815,7 @@
|
|||
]
|
||||
],
|
||||
"javascript-urls.window.js": [
|
||||
"4f617beca17082dc8459acb73bca781900170593",
|
||||
"3e3a53003dde5fae29ced12ce9f2c26c7520a87c",
|
||||
[
|
||||
"url/javascript-urls.window.html",
|
||||
{}
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[javascript-urls.window.html]
|
||||
expected: ERROR
|
||||
[javascript: URL without an opaque path]
|
||||
expected: FAIL
|
|
@ -19,6 +19,12 @@
|
|||
"property": "shouldNotExistB",
|
||||
"expected": undefined
|
||||
},
|
||||
{
|
||||
"description": "javascript: URL with extra slashes at the start",
|
||||
"input": "javascript:///globalThis.shouldNotExistC=1",
|
||||
"property": "shouldNotExistC",
|
||||
"expected": undefined
|
||||
},
|
||||
{
|
||||
"description": "javascript: URL without an opaque path",
|
||||
"input": "javascript://host/1%0a//../0/;globalThis.shouldBeOne=1;/%0aglobalThis.shouldBeOne=2;/..///",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue