fugu-api-data 1.17.0 → 1.18.1
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 +75 -0
- package/patterns.mjs +75 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fugu-api-data",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.18.1",
|
|
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: 5961434129235968,
|
|
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,6 +374,7 @@ 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,
|
|
@@ -346,6 +384,7 @@ const patterns = {
|
|
|
346
384
|
featureDetection: `(async () => 'StorageManager' in self && 'getDirectory' in StorageManager.prototype)()`,
|
|
347
385
|
documentation: 'https://web.dev/origin-private-file-system/',
|
|
348
386
|
blinkFeatureID: 3428,
|
|
387
|
+
chromeStatusID: 5702777582911488,
|
|
349
388
|
},
|
|
350
389
|
'Payment Handler': {
|
|
351
390
|
regEx: /\.paymentManager\.instruments\.set\s*\(/g,
|
|
@@ -354,6 +393,7 @@ const patterns = {
|
|
|
354
393
|
featureDetection: `(async () => 'PaymentInstruments' in self)()`,
|
|
355
394
|
documentation: 'https://web.dev/registering-a-web-based-payment-app/',
|
|
356
395
|
blinkFeatureID: 2397,
|
|
396
|
+
chromeStatusID: 5160285237149696,
|
|
357
397
|
},
|
|
358
398
|
'Payment Request': {
|
|
359
399
|
regEx: /new\s+PaymentRequest\s*\(/g,
|
|
@@ -363,6 +403,7 @@ const patterns = {
|
|
|
363
403
|
documentation:
|
|
364
404
|
'https://developer.mozilla.org/en-US/docs/Web/API/Payment_Request_API',
|
|
365
405
|
blinkFeatureID: 2894,
|
|
406
|
+
chromeStatusID: 5639348045217792,
|
|
366
407
|
},
|
|
367
408
|
'Periodic Background Sync': {
|
|
368
409
|
regEx: /periodicSync\.register\s*\(/g,
|
|
@@ -372,6 +413,7 @@ const patterns = {
|
|
|
372
413
|
documentation:
|
|
373
414
|
'https://developer.chrome.com/articles/periodic-background-sync/',
|
|
374
415
|
blinkFeatureID: 2931,
|
|
416
|
+
chromeStatusID: 5689383275462656,
|
|
375
417
|
},
|
|
376
418
|
'Persistent Storage': {
|
|
377
419
|
regEx: /navigator\.storage\.persist\s*\(\)/g,
|
|
@@ -382,6 +424,7 @@ const patterns = {
|
|
|
382
424
|
documentation:
|
|
383
425
|
'https://developer.mozilla.org/en-US/docs/Web/API/StorageManager/persist',
|
|
384
426
|
blinkFeatureID: 1369,
|
|
427
|
+
chromeStatusID: 5715811364765696,
|
|
385
428
|
},
|
|
386
429
|
'Storage Buckets': {
|
|
387
430
|
regEx: /navigator\.storageBuckets\.open\s*\(/g,
|
|
@@ -390,6 +433,7 @@ const patterns = {
|
|
|
390
433
|
featureDetection: `(async () => 'storageBuckets' in navigator)()`,
|
|
391
434
|
documentation: 'https://developer.chrome.com/blog/storage-buckets/',
|
|
392
435
|
blinkFeatureID: 4378,
|
|
436
|
+
chromeStatusID: 5739224579964928,
|
|
393
437
|
},
|
|
394
438
|
'Pointer Lock (unadjustedMovement)': {
|
|
395
439
|
regEx: /unadjustedMovement\s*\:\s*/g,
|
|
@@ -409,6 +453,7 @@ const patterns = {
|
|
|
409
453
|
featureDetection: `(async () => 'HTMLParagraphElement' in self ? await (async () => { try { return !!await document.createElement("p").requestPointerLock({ unadjustedMovement: true }) } catch { return 'requestPointerLock' in HTMLParagraphElement.prototype } })() : undefined)()`,
|
|
410
454
|
documentation: 'https://web.dev/disable-mouse-acceleration/',
|
|
411
455
|
blinkFeatureID: 3027,
|
|
456
|
+
chromeStatusID: 5723553087356928,
|
|
412
457
|
},
|
|
413
458
|
'Protocol Handlers': {
|
|
414
459
|
regEx: /"protocol_handlers"/g,
|
|
@@ -418,6 +463,7 @@ const patterns = {
|
|
|
418
463
|
documentation:
|
|
419
464
|
'https://developer.chrome.com/articles/url-protocol-handler/',
|
|
420
465
|
blinkFeatureID: 3884,
|
|
466
|
+
chromeStatusID: 5151703944921088,
|
|
421
467
|
},
|
|
422
468
|
'Push': {
|
|
423
469
|
regEx: /\.pushManager\.subscribe\s*\(/g,
|
|
@@ -429,6 +475,7 @@ const patterns = {
|
|
|
429
475
|
featureDetection: `(async () => 'serviceWorker' in navigator && 'pushManager' in (await navigator.serviceWorker?.ready || self.registration))()`,
|
|
430
476
|
documentation: 'https://developer.mozilla.org/en-US/docs/Web/API/Push_API',
|
|
431
477
|
blinkFeatureID: 769,
|
|
478
|
+
chromeStatusID: 5416033485586432,
|
|
432
479
|
},
|
|
433
480
|
'Relative Orientation Sensor': {
|
|
434
481
|
regEx: /new\s+RelativeOrientationSensor\s*\(/g,
|
|
@@ -437,6 +484,7 @@ const patterns = {
|
|
|
437
484
|
featureDetection: `(async () => 'RelativeOrientationSensor' in self)()`,
|
|
438
485
|
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
439
486
|
blinkFeatureID: 2019,
|
|
487
|
+
chromeStatusID: 5698781827825664,
|
|
440
488
|
},
|
|
441
489
|
'Screen Wake Lock': {
|
|
442
490
|
regEx: /navigator\.wakeLock\.request\s*\(/g,
|
|
@@ -445,6 +493,7 @@ const patterns = {
|
|
|
445
493
|
featureDetection: `(async () => 'wakeLock' in navigator)()`,
|
|
446
494
|
documentation: 'https://developer.chrome.com/articles/wake-lock/',
|
|
447
495
|
blinkFeatureID: 3005,
|
|
496
|
+
chromeStatusID: 4636879949398016,
|
|
448
497
|
},
|
|
449
498
|
'Service Worker': {
|
|
450
499
|
regEx: /navigator\.serviceWorker\.register\s*\(/g,
|
|
@@ -454,6 +503,7 @@ const patterns = {
|
|
|
454
503
|
documentation:
|
|
455
504
|
'https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API',
|
|
456
505
|
blinkFeatureID: 990,
|
|
506
|
+
chromeStatusID: 6561526227927040,
|
|
457
507
|
},
|
|
458
508
|
'Shape Detection (Barcodes)': {
|
|
459
509
|
regEx: /new\s+BarcodeDetector\s*\(/g,
|
|
@@ -462,6 +512,7 @@ const patterns = {
|
|
|
462
512
|
featureDetection: `(async () => 'BarcodeDetector' in self)()`,
|
|
463
513
|
documentation: 'https://developer.chrome.com/articles/shape-detection/',
|
|
464
514
|
blinkFeatureID: 3711,
|
|
515
|
+
chromeStatusID: 4757990523535360,
|
|
465
516
|
},
|
|
466
517
|
'Shape Detection (Faces)': {
|
|
467
518
|
regEx: /new\s+FaceDetector\s*\(/g,
|
|
@@ -470,6 +521,7 @@ const patterns = {
|
|
|
470
521
|
featureDetection: `(async () => 'FaceDetector' in self)()`,
|
|
471
522
|
documentation: 'https://developer.chrome.com/articles/shape-detection/',
|
|
472
523
|
blinkFeatureID: 3712,
|
|
524
|
+
chromeStatusID: 5678216012365824,
|
|
473
525
|
},
|
|
474
526
|
'Shape Detection (Texts)': {
|
|
475
527
|
regEx: /new\s+TextDetector\s*\(/g,
|
|
@@ -478,6 +530,7 @@ const patterns = {
|
|
|
478
530
|
featureDetection: `(async () => 'TextDetector' in self)()`,
|
|
479
531
|
documentation: 'https://developer.chrome.com/articles/shape-detection/',
|
|
480
532
|
blinkFeatureID: 3713,
|
|
533
|
+
chromeStatusID: 5644087665360896,
|
|
481
534
|
},
|
|
482
535
|
'Shortcuts': {
|
|
483
536
|
regEx: /"shortcuts"/g,
|
|
@@ -486,6 +539,7 @@ const patterns = {
|
|
|
486
539
|
featureDetection: `(async () => undefined)()`,
|
|
487
540
|
documentation: 'https://web.dev/app-shortcuts/',
|
|
488
541
|
blinkFeatureID: undefined,
|
|
542
|
+
chromeStatusID: 5706099464339456,
|
|
489
543
|
},
|
|
490
544
|
'Storage Estimation': {
|
|
491
545
|
regEx: /navigator\.storage\.estimate\s*\(\)/g,
|
|
@@ -496,6 +550,7 @@ const patterns = {
|
|
|
496
550
|
documentation:
|
|
497
551
|
'https://developer.mozilla.org/en-US/docs/Web/API/StorageManager/estimate',
|
|
498
552
|
blinkFeatureID: 1371,
|
|
553
|
+
chromeStatusID: 5630353511284736,
|
|
499
554
|
},
|
|
500
555
|
'Tabbed Application Mode': {
|
|
501
556
|
regEx: /"tabbed"/g,
|
|
@@ -504,6 +559,7 @@ const patterns = {
|
|
|
504
559
|
featureDetection: `(async () => undefined)()`,
|
|
505
560
|
documentation: 'https://web.dev/tabbed-application-mode/',
|
|
506
561
|
blinkFeatureID: undefined,
|
|
562
|
+
chromeStatusID: 5128143454076928,
|
|
507
563
|
},
|
|
508
564
|
'VirtualKeyboard': {
|
|
509
565
|
regEx: /navigator\.virtualKeyboard/g,
|
|
@@ -513,6 +569,7 @@ const patterns = {
|
|
|
513
569
|
documentation:
|
|
514
570
|
'https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/VirtualKeyboardAPI/explainer.md',
|
|
515
571
|
blinkFeatureID: undefined,
|
|
572
|
+
chromeStatusID: 5717448231747584,
|
|
516
573
|
},
|
|
517
574
|
'Web App Link Handling': {
|
|
518
575
|
regEx: /"handle_links"/g,
|
|
@@ -522,6 +579,7 @@ const patterns = {
|
|
|
522
579
|
documentation:
|
|
523
580
|
'https://github.com/WICG/pwa-url-handler/blob/main/handle_links/explainer.md',
|
|
524
581
|
blinkFeatureID: undefined,
|
|
582
|
+
chromeStatusID: 5740751225880576,
|
|
525
583
|
},
|
|
526
584
|
'Web Audio': {
|
|
527
585
|
regEx: /new\s+AudioContext\s*\(/g,
|
|
@@ -531,6 +589,7 @@ const patterns = {
|
|
|
531
589
|
documentation:
|
|
532
590
|
'https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API',
|
|
533
591
|
blinkFeatureID: 1698,
|
|
592
|
+
chromeStatusID: 6261718720184320,
|
|
534
593
|
},
|
|
535
594
|
'Web Share': {
|
|
536
595
|
regEx: /navigator\.share\s*\(/g,
|
|
@@ -539,6 +598,7 @@ const patterns = {
|
|
|
539
598
|
featureDetection: `(async () => 'share' in navigator)()`,
|
|
540
599
|
documentation: 'https://web.dev/web-share/',
|
|
541
600
|
blinkFeatureID: 1501,
|
|
601
|
+
chromeStatusID: 5668769141620736,
|
|
542
602
|
},
|
|
543
603
|
'Web Share (Files)': {
|
|
544
604
|
regEx: /navigator\.canShare\s*\(/g,
|
|
@@ -547,6 +607,7 @@ const patterns = {
|
|
|
547
607
|
featureDetection: `(async () => 'canShare' in navigator)()`,
|
|
548
608
|
documentation: 'https://web.dev/web-share/',
|
|
549
609
|
blinkFeatureID: 2737,
|
|
610
|
+
chromeStatusID: 4777349178458112,
|
|
550
611
|
},
|
|
551
612
|
'Web Share Target': {
|
|
552
613
|
regEx: /"share_target"/g,
|
|
@@ -555,6 +616,7 @@ const patterns = {
|
|
|
555
616
|
featureDetection: `(async () => undefined)()`,
|
|
556
617
|
documentation: 'https://developer.chrome.com/articles/web-share-target/',
|
|
557
618
|
blinkFeatureID: undefined,
|
|
619
|
+
chromeStatusID: 5662315307335680,
|
|
558
620
|
},
|
|
559
621
|
'Web Share Target (Files)': {
|
|
560
622
|
regEx: /"enctype"\s*\:\s*"multipart\/form\-data"/g,
|
|
@@ -563,6 +625,7 @@ const patterns = {
|
|
|
563
625
|
featureDetection: `(async () => undefined)()`,
|
|
564
626
|
documentation: 'https://developer.chrome.com/articles/web-share-target/',
|
|
565
627
|
blinkFeatureID: undefined,
|
|
628
|
+
chromeStatusID: 6124071381106688,
|
|
566
629
|
},
|
|
567
630
|
'Web Bluetooth': {
|
|
568
631
|
regEx: /navigator\.bluetooth\.requestDevice\s*\(/g,
|
|
@@ -571,6 +634,7 @@ const patterns = {
|
|
|
571
634
|
featureDetection: `(async () => 'bluetooth' in navigator)()`,
|
|
572
635
|
documentation: 'https://developer.chrome.com/articles/bluetooth/',
|
|
573
636
|
blinkFeatureID: 1670,
|
|
637
|
+
chromeStatusID: 5264933985976320,
|
|
574
638
|
},
|
|
575
639
|
'WebCodecs': {
|
|
576
640
|
regEx: /new\s+MediaStreamTrackProcessor\s*\(/g,
|
|
@@ -579,6 +643,7 @@ const patterns = {
|
|
|
579
643
|
featureDetection: `(async () => 'MediaStreamTrackProcessor' in self)()`,
|
|
580
644
|
documentation: 'https://developer.chrome.com/articles/webcodecs/',
|
|
581
645
|
blinkFeatureID: 3728,
|
|
646
|
+
chromeStatusID: 5669293909868544,
|
|
582
647
|
},
|
|
583
648
|
'WebGPU': {
|
|
584
649
|
regEx: /navigator\.gpu\.requestAdapter\s*\(/g,
|
|
@@ -587,6 +652,7 @@ const patterns = {
|
|
|
587
652
|
featureDetection: `(async () => 'gpu' in navigator)()`,
|
|
588
653
|
documentation: 'https://developer.chrome.com/docs/web-platform/webgpu/',
|
|
589
654
|
blinkFeatureID: 3888,
|
|
655
|
+
chromeStatusID: 6213121689518080,
|
|
590
656
|
},
|
|
591
657
|
'WebHID': {
|
|
592
658
|
regEx: /navigator\.hid\.requestDevice\s*\(/g,
|
|
@@ -595,6 +661,7 @@ const patterns = {
|
|
|
595
661
|
featureDetection: `(async () => 'hid' in navigator)()`,
|
|
596
662
|
documentation: 'https://developer.chrome.com/articles/hid/',
|
|
597
663
|
blinkFeatureID: 2866,
|
|
664
|
+
chromeStatusID: 5172464636133376,
|
|
598
665
|
},
|
|
599
666
|
'Web MIDI': {
|
|
600
667
|
regEx: /navigator\.requestMIDIAccess\s*\(/g,
|
|
@@ -604,6 +671,7 @@ const patterns = {
|
|
|
604
671
|
documentation:
|
|
605
672
|
'https://developer.mozilla.org/en-US/docs/Web/API/Web_MIDI_API',
|
|
606
673
|
blinkFeatureID: 2029,
|
|
674
|
+
chromeStatusID: 4923613069180928,
|
|
607
675
|
},
|
|
608
676
|
'Web NFC': {
|
|
609
677
|
regEx: /new\s+NDEFReader\s*\(/g,
|
|
@@ -612,6 +680,7 @@ const patterns = {
|
|
|
612
680
|
featureDetection: `(async () => 'NDEFReader' in self)()`,
|
|
613
681
|
documentation: 'https://developer.chrome.com/articles/nfc/',
|
|
614
682
|
blinkFeatureID: 3094,
|
|
683
|
+
chromeStatusID: 6261030015467520,
|
|
615
684
|
},
|
|
616
685
|
'WebOTP': {
|
|
617
686
|
regEx: /transport\s*\:\s*\[["']sms["']\]/g,
|
|
@@ -620,6 +689,7 @@ const patterns = {
|
|
|
620
689
|
featureDetection: `(async () => 'OTPCredential' in self)()`,
|
|
621
690
|
documentation: 'https://developer.chrome.com/articles/web-otp/',
|
|
622
691
|
blinkFeatureID: 2880,
|
|
692
|
+
chromeStatusID: 5873577578463232,
|
|
623
693
|
},
|
|
624
694
|
'Web Serial': {
|
|
625
695
|
regEx: /navigator\.serial\.requestPort\s*\(/g,
|
|
@@ -628,6 +698,7 @@ const patterns = {
|
|
|
628
698
|
featureDetection: `(async () => 'serial' in navigator)()`,
|
|
629
699
|
documentation: 'https://developer.chrome.com/articles/serial/',
|
|
630
700
|
blinkFeatureID: 2546,
|
|
701
|
+
chromeStatusID: 6577673212002304,
|
|
631
702
|
},
|
|
632
703
|
'WebSocketStream': {
|
|
633
704
|
regEx: /new\s+WebSocketStream\s*\(/g,
|
|
@@ -636,6 +707,7 @@ const patterns = {
|
|
|
636
707
|
featureDetection: `(async () => 'WebSocketStream' in self)()`,
|
|
637
708
|
documentation: 'https://developer.chrome.com/articles/websocketstream/',
|
|
638
709
|
blinkFeatureID: 3018,
|
|
710
|
+
chromeStatusID: 5189728691290112,
|
|
639
711
|
},
|
|
640
712
|
'WebTransport': {
|
|
641
713
|
regEx: /new\s+WebTransport\s*\(/g,
|
|
@@ -644,6 +716,7 @@ const patterns = {
|
|
|
644
716
|
featureDetection: `(async () => 'WebTransport' in self)()`,
|
|
645
717
|
documentation: 'https://developer.chrome.com/articles/webtransport/',
|
|
646
718
|
blinkFeatureID: 3472,
|
|
719
|
+
chromeStatusID: 4854144902889472,
|
|
647
720
|
},
|
|
648
721
|
'WebUSB': {
|
|
649
722
|
regEx: /navigator\.usb\.requestDevice\s*\(/g,
|
|
@@ -652,6 +725,7 @@ const patterns = {
|
|
|
652
725
|
featureDetection: `(async () => 'usb' in navigator)()`,
|
|
653
726
|
documentation: 'https://developer.chrome.com/articles/usb/',
|
|
654
727
|
blinkFeatureID: 1520,
|
|
728
|
+
chromeStatusID: 5651917954875392,
|
|
655
729
|
},
|
|
656
730
|
'Window Controls Overlay': {
|
|
657
731
|
regEx: /"window\-controls\-overlay"/g,
|
|
@@ -660,5 +734,6 @@ const patterns = {
|
|
|
660
734
|
featureDetection: `(async () => 'windowControlsOverlay' in navigator)()`,
|
|
661
735
|
documentation: 'https://web.dev/window-controls-overlay/',
|
|
662
736
|
blinkFeatureID: 3902,
|
|
737
|
+
chromeStatusID: 5741247866077184,
|
|
663
738
|
},
|
|
664
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: 5961434129235968,
|
|
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,6 +374,7 @@ 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,
|
|
@@ -346,6 +384,7 @@ export default {
|
|
|
346
384
|
featureDetection: `(async () => 'StorageManager' in self && 'getDirectory' in StorageManager.prototype)()`,
|
|
347
385
|
documentation: 'https://web.dev/origin-private-file-system/',
|
|
348
386
|
blinkFeatureID: 3428,
|
|
387
|
+
chromeStatusID: 5702777582911488,
|
|
349
388
|
},
|
|
350
389
|
'Payment Handler': {
|
|
351
390
|
regEx: /\.paymentManager\.instruments\.set\s*\(/g,
|
|
@@ -354,6 +393,7 @@ export default {
|
|
|
354
393
|
featureDetection: `(async () => 'PaymentInstruments' in self)()`,
|
|
355
394
|
documentation: 'https://web.dev/registering-a-web-based-payment-app/',
|
|
356
395
|
blinkFeatureID: 2397,
|
|
396
|
+
chromeStatusID: 5160285237149696,
|
|
357
397
|
},
|
|
358
398
|
'Payment Request': {
|
|
359
399
|
regEx: /new\s+PaymentRequest\s*\(/g,
|
|
@@ -363,6 +403,7 @@ export default {
|
|
|
363
403
|
documentation:
|
|
364
404
|
'https://developer.mozilla.org/en-US/docs/Web/API/Payment_Request_API',
|
|
365
405
|
blinkFeatureID: 2894,
|
|
406
|
+
chromeStatusID: 5639348045217792,
|
|
366
407
|
},
|
|
367
408
|
'Periodic Background Sync': {
|
|
368
409
|
regEx: /periodicSync\.register\s*\(/g,
|
|
@@ -372,6 +413,7 @@ export default {
|
|
|
372
413
|
documentation:
|
|
373
414
|
'https://developer.chrome.com/articles/periodic-background-sync/',
|
|
374
415
|
blinkFeatureID: 2931,
|
|
416
|
+
chromeStatusID: 5689383275462656,
|
|
375
417
|
},
|
|
376
418
|
'Persistent Storage': {
|
|
377
419
|
regEx: /navigator\.storage\.persist\s*\(\)/g,
|
|
@@ -382,6 +424,7 @@ export default {
|
|
|
382
424
|
documentation:
|
|
383
425
|
'https://developer.mozilla.org/en-US/docs/Web/API/StorageManager/persist',
|
|
384
426
|
blinkFeatureID: 1369,
|
|
427
|
+
chromeStatusID: 5715811364765696,
|
|
385
428
|
},
|
|
386
429
|
'Storage Buckets': {
|
|
387
430
|
regEx: /navigator\.storageBuckets\.open\s*\(/g,
|
|
@@ -390,6 +433,7 @@ export default {
|
|
|
390
433
|
featureDetection: `(async () => 'storageBuckets' in navigator)()`,
|
|
391
434
|
documentation: 'https://developer.chrome.com/blog/storage-buckets/',
|
|
392
435
|
blinkFeatureID: 4378,
|
|
436
|
+
chromeStatusID: 5739224579964928,
|
|
393
437
|
},
|
|
394
438
|
'Pointer Lock (unadjustedMovement)': {
|
|
395
439
|
regEx: /unadjustedMovement\s*\:\s*/g,
|
|
@@ -409,6 +453,7 @@ export default {
|
|
|
409
453
|
featureDetection: `(async () => 'HTMLParagraphElement' in self ? await (async () => { try { return !!await document.createElement("p").requestPointerLock({ unadjustedMovement: true }) } catch { return 'requestPointerLock' in HTMLParagraphElement.prototype } })() : undefined)()`,
|
|
410
454
|
documentation: 'https://web.dev/disable-mouse-acceleration/',
|
|
411
455
|
blinkFeatureID: 3027,
|
|
456
|
+
chromeStatusID: 5723553087356928,
|
|
412
457
|
},
|
|
413
458
|
'Protocol Handlers': {
|
|
414
459
|
regEx: /"protocol_handlers"/g,
|
|
@@ -418,6 +463,7 @@ export default {
|
|
|
418
463
|
documentation:
|
|
419
464
|
'https://developer.chrome.com/articles/url-protocol-handler/',
|
|
420
465
|
blinkFeatureID: 3884,
|
|
466
|
+
chromeStatusID: 5151703944921088,
|
|
421
467
|
},
|
|
422
468
|
'Push': {
|
|
423
469
|
regEx: /\.pushManager\.subscribe\s*\(/g,
|
|
@@ -429,6 +475,7 @@ export default {
|
|
|
429
475
|
featureDetection: `(async () => 'serviceWorker' in navigator && 'pushManager' in (await navigator.serviceWorker?.ready || self.registration))()`,
|
|
430
476
|
documentation: 'https://developer.mozilla.org/en-US/docs/Web/API/Push_API',
|
|
431
477
|
blinkFeatureID: 769,
|
|
478
|
+
chromeStatusID: 5416033485586432,
|
|
432
479
|
},
|
|
433
480
|
'Relative Orientation Sensor': {
|
|
434
481
|
regEx: /new\s+RelativeOrientationSensor\s*\(/g,
|
|
@@ -437,6 +484,7 @@ export default {
|
|
|
437
484
|
featureDetection: `(async () => 'RelativeOrientationSensor' in self)()`,
|
|
438
485
|
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
439
486
|
blinkFeatureID: 2019,
|
|
487
|
+
chromeStatusID: 5698781827825664,
|
|
440
488
|
},
|
|
441
489
|
'Screen Wake Lock': {
|
|
442
490
|
regEx: /navigator\.wakeLock\.request\s*\(/g,
|
|
@@ -445,6 +493,7 @@ export default {
|
|
|
445
493
|
featureDetection: `(async () => 'wakeLock' in navigator)()`,
|
|
446
494
|
documentation: 'https://developer.chrome.com/articles/wake-lock/',
|
|
447
495
|
blinkFeatureID: 3005,
|
|
496
|
+
chromeStatusID: 4636879949398016,
|
|
448
497
|
},
|
|
449
498
|
'Service Worker': {
|
|
450
499
|
regEx: /navigator\.serviceWorker\.register\s*\(/g,
|
|
@@ -454,6 +503,7 @@ export default {
|
|
|
454
503
|
documentation:
|
|
455
504
|
'https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API',
|
|
456
505
|
blinkFeatureID: 990,
|
|
506
|
+
chromeStatusID: 6561526227927040,
|
|
457
507
|
},
|
|
458
508
|
'Shape Detection (Barcodes)': {
|
|
459
509
|
regEx: /new\s+BarcodeDetector\s*\(/g,
|
|
@@ -462,6 +512,7 @@ export default {
|
|
|
462
512
|
featureDetection: `(async () => 'BarcodeDetector' in self)()`,
|
|
463
513
|
documentation: 'https://developer.chrome.com/articles/shape-detection/',
|
|
464
514
|
blinkFeatureID: 3711,
|
|
515
|
+
chromeStatusID: 4757990523535360,
|
|
465
516
|
},
|
|
466
517
|
'Shape Detection (Faces)': {
|
|
467
518
|
regEx: /new\s+FaceDetector\s*\(/g,
|
|
@@ -470,6 +521,7 @@ export default {
|
|
|
470
521
|
featureDetection: `(async () => 'FaceDetector' in self)()`,
|
|
471
522
|
documentation: 'https://developer.chrome.com/articles/shape-detection/',
|
|
472
523
|
blinkFeatureID: 3712,
|
|
524
|
+
chromeStatusID: 5678216012365824,
|
|
473
525
|
},
|
|
474
526
|
'Shape Detection (Texts)': {
|
|
475
527
|
regEx: /new\s+TextDetector\s*\(/g,
|
|
@@ -478,6 +530,7 @@ export default {
|
|
|
478
530
|
featureDetection: `(async () => 'TextDetector' in self)()`,
|
|
479
531
|
documentation: 'https://developer.chrome.com/articles/shape-detection/',
|
|
480
532
|
blinkFeatureID: 3713,
|
|
533
|
+
chromeStatusID: 5644087665360896,
|
|
481
534
|
},
|
|
482
535
|
'Shortcuts': {
|
|
483
536
|
regEx: /"shortcuts"/g,
|
|
@@ -486,6 +539,7 @@ export default {
|
|
|
486
539
|
featureDetection: `(async () => undefined)()`,
|
|
487
540
|
documentation: 'https://web.dev/app-shortcuts/',
|
|
488
541
|
blinkFeatureID: undefined,
|
|
542
|
+
chromeStatusID: 5706099464339456,
|
|
489
543
|
},
|
|
490
544
|
'Storage Estimation': {
|
|
491
545
|
regEx: /navigator\.storage\.estimate\s*\(\)/g,
|
|
@@ -496,6 +550,7 @@ export default {
|
|
|
496
550
|
documentation:
|
|
497
551
|
'https://developer.mozilla.org/en-US/docs/Web/API/StorageManager/estimate',
|
|
498
552
|
blinkFeatureID: 1371,
|
|
553
|
+
chromeStatusID: 5630353511284736,
|
|
499
554
|
},
|
|
500
555
|
'Tabbed Application Mode': {
|
|
501
556
|
regEx: /"tabbed"/g,
|
|
@@ -504,6 +559,7 @@ export default {
|
|
|
504
559
|
featureDetection: `(async () => undefined)()`,
|
|
505
560
|
documentation: 'https://web.dev/tabbed-application-mode/',
|
|
506
561
|
blinkFeatureID: undefined,
|
|
562
|
+
chromeStatusID: 5128143454076928,
|
|
507
563
|
},
|
|
508
564
|
'VirtualKeyboard': {
|
|
509
565
|
regEx: /navigator\.virtualKeyboard/g,
|
|
@@ -513,6 +569,7 @@ export default {
|
|
|
513
569
|
documentation:
|
|
514
570
|
'https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/VirtualKeyboardAPI/explainer.md',
|
|
515
571
|
blinkFeatureID: undefined,
|
|
572
|
+
chromeStatusID: 5717448231747584,
|
|
516
573
|
},
|
|
517
574
|
'Web App Link Handling': {
|
|
518
575
|
regEx: /"handle_links"/g,
|
|
@@ -522,6 +579,7 @@ export default {
|
|
|
522
579
|
documentation:
|
|
523
580
|
'https://github.com/WICG/pwa-url-handler/blob/main/handle_links/explainer.md',
|
|
524
581
|
blinkFeatureID: undefined,
|
|
582
|
+
chromeStatusID: 5740751225880576,
|
|
525
583
|
},
|
|
526
584
|
'Web Audio': {
|
|
527
585
|
regEx: /new\s+AudioContext\s*\(/g,
|
|
@@ -531,6 +589,7 @@ export default {
|
|
|
531
589
|
documentation:
|
|
532
590
|
'https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API',
|
|
533
591
|
blinkFeatureID: 1698,
|
|
592
|
+
chromeStatusID: 6261718720184320,
|
|
534
593
|
},
|
|
535
594
|
'Web Share': {
|
|
536
595
|
regEx: /navigator\.share\s*\(/g,
|
|
@@ -539,6 +598,7 @@ export default {
|
|
|
539
598
|
featureDetection: `(async () => 'share' in navigator)()`,
|
|
540
599
|
documentation: 'https://web.dev/web-share/',
|
|
541
600
|
blinkFeatureID: 1501,
|
|
601
|
+
chromeStatusID: 5668769141620736,
|
|
542
602
|
},
|
|
543
603
|
'Web Share (Files)': {
|
|
544
604
|
regEx: /navigator\.canShare\s*\(/g,
|
|
@@ -547,6 +607,7 @@ export default {
|
|
|
547
607
|
featureDetection: `(async () => 'canShare' in navigator)()`,
|
|
548
608
|
documentation: 'https://web.dev/web-share/',
|
|
549
609
|
blinkFeatureID: 2737,
|
|
610
|
+
chromeStatusID: 4777349178458112,
|
|
550
611
|
},
|
|
551
612
|
'Web Share Target': {
|
|
552
613
|
regEx: /"share_target"/g,
|
|
@@ -555,6 +616,7 @@ export default {
|
|
|
555
616
|
featureDetection: `(async () => undefined)()`,
|
|
556
617
|
documentation: 'https://developer.chrome.com/articles/web-share-target/',
|
|
557
618
|
blinkFeatureID: undefined,
|
|
619
|
+
chromeStatusID: 5662315307335680,
|
|
558
620
|
},
|
|
559
621
|
'Web Share Target (Files)': {
|
|
560
622
|
regEx: /"enctype"\s*\:\s*"multipart\/form\-data"/g,
|
|
@@ -563,6 +625,7 @@ export default {
|
|
|
563
625
|
featureDetection: `(async () => undefined)()`,
|
|
564
626
|
documentation: 'https://developer.chrome.com/articles/web-share-target/',
|
|
565
627
|
blinkFeatureID: undefined,
|
|
628
|
+
chromeStatusID: 6124071381106688,
|
|
566
629
|
},
|
|
567
630
|
'Web Bluetooth': {
|
|
568
631
|
regEx: /navigator\.bluetooth\.requestDevice\s*\(/g,
|
|
@@ -571,6 +634,7 @@ export default {
|
|
|
571
634
|
featureDetection: `(async () => 'bluetooth' in navigator)()`,
|
|
572
635
|
documentation: 'https://developer.chrome.com/articles/bluetooth/',
|
|
573
636
|
blinkFeatureID: 1670,
|
|
637
|
+
chromeStatusID: 5264933985976320,
|
|
574
638
|
},
|
|
575
639
|
'WebCodecs': {
|
|
576
640
|
regEx: /new\s+MediaStreamTrackProcessor\s*\(/g,
|
|
@@ -579,6 +643,7 @@ export default {
|
|
|
579
643
|
featureDetection: `(async () => 'MediaStreamTrackProcessor' in self)()`,
|
|
580
644
|
documentation: 'https://developer.chrome.com/articles/webcodecs/',
|
|
581
645
|
blinkFeatureID: 3728,
|
|
646
|
+
chromeStatusID: 5669293909868544,
|
|
582
647
|
},
|
|
583
648
|
'WebGPU': {
|
|
584
649
|
regEx: /navigator\.gpu\.requestAdapter\s*\(/g,
|
|
@@ -587,6 +652,7 @@ export default {
|
|
|
587
652
|
featureDetection: `(async () => 'gpu' in navigator)()`,
|
|
588
653
|
documentation: 'https://developer.chrome.com/docs/web-platform/webgpu/',
|
|
589
654
|
blinkFeatureID: 3888,
|
|
655
|
+
chromeStatusID: 6213121689518080,
|
|
590
656
|
},
|
|
591
657
|
'WebHID': {
|
|
592
658
|
regEx: /navigator\.hid\.requestDevice\s*\(/g,
|
|
@@ -595,6 +661,7 @@ export default {
|
|
|
595
661
|
featureDetection: `(async () => 'hid' in navigator)()`,
|
|
596
662
|
documentation: 'https://developer.chrome.com/articles/hid/',
|
|
597
663
|
blinkFeatureID: 2866,
|
|
664
|
+
chromeStatusID: 5172464636133376,
|
|
598
665
|
},
|
|
599
666
|
'Web MIDI': {
|
|
600
667
|
regEx: /navigator\.requestMIDIAccess\s*\(/g,
|
|
@@ -604,6 +671,7 @@ export default {
|
|
|
604
671
|
documentation:
|
|
605
672
|
'https://developer.mozilla.org/en-US/docs/Web/API/Web_MIDI_API',
|
|
606
673
|
blinkFeatureID: 2029,
|
|
674
|
+
chromeStatusID: 4923613069180928,
|
|
607
675
|
},
|
|
608
676
|
'Web NFC': {
|
|
609
677
|
regEx: /new\s+NDEFReader\s*\(/g,
|
|
@@ -612,6 +680,7 @@ export default {
|
|
|
612
680
|
featureDetection: `(async () => 'NDEFReader' in self)()`,
|
|
613
681
|
documentation: 'https://developer.chrome.com/articles/nfc/',
|
|
614
682
|
blinkFeatureID: 3094,
|
|
683
|
+
chromeStatusID: 6261030015467520,
|
|
615
684
|
},
|
|
616
685
|
'WebOTP': {
|
|
617
686
|
regEx: /transport\s*\:\s*\[["']sms["']\]/g,
|
|
@@ -620,6 +689,7 @@ export default {
|
|
|
620
689
|
featureDetection: `(async () => 'OTPCredential' in self)()`,
|
|
621
690
|
documentation: 'https://developer.chrome.com/articles/web-otp/',
|
|
622
691
|
blinkFeatureID: 2880,
|
|
692
|
+
chromeStatusID: 5873577578463232,
|
|
623
693
|
},
|
|
624
694
|
'Web Serial': {
|
|
625
695
|
regEx: /navigator\.serial\.requestPort\s*\(/g,
|
|
@@ -628,6 +698,7 @@ export default {
|
|
|
628
698
|
featureDetection: `(async () => 'serial' in navigator)()`,
|
|
629
699
|
documentation: 'https://developer.chrome.com/articles/serial/',
|
|
630
700
|
blinkFeatureID: 2546,
|
|
701
|
+
chromeStatusID: 6577673212002304,
|
|
631
702
|
},
|
|
632
703
|
'WebSocketStream': {
|
|
633
704
|
regEx: /new\s+WebSocketStream\s*\(/g,
|
|
@@ -636,6 +707,7 @@ export default {
|
|
|
636
707
|
featureDetection: `(async () => 'WebSocketStream' in self)()`,
|
|
637
708
|
documentation: 'https://developer.chrome.com/articles/websocketstream/',
|
|
638
709
|
blinkFeatureID: 3018,
|
|
710
|
+
chromeStatusID: 5189728691290112,
|
|
639
711
|
},
|
|
640
712
|
'WebTransport': {
|
|
641
713
|
regEx: /new\s+WebTransport\s*\(/g,
|
|
@@ -644,6 +716,7 @@ export default {
|
|
|
644
716
|
featureDetection: `(async () => 'WebTransport' in self)()`,
|
|
645
717
|
documentation: 'https://developer.chrome.com/articles/webtransport/',
|
|
646
718
|
blinkFeatureID: 3472,
|
|
719
|
+
chromeStatusID: 4854144902889472,
|
|
647
720
|
},
|
|
648
721
|
'WebUSB': {
|
|
649
722
|
regEx: /navigator\.usb\.requestDevice\s*\(/g,
|
|
@@ -652,6 +725,7 @@ export default {
|
|
|
652
725
|
featureDetection: `(async () => 'usb' in navigator)()`,
|
|
653
726
|
documentation: 'https://developer.chrome.com/articles/usb/',
|
|
654
727
|
blinkFeatureID: 1520,
|
|
728
|
+
chromeStatusID: 5651917954875392,
|
|
655
729
|
},
|
|
656
730
|
'Window Controls Overlay': {
|
|
657
731
|
regEx: /"window\-controls\-overlay"/g,
|
|
@@ -660,5 +734,6 @@ export default {
|
|
|
660
734
|
featureDetection: `(async () => 'windowControlsOverlay' in navigator)()`,
|
|
661
735
|
documentation: 'https://web.dev/window-controls-overlay/',
|
|
662
736
|
blinkFeatureID: 3902,
|
|
737
|
+
chromeStatusID: 5741247866077184,
|
|
663
738
|
},
|
|
664
739
|
};
|