demo · v130

Parser diff (non-special URL fuzzer)

Pick a non-special scheme URL (web+coffee, git+ssh, geo:, magnet:, custom-jsapi:), see how Chrome 130 parses it field-by-field, and compare against a simulated pre-130 parser. Round-trips the URL back to a string to verify serialization stability. Diff cells are highlighted.

try a URL

pre-Chrome 130 (legacy parser)

Chrome 130 (RFC 3986 conformant)

round-trip serialization



    

the code

const u = new URL("web+coffee://barista@dashboard.example/cup/42?temp=hot");
u.protocol; // "web+coffee:"
u.username; // "barista"
u.host;     // "dashboard.example"
u.pathname; // "/cup/42"
u.searchParams.get("temp"); // "hot"

// Chrome ≤ 129 either threw or returned empty fields for many of these
// schemes because the parser only special-cased http/https/file/ftp/wss/ws.
// Chrome 130 parses any non-special scheme per the WHATWG URL spec rules,
// preserving all RFC 3986 components.

see also