Skip to content

Commit 6b81ac7

Browse files
autonomeddbeck
authored andcommitted
Add Navigator and more navigation pieces (web-platform-dx#1931)
Co-authored-by: Daniel D. Beck <[email protected]>
1 parent a7f30e7 commit 6b81ac7

18 files changed

+380
-1
lines changed

features/cookie-enabled.yml

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
name: cookieEnabled
2+
description: "The `navigator.cookieEnabled` property returns a Boolean value for whether the browser accepts or ignores attempts to write cookie data."
3+
spec: https://html.spec.whatwg.org/multipage/system-state.html#cookies
4+
compat_features:
5+
- api.Navigator.cookieEnabled

features/cookie-enabled.yml.dist

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Generated from: cookie-enabled.yml
2+
# Do not edit this file by hand. Edit the source file instead!
3+
4+
status:
5+
baseline: low
6+
baseline_low_date: 2024-09-16
7+
support:
8+
chrome: "1"
9+
chrome_android: "18"
10+
edge: "12"
11+
firefox: "1"
12+
firefox_android: "4"
13+
safari: "18"
14+
safari_ios: "18"
15+
compat_features:
16+
- api.Navigator.cookieEnabled

features/hardware-concurrency.yml

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
name: hardwareConcurrency
2+
description: "The `navigator.hardwareConcurrency` read-only property returns the number of logical processors available to run threads on the user's computer."
3+
spec: https://html.spec.whatwg.org/multipage/workers.html#navigator.hardwareconcurrency
4+
caniuse: hardwareconcurrency
5+
compat_features:
6+
- api.Navigator.hardwareConcurrency
7+
- api.WorkerNavigator.hardwareConcurrency
+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Generated from: hardware-concurrency.yml
2+
# Do not edit this file by hand. Edit the source file instead!
3+
4+
status:
5+
baseline: false
6+
support:
7+
chrome: "37"
8+
chrome_android: "37"
9+
edge: "15"
10+
firefox: "48"
11+
firefox_android: "48"
12+
compat_features:
13+
- api.Navigator.hardwareConcurrency
14+
- api.WorkerNavigator.hardwareConcurrency

features/language.yml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
name: Language
2+
description: "The `navigator.language` read-only property returns a string representing the preferred language of the user, usually the language of the browser UI. The `navigator.languages` read-only property returns an array of strings representing the user's preferred languages."
3+
spec: https://html.spec.whatwg.org/multipage/system-state.html#language-preferences
4+
status:
5+
compute_from: api.Navigator.language
6+
compat_features:
7+
- api.Navigator.language
8+
- api.Navigator.languages
9+
- api.Window.languagechange_event
10+
- api.WorkerGlobalScope.languagechange_event
11+
- api.WorkerNavigator.language
12+
- api.WorkerNavigator.languages

features/language.yml.dist

+79
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# Generated from: language.yml
2+
# Do not edit this file by hand. Edit the source file instead!
3+
4+
status:
5+
baseline: high
6+
baseline_low_date: 2015-07-29
7+
baseline_high_date: 2018-01-29
8+
support:
9+
chrome: "1"
10+
chrome_android: "18"
11+
edge: "12"
12+
firefox: "1"
13+
firefox_android: "4"
14+
safari: "1"
15+
safari_ios: "1"
16+
compat_features:
17+
# ⬇️ Same status as overall feature ⬇️
18+
# baseline: high
19+
# baseline_low_date: 2015-07-29
20+
# baseline_high_date: 2018-01-29
21+
# support:
22+
# chrome: "1"
23+
# chrome_android: "18"
24+
# edge: "12"
25+
# firefox: "1"
26+
# firefox_android: "4"
27+
# safari: "1"
28+
# safari_ios: "1"
29+
- api.Navigator.language
30+
31+
# baseline: high
32+
# baseline_low_date: 2016-09-20
33+
# baseline_high_date: 2019-03-20
34+
# support:
35+
# chrome: "4"
36+
# chrome_android: "18"
37+
# edge: "12"
38+
# firefox: "3.5"
39+
# firefox_android: "4"
40+
# safari: "10"
41+
# safari_ios: "10"
42+
- api.WorkerNavigator.language
43+
44+
# baseline: high
45+
# baseline_low_date: 2017-10-17
46+
# baseline_high_date: 2020-04-17
47+
# support:
48+
# chrome: "37"
49+
# chrome_android: "37"
50+
# edge: "16"
51+
# firefox: "32"
52+
# firefox_android: "32"
53+
# safari: "10.1"
54+
# safari_ios: "10.3"
55+
- api.Navigator.languages
56+
- api.WorkerNavigator.languages
57+
58+
# baseline: high
59+
# baseline_low_date: 2020-01-15
60+
# baseline_high_date: 2022-07-15
61+
# support:
62+
# chrome: "37"
63+
# chrome_android: "37"
64+
# edge: "79"
65+
# firefox: "32"
66+
# firefox_android: "4"
67+
# safari: "10.1"
68+
# safari_ios: "10.3"
69+
- api.Window.languagechange_event
70+
71+
# baseline: false
72+
# support:
73+
# chrome: "4"
74+
# chrome_android: "18"
75+
# edge: "79"
76+
# firefox: "74"
77+
# firefox_android: "79"
78+
# safari_ios: "5"
79+
- api.WorkerGlobalScope.languagechange_event

features/navigation.yml

+12-1
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,25 @@
11
name: Navigation API
2-
description: The `navigation` API provides mechanisms to initiate, intercept, and manage browser navigation actions.
2+
description: The `navigation` API initiates, intercepts, or modifies browser navigation actions. Not to be confused with the `navigator` API.
33
spec: https://html.spec.whatwg.org/multipage/nav-history-apis.html#navigation-api
4+
status:
5+
compute_from: api.Navigation
46
compat_features:
57
- api.NavigateEvent
68
- api.NavigateEvent.NavigateEvent
9+
- api.NavigateEvent.canIntercept
710
- api.NavigateEvent.destination
811
- api.NavigateEvent.downloadRequest
912
- api.NavigateEvent.formData
13+
- api.NavigateEvent.hasUAVisualTransition
1014
- api.NavigateEvent.hashChange
1115
- api.NavigateEvent.info
16+
- api.NavigateEvent.intercept
1217
- api.NavigateEvent.navigationType
18+
- api.NavigateEvent.scroll
1319
- api.NavigateEvent.signal
1420
- api.NavigateEvent.userInitiated
1521
- api.Navigation
22+
- api.Navigation.activation
1623
- api.Navigation.back
1724
- api.Navigation.canGoBack
1825
- api.Navigation.canGoForward
@@ -28,6 +35,10 @@ compat_features:
2835
- api.Navigation.transition
2936
- api.Navigation.traverseTo
3037
- api.Navigation.updateCurrentEntry
38+
- api.NavigationActivation
39+
- api.NavigationActivation.entry
40+
- api.NavigationActivation.from
41+
- api.NavigationActivation.navigationType
3142
- api.NavigationCurrentEntryChangeEvent
3243
- api.NavigationCurrentEntryChangeEvent.NavigationCurrentEntryChangeEvent
3344
- api.NavigationCurrentEntryChangeEvent.from

features/navigation.yml.dist

+33
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@ status:
88
chrome_android: "102"
99
edge: "102"
1010
compat_features:
11+
# ⬇️ Same status as overall feature ⬇️
12+
# baseline: false
13+
# support:
14+
# chrome: "102"
15+
# chrome_android: "102"
16+
# edge: "102"
1117
- api.NavigateEvent
1218
- api.NavigateEvent.NavigateEvent
1319
- api.NavigateEvent.destination
@@ -58,3 +64,30 @@ compat_features:
5864
- api.NavigationTransition.from
5965
- api.NavigationTransition.navigationType
6066
- api.Window.navigation
67+
68+
# baseline: false
69+
# support:
70+
# chrome: "105"
71+
# chrome_android: "105"
72+
# edge: "105"
73+
- api.NavigateEvent.canIntercept
74+
- api.NavigateEvent.intercept
75+
- api.NavigateEvent.scroll
76+
77+
# baseline: false
78+
# support:
79+
# chrome: "118"
80+
# chrome_android: "118"
81+
# edge: "118"
82+
- api.NavigateEvent.hasUAVisualTransition
83+
84+
# baseline: false
85+
# support:
86+
# chrome: "123"
87+
# chrome_android: "123"
88+
# edge: "123"
89+
- api.Navigation.activation
90+
- api.NavigationActivation
91+
- api.NavigationActivation.entry
92+
- api.NavigationActivation.from
93+
- api.NavigationActivation.navigationType

features/navigator.yml

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
name: Navigator
2+
description: "The window.navigator API is a generic global object, under which many other, more interesting APIs are located. It doesn't do anything interesting on its own."
3+
spec: https://html.spec.whatwg.org/multipage/system-state.html#the-navigator-object
4+
compat_features:
5+
- api.Navigator
6+
- api.Window.navigator

features/navigator.yml.dist

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Generated from: navigator.yml
2+
# Do not edit this file by hand. Edit the source file instead!
3+
4+
status:
5+
baseline: high
6+
baseline_low_date: 2015-07-29
7+
baseline_high_date: 2018-01-29
8+
support:
9+
chrome: "1"
10+
chrome_android: "18"
11+
edge: "12"
12+
firefox: "1"
13+
firefox_android: "4"
14+
safari: "1"
15+
safari_ios: "1"
16+
compat_features:
17+
- api.Navigator
18+
- api.Window.navigator

features/online.yml

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: Online status
2+
description: The `navigator.onLine` property returns a Boolean for whether the browser is connected to some network (though not necessarily the internet). The `online` and `offline` events fire when the connection state changes.
3+
spec:
4+
- https://html.spec.whatwg.org/multipage/system-state.html#navigator.online
5+
- https://html.spec.whatwg.org/multipage/indices.html#event-online
6+
caniuse: online-status
7+
status:
8+
compute_from: api.Navigator.onLine
9+
compat_features:
10+
- api.Navigator.onLine
11+
- api.Window.offline_event
12+
- api.Window.online_event
13+
- api.WorkerGlobalScope.offline_event
14+
- api.WorkerGlobalScope.online_event
15+
- api.WorkerNavigator.onLine

features/online.yml.dist

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Generated from: online.yml
2+
# Do not edit this file by hand. Edit the source file instead!
3+
4+
status:
5+
baseline: high
6+
baseline_low_date: 2015-07-29
7+
baseline_high_date: 2018-01-29
8+
support:
9+
chrome: "2"
10+
chrome_android: "18"
11+
edge: "12"
12+
firefox: "1.5"
13+
firefox_android: "4"
14+
safari: "4"
15+
safari_ios: "3.2"
16+
compat_features:
17+
# ⬇️ Same status as overall feature ⬇️
18+
# baseline: high
19+
# baseline_low_date: 2015-07-29
20+
# baseline_high_date: 2018-01-29
21+
# support:
22+
# chrome: "2"
23+
# chrome_android: "18"
24+
# edge: "12"
25+
# firefox: "1.5"
26+
# firefox_android: "4"
27+
# safari: "4"
28+
# safari_ios: "3.2"
29+
- api.Navigator.onLine
30+
31+
# baseline: high
32+
# baseline_low_date: 2015-07-29
33+
# baseline_high_date: 2018-01-29
34+
# support:
35+
# chrome: "3"
36+
# chrome_android: "18"
37+
# edge: "12"
38+
# firefox: "9"
39+
# firefox_android: "9"
40+
# safari: "4"
41+
# safari_ios: "3"
42+
- api.Window.offline_event
43+
- api.Window.online_event
44+
45+
# baseline: high
46+
# baseline_low_date: 2015-07-29
47+
# baseline_high_date: 2018-01-29
48+
# support:
49+
# chrome: "4"
50+
# chrome_android: "18"
51+
# edge: "12"
52+
# firefox: "3.5"
53+
# firefox_android: "4"
54+
# safari: "4"
55+
# safari_ios: "5"
56+
- api.WorkerNavigator.onLine
57+
58+
# baseline: false
59+
# support:
60+
# firefox: "29"
61+
# firefox_android: "29"
62+
# safari: "8"
63+
# safari_ios: "8"
64+
- api.WorkerGlobalScope.offline_event
65+
- api.WorkerGlobalScope.online_event

features/pdf-viewer.yml

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
name: pdfViewerEnabled
2+
description: The `navigator.pdfViewerEnabled` read-only property returns a Boolean for whether the browser navigates to and shows a PDF in the browser window or downloads the PDF.
3+
spec: https://html.spec.whatwg.org/multipage/system-state.html#pdf-viewing-support
4+
compat_features:
5+
- api.Navigator.pdfViewerEnabled

features/pdf-viewer.yml.dist

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Generated from: pdf-viewer.yml
2+
# Do not edit this file by hand. Edit the source file instead!
3+
4+
status:
5+
baseline: low
6+
baseline_low_date: 2023-03-27
7+
support:
8+
chrome: "94"
9+
chrome_android: "94"
10+
edge: "94"
11+
firefox: "99"
12+
firefox_android: "99"
13+
safari: "16.4"
14+
safari_ios: "16.4"
15+
compat_features:
16+
- api.Navigator.pdfViewerEnabled

features/registerprotocolhandler.yml

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
name: registerProtocolHandler
2+
description: "The `navigator.registerProtocolHandler()' method declares a site's ability to handle an address scheme (also known as a protocol). For example, an email site can register to open `mailto:` URLs or a VoIP site to open `tel:` URLs."
3+
spec: https://html.spec.whatwg.org/multipage/system-state.html#custom-handlers
4+
compat_features:
5+
- api.Navigator.registerProtocolHandler
6+
- api.Navigator.unregisterProtocolHandler
+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Generated from: registerprotocolhandler.yml
2+
# Do not edit this file by hand. Edit the source file instead!
3+
4+
status:
5+
baseline: false
6+
support:
7+
chrome: "38"
8+
edge: "79"
9+
compat_features:
10+
# baseline: false
11+
# support:
12+
# chrome: "13"
13+
# edge: "79"
14+
# firefox: "2"
15+
# firefox_android: "4"
16+
- api.Navigator.registerProtocolHandler
17+
18+
# ⬇️ Same status as overall feature ⬇️
19+
# baseline: false
20+
# support:
21+
# chrome: "38"
22+
# edge: "79"
23+
- api.Navigator.unregisterProtocolHandler

features/user-agent-sniffing.yml

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
name: User agent sniffing
2+
description: "The `navigator.userAgent` read-only property returns the user agent string for the current browser. Selectively showing content based on the user agent string is unreliable. Consider using feature detection instead."
3+
spec: https://html.spec.whatwg.org/multipage/system-state.html#the-navigator-object
4+
compat_features:
5+
- api.Navigator.userAgent
6+
- api.WorkerNavigator.userAgent

0 commit comments

Comments
 (0)