This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Gecko: a.href = 'http://abc.de:8080/path/name?search#hash' a.host = ''; a.href // 'http://path/name?search#hash' Blink ignores empty strings: a.href = 'http://abc.de:8080/path/name?search#hash' a.host = ''; a.href // 'http://abc.de:8080/path/name?search#hash' IE11: a.href = 'http://abc.de:8080/path/name?search#hash' a.host = ''; a.href // 'http://:8080/path/name?search#hash' Gecko's solution which follows the spec most closely is bad since it results in a string that has the path as the new domain IE's solution leads to an invalid URL.
Blink is correct per the specification as far as I can tell. Per http://url.spec.whatwg.org/#host-state with c being EOF you parse "host" (which is the empty string) which leads to failure which leads to URL's host not changing.