Re: [whatwg/url] feat: handle Windows file paths with backslashes in URL parsing (PR #874)

@mertcanaltin commented on this pull request.



> @@ -2247,6 +2247,18 @@ and then runs these steps:
      <li><p>If <a>c</a> is an <a>ASCII alphanumeric</a>, U+002B (+), U+002D (-), or U+002E (.),
      append <a>c</a>, <a lt="ASCII lowercase">lowercased</a>, to <var>buffer</var>.
 
+     <li>
+      <p>Otherwise, if <a>c</a> is U+003A (:) and <var>buffer</var>'s <a for=string>length</a> is 1 and 
+      <var>buffer</var> contains only an <a>ASCII alpha</a> and <a>remaining</a> starts with U+005C (\), then:
+
+      <ol>
+       <li><p>Set <var>url</var>'s <a for=url>scheme</a> to "<code>file</code>".
+       <li><p>Set <var>buffer</var> to the empty string.
+       <li><p>Replace every U+005C (\) code point in <a>remaining</a> with U+002F (/).

Normalizes Windows paths by converting backslashes to forward slashes. For example, ```C:\folder\file.txt``` becomes ```C:/folder/file.txt``` this needs to happen before entering file state since file state treats backslashes as validation errors, but here we're doing legitimate Windows path handling.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/url/pull/874#discussion_r2213902136
You are receiving this because you are subscribed to this thread.

Message ID: <whatwg/url/pull/874/review/3030399932@github.com>

Received on Thursday, 17 July 2025 17:24:40 UTC