You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was digging into a Windows bug in Node and found an inconsistency between Chrome's implementation of the URL spec and what's written in the file-slash-state spec.
wow, that's really wrong definitely should be fixed.
Path Forward
It feels to me like Chrome's implementation is the most reasonable; if I resolve a URL C:/foo/bar it doesn't really make sense to me that I'd end up with a URL D:/foo/bar this is almost surely pointing to an invalid file path.
It might be worth updating this section of the spec to reflect Chrome's implementation (it might just be that myself and @bmeck are reading it wrong).
@rmisev wonderful -- if I'm reading the new instructions properly, we now only set the drive section from the base if there's no drive section in the path; matching the behavior we're seeing in Chrome, Firefox, etc?
I was digging into a Windows bug in Node and found an inconsistency between Chrome's implementation of the URL spec and what's written in the file-slash-state spec.
Reading the spec, it sounds like if I resolve:
I would expect the URL to resolve as:
Chrome's Parse:
Firefox's Parse
Node's Parse
wow, that's really wrong definitely should be fixed.
Path Forward
It feels to me like Chrome's implementation is the most reasonable; if I resolve a URL
C:/foo/bar
it doesn't really make sense to me that I'd end up with a URLD:/foo/bar
this is almost surely pointing to an invalid file path.It might be worth updating this section of the spec to reflect Chrome's implementation (it might just be that myself and @bmeck are reading it wrong).
CC: @bmeck, @TimothyGu, @domenic @annevk, @jasnell
UPDATE: it looks like both Safari and Firefox parse the same as Chrome, this seems to point towards Brad and I misreading the spec?
The text was updated successfully, but these errors were encountered: