Chromium (Chrome, Edge, Brave, Opera, Electron)

Used by: Chrome, Edge, Brave, Opera, Vivaldi, Electron.

Helper library

The checker runs this engine's own PAC helper library, copied verbatim at cb6eb0e7cac0 (BSD-3-Clause (Chromium); JS body MPL-1.1/GPL-2.0/LGPL-2.1 (Mozilla-derived)). Upstream source.

Version ranges and quirks

Later ranges list only what changes compared with the range before.

Chrome ≤ 51 (<=51)

Chrome 51 and older pass the full URL to the script. The version boundary was read in the Chromium source; a lab run with an old build is still pending.

BehaviourValueSource
alert() outputnetlogcode, verified 2026-10-04
Non-ASCII result rejectedtruecode, verified 2026-10-04
DNS lookupsasync
Chrome resolves names asynchronously and may run the script again once the answer arrives; the checker answers from your DNS table.
expert, unverified
dnsResolve is IPv4 onlytruecode, verified 2026-10-04
JavaScript level acceptedlatestcode, verified 2026-10-04
Calls FindProxyForURLEx if definedfalsecode, verified 2026-10-04
Microsoft *Ex functionstruecode, verified 2026-10-04
Global variables persist between callstruecode, verified 2026-10-04
Host lower-cased by the enginetrue
The host comes from the browser's canonicalised URL, so it is already lower-case.
expert, unverified
myIpAddress() sourcerouting_ipv4expert, unverified
Native (C++) bindingsalert, myIpAddress, dnsResolve, isPlainHostName, dnsResolveEx, myIpAddressEx, sortIpAddressList, isInNetEx
Read from the current Chromium source; assumed to be the same in old versions.
code, verified 2026-10-04
On exceptiondirectcode, verified 2026-10-04
On non-string / undefined resultdirectcode, verified 2026-10-04
URL passed to FindProxyForURLnone
Chrome 51 and older pass the full URL, including path and query, to FindProxyForURL.
code, verified 2026-10-04

Chrome ≥ 52 (>=52)

Also Edge, Brave, Opera, Vivaldi and Electron apps of the same Chromium version.

BehaviourValueSource
URL passed to FindProxyForURLhttps_path_query
For https:// and wss:// URLs the script sees only scheme, host and port; user name, password and fragment are always removed.
code, verified 2026-10-04

Function availability

Derived from each engine's vendored helper library plus its native bindings (see engines).
Functionchromium
<=51
chromium
>=52
firefox
all
pacparser
<=1.4.6
pacparser
1.5.0
pacparser
>=1.5.1
reference
all
isPlainHostNameyesyesyesyesyesyesyes
dnsDomainIsyesyesyesyesyesyesyes
localHostOrDomainIsyesyesyesyesyesyesyes
isResolvableyesyesyesyesyesyesyes
isInNetyesyesyesyesyesyesyes
dnsResolveyesyesyesyesyesyesyes
myIpAddressyesyesyesyesyesyesyes
dnsDomainLevelsyesyesyesyesyesyesyes
shExpMatchyesyesyesyesyesyesyes
weekdayRangeyesyesyesyesyesyesyes
dateRangeyesyesyesyesyesyesyes
timeRangeyesyesyesyesyesyesyes
alertyesyesyesnonoyesyes
dnsResolveExyesyesnoyesyesyesno
myIpAddressExyesyesnoyesyesyesno
isResolvableExyesyesnoyesyesyesno
isInNetExyesyesnoyesyesyesno
sortIpAddressListyesyesnonononono

Rules with notes for chromium