diff --git a/features/draft/spec/html.yml b/features/draft/spec/html.yml
index 0d2d8000fc1..70dace143b3 100644
--- a/features/draft/spec/html.yml
+++ b/features/draft/spec/html.yml
@@ -61,7 +61,6 @@ compat_features:
- api.Document.images
- api.Document.lastModified
- api.Document.links
- - api.Document.location
- api.Document.open
- api.Document.plugins
- api.Document.readyState
@@ -237,21 +236,6 @@ compat_features:
- api.HTMLTemplateElement.shadowRootSerializable
- api.HTMLUnknownElement
- api.HTMLVideoElement.playsInline
- - api.Location
- - api.Location.ancestorOrigins
- - api.Location.assign
- - api.Location.hash
- - api.Location.host
- - api.Location.hostname
- - api.Location.href
- - api.Location.origin
- - api.Location.pathname
- - api.Location.port
- - api.Location.protocol
- - api.Location.reload
- - api.Location.replace
- - api.Location.search
- - api.Location.toString
- api.MathMLElement.blur
- api.MathMLElement.focus
- api.MathMLElement.nonce
@@ -458,7 +442,6 @@ compat_features:
- api.Window.length
- api.Window.load_event
- api.Window.localStorage
- - api.Window.location
- api.Window.message_event
- api.Window.name
- api.Window.navigator
diff --git a/features/draft/spec/html.yml.dist b/features/draft/spec/html.yml.dist
index c0ce1c9910d..eec9af91295 100644
--- a/features/draft/spec/html.yml.dist
+++ b/features/draft/spec/html.yml.dist
@@ -24,7 +24,6 @@ compat_features:
- api.Document.images
- api.Document.lastModified
- api.Document.links
- - api.Document.location
- api.Document.referrer
- api.Document.title
- api.Document.write
@@ -47,17 +46,6 @@ compat_features:
- api.HTMLInputElement.src
- api.HTMLInputElement.type
- api.HTMLInputElement.value
- - api.Location
- - api.Location.hash
- - api.Location.host
- - api.Location.hostname
- - api.Location.href
- - api.Location.pathname
- - api.Location.port
- - api.Location.protocol
- - api.Location.reload
- - api.Location.replace
- - api.Location.search
- api.Navigator
- api.Navigator.language
- api.Navigator.userAgent
@@ -72,7 +60,6 @@ compat_features:
- api.Window.frames
- api.Window.history
- api.Window.length
- - api.Window.location
- api.Window.name
- api.Window.navigator
- api.Window.open
@@ -197,7 +184,6 @@ compat_features:
- api.HTMLOptionsCollection.add
- api.HTMLOptionsCollection.length
- api.HTMLOptionsCollection.selectedIndex
- - api.Location.assign
- api.Window.frameElement
- api.Window.self
- api.Window.top
@@ -1204,19 +1190,6 @@ compat_features:
# safari_ios: "5"
- html.elements.input.type_number
- # baseline: high
- # baseline_low_date: 2015-07-29
- # baseline_high_date: 2018-01-29
- # support:
- # chrome: "8"
- # chrome_android: "18"
- # edge: "12"
- # firefox: "21"
- # firefox_android: "21"
- # safari: "5.1"
- # safari_ios: "5"
- - api.Location.origin
-
# baseline: high
# baseline_low_date: 2015-07-29
# baseline_high_date: 2018-01-29
@@ -1601,19 +1574,6 @@ compat_features:
- api.HTMLImageElement.currentSrc
- api.HTMLImageElement.sizes
- # baseline: high
- # baseline_low_date: 2016-07-27
- # baseline_high_date: 2019-01-27
- # support:
- # chrome: "52"
- # chrome_android: "52"
- # edge: "12"
- # firefox: "22"
- # firefox_android: "22"
- # safari: "1"
- # safari_ios: "1"
- - api.Location.toString
-
# baseline: high
# baseline_low_date: 2016-08-02
# baseline_high_date: 2019-02-02
@@ -3221,15 +3181,6 @@ compat_features:
# safari_ios: ≤11.3
- html.elements.input.type_month
- # baseline: false
- # support:
- # chrome: "20"
- # chrome_android: "25"
- # edge: "79"
- # safari: "6"
- # safari_ios: "6"
- - api.Location.ancestorOrigins
-
# baseline: false
# support:
# chrome: "37"
diff --git a/features/location.yml b/features/location.yml
new file mode 100644
index 00000000000..3dc9632e1a4
--- /dev/null
+++ b/features/location.yml
@@ -0,0 +1,24 @@
+name: Location
+description: The `location` global object represents the current page's address. You can use it to get the parts of the address (such as `location.hostname` or `location.pathname`) or navigate to another URL.
+spec: https://html.spec.whatwg.org/multipage/nav-history-apis.html#the-location-interface
+# `ancestorOrigins` makes this baseline false but is not required for usage of the feature.
+status:
+ compute_from: api.Window.location
+compat_features:
+ - api.Document.location
+ - api.Location
+ - api.Location.ancestorOrigins
+ - api.Location.assign
+ - api.Location.hash
+ - api.Location.host
+ - api.Location.hostname
+ - api.Location.href
+ - api.Location.origin
+ - api.Location.pathname
+ - api.Location.port
+ - api.Location.protocol
+ - api.Location.reload
+ - api.Location.replace
+ - api.Location.search
+ - api.Location.toString
+ - api.Window.location
diff --git a/features/location.yml.dist b/features/location.yml.dist
new file mode 100644
index 00000000000..33f582e5102
--- /dev/null
+++ b/features/location.yml.dist
@@ -0,0 +1,89 @@
+# Generated from: location.yml
+# Do not edit this file by hand. Edit the source file instead!
+
+status:
+ baseline: high
+ baseline_low_date: 2015-07-29
+ baseline_high_date: 2018-01-29
+ support:
+ chrome: "1"
+ chrome_android: "18"
+ edge: "12"
+ firefox: "1"
+ firefox_android: "4"
+ safari: "1"
+ safari_ios: "1"
+compat_features:
+ # ⬇️ Same status as overall feature ⬇️
+ # baseline: high
+ # baseline_low_date: 2015-07-29
+ # baseline_high_date: 2018-01-29
+ # support:
+ # chrome: "1"
+ # chrome_android: "18"
+ # edge: "12"
+ # firefox: "1"
+ # firefox_android: "4"
+ # safari: "1"
+ # safari_ios: "1"
+ - api.Document.location
+ - api.Location
+ - api.Location.hash
+ - api.Location.host
+ - api.Location.hostname
+ - api.Location.href
+ - api.Location.pathname
+ - api.Location.port
+ - api.Location.protocol
+ - api.Location.reload
+ - api.Location.replace
+ - api.Location.search
+ - api.Window.location
+
+ # baseline: high
+ # baseline_low_date: 2015-07-29
+ # baseline_high_date: 2018-01-29
+ # support:
+ # chrome: "1"
+ # chrome_android: "18"
+ # edge: "12"
+ # firefox: "1"
+ # firefox_android: "4"
+ # safari: "3"
+ # safari_ios: "1"
+ - api.Location.assign
+
+ # baseline: high
+ # baseline_low_date: 2015-07-29
+ # baseline_high_date: 2018-01-29
+ # support:
+ # chrome: "8"
+ # chrome_android: "18"
+ # edge: "12"
+ # firefox: "21"
+ # firefox_android: "21"
+ # safari: "5.1"
+ # safari_ios: "5"
+ - api.Location.origin
+
+ # baseline: high
+ # baseline_low_date: 2016-07-27
+ # baseline_high_date: 2019-01-27
+ # support:
+ # chrome: "52"
+ # chrome_android: "52"
+ # edge: "12"
+ # firefox: "22"
+ # firefox_android: "22"
+ # safari: "1"
+ # safari_ios: "1"
+ - api.Location.toString
+
+ # baseline: false
+ # support:
+ # chrome: "20"
+ # chrome_android: "25"
+ # edge: "79"
+ # safari: "6"
+ # safari_ios: "6"
+ - api.Location.ancestorOrigins