diff --git a/spec.bs b/spec.bs index a567e5a..caab756 100644 --- a/spec.bs +++ b/spec.bs @@ -468,7 +468,7 @@ A component is a [=struct=] with the following [=struct/items=]:
- To perform a match given a [=URL pattern=] |urlPattern|, a {{URLPatternInput}} |input|, and an optional string |baseURLString|: + To perform a match given a [=URL pattern=] |urlPattern|, a {{URLPatternInput}} or [=/URL=] |input|, and an optional string |baseURLString|: 1. Let |protocol| be the empty string. 1. Let |username| be the empty string. @@ -492,13 +492,16 @@ A component is a [=struct=] with the following [=struct/items=]: 1. Set |search| to |applyResult|["{{URLPatternInit/search}}"]. 1. Set |hash| to |applyResult|["{{URLPatternInit/hash}}"]. 1. Otherwise: - 1. Let |baseURL| be null. - 1. If |baseURLString| was given, then: - 1. Set |baseURL| to the result of [=URL parser|parsing=] |baseURLString|. - 1. If |baseURL| is failure, return null. - 1. [=list/Append=] |baseURLString| to |inputs|. - 1. Let |url| be the result of [=URL parser|parsing=] |input| given |baseURL|. - 1. If |url| is failure, return null. + 1. Let |url| be |input|. + 1. If |input| is a {{USVString}}: + 1. Let |baseURL| be null. + 1. If |baseURLString| was given, then: + 1. Set |baseURL| to the result of [=URL parser|parsing=] |baseURLString|. + 1. If |baseURL| is failure, return null. + 1. [=list/Append=] |baseURLString| to |inputs|. + 1. Set |url| to the result of [=URL parser|parsing=] |input| given |baseURL|. + 1. If |url| is failure, return null. + 1. [=Assert=]: |url| is a [=/URL=]. 1. Set |protocol| to |url|'s [=url/scheme=]. 1. Set |username| to |url|'s [=url/username=]. 1. Set |password| to |url|'s [=url/password=].