fugu-api-data 1.16.0 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/patterns.js +78 -2
- package/patterns.mjs +78 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fugu-api-data",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.18.0",
|
|
4
4
|
"description": "Data about Project Fugu 🐡 APIs.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -24,6 +24,6 @@
|
|
|
24
24
|
"homepage": "https://github.com/tomayac/fugu-api-data#readme",
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"node-fetch": "^3.3.2",
|
|
27
|
-
"prettier": "^3.
|
|
27
|
+
"prettier": "^3.2.4"
|
|
28
28
|
}
|
|
29
29
|
}
|
package/patterns.js
CHANGED
|
@@ -6,6 +6,7 @@ const patterns = {
|
|
|
6
6
|
featureDetection: `(async () => 'AbsoluteOrientationSensor' in self)()`,
|
|
7
7
|
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
8
8
|
blinkFeatureID: 1900,
|
|
9
|
+
chromeStatusID: 5698781827825664,
|
|
9
10
|
},
|
|
10
11
|
'Accelerometer': {
|
|
11
12
|
regEx: /new\s+Accelerometer\s*\(/g,
|
|
@@ -14,6 +15,7 @@ const patterns = {
|
|
|
14
15
|
featureDetection: `(async () => 'Accelerometer' in self)()`,
|
|
15
16
|
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
16
17
|
blinkFeatureID: 1899,
|
|
18
|
+
chromeStatusID: 5698781827825664,
|
|
17
19
|
},
|
|
18
20
|
'Add to Home Screen': {
|
|
19
21
|
regEx: /["']beforeinstallprompt["']|\.onbeforeinstallprompt/g,
|
|
@@ -23,6 +25,7 @@ const patterns = {
|
|
|
23
25
|
documentation:
|
|
24
26
|
'https://developer.mozilla.org/en-US/docs/Web/API/BeforeInstallPromptEvent',
|
|
25
27
|
blinkFeatureID: 1436,
|
|
28
|
+
chromeStatusID: 6560913322672128,
|
|
26
29
|
},
|
|
27
30
|
'Ambient Light Sensor': {
|
|
28
31
|
regEx: /new\s+AmbientLightSensor\s*\(\)/g,
|
|
@@ -31,6 +34,7 @@ const patterns = {
|
|
|
31
34
|
featureDetection: `(async () => 'AmbientLightSensor' in self)()`,
|
|
32
35
|
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
33
36
|
blinkFeatureID: 1901,
|
|
37
|
+
chromeStatusID: 5298357018820608,
|
|
34
38
|
},
|
|
35
39
|
'Async Clipboard': {
|
|
36
40
|
regEx: /navigator\.clipboard\.writeText\s*\(/g,
|
|
@@ -40,6 +44,7 @@ const patterns = {
|
|
|
40
44
|
featureDetection: `(async () => 'clipboard' in navigator && 'writeText' in navigator.clipboard)()`,
|
|
41
45
|
documentation: 'https://web.dev/async-clipboard/',
|
|
42
46
|
blinkFeatureID: 2372,
|
|
47
|
+
chromeStatusID: 5861289330999296,
|
|
43
48
|
},
|
|
44
49
|
'Async Clipboard (Images)': {
|
|
45
50
|
regEx: /navigator\.clipboard\.write\s*\(/g,
|
|
@@ -49,6 +54,7 @@ const patterns = {
|
|
|
49
54
|
featureDetection: `(async () => 'clipboard' in navigator && 'write' in navigator.clipboard)()`,
|
|
50
55
|
documentation: 'https://web.dev/async-clipboard/',
|
|
51
56
|
blinkFeatureID: 2370,
|
|
57
|
+
chromeStatusID: 5074658793619456,
|
|
52
58
|
},
|
|
53
59
|
'Background Fetch': {
|
|
54
60
|
regEx: /\.backgroundFetch\.fetch\s*\(["']/g,
|
|
@@ -58,6 +64,7 @@ const patterns = {
|
|
|
58
64
|
documentation:
|
|
59
65
|
'https://developer.mozilla.org/en-US/docs/Web/API/Background_Fetch_API',
|
|
60
66
|
blinkFeatureID: 2549,
|
|
67
|
+
chromeStatusID: 5712608971718656,
|
|
61
68
|
},
|
|
62
69
|
'Background Sync': {
|
|
63
70
|
regEx: /\.sync\.register\s*\(["']/g,
|
|
@@ -70,6 +77,7 @@ const patterns = {
|
|
|
70
77
|
documentation:
|
|
71
78
|
'https://developer.mozilla.org/en-US/docs/Web/API/Background_Synchronization_API',
|
|
72
79
|
blinkFeatureID: 745,
|
|
80
|
+
chromeStatusID: 6170807885627392,
|
|
73
81
|
},
|
|
74
82
|
'Badging': {
|
|
75
83
|
regEx: /navigator\.setAppBadge\s*\(/g,
|
|
@@ -78,6 +86,7 @@ const patterns = {
|
|
|
78
86
|
featureDetection: `(async () => 'setAppBadge' in navigator)()`,
|
|
79
87
|
documentation: 'https://developer.chrome.com/articles/badging-api/',
|
|
80
88
|
blinkFeatureID: 2726,
|
|
89
|
+
chromeStatusID: 6068482055602176,
|
|
81
90
|
},
|
|
82
91
|
'Cache Storage': {
|
|
83
92
|
regEx: /caches\.open\s*\(/g,
|
|
@@ -87,6 +96,7 @@ const patterns = {
|
|
|
87
96
|
documentation:
|
|
88
97
|
'https://developer.mozilla.org/en-US/docs/Web/API/CacheStorage',
|
|
89
98
|
blinkFeatureID: 3022,
|
|
99
|
+
chromeStatusID: 6461631328419840,
|
|
90
100
|
},
|
|
91
101
|
'Compression Streams': {
|
|
92
102
|
regEx: /new\s+CompressionStream\s*\(/g,
|
|
@@ -95,6 +105,7 @@ const patterns = {
|
|
|
95
105
|
featureDetection: `(async () => 'CompressionStream' in self)()`,
|
|
96
106
|
documentation: 'https://developer.chrome.com/blog/compression-streams-api/',
|
|
97
107
|
blinkFeatureID: 3060,
|
|
108
|
+
chromeStatusID: 5855937971617792,
|
|
98
109
|
},
|
|
99
110
|
'Compute Pressure': {
|
|
100
111
|
regEx: /new\s+ComputePressureObserver\s*\(/g,
|
|
@@ -104,6 +115,7 @@ const patterns = {
|
|
|
104
115
|
documentation:
|
|
105
116
|
'https://developer.chrome.com/docs/web-platform/compute-pressure/',
|
|
106
117
|
blinkFeatureID: 3899,
|
|
118
|
+
chromeStatusID: 5597608644968448,
|
|
107
119
|
},
|
|
108
120
|
'Contact Picker': {
|
|
109
121
|
regEx: /navigator\.contacts\.select\s*\(/g,
|
|
@@ -112,6 +124,7 @@ const patterns = {
|
|
|
112
124
|
featureDetection: `(async () => 'contacts' in navigator)()`,
|
|
113
125
|
documentation: 'https://developer.chrome.com/articles/contact-picker/',
|
|
114
126
|
blinkFeatureID: 2993,
|
|
127
|
+
chromeStatusID: 6511327140904960,
|
|
115
128
|
},
|
|
116
129
|
'Content Index': {
|
|
117
130
|
regEx: /index\.getAll\s*\(/g,
|
|
@@ -124,6 +137,7 @@ const patterns = {
|
|
|
124
137
|
documentation:
|
|
125
138
|
'https://developer.chrome.com/articles/content-indexing-api/',
|
|
126
139
|
blinkFeatureID: 2985,
|
|
140
|
+
chromeStatusID: 5658416729030656,
|
|
127
141
|
},
|
|
128
142
|
'Credential Management': {
|
|
129
143
|
regEx: /navigator\.credentials\.get\s*\(/g,
|
|
@@ -133,6 +147,7 @@ const patterns = {
|
|
|
133
147
|
documentation:
|
|
134
148
|
'https://developers.google.com/web/updates/2016/04/credential-management-api',
|
|
135
149
|
blinkFeatureID: 960,
|
|
150
|
+
chromeStatusID: 5026422640869376,
|
|
136
151
|
},
|
|
137
152
|
'Device Memory': {
|
|
138
153
|
regEx: /navigator\.deviceMemory/g,
|
|
@@ -142,6 +157,7 @@ const patterns = {
|
|
|
142
157
|
documentation:
|
|
143
158
|
'https://developer.mozilla.org/en-US/docs/Web/API/Device_Memory_API',
|
|
144
159
|
blinkFeatureID: 2121,
|
|
160
|
+
chromeStatusID: 5119701235531776,
|
|
145
161
|
},
|
|
146
162
|
'Device Posture': {
|
|
147
163
|
regEx: /navigator\.devicePosture/g,
|
|
@@ -151,6 +167,7 @@ const patterns = {
|
|
|
151
167
|
documentation:
|
|
152
168
|
'https://github.com/w3c/device-posture/blob/gh-pages/README.md',
|
|
153
169
|
blinkFeatureID: undefined,
|
|
170
|
+
chromeStatusID: 5185813744975872,
|
|
154
171
|
},
|
|
155
172
|
'Digital Goods': {
|
|
156
173
|
regEx: /getDigitalGoodsService\s*\(/g,
|
|
@@ -160,6 +177,7 @@ const patterns = {
|
|
|
160
177
|
documentation:
|
|
161
178
|
'https://developer.chrome.com/docs/android/trusted-web-activity/receive-payments-play-billing/',
|
|
162
179
|
blinkFeatureID: 3397,
|
|
180
|
+
chromeStatusID: 5339955595313152,
|
|
163
181
|
},
|
|
164
182
|
'EyeDropper': {
|
|
165
183
|
regEx: /new\s+EyeDropper\s*\(\)/g,
|
|
@@ -168,6 +186,7 @@ const patterns = {
|
|
|
168
186
|
featureDetection: `(async () => 'EyeDropper' in self)()`,
|
|
169
187
|
documentation: 'https://developer.chrome.com/articles/eyedropper/',
|
|
170
188
|
blinkFeatureID: undefined,
|
|
189
|
+
chromeStatusID: 6304275594477568,
|
|
171
190
|
},
|
|
172
191
|
'File Handling': {
|
|
173
192
|
regEx: /"file_handlers"/g,
|
|
@@ -177,6 +196,7 @@ const patterns = {
|
|
|
177
196
|
featureDetection: `(async () => 'launchQueue' in self && 'files' in LaunchParams.prototype)()`,
|
|
178
197
|
documentation: 'https://developer.chrome.com/articles/file-handling/',
|
|
179
198
|
blinkFeatureID: 3875,
|
|
199
|
+
chromeStatusID: 5721776357113856,
|
|
180
200
|
},
|
|
181
201
|
'File System Access': {
|
|
182
202
|
regEx:
|
|
@@ -186,6 +206,7 @@ const patterns = {
|
|
|
186
206
|
featureDetection: `(async () => 'showOpenFilePicker' in self)()`,
|
|
187
207
|
documentation: 'https://developer.chrome.com/articles/file-system-access/',
|
|
188
208
|
blinkFeatureID: 3340,
|
|
209
|
+
chromeStatusID: 6284708426022912,
|
|
189
210
|
},
|
|
190
211
|
'Gamepad': {
|
|
191
212
|
regEx: /navigator\.getGamepads\s*\(/g,
|
|
@@ -194,6 +215,7 @@ const patterns = {
|
|
|
194
215
|
featureDetection: `(async () => 'getGamepads' in navigator)()`,
|
|
195
216
|
documentation: 'https://web.dev/gamepad/',
|
|
196
217
|
blinkFeatureID: 1916,
|
|
218
|
+
chromeStatusID: 5118776383111168,
|
|
197
219
|
},
|
|
198
220
|
'getInstalledRelatedApps': {
|
|
199
221
|
regEx: /navigator\.getInstalledRelatedApps\s*\(/g,
|
|
@@ -202,6 +224,7 @@ const patterns = {
|
|
|
202
224
|
featureDetection: `(async () => 'getInstalledRelatedApps' in navigator)()`,
|
|
203
225
|
documentation: 'https://web.dev/get-installed-related-apps/',
|
|
204
226
|
blinkFeatureID: 1870,
|
|
227
|
+
chromeStatusID: 5695378309513216,
|
|
205
228
|
},
|
|
206
229
|
'Gravity Sensor': {
|
|
207
230
|
regEx: /new\s+GravitySensor\s*\(/g,
|
|
@@ -210,6 +233,7 @@ const patterns = {
|
|
|
210
233
|
featureDetection: `(async () => 'GravitySensor' in self)()`,
|
|
211
234
|
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
212
235
|
blinkFeatureID: 3795,
|
|
236
|
+
chromeStatusID: 5384099747332096,
|
|
213
237
|
},
|
|
214
238
|
'Gyroscope': {
|
|
215
239
|
regEx: /new\s+Gyroscope\s*\(/g,
|
|
@@ -218,6 +242,7 @@ const patterns = {
|
|
|
218
242
|
featureDetection: `(async () => 'Gyroscope' in self)()`,
|
|
219
243
|
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
220
244
|
blinkFeatureID: 1906,
|
|
245
|
+
chromeStatusID: 5698781827825664,
|
|
221
246
|
},
|
|
222
247
|
'Handwriting Recognition': {
|
|
223
248
|
regEx: /navigator\.queryHandwritingRecognizerSupport\s*\(/g,
|
|
@@ -227,6 +252,7 @@ const patterns = {
|
|
|
227
252
|
documentation:
|
|
228
253
|
'https://developer.chrome.com/docs/web-platform/handwriting-recognition/',
|
|
229
254
|
blinkFeatureID: 3893,
|
|
255
|
+
chromeStatusID: 5263213807534080,
|
|
230
256
|
},
|
|
231
257
|
'HapticsDevice': {
|
|
232
258
|
regEx: /\.haptics\.play\s*\(/g,
|
|
@@ -236,6 +262,7 @@ const patterns = {
|
|
|
236
262
|
documentation:
|
|
237
263
|
'https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/HapticsDevice/explainer.md',
|
|
238
264
|
blinkFeatureID: undefined,
|
|
265
|
+
chromeStatusID: 5720648543371264,
|
|
239
266
|
},
|
|
240
267
|
'Idle Detection': {
|
|
241
268
|
regEx: /new\s+IdleDetector\s*\(/g,
|
|
@@ -244,6 +271,7 @@ const patterns = {
|
|
|
244
271
|
featureDetection: `(async () => 'IdleDetector' in self)()`,
|
|
245
272
|
documentation: 'https://developer.chrome.com/articles/idle-detection/',
|
|
246
273
|
blinkFeatureID: 2834,
|
|
274
|
+
chromeStatusID: 4590256452009984,
|
|
247
275
|
},
|
|
248
276
|
'Ink': {
|
|
249
277
|
regEx: /navigator\.ink\.requestPresenter\s*\(/g,
|
|
@@ -253,6 +281,7 @@ const patterns = {
|
|
|
253
281
|
documentation:
|
|
254
282
|
'https://blogs.windows.com/msedgedev/2021/08/18/enhancing-inking-on-the-web/',
|
|
255
283
|
blinkFeatureID: undefined,
|
|
284
|
+
chromeStatusID: undefined,
|
|
256
285
|
},
|
|
257
286
|
'Insertable streams for MediaStreamTrack': {
|
|
258
287
|
regEx: /MediaStreamTrackProcessor\s*\(/g,
|
|
@@ -264,6 +293,7 @@ const patterns = {
|
|
|
264
293
|
documentation:
|
|
265
294
|
'https://developer.chrome.com/articles/mediastreamtrack-insertable-media-processing/',
|
|
266
295
|
blinkFeatureID: 3729,
|
|
296
|
+
chromeStatusID: 5499415634640896,
|
|
267
297
|
},
|
|
268
298
|
'Launch Handler': {
|
|
269
299
|
regEx: /"launch_handler"/g,
|
|
@@ -274,6 +304,7 @@ const patterns = {
|
|
|
274
304
|
documentation:
|
|
275
305
|
'https://developer.chrome.com/docs/web-platform/launch-handler/',
|
|
276
306
|
blinkFeatureID: undefined,
|
|
307
|
+
chromeStatusID: 5722383233056768,
|
|
277
308
|
},
|
|
278
309
|
'Linear Acceleration Sensor': {
|
|
279
310
|
regEx: /new\s+LinearAccelerationSensor\s*\(/g,
|
|
@@ -282,6 +313,7 @@ const patterns = {
|
|
|
282
313
|
featureDetection: `(async () => 'LinearAccelerationSensor' in self)()`,
|
|
283
314
|
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
284
315
|
blinkFeatureID: 2051,
|
|
316
|
+
chromeStatusID: 5698781827825664,
|
|
285
317
|
},
|
|
286
318
|
'Local Font Access': {
|
|
287
319
|
regEx: /queryLocalFonts\s*\(/g,
|
|
@@ -290,6 +322,7 @@ const patterns = {
|
|
|
290
322
|
featureDetection: `(async () => 'queryLocalFonts' in self)()`,
|
|
291
323
|
documentation: 'https://developer.chrome.com/articles/local-fonts/',
|
|
292
324
|
blinkFeatureID: 4211,
|
|
325
|
+
chromeStatusID: 6234451761692672,
|
|
293
326
|
},
|
|
294
327
|
'Magnetometer': {
|
|
295
328
|
regEx: /new\s+Magnetometer\s*\(/g,
|
|
@@ -298,6 +331,7 @@ const patterns = {
|
|
|
298
331
|
featureDetection: `(async () => 'Magnetometer' in self)()`,
|
|
299
332
|
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
300
333
|
blinkFeatureID: 1907,
|
|
334
|
+
chromeStatusID: 5698781827825664,
|
|
301
335
|
},
|
|
302
336
|
'Media Capabilities': {
|
|
303
337
|
regEx: /navigator\.mediaCapabilities\.decodingInfo\s*\(/g,
|
|
@@ -307,6 +341,7 @@ const patterns = {
|
|
|
307
341
|
documentation:
|
|
308
342
|
'https://developer.mozilla.org/en-US/docs/Web/API/Media_Capabilities_API',
|
|
309
343
|
blinkFeatureID: 2239,
|
|
344
|
+
chromeStatusID: 5869632707624960,
|
|
310
345
|
},
|
|
311
346
|
'Media Session': {
|
|
312
347
|
regEx:
|
|
@@ -317,6 +352,7 @@ const patterns = {
|
|
|
317
352
|
documentation:
|
|
318
353
|
'https://developer.mozilla.org/en-US/docs/Web/API/Media_Session_API',
|
|
319
354
|
blinkFeatureID: 1792,
|
|
355
|
+
chromeStatusID: 5639924124483584,
|
|
320
356
|
},
|
|
321
357
|
'Window Management': {
|
|
322
358
|
regEx: /getScreenDetails\s*\(\)/g,
|
|
@@ -325,6 +361,7 @@ const patterns = {
|
|
|
325
361
|
featureDetection: `(async () => 'getScreenDetails' in self)()`,
|
|
326
362
|
documentation: 'https://developer.chrome.com/articles/window-management/',
|
|
327
363
|
blinkFeatureID: 3388,
|
|
364
|
+
chromeStatusID: 5252960583942144,
|
|
328
365
|
},
|
|
329
366
|
'Navigation Preload': {
|
|
330
367
|
regEx: /\.navigationPreload\.enable\s*\(\)/g,
|
|
@@ -337,14 +374,17 @@ const patterns = {
|
|
|
337
374
|
documentation:
|
|
338
375
|
'https://developer.mozilla.org/en-US/docs/Web/API/NavigationPreloadManager',
|
|
339
376
|
blinkFeatureID: 1803,
|
|
377
|
+
chromeStatusID: 5734842339688448,
|
|
340
378
|
},
|
|
341
379
|
'Origin Private File System': {
|
|
342
380
|
regEx: /navigator\.storage\.getDirectory\s*\(\)/g,
|
|
343
381
|
where: 'JavaScript',
|
|
344
|
-
supported: (async () =>
|
|
345
|
-
|
|
382
|
+
supported: (async () =>
|
|
383
|
+
'StorageManager' in self && 'getDirectory' in StorageManager.prototype)(),
|
|
384
|
+
featureDetection: `(async () => 'StorageManager' in self && 'getDirectory' in StorageManager.prototype)()`,
|
|
346
385
|
documentation: 'https://web.dev/origin-private-file-system/',
|
|
347
386
|
blinkFeatureID: 3428,
|
|
387
|
+
chromeStatusID: 5702777582911488,
|
|
348
388
|
},
|
|
349
389
|
'Payment Handler': {
|
|
350
390
|
regEx: /\.paymentManager\.instruments\.set\s*\(/g,
|
|
@@ -353,6 +393,7 @@ const patterns = {
|
|
|
353
393
|
featureDetection: `(async () => 'PaymentInstruments' in self)()`,
|
|
354
394
|
documentation: 'https://web.dev/registering-a-web-based-payment-app/',
|
|
355
395
|
blinkFeatureID: 2397,
|
|
396
|
+
chromeStatusID: 5160285237149696,
|
|
356
397
|
},
|
|
357
398
|
'Payment Request': {
|
|
358
399
|
regEx: /new\s+PaymentRequest\s*\(/g,
|
|
@@ -362,6 +403,7 @@ const patterns = {
|
|
|
362
403
|
documentation:
|
|
363
404
|
'https://developer.mozilla.org/en-US/docs/Web/API/Payment_Request_API',
|
|
364
405
|
blinkFeatureID: 2894,
|
|
406
|
+
chromeStatusID: 5639348045217792,
|
|
365
407
|
},
|
|
366
408
|
'Periodic Background Sync': {
|
|
367
409
|
regEx: /periodicSync\.register\s*\(/g,
|
|
@@ -371,6 +413,7 @@ const patterns = {
|
|
|
371
413
|
documentation:
|
|
372
414
|
'https://developer.chrome.com/articles/periodic-background-sync/',
|
|
373
415
|
blinkFeatureID: 2931,
|
|
416
|
+
chromeStatusID: 5689383275462656,
|
|
374
417
|
},
|
|
375
418
|
'Persistent Storage': {
|
|
376
419
|
regEx: /navigator\.storage\.persist\s*\(\)/g,
|
|
@@ -381,6 +424,7 @@ const patterns = {
|
|
|
381
424
|
documentation:
|
|
382
425
|
'https://developer.mozilla.org/en-US/docs/Web/API/StorageManager/persist',
|
|
383
426
|
blinkFeatureID: 1369,
|
|
427
|
+
chromeStatusID: 5715811364765696,
|
|
384
428
|
},
|
|
385
429
|
'Storage Buckets': {
|
|
386
430
|
regEx: /navigator\.storageBuckets\.open\s*\(/g,
|
|
@@ -389,6 +433,7 @@ const patterns = {
|
|
|
389
433
|
featureDetection: `(async () => 'storageBuckets' in navigator)()`,
|
|
390
434
|
documentation: 'https://developer.chrome.com/blog/storage-buckets/',
|
|
391
435
|
blinkFeatureID: 4378,
|
|
436
|
+
chromeStatusID: 5739224579964928,
|
|
392
437
|
},
|
|
393
438
|
'Pointer Lock (unadjustedMovement)': {
|
|
394
439
|
regEx: /unadjustedMovement\s*\:\s*/g,
|
|
@@ -408,6 +453,7 @@ const patterns = {
|
|
|
408
453
|
featureDetection: `(async () => 'HTMLParagraphElement' in self ? await (async () => { try { return !!await document.createElement("p").requestPointerLock({ unadjustedMovement: true }) } catch { return 'requestPointerLock' in HTMLParagraphElement.prototype } })() : undefined)()`,
|
|
409
454
|
documentation: 'https://web.dev/disable-mouse-acceleration/',
|
|
410
455
|
blinkFeatureID: 3027,
|
|
456
|
+
chromeStatusID: 5723553087356928,
|
|
411
457
|
},
|
|
412
458
|
'Protocol Handlers': {
|
|
413
459
|
regEx: /"protocol_handlers"/g,
|
|
@@ -417,6 +463,7 @@ const patterns = {
|
|
|
417
463
|
documentation:
|
|
418
464
|
'https://developer.chrome.com/articles/url-protocol-handler/',
|
|
419
465
|
blinkFeatureID: 3884,
|
|
466
|
+
chromeStatusID: 5151703944921088,
|
|
420
467
|
},
|
|
421
468
|
'Push': {
|
|
422
469
|
regEx: /\.pushManager\.subscribe\s*\(/g,
|
|
@@ -428,6 +475,7 @@ const patterns = {
|
|
|
428
475
|
featureDetection: `(async () => 'serviceWorker' in navigator && 'pushManager' in (await navigator.serviceWorker?.ready || self.registration))()`,
|
|
429
476
|
documentation: 'https://developer.mozilla.org/en-US/docs/Web/API/Push_API',
|
|
430
477
|
blinkFeatureID: 769,
|
|
478
|
+
chromeStatusID: 5416033485586432,
|
|
431
479
|
},
|
|
432
480
|
'Relative Orientation Sensor': {
|
|
433
481
|
regEx: /new\s+RelativeOrientationSensor\s*\(/g,
|
|
@@ -436,6 +484,7 @@ const patterns = {
|
|
|
436
484
|
featureDetection: `(async () => 'RelativeOrientationSensor' in self)()`,
|
|
437
485
|
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
438
486
|
blinkFeatureID: 2019,
|
|
487
|
+
chromeStatusID: 5698781827825664,
|
|
439
488
|
},
|
|
440
489
|
'Screen Wake Lock': {
|
|
441
490
|
regEx: /navigator\.wakeLock\.request\s*\(/g,
|
|
@@ -444,6 +493,7 @@ const patterns = {
|
|
|
444
493
|
featureDetection: `(async () => 'wakeLock' in navigator)()`,
|
|
445
494
|
documentation: 'https://developer.chrome.com/articles/wake-lock/',
|
|
446
495
|
blinkFeatureID: 3005,
|
|
496
|
+
chromeStatusID: 4636879949398016,
|
|
447
497
|
},
|
|
448
498
|
'Service Worker': {
|
|
449
499
|
regEx: /navigator\.serviceWorker\.register\s*\(/g,
|
|
@@ -453,6 +503,7 @@ const patterns = {
|
|
|
453
503
|
documentation:
|
|
454
504
|
'https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API',
|
|
455
505
|
blinkFeatureID: 990,
|
|
506
|
+
chromeStatusID: 6561526227927040,
|
|
456
507
|
},
|
|
457
508
|
'Shape Detection (Barcodes)': {
|
|
458
509
|
regEx: /new\s+BarcodeDetector\s*\(/g,
|
|
@@ -461,6 +512,7 @@ const patterns = {
|
|
|
461
512
|
featureDetection: `(async () => 'BarcodeDetector' in self)()`,
|
|
462
513
|
documentation: 'https://developer.chrome.com/articles/shape-detection/',
|
|
463
514
|
blinkFeatureID: 3711,
|
|
515
|
+
chromeStatusID: 4757990523535360,
|
|
464
516
|
},
|
|
465
517
|
'Shape Detection (Faces)': {
|
|
466
518
|
regEx: /new\s+FaceDetector\s*\(/g,
|
|
@@ -469,6 +521,7 @@ const patterns = {
|
|
|
469
521
|
featureDetection: `(async () => 'FaceDetector' in self)()`,
|
|
470
522
|
documentation: 'https://developer.chrome.com/articles/shape-detection/',
|
|
471
523
|
blinkFeatureID: 3712,
|
|
524
|
+
chromeStatusID: 5678216012365824,
|
|
472
525
|
},
|
|
473
526
|
'Shape Detection (Texts)': {
|
|
474
527
|
regEx: /new\s+TextDetector\s*\(/g,
|
|
@@ -477,6 +530,7 @@ const patterns = {
|
|
|
477
530
|
featureDetection: `(async () => 'TextDetector' in self)()`,
|
|
478
531
|
documentation: 'https://developer.chrome.com/articles/shape-detection/',
|
|
479
532
|
blinkFeatureID: 3713,
|
|
533
|
+
chromeStatusID: 5644087665360896,
|
|
480
534
|
},
|
|
481
535
|
'Shortcuts': {
|
|
482
536
|
regEx: /"shortcuts"/g,
|
|
@@ -485,6 +539,7 @@ const patterns = {
|
|
|
485
539
|
featureDetection: `(async () => undefined)()`,
|
|
486
540
|
documentation: 'https://web.dev/app-shortcuts/',
|
|
487
541
|
blinkFeatureID: undefined,
|
|
542
|
+
chromeStatusID: 5706099464339456,
|
|
488
543
|
},
|
|
489
544
|
'Storage Estimation': {
|
|
490
545
|
regEx: /navigator\.storage\.estimate\s*\(\)/g,
|
|
@@ -495,6 +550,7 @@ const patterns = {
|
|
|
495
550
|
documentation:
|
|
496
551
|
'https://developer.mozilla.org/en-US/docs/Web/API/StorageManager/estimate',
|
|
497
552
|
blinkFeatureID: 1371,
|
|
553
|
+
chromeStatusID: 5630353511284736,
|
|
498
554
|
},
|
|
499
555
|
'Tabbed Application Mode': {
|
|
500
556
|
regEx: /"tabbed"/g,
|
|
@@ -503,6 +559,7 @@ const patterns = {
|
|
|
503
559
|
featureDetection: `(async () => undefined)()`,
|
|
504
560
|
documentation: 'https://web.dev/tabbed-application-mode/',
|
|
505
561
|
blinkFeatureID: undefined,
|
|
562
|
+
chromeStatusID: 5128143454076928,
|
|
506
563
|
},
|
|
507
564
|
'VirtualKeyboard': {
|
|
508
565
|
regEx: /navigator\.virtualKeyboard/g,
|
|
@@ -512,6 +569,7 @@ const patterns = {
|
|
|
512
569
|
documentation:
|
|
513
570
|
'https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/VirtualKeyboardAPI/explainer.md',
|
|
514
571
|
blinkFeatureID: undefined,
|
|
572
|
+
chromeStatusID: 5717448231747584,
|
|
515
573
|
},
|
|
516
574
|
'Web App Link Handling': {
|
|
517
575
|
regEx: /"handle_links"/g,
|
|
@@ -521,6 +579,7 @@ const patterns = {
|
|
|
521
579
|
documentation:
|
|
522
580
|
'https://github.com/WICG/pwa-url-handler/blob/main/handle_links/explainer.md',
|
|
523
581
|
blinkFeatureID: undefined,
|
|
582
|
+
chromeStatusID: 5740751225880576,
|
|
524
583
|
},
|
|
525
584
|
'Web Audio': {
|
|
526
585
|
regEx: /new\s+AudioContext\s*\(/g,
|
|
@@ -530,6 +589,7 @@ const patterns = {
|
|
|
530
589
|
documentation:
|
|
531
590
|
'https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API',
|
|
532
591
|
blinkFeatureID: 1698,
|
|
592
|
+
chromeStatusID: 6261718720184320,
|
|
533
593
|
},
|
|
534
594
|
'Web Share': {
|
|
535
595
|
regEx: /navigator\.share\s*\(/g,
|
|
@@ -538,6 +598,7 @@ const patterns = {
|
|
|
538
598
|
featureDetection: `(async () => 'share' in navigator)()`,
|
|
539
599
|
documentation: 'https://web.dev/web-share/',
|
|
540
600
|
blinkFeatureID: 1501,
|
|
601
|
+
chromeStatusID: 5668769141620736,
|
|
541
602
|
},
|
|
542
603
|
'Web Share (Files)': {
|
|
543
604
|
regEx: /navigator\.canShare\s*\(/g,
|
|
@@ -546,6 +607,7 @@ const patterns = {
|
|
|
546
607
|
featureDetection: `(async () => 'canShare' in navigator)()`,
|
|
547
608
|
documentation: 'https://web.dev/web-share/',
|
|
548
609
|
blinkFeatureID: 2737,
|
|
610
|
+
chromeStatusID: 4777349178458112,
|
|
549
611
|
},
|
|
550
612
|
'Web Share Target': {
|
|
551
613
|
regEx: /"share_target"/g,
|
|
@@ -554,6 +616,7 @@ const patterns = {
|
|
|
554
616
|
featureDetection: `(async () => undefined)()`,
|
|
555
617
|
documentation: 'https://developer.chrome.com/articles/web-share-target/',
|
|
556
618
|
blinkFeatureID: undefined,
|
|
619
|
+
chromeStatusID: 5662315307335680,
|
|
557
620
|
},
|
|
558
621
|
'Web Share Target (Files)': {
|
|
559
622
|
regEx: /"enctype"\s*\:\s*"multipart\/form\-data"/g,
|
|
@@ -562,6 +625,7 @@ const patterns = {
|
|
|
562
625
|
featureDetection: `(async () => undefined)()`,
|
|
563
626
|
documentation: 'https://developer.chrome.com/articles/web-share-target/',
|
|
564
627
|
blinkFeatureID: undefined,
|
|
628
|
+
chromeStatusID: 6124071381106688,
|
|
565
629
|
},
|
|
566
630
|
'Web Bluetooth': {
|
|
567
631
|
regEx: /navigator\.bluetooth\.requestDevice\s*\(/g,
|
|
@@ -570,6 +634,7 @@ const patterns = {
|
|
|
570
634
|
featureDetection: `(async () => 'bluetooth' in navigator)()`,
|
|
571
635
|
documentation: 'https://developer.chrome.com/articles/bluetooth/',
|
|
572
636
|
blinkFeatureID: 1670,
|
|
637
|
+
chromeStatusID: 5264933985976320,
|
|
573
638
|
},
|
|
574
639
|
'WebCodecs': {
|
|
575
640
|
regEx: /new\s+MediaStreamTrackProcessor\s*\(/g,
|
|
@@ -578,6 +643,7 @@ const patterns = {
|
|
|
578
643
|
featureDetection: `(async () => 'MediaStreamTrackProcessor' in self)()`,
|
|
579
644
|
documentation: 'https://developer.chrome.com/articles/webcodecs/',
|
|
580
645
|
blinkFeatureID: 3728,
|
|
646
|
+
chromeStatusID: 5669293909868544,
|
|
581
647
|
},
|
|
582
648
|
'WebGPU': {
|
|
583
649
|
regEx: /navigator\.gpu\.requestAdapter\s*\(/g,
|
|
@@ -586,6 +652,7 @@ const patterns = {
|
|
|
586
652
|
featureDetection: `(async () => 'gpu' in navigator)()`,
|
|
587
653
|
documentation: 'https://developer.chrome.com/docs/web-platform/webgpu/',
|
|
588
654
|
blinkFeatureID: 3888,
|
|
655
|
+
chromeStatusID: 6213121689518080,
|
|
589
656
|
},
|
|
590
657
|
'WebHID': {
|
|
591
658
|
regEx: /navigator\.hid\.requestDevice\s*\(/g,
|
|
@@ -594,6 +661,7 @@ const patterns = {
|
|
|
594
661
|
featureDetection: `(async () => 'hid' in navigator)()`,
|
|
595
662
|
documentation: 'https://developer.chrome.com/articles/hid/',
|
|
596
663
|
blinkFeatureID: 2866,
|
|
664
|
+
chromeStatusID: 5172464636133376,
|
|
597
665
|
},
|
|
598
666
|
'Web MIDI': {
|
|
599
667
|
regEx: /navigator\.requestMIDIAccess\s*\(/g,
|
|
@@ -603,6 +671,7 @@ const patterns = {
|
|
|
603
671
|
documentation:
|
|
604
672
|
'https://developer.mozilla.org/en-US/docs/Web/API/Web_MIDI_API',
|
|
605
673
|
blinkFeatureID: 2029,
|
|
674
|
+
chromeStatusID: 4923613069180928,
|
|
606
675
|
},
|
|
607
676
|
'Web NFC': {
|
|
608
677
|
regEx: /new\s+NDEFReader\s*\(/g,
|
|
@@ -611,6 +680,7 @@ const patterns = {
|
|
|
611
680
|
featureDetection: `(async () => 'NDEFReader' in self)()`,
|
|
612
681
|
documentation: 'https://developer.chrome.com/articles/nfc/',
|
|
613
682
|
blinkFeatureID: 3094,
|
|
683
|
+
chromeStatusID: 6261030015467520,
|
|
614
684
|
},
|
|
615
685
|
'WebOTP': {
|
|
616
686
|
regEx: /transport\s*\:\s*\[["']sms["']\]/g,
|
|
@@ -619,6 +689,7 @@ const patterns = {
|
|
|
619
689
|
featureDetection: `(async () => 'OTPCredential' in self)()`,
|
|
620
690
|
documentation: 'https://developer.chrome.com/articles/web-otp/',
|
|
621
691
|
blinkFeatureID: 2880,
|
|
692
|
+
chromeStatusID: 5873577578463232,
|
|
622
693
|
},
|
|
623
694
|
'Web Serial': {
|
|
624
695
|
regEx: /navigator\.serial\.requestPort\s*\(/g,
|
|
@@ -627,6 +698,7 @@ const patterns = {
|
|
|
627
698
|
featureDetection: `(async () => 'serial' in navigator)()`,
|
|
628
699
|
documentation: 'https://developer.chrome.com/articles/serial/',
|
|
629
700
|
blinkFeatureID: 2546,
|
|
701
|
+
chromeStatusID: 6577673212002304,
|
|
630
702
|
},
|
|
631
703
|
'WebSocketStream': {
|
|
632
704
|
regEx: /new\s+WebSocketStream\s*\(/g,
|
|
@@ -635,6 +707,7 @@ const patterns = {
|
|
|
635
707
|
featureDetection: `(async () => 'WebSocketStream' in self)()`,
|
|
636
708
|
documentation: 'https://developer.chrome.com/articles/websocketstream/',
|
|
637
709
|
blinkFeatureID: 3018,
|
|
710
|
+
chromeStatusID: 5189728691290112,
|
|
638
711
|
},
|
|
639
712
|
'WebTransport': {
|
|
640
713
|
regEx: /new\s+WebTransport\s*\(/g,
|
|
@@ -643,6 +716,7 @@ const patterns = {
|
|
|
643
716
|
featureDetection: `(async () => 'WebTransport' in self)()`,
|
|
644
717
|
documentation: 'https://developer.chrome.com/articles/webtransport/',
|
|
645
718
|
blinkFeatureID: 3472,
|
|
719
|
+
chromeStatusID: 4854144902889472,
|
|
646
720
|
},
|
|
647
721
|
'WebUSB': {
|
|
648
722
|
regEx: /navigator\.usb\.requestDevice\s*\(/g,
|
|
@@ -651,6 +725,7 @@ const patterns = {
|
|
|
651
725
|
featureDetection: `(async () => 'usb' in navigator)()`,
|
|
652
726
|
documentation: 'https://developer.chrome.com/articles/usb/',
|
|
653
727
|
blinkFeatureID: 1520,
|
|
728
|
+
chromeStatusID: 5651917954875392,
|
|
654
729
|
},
|
|
655
730
|
'Window Controls Overlay': {
|
|
656
731
|
regEx: /"window\-controls\-overlay"/g,
|
|
@@ -659,5 +734,6 @@ const patterns = {
|
|
|
659
734
|
featureDetection: `(async () => 'windowControlsOverlay' in navigator)()`,
|
|
660
735
|
documentation: 'https://web.dev/window-controls-overlay/',
|
|
661
736
|
blinkFeatureID: 3902,
|
|
737
|
+
chromeStatusID: 5741247866077184,
|
|
662
738
|
},
|
|
663
739
|
};
|
package/patterns.mjs
CHANGED
|
@@ -6,6 +6,7 @@ export default {
|
|
|
6
6
|
featureDetection: `(async () => 'AbsoluteOrientationSensor' in self)()`,
|
|
7
7
|
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
8
8
|
blinkFeatureID: 1900,
|
|
9
|
+
chromeStatusID: 5698781827825664,
|
|
9
10
|
},
|
|
10
11
|
'Accelerometer': {
|
|
11
12
|
regEx: /new\s+Accelerometer\s*\(/g,
|
|
@@ -14,6 +15,7 @@ export default {
|
|
|
14
15
|
featureDetection: `(async () => 'Accelerometer' in self)()`,
|
|
15
16
|
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
16
17
|
blinkFeatureID: 1899,
|
|
18
|
+
chromeStatusID: 5698781827825664,
|
|
17
19
|
},
|
|
18
20
|
'Add to Home Screen': {
|
|
19
21
|
regEx: /["']beforeinstallprompt["']|\.onbeforeinstallprompt/g,
|
|
@@ -23,6 +25,7 @@ export default {
|
|
|
23
25
|
documentation:
|
|
24
26
|
'https://developer.mozilla.org/en-US/docs/Web/API/BeforeInstallPromptEvent',
|
|
25
27
|
blinkFeatureID: 1436,
|
|
28
|
+
chromeStatusID: 6560913322672128,
|
|
26
29
|
},
|
|
27
30
|
'Ambient Light Sensor': {
|
|
28
31
|
regEx: /new\s+AmbientLightSensor\s*\(\)/g,
|
|
@@ -31,6 +34,7 @@ export default {
|
|
|
31
34
|
featureDetection: `(async () => 'AmbientLightSensor' in self)()`,
|
|
32
35
|
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
33
36
|
blinkFeatureID: 1901,
|
|
37
|
+
chromeStatusID: 5298357018820608,
|
|
34
38
|
},
|
|
35
39
|
'Async Clipboard': {
|
|
36
40
|
regEx: /navigator\.clipboard\.writeText\s*\(/g,
|
|
@@ -40,6 +44,7 @@ export default {
|
|
|
40
44
|
featureDetection: `(async () => 'clipboard' in navigator && 'writeText' in navigator.clipboard)()`,
|
|
41
45
|
documentation: 'https://web.dev/async-clipboard/',
|
|
42
46
|
blinkFeatureID: 2372,
|
|
47
|
+
chromeStatusID: 5861289330999296,
|
|
43
48
|
},
|
|
44
49
|
'Async Clipboard (Images)': {
|
|
45
50
|
regEx: /navigator\.clipboard\.write\s*\(/g,
|
|
@@ -49,6 +54,7 @@ export default {
|
|
|
49
54
|
featureDetection: `(async () => 'clipboard' in navigator && 'write' in navigator.clipboard)()`,
|
|
50
55
|
documentation: 'https://web.dev/async-clipboard/',
|
|
51
56
|
blinkFeatureID: 2370,
|
|
57
|
+
chromeStatusID: 5074658793619456,
|
|
52
58
|
},
|
|
53
59
|
'Background Fetch': {
|
|
54
60
|
regEx: /\.backgroundFetch\.fetch\s*\(["']/g,
|
|
@@ -58,6 +64,7 @@ export default {
|
|
|
58
64
|
documentation:
|
|
59
65
|
'https://developer.mozilla.org/en-US/docs/Web/API/Background_Fetch_API',
|
|
60
66
|
blinkFeatureID: 2549,
|
|
67
|
+
chromeStatusID: 5712608971718656,
|
|
61
68
|
},
|
|
62
69
|
'Background Sync': {
|
|
63
70
|
regEx: /\.sync\.register\s*\(["']/g,
|
|
@@ -70,6 +77,7 @@ export default {
|
|
|
70
77
|
documentation:
|
|
71
78
|
'https://developer.mozilla.org/en-US/docs/Web/API/Background_Synchronization_API',
|
|
72
79
|
blinkFeatureID: 745,
|
|
80
|
+
chromeStatusID: 6170807885627392,
|
|
73
81
|
},
|
|
74
82
|
'Badging': {
|
|
75
83
|
regEx: /navigator\.setAppBadge\s*\(/g,
|
|
@@ -78,6 +86,7 @@ export default {
|
|
|
78
86
|
featureDetection: `(async () => 'setAppBadge' in navigator)()`,
|
|
79
87
|
documentation: 'https://developer.chrome.com/articles/badging-api/',
|
|
80
88
|
blinkFeatureID: 2726,
|
|
89
|
+
chromeStatusID: 6068482055602176,
|
|
81
90
|
},
|
|
82
91
|
'Cache Storage': {
|
|
83
92
|
regEx: /caches\.open\s*\(/g,
|
|
@@ -87,6 +96,7 @@ export default {
|
|
|
87
96
|
documentation:
|
|
88
97
|
'https://developer.mozilla.org/en-US/docs/Web/API/CacheStorage',
|
|
89
98
|
blinkFeatureID: 3022,
|
|
99
|
+
chromeStatusID: 6461631328419840,
|
|
90
100
|
},
|
|
91
101
|
'Compression Streams': {
|
|
92
102
|
regEx: /new\s+CompressionStream\s*\(/g,
|
|
@@ -95,6 +105,7 @@ export default {
|
|
|
95
105
|
featureDetection: `(async () => 'CompressionStream' in self)()`,
|
|
96
106
|
documentation: 'https://developer.chrome.com/blog/compression-streams-api/',
|
|
97
107
|
blinkFeatureID: 3060,
|
|
108
|
+
chromeStatusID: 5855937971617792,
|
|
98
109
|
},
|
|
99
110
|
'Compute Pressure': {
|
|
100
111
|
regEx: /new\s+ComputePressureObserver\s*\(/g,
|
|
@@ -104,6 +115,7 @@ export default {
|
|
|
104
115
|
documentation:
|
|
105
116
|
'https://developer.chrome.com/docs/web-platform/compute-pressure/',
|
|
106
117
|
blinkFeatureID: 3899,
|
|
118
|
+
chromeStatusID: 5597608644968448,
|
|
107
119
|
},
|
|
108
120
|
'Contact Picker': {
|
|
109
121
|
regEx: /navigator\.contacts\.select\s*\(/g,
|
|
@@ -112,6 +124,7 @@ export default {
|
|
|
112
124
|
featureDetection: `(async () => 'contacts' in navigator)()`,
|
|
113
125
|
documentation: 'https://developer.chrome.com/articles/contact-picker/',
|
|
114
126
|
blinkFeatureID: 2993,
|
|
127
|
+
chromeStatusID: 6511327140904960,
|
|
115
128
|
},
|
|
116
129
|
'Content Index': {
|
|
117
130
|
regEx: /index\.getAll\s*\(/g,
|
|
@@ -124,6 +137,7 @@ export default {
|
|
|
124
137
|
documentation:
|
|
125
138
|
'https://developer.chrome.com/articles/content-indexing-api/',
|
|
126
139
|
blinkFeatureID: 2985,
|
|
140
|
+
chromeStatusID: 5658416729030656,
|
|
127
141
|
},
|
|
128
142
|
'Credential Management': {
|
|
129
143
|
regEx: /navigator\.credentials\.get\s*\(/g,
|
|
@@ -133,6 +147,7 @@ export default {
|
|
|
133
147
|
documentation:
|
|
134
148
|
'https://developers.google.com/web/updates/2016/04/credential-management-api',
|
|
135
149
|
blinkFeatureID: 960,
|
|
150
|
+
chromeStatusID: 5026422640869376,
|
|
136
151
|
},
|
|
137
152
|
'Device Memory': {
|
|
138
153
|
regEx: /navigator\.deviceMemory/g,
|
|
@@ -142,6 +157,7 @@ export default {
|
|
|
142
157
|
documentation:
|
|
143
158
|
'https://developer.mozilla.org/en-US/docs/Web/API/Device_Memory_API',
|
|
144
159
|
blinkFeatureID: 2121,
|
|
160
|
+
chromeStatusID: 5119701235531776,
|
|
145
161
|
},
|
|
146
162
|
'Device Posture': {
|
|
147
163
|
regEx: /navigator\.devicePosture/g,
|
|
@@ -151,6 +167,7 @@ export default {
|
|
|
151
167
|
documentation:
|
|
152
168
|
'https://github.com/w3c/device-posture/blob/gh-pages/README.md',
|
|
153
169
|
blinkFeatureID: undefined,
|
|
170
|
+
chromeStatusID: 5185813744975872,
|
|
154
171
|
},
|
|
155
172
|
'Digital Goods': {
|
|
156
173
|
regEx: /getDigitalGoodsService\s*\(/g,
|
|
@@ -160,6 +177,7 @@ export default {
|
|
|
160
177
|
documentation:
|
|
161
178
|
'https://developer.chrome.com/docs/android/trusted-web-activity/receive-payments-play-billing/',
|
|
162
179
|
blinkFeatureID: 3397,
|
|
180
|
+
chromeStatusID: 5339955595313152,
|
|
163
181
|
},
|
|
164
182
|
'EyeDropper': {
|
|
165
183
|
regEx: /new\s+EyeDropper\s*\(\)/g,
|
|
@@ -168,6 +186,7 @@ export default {
|
|
|
168
186
|
featureDetection: `(async () => 'EyeDropper' in self)()`,
|
|
169
187
|
documentation: 'https://developer.chrome.com/articles/eyedropper/',
|
|
170
188
|
blinkFeatureID: undefined,
|
|
189
|
+
chromeStatusID: 6304275594477568,
|
|
171
190
|
},
|
|
172
191
|
'File Handling': {
|
|
173
192
|
regEx: /"file_handlers"/g,
|
|
@@ -177,6 +196,7 @@ export default {
|
|
|
177
196
|
featureDetection: `(async () => 'launchQueue' in self && 'files' in LaunchParams.prototype)()`,
|
|
178
197
|
documentation: 'https://developer.chrome.com/articles/file-handling/',
|
|
179
198
|
blinkFeatureID: 3875,
|
|
199
|
+
chromeStatusID: 5721776357113856,
|
|
180
200
|
},
|
|
181
201
|
'File System Access': {
|
|
182
202
|
regEx:
|
|
@@ -186,6 +206,7 @@ export default {
|
|
|
186
206
|
featureDetection: `(async () => 'showOpenFilePicker' in self)()`,
|
|
187
207
|
documentation: 'https://developer.chrome.com/articles/file-system-access/',
|
|
188
208
|
blinkFeatureID: 3340,
|
|
209
|
+
chromeStatusID: 6284708426022912,
|
|
189
210
|
},
|
|
190
211
|
'Gamepad': {
|
|
191
212
|
regEx: /navigator\.getGamepads\s*\(/g,
|
|
@@ -194,6 +215,7 @@ export default {
|
|
|
194
215
|
featureDetection: `(async () => 'getGamepads' in navigator)()`,
|
|
195
216
|
documentation: 'https://web.dev/gamepad/',
|
|
196
217
|
blinkFeatureID: 1916,
|
|
218
|
+
chromeStatusID: 5118776383111168,
|
|
197
219
|
},
|
|
198
220
|
'getInstalledRelatedApps': {
|
|
199
221
|
regEx: /navigator\.getInstalledRelatedApps\s*\(/g,
|
|
@@ -202,6 +224,7 @@ export default {
|
|
|
202
224
|
featureDetection: `(async () => 'getInstalledRelatedApps' in navigator)()`,
|
|
203
225
|
documentation: 'https://web.dev/get-installed-related-apps/',
|
|
204
226
|
blinkFeatureID: 1870,
|
|
227
|
+
chromeStatusID: 5695378309513216,
|
|
205
228
|
},
|
|
206
229
|
'Gravity Sensor': {
|
|
207
230
|
regEx: /new\s+GravitySensor\s*\(/g,
|
|
@@ -210,6 +233,7 @@ export default {
|
|
|
210
233
|
featureDetection: `(async () => 'GravitySensor' in self)()`,
|
|
211
234
|
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
212
235
|
blinkFeatureID: 3795,
|
|
236
|
+
chromeStatusID: 5384099747332096,
|
|
213
237
|
},
|
|
214
238
|
'Gyroscope': {
|
|
215
239
|
regEx: /new\s+Gyroscope\s*\(/g,
|
|
@@ -218,6 +242,7 @@ export default {
|
|
|
218
242
|
featureDetection: `(async () => 'Gyroscope' in self)()`,
|
|
219
243
|
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
220
244
|
blinkFeatureID: 1906,
|
|
245
|
+
chromeStatusID: 5698781827825664,
|
|
221
246
|
},
|
|
222
247
|
'Handwriting Recognition': {
|
|
223
248
|
regEx: /navigator\.queryHandwritingRecognizerSupport\s*\(/g,
|
|
@@ -227,6 +252,7 @@ export default {
|
|
|
227
252
|
documentation:
|
|
228
253
|
'https://developer.chrome.com/docs/web-platform/handwriting-recognition/',
|
|
229
254
|
blinkFeatureID: 3893,
|
|
255
|
+
chromeStatusID: 5263213807534080,
|
|
230
256
|
},
|
|
231
257
|
'HapticsDevice': {
|
|
232
258
|
regEx: /\.haptics\.play\s*\(/g,
|
|
@@ -236,6 +262,7 @@ export default {
|
|
|
236
262
|
documentation:
|
|
237
263
|
'https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/HapticsDevice/explainer.md',
|
|
238
264
|
blinkFeatureID: undefined,
|
|
265
|
+
chromeStatusID: 5720648543371264,
|
|
239
266
|
},
|
|
240
267
|
'Idle Detection': {
|
|
241
268
|
regEx: /new\s+IdleDetector\s*\(/g,
|
|
@@ -244,6 +271,7 @@ export default {
|
|
|
244
271
|
featureDetection: `(async () => 'IdleDetector' in self)()`,
|
|
245
272
|
documentation: 'https://developer.chrome.com/articles/idle-detection/',
|
|
246
273
|
blinkFeatureID: 2834,
|
|
274
|
+
chromeStatusID: 4590256452009984,
|
|
247
275
|
},
|
|
248
276
|
'Ink': {
|
|
249
277
|
regEx: /navigator\.ink\.requestPresenter\s*\(/g,
|
|
@@ -253,6 +281,7 @@ export default {
|
|
|
253
281
|
documentation:
|
|
254
282
|
'https://blogs.windows.com/msedgedev/2021/08/18/enhancing-inking-on-the-web/',
|
|
255
283
|
blinkFeatureID: undefined,
|
|
284
|
+
chromeStatusID: undefined,
|
|
256
285
|
},
|
|
257
286
|
'Insertable streams for MediaStreamTrack': {
|
|
258
287
|
regEx: /MediaStreamTrackProcessor\s*\(/g,
|
|
@@ -264,6 +293,7 @@ export default {
|
|
|
264
293
|
documentation:
|
|
265
294
|
'https://developer.chrome.com/articles/mediastreamtrack-insertable-media-processing/',
|
|
266
295
|
blinkFeatureID: 3729,
|
|
296
|
+
chromeStatusID: 5499415634640896,
|
|
267
297
|
},
|
|
268
298
|
'Launch Handler': {
|
|
269
299
|
regEx: /"launch_handler"/g,
|
|
@@ -274,6 +304,7 @@ export default {
|
|
|
274
304
|
documentation:
|
|
275
305
|
'https://developer.chrome.com/docs/web-platform/launch-handler/',
|
|
276
306
|
blinkFeatureID: undefined,
|
|
307
|
+
chromeStatusID: 5722383233056768,
|
|
277
308
|
},
|
|
278
309
|
'Linear Acceleration Sensor': {
|
|
279
310
|
regEx: /new\s+LinearAccelerationSensor\s*\(/g,
|
|
@@ -282,6 +313,7 @@ export default {
|
|
|
282
313
|
featureDetection: `(async () => 'LinearAccelerationSensor' in self)()`,
|
|
283
314
|
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
284
315
|
blinkFeatureID: 2051,
|
|
316
|
+
chromeStatusID: 5698781827825664,
|
|
285
317
|
},
|
|
286
318
|
'Local Font Access': {
|
|
287
319
|
regEx: /queryLocalFonts\s*\(/g,
|
|
@@ -290,6 +322,7 @@ export default {
|
|
|
290
322
|
featureDetection: `(async () => 'queryLocalFonts' in self)()`,
|
|
291
323
|
documentation: 'https://developer.chrome.com/articles/local-fonts/',
|
|
292
324
|
blinkFeatureID: 4211,
|
|
325
|
+
chromeStatusID: 6234451761692672,
|
|
293
326
|
},
|
|
294
327
|
'Magnetometer': {
|
|
295
328
|
regEx: /new\s+Magnetometer\s*\(/g,
|
|
@@ -298,6 +331,7 @@ export default {
|
|
|
298
331
|
featureDetection: `(async () => 'Magnetometer' in self)()`,
|
|
299
332
|
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
300
333
|
blinkFeatureID: 1907,
|
|
334
|
+
chromeStatusID: 5698781827825664,
|
|
301
335
|
},
|
|
302
336
|
'Media Capabilities': {
|
|
303
337
|
regEx: /navigator\.mediaCapabilities\.decodingInfo\s*\(/g,
|
|
@@ -307,6 +341,7 @@ export default {
|
|
|
307
341
|
documentation:
|
|
308
342
|
'https://developer.mozilla.org/en-US/docs/Web/API/Media_Capabilities_API',
|
|
309
343
|
blinkFeatureID: 2239,
|
|
344
|
+
chromeStatusID: 5869632707624960,
|
|
310
345
|
},
|
|
311
346
|
'Media Session': {
|
|
312
347
|
regEx:
|
|
@@ -317,6 +352,7 @@ export default {
|
|
|
317
352
|
documentation:
|
|
318
353
|
'https://developer.mozilla.org/en-US/docs/Web/API/Media_Session_API',
|
|
319
354
|
blinkFeatureID: 1792,
|
|
355
|
+
chromeStatusID: 5639924124483584,
|
|
320
356
|
},
|
|
321
357
|
'Window Management': {
|
|
322
358
|
regEx: /getScreenDetails\s*\(\)/g,
|
|
@@ -325,6 +361,7 @@ export default {
|
|
|
325
361
|
featureDetection: `(async () => 'getScreenDetails' in self)()`,
|
|
326
362
|
documentation: 'https://developer.chrome.com/articles/window-management/',
|
|
327
363
|
blinkFeatureID: 3388,
|
|
364
|
+
chromeStatusID: 5252960583942144,
|
|
328
365
|
},
|
|
329
366
|
'Navigation Preload': {
|
|
330
367
|
regEx: /\.navigationPreload\.enable\s*\(\)/g,
|
|
@@ -337,14 +374,17 @@ export default {
|
|
|
337
374
|
documentation:
|
|
338
375
|
'https://developer.mozilla.org/en-US/docs/Web/API/NavigationPreloadManager',
|
|
339
376
|
blinkFeatureID: 1803,
|
|
377
|
+
chromeStatusID: 5734842339688448,
|
|
340
378
|
},
|
|
341
379
|
'Origin Private File System': {
|
|
342
380
|
regEx: /navigator\.storage\.getDirectory\s*\(\)/g,
|
|
343
381
|
where: 'JavaScript',
|
|
344
|
-
supported: (async () =>
|
|
345
|
-
|
|
382
|
+
supported: (async () =>
|
|
383
|
+
'StorageManager' in self && 'getDirectory' in StorageManager.prototype)(),
|
|
384
|
+
featureDetection: `(async () => 'StorageManager' in self && 'getDirectory' in StorageManager.prototype)()`,
|
|
346
385
|
documentation: 'https://web.dev/origin-private-file-system/',
|
|
347
386
|
blinkFeatureID: 3428,
|
|
387
|
+
chromeStatusID: 5702777582911488,
|
|
348
388
|
},
|
|
349
389
|
'Payment Handler': {
|
|
350
390
|
regEx: /\.paymentManager\.instruments\.set\s*\(/g,
|
|
@@ -353,6 +393,7 @@ export default {
|
|
|
353
393
|
featureDetection: `(async () => 'PaymentInstruments' in self)()`,
|
|
354
394
|
documentation: 'https://web.dev/registering-a-web-based-payment-app/',
|
|
355
395
|
blinkFeatureID: 2397,
|
|
396
|
+
chromeStatusID: 5160285237149696,
|
|
356
397
|
},
|
|
357
398
|
'Payment Request': {
|
|
358
399
|
regEx: /new\s+PaymentRequest\s*\(/g,
|
|
@@ -362,6 +403,7 @@ export default {
|
|
|
362
403
|
documentation:
|
|
363
404
|
'https://developer.mozilla.org/en-US/docs/Web/API/Payment_Request_API',
|
|
364
405
|
blinkFeatureID: 2894,
|
|
406
|
+
chromeStatusID: 5639348045217792,
|
|
365
407
|
},
|
|
366
408
|
'Periodic Background Sync': {
|
|
367
409
|
regEx: /periodicSync\.register\s*\(/g,
|
|
@@ -371,6 +413,7 @@ export default {
|
|
|
371
413
|
documentation:
|
|
372
414
|
'https://developer.chrome.com/articles/periodic-background-sync/',
|
|
373
415
|
blinkFeatureID: 2931,
|
|
416
|
+
chromeStatusID: 5689383275462656,
|
|
374
417
|
},
|
|
375
418
|
'Persistent Storage': {
|
|
376
419
|
regEx: /navigator\.storage\.persist\s*\(\)/g,
|
|
@@ -381,6 +424,7 @@ export default {
|
|
|
381
424
|
documentation:
|
|
382
425
|
'https://developer.mozilla.org/en-US/docs/Web/API/StorageManager/persist',
|
|
383
426
|
blinkFeatureID: 1369,
|
|
427
|
+
chromeStatusID: 5715811364765696,
|
|
384
428
|
},
|
|
385
429
|
'Storage Buckets': {
|
|
386
430
|
regEx: /navigator\.storageBuckets\.open\s*\(/g,
|
|
@@ -389,6 +433,7 @@ export default {
|
|
|
389
433
|
featureDetection: `(async () => 'storageBuckets' in navigator)()`,
|
|
390
434
|
documentation: 'https://developer.chrome.com/blog/storage-buckets/',
|
|
391
435
|
blinkFeatureID: 4378,
|
|
436
|
+
chromeStatusID: 5739224579964928,
|
|
392
437
|
},
|
|
393
438
|
'Pointer Lock (unadjustedMovement)': {
|
|
394
439
|
regEx: /unadjustedMovement\s*\:\s*/g,
|
|
@@ -408,6 +453,7 @@ export default {
|
|
|
408
453
|
featureDetection: `(async () => 'HTMLParagraphElement' in self ? await (async () => { try { return !!await document.createElement("p").requestPointerLock({ unadjustedMovement: true }) } catch { return 'requestPointerLock' in HTMLParagraphElement.prototype } })() : undefined)()`,
|
|
409
454
|
documentation: 'https://web.dev/disable-mouse-acceleration/',
|
|
410
455
|
blinkFeatureID: 3027,
|
|
456
|
+
chromeStatusID: 5723553087356928,
|
|
411
457
|
},
|
|
412
458
|
'Protocol Handlers': {
|
|
413
459
|
regEx: /"protocol_handlers"/g,
|
|
@@ -417,6 +463,7 @@ export default {
|
|
|
417
463
|
documentation:
|
|
418
464
|
'https://developer.chrome.com/articles/url-protocol-handler/',
|
|
419
465
|
blinkFeatureID: 3884,
|
|
466
|
+
chromeStatusID: 5151703944921088,
|
|
420
467
|
},
|
|
421
468
|
'Push': {
|
|
422
469
|
regEx: /\.pushManager\.subscribe\s*\(/g,
|
|
@@ -428,6 +475,7 @@ export default {
|
|
|
428
475
|
featureDetection: `(async () => 'serviceWorker' in navigator && 'pushManager' in (await navigator.serviceWorker?.ready || self.registration))()`,
|
|
429
476
|
documentation: 'https://developer.mozilla.org/en-US/docs/Web/API/Push_API',
|
|
430
477
|
blinkFeatureID: 769,
|
|
478
|
+
chromeStatusID: 5416033485586432,
|
|
431
479
|
},
|
|
432
480
|
'Relative Orientation Sensor': {
|
|
433
481
|
regEx: /new\s+RelativeOrientationSensor\s*\(/g,
|
|
@@ -436,6 +484,7 @@ export default {
|
|
|
436
484
|
featureDetection: `(async () => 'RelativeOrientationSensor' in self)()`,
|
|
437
485
|
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
438
486
|
blinkFeatureID: 2019,
|
|
487
|
+
chromeStatusID: 5698781827825664,
|
|
439
488
|
},
|
|
440
489
|
'Screen Wake Lock': {
|
|
441
490
|
regEx: /navigator\.wakeLock\.request\s*\(/g,
|
|
@@ -444,6 +493,7 @@ export default {
|
|
|
444
493
|
featureDetection: `(async () => 'wakeLock' in navigator)()`,
|
|
445
494
|
documentation: 'https://developer.chrome.com/articles/wake-lock/',
|
|
446
495
|
blinkFeatureID: 3005,
|
|
496
|
+
chromeStatusID: 4636879949398016,
|
|
447
497
|
},
|
|
448
498
|
'Service Worker': {
|
|
449
499
|
regEx: /navigator\.serviceWorker\.register\s*\(/g,
|
|
@@ -453,6 +503,7 @@ export default {
|
|
|
453
503
|
documentation:
|
|
454
504
|
'https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API',
|
|
455
505
|
blinkFeatureID: 990,
|
|
506
|
+
chromeStatusID: 6561526227927040,
|
|
456
507
|
},
|
|
457
508
|
'Shape Detection (Barcodes)': {
|
|
458
509
|
regEx: /new\s+BarcodeDetector\s*\(/g,
|
|
@@ -461,6 +512,7 @@ export default {
|
|
|
461
512
|
featureDetection: `(async () => 'BarcodeDetector' in self)()`,
|
|
462
513
|
documentation: 'https://developer.chrome.com/articles/shape-detection/',
|
|
463
514
|
blinkFeatureID: 3711,
|
|
515
|
+
chromeStatusID: 4757990523535360,
|
|
464
516
|
},
|
|
465
517
|
'Shape Detection (Faces)': {
|
|
466
518
|
regEx: /new\s+FaceDetector\s*\(/g,
|
|
@@ -469,6 +521,7 @@ export default {
|
|
|
469
521
|
featureDetection: `(async () => 'FaceDetector' in self)()`,
|
|
470
522
|
documentation: 'https://developer.chrome.com/articles/shape-detection/',
|
|
471
523
|
blinkFeatureID: 3712,
|
|
524
|
+
chromeStatusID: 5678216012365824,
|
|
472
525
|
},
|
|
473
526
|
'Shape Detection (Texts)': {
|
|
474
527
|
regEx: /new\s+TextDetector\s*\(/g,
|
|
@@ -477,6 +530,7 @@ export default {
|
|
|
477
530
|
featureDetection: `(async () => 'TextDetector' in self)()`,
|
|
478
531
|
documentation: 'https://developer.chrome.com/articles/shape-detection/',
|
|
479
532
|
blinkFeatureID: 3713,
|
|
533
|
+
chromeStatusID: 5644087665360896,
|
|
480
534
|
},
|
|
481
535
|
'Shortcuts': {
|
|
482
536
|
regEx: /"shortcuts"/g,
|
|
@@ -485,6 +539,7 @@ export default {
|
|
|
485
539
|
featureDetection: `(async () => undefined)()`,
|
|
486
540
|
documentation: 'https://web.dev/app-shortcuts/',
|
|
487
541
|
blinkFeatureID: undefined,
|
|
542
|
+
chromeStatusID: 5706099464339456,
|
|
488
543
|
},
|
|
489
544
|
'Storage Estimation': {
|
|
490
545
|
regEx: /navigator\.storage\.estimate\s*\(\)/g,
|
|
@@ -495,6 +550,7 @@ export default {
|
|
|
495
550
|
documentation:
|
|
496
551
|
'https://developer.mozilla.org/en-US/docs/Web/API/StorageManager/estimate',
|
|
497
552
|
blinkFeatureID: 1371,
|
|
553
|
+
chromeStatusID: 5630353511284736,
|
|
498
554
|
},
|
|
499
555
|
'Tabbed Application Mode': {
|
|
500
556
|
regEx: /"tabbed"/g,
|
|
@@ -503,6 +559,7 @@ export default {
|
|
|
503
559
|
featureDetection: `(async () => undefined)()`,
|
|
504
560
|
documentation: 'https://web.dev/tabbed-application-mode/',
|
|
505
561
|
blinkFeatureID: undefined,
|
|
562
|
+
chromeStatusID: 5128143454076928,
|
|
506
563
|
},
|
|
507
564
|
'VirtualKeyboard': {
|
|
508
565
|
regEx: /navigator\.virtualKeyboard/g,
|
|
@@ -512,6 +569,7 @@ export default {
|
|
|
512
569
|
documentation:
|
|
513
570
|
'https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/VirtualKeyboardAPI/explainer.md',
|
|
514
571
|
blinkFeatureID: undefined,
|
|
572
|
+
chromeStatusID: 5717448231747584,
|
|
515
573
|
},
|
|
516
574
|
'Web App Link Handling': {
|
|
517
575
|
regEx: /"handle_links"/g,
|
|
@@ -521,6 +579,7 @@ export default {
|
|
|
521
579
|
documentation:
|
|
522
580
|
'https://github.com/WICG/pwa-url-handler/blob/main/handle_links/explainer.md',
|
|
523
581
|
blinkFeatureID: undefined,
|
|
582
|
+
chromeStatusID: 5740751225880576,
|
|
524
583
|
},
|
|
525
584
|
'Web Audio': {
|
|
526
585
|
regEx: /new\s+AudioContext\s*\(/g,
|
|
@@ -530,6 +589,7 @@ export default {
|
|
|
530
589
|
documentation:
|
|
531
590
|
'https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API',
|
|
532
591
|
blinkFeatureID: 1698,
|
|
592
|
+
chromeStatusID: 6261718720184320,
|
|
533
593
|
},
|
|
534
594
|
'Web Share': {
|
|
535
595
|
regEx: /navigator\.share\s*\(/g,
|
|
@@ -538,6 +598,7 @@ export default {
|
|
|
538
598
|
featureDetection: `(async () => 'share' in navigator)()`,
|
|
539
599
|
documentation: 'https://web.dev/web-share/',
|
|
540
600
|
blinkFeatureID: 1501,
|
|
601
|
+
chromeStatusID: 5668769141620736,
|
|
541
602
|
},
|
|
542
603
|
'Web Share (Files)': {
|
|
543
604
|
regEx: /navigator\.canShare\s*\(/g,
|
|
@@ -546,6 +607,7 @@ export default {
|
|
|
546
607
|
featureDetection: `(async () => 'canShare' in navigator)()`,
|
|
547
608
|
documentation: 'https://web.dev/web-share/',
|
|
548
609
|
blinkFeatureID: 2737,
|
|
610
|
+
chromeStatusID: 4777349178458112,
|
|
549
611
|
},
|
|
550
612
|
'Web Share Target': {
|
|
551
613
|
regEx: /"share_target"/g,
|
|
@@ -554,6 +616,7 @@ export default {
|
|
|
554
616
|
featureDetection: `(async () => undefined)()`,
|
|
555
617
|
documentation: 'https://developer.chrome.com/articles/web-share-target/',
|
|
556
618
|
blinkFeatureID: undefined,
|
|
619
|
+
chromeStatusID: 5662315307335680,
|
|
557
620
|
},
|
|
558
621
|
'Web Share Target (Files)': {
|
|
559
622
|
regEx: /"enctype"\s*\:\s*"multipart\/form\-data"/g,
|
|
@@ -562,6 +625,7 @@ export default {
|
|
|
562
625
|
featureDetection: `(async () => undefined)()`,
|
|
563
626
|
documentation: 'https://developer.chrome.com/articles/web-share-target/',
|
|
564
627
|
blinkFeatureID: undefined,
|
|
628
|
+
chromeStatusID: 6124071381106688,
|
|
565
629
|
},
|
|
566
630
|
'Web Bluetooth': {
|
|
567
631
|
regEx: /navigator\.bluetooth\.requestDevice\s*\(/g,
|
|
@@ -570,6 +634,7 @@ export default {
|
|
|
570
634
|
featureDetection: `(async () => 'bluetooth' in navigator)()`,
|
|
571
635
|
documentation: 'https://developer.chrome.com/articles/bluetooth/',
|
|
572
636
|
blinkFeatureID: 1670,
|
|
637
|
+
chromeStatusID: 5264933985976320,
|
|
573
638
|
},
|
|
574
639
|
'WebCodecs': {
|
|
575
640
|
regEx: /new\s+MediaStreamTrackProcessor\s*\(/g,
|
|
@@ -578,6 +643,7 @@ export default {
|
|
|
578
643
|
featureDetection: `(async () => 'MediaStreamTrackProcessor' in self)()`,
|
|
579
644
|
documentation: 'https://developer.chrome.com/articles/webcodecs/',
|
|
580
645
|
blinkFeatureID: 3728,
|
|
646
|
+
chromeStatusID: 5669293909868544,
|
|
581
647
|
},
|
|
582
648
|
'WebGPU': {
|
|
583
649
|
regEx: /navigator\.gpu\.requestAdapter\s*\(/g,
|
|
@@ -586,6 +652,7 @@ export default {
|
|
|
586
652
|
featureDetection: `(async () => 'gpu' in navigator)()`,
|
|
587
653
|
documentation: 'https://developer.chrome.com/docs/web-platform/webgpu/',
|
|
588
654
|
blinkFeatureID: 3888,
|
|
655
|
+
chromeStatusID: 6213121689518080,
|
|
589
656
|
},
|
|
590
657
|
'WebHID': {
|
|
591
658
|
regEx: /navigator\.hid\.requestDevice\s*\(/g,
|
|
@@ -594,6 +661,7 @@ export default {
|
|
|
594
661
|
featureDetection: `(async () => 'hid' in navigator)()`,
|
|
595
662
|
documentation: 'https://developer.chrome.com/articles/hid/',
|
|
596
663
|
blinkFeatureID: 2866,
|
|
664
|
+
chromeStatusID: 5172464636133376,
|
|
597
665
|
},
|
|
598
666
|
'Web MIDI': {
|
|
599
667
|
regEx: /navigator\.requestMIDIAccess\s*\(/g,
|
|
@@ -603,6 +671,7 @@ export default {
|
|
|
603
671
|
documentation:
|
|
604
672
|
'https://developer.mozilla.org/en-US/docs/Web/API/Web_MIDI_API',
|
|
605
673
|
blinkFeatureID: 2029,
|
|
674
|
+
chromeStatusID: 4923613069180928,
|
|
606
675
|
},
|
|
607
676
|
'Web NFC': {
|
|
608
677
|
regEx: /new\s+NDEFReader\s*\(/g,
|
|
@@ -611,6 +680,7 @@ export default {
|
|
|
611
680
|
featureDetection: `(async () => 'NDEFReader' in self)()`,
|
|
612
681
|
documentation: 'https://developer.chrome.com/articles/nfc/',
|
|
613
682
|
blinkFeatureID: 3094,
|
|
683
|
+
chromeStatusID: 6261030015467520,
|
|
614
684
|
},
|
|
615
685
|
'WebOTP': {
|
|
616
686
|
regEx: /transport\s*\:\s*\[["']sms["']\]/g,
|
|
@@ -619,6 +689,7 @@ export default {
|
|
|
619
689
|
featureDetection: `(async () => 'OTPCredential' in self)()`,
|
|
620
690
|
documentation: 'https://developer.chrome.com/articles/web-otp/',
|
|
621
691
|
blinkFeatureID: 2880,
|
|
692
|
+
chromeStatusID: 5873577578463232,
|
|
622
693
|
},
|
|
623
694
|
'Web Serial': {
|
|
624
695
|
regEx: /navigator\.serial\.requestPort\s*\(/g,
|
|
@@ -627,6 +698,7 @@ export default {
|
|
|
627
698
|
featureDetection: `(async () => 'serial' in navigator)()`,
|
|
628
699
|
documentation: 'https://developer.chrome.com/articles/serial/',
|
|
629
700
|
blinkFeatureID: 2546,
|
|
701
|
+
chromeStatusID: 6577673212002304,
|
|
630
702
|
},
|
|
631
703
|
'WebSocketStream': {
|
|
632
704
|
regEx: /new\s+WebSocketStream\s*\(/g,
|
|
@@ -635,6 +707,7 @@ export default {
|
|
|
635
707
|
featureDetection: `(async () => 'WebSocketStream' in self)()`,
|
|
636
708
|
documentation: 'https://developer.chrome.com/articles/websocketstream/',
|
|
637
709
|
blinkFeatureID: 3018,
|
|
710
|
+
chromeStatusID: 5189728691290112,
|
|
638
711
|
},
|
|
639
712
|
'WebTransport': {
|
|
640
713
|
regEx: /new\s+WebTransport\s*\(/g,
|
|
@@ -643,6 +716,7 @@ export default {
|
|
|
643
716
|
featureDetection: `(async () => 'WebTransport' in self)()`,
|
|
644
717
|
documentation: 'https://developer.chrome.com/articles/webtransport/',
|
|
645
718
|
blinkFeatureID: 3472,
|
|
719
|
+
chromeStatusID: 4854144902889472,
|
|
646
720
|
},
|
|
647
721
|
'WebUSB': {
|
|
648
722
|
regEx: /navigator\.usb\.requestDevice\s*\(/g,
|
|
@@ -651,6 +725,7 @@ export default {
|
|
|
651
725
|
featureDetection: `(async () => 'usb' in navigator)()`,
|
|
652
726
|
documentation: 'https://developer.chrome.com/articles/usb/',
|
|
653
727
|
blinkFeatureID: 1520,
|
|
728
|
+
chromeStatusID: 5651917954875392,
|
|
654
729
|
},
|
|
655
730
|
'Window Controls Overlay': {
|
|
656
731
|
regEx: /"window\-controls\-overlay"/g,
|
|
@@ -659,5 +734,6 @@ export default {
|
|
|
659
734
|
featureDetection: `(async () => 'windowControlsOverlay' in navigator)()`,
|
|
660
735
|
documentation: 'https://web.dev/window-controls-overlay/',
|
|
661
736
|
blinkFeatureID: 3902,
|
|
737
|
+
chromeStatusID: 5741247866077184,
|
|
662
738
|
},
|
|
663
739
|
};
|