// https://html.spec.whatwg.org/multipage/nav-history-apis.html#location
[Exposed=Window]
interface Location { // but see also additional creation steps and overridden internal methods
    [LegacyUnforgeable] stringifier attribute USVString href;
    [LegacyUnforgeable] readonly attribute USVString origin;
    [LegacyUnforgeable] attribute USVString protocol;
    [LegacyUnforgeable] attribute USVString host;
    [LegacyUnforgeable] attribute USVString hostname;
    [LegacyUnforgeable] attribute USVString port;
    [LegacyUnforgeable] attribute USVString pathname;
    [LegacyUnforgeable] attribute USVString search;
    [LegacyUnforgeable] attribute USVString hash;

    [LegacyUnforgeable] undefined assign(USVString url);
    [LegacyUnforgeable] undefined replace(USVString url);
    [LegacyUnforgeable] undefined reload();

    [FIXME, LegacyUnforgeable, SameObject] readonly attribute DOMStringList ancestorOrigins;
};
