From b0a6dc0fff589d5c038d0d23f08806017ce77a08 Mon Sep 17 00:00:00 2001 From: Jeremy Roman Date: Fri, 26 Jan 2024 12:08:22 -0500 Subject: [PATCH 1/2] Do not initialize a URLPatternInit member to null in "initialize a URLPattern" It is not valid for the baseURL dictionary member to be null, only either absent or a USVString. Instead, this should be omitted from the dictionary altogether if no string was provided to this algorithm. Any string which is invalid will fail later on, when it is to be parsed as a URL. Fixes #204. --- spec.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec.bs b/spec.bs index 27c3a57..fa35298 100644 --- a/spec.bs +++ b/spec.bs @@ -354,7 +354,7 @@ Each {{URLPattern}} object has an associated hash component< 1. If |input| is a [=scalar value string=] then: 1. Set |init| to the result of running [=parse a constructor string=] given |input|. 1. If |baseURL| is null and |init|["{{URLPatternInit/protocol}}"] does not [=map/exist=], then throw a {{TypeError}}. - 1. Set |init|["{{URLPatternInit/baseURL}}"] to |baseURL|. + 1. If |baseURL| is not null, set |init|["{{URLPatternInit/baseURL}}"] to |baseURL|. 1. Otherwise: 1. [=Assert=]: |input| is a {{URLPatternInit}}. 1. If |baseURL| is not null, then throw a {{TypeError}}. From 33616096c6d14a26b1ad0d3a3645b88d0e6c35d7 Mon Sep 17 00:00:00 2001 From: Jeremy Roman Date: Fri, 26 Jan 2024 12:11:08 -0500 Subject: [PATCH 2/2] use map/set explicitly --- spec.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec.bs b/spec.bs index fa35298..a3224a6 100644 --- a/spec.bs +++ b/spec.bs @@ -354,7 +354,7 @@ Each {{URLPattern}} object has an associated hash component< 1. If |input| is a [=scalar value string=] then: 1. Set |init| to the result of running [=parse a constructor string=] given |input|. 1. If |baseURL| is null and |init|["{{URLPatternInit/protocol}}"] does not [=map/exist=], then throw a {{TypeError}}. - 1. If |baseURL| is not null, set |init|["{{URLPatternInit/baseURL}}"] to |baseURL|. + 1. If |baseURL| is not null, [=map/set=] |init|["{{URLPatternInit/baseURL}}"] to |baseURL|. 1. Otherwise: 1. [=Assert=]: |input| is a {{URLPatternInit}}. 1. If |baseURL| is not null, then throw a {{TypeError}}.