fugu-api-data 1.12.1 → 1.13.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 +52 -36
- package/patterns.mjs +52 -36
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fugu-api-data",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.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.0",
|
|
27
|
-
"prettier": "^2.
|
|
27
|
+
"prettier": "^2.8.0"
|
|
28
28
|
}
|
|
29
29
|
}
|
package/patterns.js
CHANGED
|
@@ -4,7 +4,7 @@ const patterns = {
|
|
|
4
4
|
where: 'JavaScript',
|
|
5
5
|
supported: (async () => 'AbsoluteOrientationSensor' in self)(),
|
|
6
6
|
featureDetection: `(async () => 'AbsoluteOrientationSensor' in self)()`,
|
|
7
|
-
documentation: 'https://
|
|
7
|
+
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
8
8
|
blinkFeatureID: 1900,
|
|
9
9
|
},
|
|
10
10
|
'Accelerometer': {
|
|
@@ -12,7 +12,7 @@ const patterns = {
|
|
|
12
12
|
where: 'JavaScript',
|
|
13
13
|
supported: (async () => 'Accelerometer' in self)(),
|
|
14
14
|
featureDetection: `(async () => 'Accelerometer' in self)()`,
|
|
15
|
-
documentation: 'https://
|
|
15
|
+
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
16
16
|
blinkFeatureID: 1899,
|
|
17
17
|
},
|
|
18
18
|
'Add to Home Screen': {
|
|
@@ -29,7 +29,7 @@ const patterns = {
|
|
|
29
29
|
where: 'JavaScript',
|
|
30
30
|
supported: (async () => 'AmbientLightSensor' in self)(),
|
|
31
31
|
featureDetection: `(async () => 'AmbientLightSensor' in self)()`,
|
|
32
|
-
documentation: 'https://
|
|
32
|
+
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
33
33
|
blinkFeatureID: 1901,
|
|
34
34
|
},
|
|
35
35
|
'Async Clipboard': {
|
|
@@ -76,7 +76,7 @@ const patterns = {
|
|
|
76
76
|
where: 'JavaScript',
|
|
77
77
|
supported: (async () => 'setAppBadge' in navigator)(),
|
|
78
78
|
featureDetection: `(async () => 'setAppBadge' in navigator)()`,
|
|
79
|
-
documentation: 'https://
|
|
79
|
+
documentation: 'https://developer.chrome.com/articles/badging-api/',
|
|
80
80
|
blinkFeatureID: 2726,
|
|
81
81
|
},
|
|
82
82
|
'Cache Storage': {
|
|
@@ -101,7 +101,8 @@ const patterns = {
|
|
|
101
101
|
where: 'JavaScript',
|
|
102
102
|
supported: (async () => 'ComputePressureObserver' in self)(),
|
|
103
103
|
featureDetection: `(async () => 'ComputePressureObserver' in self)()`,
|
|
104
|
-
documentation:
|
|
104
|
+
documentation:
|
|
105
|
+
'https://developer.chrome.com/docs/web-platform/compute-pressure/',
|
|
105
106
|
blinkFeatureID: 3899,
|
|
106
107
|
},
|
|
107
108
|
'Contact Picker': {
|
|
@@ -109,7 +110,7 @@ const patterns = {
|
|
|
109
110
|
where: 'JavaScript',
|
|
110
111
|
supported: (async () => 'contacts' in navigator)(),
|
|
111
112
|
featureDetection: `(async () => 'contacts' in navigator)()`,
|
|
112
|
-
documentation: 'https://
|
|
113
|
+
documentation: 'https://developer.chrome.com/articles/contact-picker/',
|
|
113
114
|
blinkFeatureID: 2993,
|
|
114
115
|
},
|
|
115
116
|
'Content Index': {
|
|
@@ -120,7 +121,8 @@ const patterns = {
|
|
|
120
121
|
'index' in
|
|
121
122
|
((await navigator.serviceWorker?.ready) || self.registration))(),
|
|
122
123
|
featureDetection: `(async () => 'serviceWorker' in navigator && 'index' in (await navigator.serviceWorker?.ready || self.registration))()`,
|
|
123
|
-
documentation:
|
|
124
|
+
documentation:
|
|
125
|
+
'https://developer.chrome.com/articles/content-indexing-api/',
|
|
124
126
|
blinkFeatureID: 2985,
|
|
125
127
|
},
|
|
126
128
|
'Credential Management': {
|
|
@@ -164,7 +166,7 @@ const patterns = {
|
|
|
164
166
|
where: 'JavaScript',
|
|
165
167
|
supported: (async () => 'EyeDropper' in self)(),
|
|
166
168
|
featureDetection: `(async () => 'EyeDropper' in self)()`,
|
|
167
|
-
documentation: 'https://
|
|
169
|
+
documentation: 'https://developer.chrome.com/articles/eyedropper/',
|
|
168
170
|
blinkFeatureID: undefined,
|
|
169
171
|
},
|
|
170
172
|
'File Handling': {
|
|
@@ -173,7 +175,7 @@ const patterns = {
|
|
|
173
175
|
supported: (async () =>
|
|
174
176
|
'launchQueue' in self && 'files' in LaunchParams.prototype)(),
|
|
175
177
|
featureDetection: `(async () => 'launchQueue' in self && 'files' in LaunchParams.prototype)()`,
|
|
176
|
-
documentation: 'https://
|
|
178
|
+
documentation: 'https://developer.chrome.com/articles/file-handling/',
|
|
177
179
|
blinkFeatureID: 3875,
|
|
178
180
|
},
|
|
179
181
|
'File System Access': {
|
|
@@ -182,9 +184,18 @@ const patterns = {
|
|
|
182
184
|
where: 'JavaScript',
|
|
183
185
|
supported: (async () => 'showOpenFilePicker' in self)(),
|
|
184
186
|
featureDetection: `(async () => 'showOpenFilePicker' in self)()`,
|
|
185
|
-
documentation: 'https://
|
|
187
|
+
documentation: 'https://developer.chrome.com/articles/file-system-access/',
|
|
186
188
|
blinkFeatureID: 3340,
|
|
187
189
|
},
|
|
190
|
+
'Origin Private File System': {
|
|
191
|
+
regEx: /navigator\.storage\.getDirectory\s*\(\)/g,
|
|
192
|
+
where: 'JavaScript',
|
|
193
|
+
supported: (async () => 'getDirectory' in StorageManager.prototype)(),
|
|
194
|
+
featureDetection: `(async () => 'getDirectory' in StorageManager.prototype)()`,
|
|
195
|
+
documentation:
|
|
196
|
+
'https://developer.chrome.com/articles/file-system-access/#accessing-the-origin-private-file-system',
|
|
197
|
+
blinkFeatureID: 3428,
|
|
198
|
+
},
|
|
188
199
|
'Gamepad': {
|
|
189
200
|
regEx: /navigator\.getGamepads\s*\(/g,
|
|
190
201
|
where: 'JavaScript',
|
|
@@ -206,7 +217,7 @@ const patterns = {
|
|
|
206
217
|
where: 'JavaScript',
|
|
207
218
|
supported: (async () => 'GravitySensor' in self)(),
|
|
208
219
|
featureDetection: `(async () => 'GravitySensor' in self)()`,
|
|
209
|
-
documentation: 'https://
|
|
220
|
+
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
210
221
|
blinkFeatureID: 3795,
|
|
211
222
|
},
|
|
212
223
|
'Gyroscope': {
|
|
@@ -214,7 +225,7 @@ const patterns = {
|
|
|
214
225
|
where: 'JavaScript',
|
|
215
226
|
supported: (async () => 'Gyroscope' in self)(),
|
|
216
227
|
featureDetection: `(async () => 'Gyroscope' in self)()`,
|
|
217
|
-
documentation: 'https://
|
|
228
|
+
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
218
229
|
blinkFeatureID: 1906,
|
|
219
230
|
},
|
|
220
231
|
'Handwriting Recognition': {
|
|
@@ -222,7 +233,8 @@ const patterns = {
|
|
|
222
233
|
where: 'JavaScript',
|
|
223
234
|
supported: (async () => 'queryHandwritingRecognizerSupport' in navigator)(),
|
|
224
235
|
featureDetection: `(async () => 'queryHandwritingRecognizerSupport' in navigator)()`,
|
|
225
|
-
documentation:
|
|
236
|
+
documentation:
|
|
237
|
+
'https://developer.chrome.com/docs/web-platform/handwriting-recognition/',
|
|
226
238
|
blinkFeatureID: 3893,
|
|
227
239
|
},
|
|
228
240
|
'HapticsDevice': {
|
|
@@ -239,7 +251,7 @@ const patterns = {
|
|
|
239
251
|
where: 'JavaScript',
|
|
240
252
|
supported: (async () => 'IdleDetector' in self)(),
|
|
241
253
|
featureDetection: `(async () => 'IdleDetector' in self)()`,
|
|
242
|
-
documentation: 'https://
|
|
254
|
+
documentation: 'https://developer.chrome.com/articles/idle-detection/',
|
|
243
255
|
blinkFeatureID: 2834,
|
|
244
256
|
},
|
|
245
257
|
'Ink': {
|
|
@@ -259,7 +271,7 @@ const patterns = {
|
|
|
259
271
|
'MediaStreamTrackGenerator' in self)(),
|
|
260
272
|
featureDetection: `(async () => 'MediaStreamTrackProcessor' in self && 'MediaStreamTrackGenerator' in self)()`,
|
|
261
273
|
documentation:
|
|
262
|
-
'https://
|
|
274
|
+
'https://developer.chrome.com/articles/mediastreamtrack-insertable-media-processing/',
|
|
263
275
|
blinkFeatureID: 3729,
|
|
264
276
|
},
|
|
265
277
|
'Launch Handler': {
|
|
@@ -268,7 +280,8 @@ const patterns = {
|
|
|
268
280
|
supported: (async () =>
|
|
269
281
|
'launchQueue' in self && 'targetURL' in LaunchParams.prototype)(),
|
|
270
282
|
featureDetection: `(async () => 'launchQueue' in self && 'targetURL' in LaunchParams.prototype)()`,
|
|
271
|
-
documentation:
|
|
283
|
+
documentation:
|
|
284
|
+
'https://developer.chrome.com/docs/web-platform/launch-handler/',
|
|
272
285
|
blinkFeatureID: undefined,
|
|
273
286
|
},
|
|
274
287
|
'Linear Acceleration Sensor': {
|
|
@@ -276,7 +289,7 @@ const patterns = {
|
|
|
276
289
|
where: 'JavaScript',
|
|
277
290
|
supported: (async () => 'LinearAccelerationSensor' in self)(),
|
|
278
291
|
featureDetection: `(async () => 'LinearAccelerationSensor' in self)()`,
|
|
279
|
-
documentation: 'https://
|
|
292
|
+
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
280
293
|
blinkFeatureID: 2051,
|
|
281
294
|
},
|
|
282
295
|
'Local Font Access': {
|
|
@@ -284,7 +297,7 @@ const patterns = {
|
|
|
284
297
|
where: 'JavaScript',
|
|
285
298
|
supported: (async () => 'queryLocalFonts' in self)(),
|
|
286
299
|
featureDetection: `(async () => 'queryLocalFonts' in self)()`,
|
|
287
|
-
documentation: 'https://
|
|
300
|
+
documentation: 'https://developer.chrome.com/articles/local-fonts/',
|
|
288
301
|
blinkFeatureID: 4211,
|
|
289
302
|
},
|
|
290
303
|
'Magnetometer': {
|
|
@@ -292,7 +305,7 @@ const patterns = {
|
|
|
292
305
|
where: 'JavaScript',
|
|
293
306
|
supported: (async () => 'Magnetometer' in self)(),
|
|
294
307
|
featureDetection: `(async () => 'Magnetometer' in self)()`,
|
|
295
|
-
documentation: 'https://
|
|
308
|
+
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
296
309
|
blinkFeatureID: 1907,
|
|
297
310
|
},
|
|
298
311
|
'Media Capabilities': {
|
|
@@ -319,7 +332,8 @@ const patterns = {
|
|
|
319
332
|
where: 'JavaScript',
|
|
320
333
|
supported: (async () => 'getScreens' in self)(),
|
|
321
334
|
featureDetection: `(async () => 'getScreens' in self)()`,
|
|
322
|
-
documentation:
|
|
335
|
+
documentation:
|
|
336
|
+
'https://developer.chrome.com/articles/multi-screen-window-placement/',
|
|
323
337
|
blinkFeatureID: 3388,
|
|
324
338
|
},
|
|
325
339
|
'Navigation Preload': {
|
|
@@ -356,7 +370,8 @@ const patterns = {
|
|
|
356
370
|
where: 'JavaScript',
|
|
357
371
|
supported: (async () => 'PeriodicSyncManager' in self)(),
|
|
358
372
|
featureDetection: `(async () => 'PeriodicSyncManager' in self)()`,
|
|
359
|
-
documentation:
|
|
373
|
+
documentation:
|
|
374
|
+
'https://developer.chrome.com/articles/periodic-background-sync/',
|
|
360
375
|
blinkFeatureID: 2931,
|
|
361
376
|
},
|
|
362
377
|
'Persistent Storage': {
|
|
@@ -393,7 +408,8 @@ const patterns = {
|
|
|
393
408
|
where: 'Web App Manifest',
|
|
394
409
|
supported: (async () => undefined)(),
|
|
395
410
|
featureDetection: `(async () => undefined)()`,
|
|
396
|
-
documentation:
|
|
411
|
+
documentation:
|
|
412
|
+
'https://developer.chrome.com/articles/url-protocol-handler/',
|
|
397
413
|
blinkFeatureID: 3884,
|
|
398
414
|
},
|
|
399
415
|
'Push': {
|
|
@@ -412,7 +428,7 @@ const patterns = {
|
|
|
412
428
|
where: 'JavaScript',
|
|
413
429
|
supported: (async () => 'RelativeOrientationSensor' in self)(),
|
|
414
430
|
featureDetection: `(async () => 'RelativeOrientationSensor' in self)()`,
|
|
415
|
-
documentation: 'https://
|
|
431
|
+
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
416
432
|
blinkFeatureID: 2019,
|
|
417
433
|
},
|
|
418
434
|
'Screen Wake Lock': {
|
|
@@ -420,7 +436,7 @@ const patterns = {
|
|
|
420
436
|
where: 'JavaScript',
|
|
421
437
|
supported: (async () => 'wakeLock' in navigator)(),
|
|
422
438
|
featureDetection: `(async () => 'wakeLock' in navigator)()`,
|
|
423
|
-
documentation: 'https://
|
|
439
|
+
documentation: 'https://developer.chrome.com/articles/wake-lock/',
|
|
424
440
|
blinkFeatureID: 3005,
|
|
425
441
|
},
|
|
426
442
|
'Service Worker': {
|
|
@@ -437,7 +453,7 @@ const patterns = {
|
|
|
437
453
|
where: 'JavaScript',
|
|
438
454
|
supported: (async () => 'BarcodeDetector' in self)(),
|
|
439
455
|
featureDetection: `(async () => 'BarcodeDetector' in self)()`,
|
|
440
|
-
documentation: 'https://
|
|
456
|
+
documentation: 'https://developer.chrome.com/articles/shape-detection/',
|
|
441
457
|
blinkFeatureID: 3711,
|
|
442
458
|
},
|
|
443
459
|
'Shape Detection (Faces)': {
|
|
@@ -445,7 +461,7 @@ const patterns = {
|
|
|
445
461
|
where: 'JavaScript',
|
|
446
462
|
supported: (async () => 'FaceDetector' in self)(),
|
|
447
463
|
featureDetection: `(async () => 'FaceDetector' in self)()`,
|
|
448
|
-
documentation: 'https://
|
|
464
|
+
documentation: 'https://developer.chrome.com/articles/shape-detection/',
|
|
449
465
|
blinkFeatureID: 3712,
|
|
450
466
|
},
|
|
451
467
|
'Shape Detection (Texts)': {
|
|
@@ -453,7 +469,7 @@ const patterns = {
|
|
|
453
469
|
where: 'JavaScript',
|
|
454
470
|
supported: (async () => 'TextDetector' in self)(),
|
|
455
471
|
featureDetection: `(async () => 'TextDetector' in self)()`,
|
|
456
|
-
documentation: 'https://
|
|
472
|
+
documentation: 'https://developer.chrome.com/articles/shape-detection/',
|
|
457
473
|
blinkFeatureID: 3713,
|
|
458
474
|
},
|
|
459
475
|
'Shortcuts': {
|
|
@@ -521,7 +537,7 @@ const patterns = {
|
|
|
521
537
|
where: 'Web App Manifest',
|
|
522
538
|
supported: (async () => undefined)(),
|
|
523
539
|
featureDetection: `(async () => undefined)()`,
|
|
524
|
-
documentation: 'https://
|
|
540
|
+
documentation: 'https://developer.chrome.com/articles/web-share-target/',
|
|
525
541
|
blinkFeatureID: undefined,
|
|
526
542
|
},
|
|
527
543
|
'Web Share Target (Files)': {
|
|
@@ -529,7 +545,7 @@ const patterns = {
|
|
|
529
545
|
where: 'Web App Manifest',
|
|
530
546
|
supported: (async () => undefined)(),
|
|
531
547
|
featureDetection: `(async () => undefined)()`,
|
|
532
|
-
documentation: 'https://
|
|
548
|
+
documentation: 'https://developer.chrome.com/articles/web-share-target/',
|
|
533
549
|
blinkFeatureID: undefined,
|
|
534
550
|
},
|
|
535
551
|
'WebBluetooth': {
|
|
@@ -537,7 +553,7 @@ const patterns = {
|
|
|
537
553
|
where: 'JavaScript',
|
|
538
554
|
supported: (async () => 'bluetooth' in navigator)(),
|
|
539
555
|
featureDetection: `(async () => 'bluetooth' in navigator)()`,
|
|
540
|
-
documentation: 'https://
|
|
556
|
+
documentation: 'https://developer.chrome.com/articles/bluetooth/',
|
|
541
557
|
blinkFeatureID: 1670,
|
|
542
558
|
},
|
|
543
559
|
'WebCodecs': {
|
|
@@ -545,7 +561,7 @@ const patterns = {
|
|
|
545
561
|
where: 'JavaScript',
|
|
546
562
|
supported: (async () => 'MediaStreamTrackProcessor' in self)(),
|
|
547
563
|
featureDetection: `(async () => 'MediaStreamTrackProcessor' in self)()`,
|
|
548
|
-
documentation: 'https://
|
|
564
|
+
documentation: 'https://developer.chrome.com/articles/webcodecs/',
|
|
549
565
|
blinkFeatureID: 3728,
|
|
550
566
|
},
|
|
551
567
|
'WebGPU': {
|
|
@@ -553,7 +569,7 @@ const patterns = {
|
|
|
553
569
|
where: 'JavaScript',
|
|
554
570
|
supported: (async () => 'gpu' in navigator)(),
|
|
555
571
|
featureDetection: `(async () => 'gpu' in navigator)()`,
|
|
556
|
-
documentation: 'https://
|
|
572
|
+
documentation: 'https://developer.chrome.com/docs/web-platform/webgpu/',
|
|
557
573
|
blinkFeatureID: 3888,
|
|
558
574
|
},
|
|
559
575
|
'WebHID': {
|
|
@@ -561,7 +577,7 @@ const patterns = {
|
|
|
561
577
|
where: 'JavaScript',
|
|
562
578
|
supported: (async () => 'hid' in navigator)(),
|
|
563
579
|
featureDetection: `(async () => 'hid' in navigator)()`,
|
|
564
|
-
documentation: 'https://
|
|
580
|
+
documentation: 'https://developer.chrome.com/articles/hid/',
|
|
565
581
|
blinkFeatureID: 2866,
|
|
566
582
|
},
|
|
567
583
|
'WebMIDI': {
|
|
@@ -594,7 +610,7 @@ const patterns = {
|
|
|
594
610
|
where: 'JavaScript',
|
|
595
611
|
supported: (async () => 'serial' in navigator)(),
|
|
596
612
|
featureDetection: `(async () => 'serial' in navigator)()`,
|
|
597
|
-
documentation: 'https://
|
|
613
|
+
documentation: 'https://developer.chrome.com/articles/serial/',
|
|
598
614
|
blinkFeatureID: 2546,
|
|
599
615
|
},
|
|
600
616
|
'WebSocketStream': {
|
|
@@ -602,7 +618,7 @@ const patterns = {
|
|
|
602
618
|
where: 'JavaScript',
|
|
603
619
|
supported: (async () => 'WebSocketStream' in self)(),
|
|
604
620
|
featureDetection: `(async () => 'WebSocketStream' in self)()`,
|
|
605
|
-
documentation: 'https://
|
|
621
|
+
documentation: 'https://developer.chrome.com/articles/websocketstream/',
|
|
606
622
|
blinkFeatureID: 3018,
|
|
607
623
|
},
|
|
608
624
|
'WebTransport': {
|
|
@@ -618,7 +634,7 @@ const patterns = {
|
|
|
618
634
|
where: 'JavaScript',
|
|
619
635
|
supported: (async () => 'usb' in navigator)(),
|
|
620
636
|
featureDetection: `(async () => 'usb' in navigator)()`,
|
|
621
|
-
documentation: 'https://
|
|
637
|
+
documentation: 'https://developer.chrome.com/articles/usb/',
|
|
622
638
|
blinkFeatureID: 1520,
|
|
623
639
|
},
|
|
624
640
|
'Window Controls Overlay': {
|
package/patterns.mjs
CHANGED
|
@@ -4,7 +4,7 @@ export default {
|
|
|
4
4
|
where: 'JavaScript',
|
|
5
5
|
supported: (async () => 'AbsoluteOrientationSensor' in self)(),
|
|
6
6
|
featureDetection: `(async () => 'AbsoluteOrientationSensor' in self)()`,
|
|
7
|
-
documentation: 'https://
|
|
7
|
+
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
8
8
|
blinkFeatureID: 1900,
|
|
9
9
|
},
|
|
10
10
|
'Accelerometer': {
|
|
@@ -12,7 +12,7 @@ export default {
|
|
|
12
12
|
where: 'JavaScript',
|
|
13
13
|
supported: (async () => 'Accelerometer' in self)(),
|
|
14
14
|
featureDetection: `(async () => 'Accelerometer' in self)()`,
|
|
15
|
-
documentation: 'https://
|
|
15
|
+
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
16
16
|
blinkFeatureID: 1899,
|
|
17
17
|
},
|
|
18
18
|
'Add to Home Screen': {
|
|
@@ -29,7 +29,7 @@ export default {
|
|
|
29
29
|
where: 'JavaScript',
|
|
30
30
|
supported: (async () => 'AmbientLightSensor' in self)(),
|
|
31
31
|
featureDetection: `(async () => 'AmbientLightSensor' in self)()`,
|
|
32
|
-
documentation: 'https://
|
|
32
|
+
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
33
33
|
blinkFeatureID: 1901,
|
|
34
34
|
},
|
|
35
35
|
'Async Clipboard': {
|
|
@@ -76,7 +76,7 @@ export default {
|
|
|
76
76
|
where: 'JavaScript',
|
|
77
77
|
supported: (async () => 'setAppBadge' in navigator)(),
|
|
78
78
|
featureDetection: `(async () => 'setAppBadge' in navigator)()`,
|
|
79
|
-
documentation: 'https://
|
|
79
|
+
documentation: 'https://developer.chrome.com/articles/badging-api/',
|
|
80
80
|
blinkFeatureID: 2726,
|
|
81
81
|
},
|
|
82
82
|
'Cache Storage': {
|
|
@@ -101,7 +101,8 @@ export default {
|
|
|
101
101
|
where: 'JavaScript',
|
|
102
102
|
supported: (async () => 'ComputePressureObserver' in self)(),
|
|
103
103
|
featureDetection: `(async () => 'ComputePressureObserver' in self)()`,
|
|
104
|
-
documentation:
|
|
104
|
+
documentation:
|
|
105
|
+
'https://developer.chrome.com/docs/web-platform/compute-pressure/',
|
|
105
106
|
blinkFeatureID: 3899,
|
|
106
107
|
},
|
|
107
108
|
'Contact Picker': {
|
|
@@ -109,7 +110,7 @@ export default {
|
|
|
109
110
|
where: 'JavaScript',
|
|
110
111
|
supported: (async () => 'contacts' in navigator)(),
|
|
111
112
|
featureDetection: `(async () => 'contacts' in navigator)()`,
|
|
112
|
-
documentation: 'https://
|
|
113
|
+
documentation: 'https://developer.chrome.com/articles/contact-picker/',
|
|
113
114
|
blinkFeatureID: 2993,
|
|
114
115
|
},
|
|
115
116
|
'Content Index': {
|
|
@@ -120,7 +121,8 @@ export default {
|
|
|
120
121
|
'index' in
|
|
121
122
|
((await navigator.serviceWorker?.ready) || self.registration))(),
|
|
122
123
|
featureDetection: `(async () => 'serviceWorker' in navigator && 'index' in (await navigator.serviceWorker?.ready || self.registration))()`,
|
|
123
|
-
documentation:
|
|
124
|
+
documentation:
|
|
125
|
+
'https://developer.chrome.com/articles/content-indexing-api/',
|
|
124
126
|
blinkFeatureID: 2985,
|
|
125
127
|
},
|
|
126
128
|
'Credential Management': {
|
|
@@ -164,7 +166,7 @@ export default {
|
|
|
164
166
|
where: 'JavaScript',
|
|
165
167
|
supported: (async () => 'EyeDropper' in self)(),
|
|
166
168
|
featureDetection: `(async () => 'EyeDropper' in self)()`,
|
|
167
|
-
documentation: 'https://
|
|
169
|
+
documentation: 'https://developer.chrome.com/articles/eyedropper/',
|
|
168
170
|
blinkFeatureID: undefined,
|
|
169
171
|
},
|
|
170
172
|
'File Handling': {
|
|
@@ -173,7 +175,7 @@ export default {
|
|
|
173
175
|
supported: (async () =>
|
|
174
176
|
'launchQueue' in self && 'files' in LaunchParams.prototype)(),
|
|
175
177
|
featureDetection: `(async () => 'launchQueue' in self && 'files' in LaunchParams.prototype)()`,
|
|
176
|
-
documentation: 'https://
|
|
178
|
+
documentation: 'https://developer.chrome.com/articles/file-handling/',
|
|
177
179
|
blinkFeatureID: 3875,
|
|
178
180
|
},
|
|
179
181
|
'File System Access': {
|
|
@@ -182,9 +184,18 @@ export default {
|
|
|
182
184
|
where: 'JavaScript',
|
|
183
185
|
supported: (async () => 'showOpenFilePicker' in self)(),
|
|
184
186
|
featureDetection: `(async () => 'showOpenFilePicker' in self)()`,
|
|
185
|
-
documentation: 'https://
|
|
187
|
+
documentation: 'https://developer.chrome.com/articles/file-system-access/',
|
|
186
188
|
blinkFeatureID: 3340,
|
|
187
189
|
},
|
|
190
|
+
'Origin Private File System': {
|
|
191
|
+
regEx: /navigator\.storage\.getDirectory\s*\(\)/g,
|
|
192
|
+
where: 'JavaScript',
|
|
193
|
+
supported: (async () => 'getDirectory' in StorageManager.prototype)(),
|
|
194
|
+
featureDetection: `(async () => 'getDirectory' in StorageManager.prototype)()`,
|
|
195
|
+
documentation:
|
|
196
|
+
'https://developer.chrome.com/articles/file-system-access/#accessing-the-origin-private-file-system',
|
|
197
|
+
blinkFeatureID: 3428,
|
|
198
|
+
},
|
|
188
199
|
'Gamepad': {
|
|
189
200
|
regEx: /navigator\.getGamepads\s*\(/g,
|
|
190
201
|
where: 'JavaScript',
|
|
@@ -206,7 +217,7 @@ export default {
|
|
|
206
217
|
where: 'JavaScript',
|
|
207
218
|
supported: (async () => 'GravitySensor' in self)(),
|
|
208
219
|
featureDetection: `(async () => 'GravitySensor' in self)()`,
|
|
209
|
-
documentation: 'https://
|
|
220
|
+
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
210
221
|
blinkFeatureID: 3795,
|
|
211
222
|
},
|
|
212
223
|
'Gyroscope': {
|
|
@@ -214,7 +225,7 @@ export default {
|
|
|
214
225
|
where: 'JavaScript',
|
|
215
226
|
supported: (async () => 'Gyroscope' in self)(),
|
|
216
227
|
featureDetection: `(async () => 'Gyroscope' in self)()`,
|
|
217
|
-
documentation: 'https://
|
|
228
|
+
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
218
229
|
blinkFeatureID: 1906,
|
|
219
230
|
},
|
|
220
231
|
'Handwriting Recognition': {
|
|
@@ -222,7 +233,8 @@ export default {
|
|
|
222
233
|
where: 'JavaScript',
|
|
223
234
|
supported: (async () => 'queryHandwritingRecognizerSupport' in navigator)(),
|
|
224
235
|
featureDetection: `(async () => 'queryHandwritingRecognizerSupport' in navigator)()`,
|
|
225
|
-
documentation:
|
|
236
|
+
documentation:
|
|
237
|
+
'https://developer.chrome.com/docs/web-platform/handwriting-recognition/',
|
|
226
238
|
blinkFeatureID: 3893,
|
|
227
239
|
},
|
|
228
240
|
'HapticsDevice': {
|
|
@@ -239,7 +251,7 @@ export default {
|
|
|
239
251
|
where: 'JavaScript',
|
|
240
252
|
supported: (async () => 'IdleDetector' in self)(),
|
|
241
253
|
featureDetection: `(async () => 'IdleDetector' in self)()`,
|
|
242
|
-
documentation: 'https://
|
|
254
|
+
documentation: 'https://developer.chrome.com/articles/idle-detection/',
|
|
243
255
|
blinkFeatureID: 2834,
|
|
244
256
|
},
|
|
245
257
|
'Ink': {
|
|
@@ -259,7 +271,7 @@ export default {
|
|
|
259
271
|
'MediaStreamTrackGenerator' in self)(),
|
|
260
272
|
featureDetection: `(async () => 'MediaStreamTrackProcessor' in self && 'MediaStreamTrackGenerator' in self)()`,
|
|
261
273
|
documentation:
|
|
262
|
-
'https://
|
|
274
|
+
'https://developer.chrome.com/articles/mediastreamtrack-insertable-media-processing/',
|
|
263
275
|
blinkFeatureID: 3729,
|
|
264
276
|
},
|
|
265
277
|
'Launch Handler': {
|
|
@@ -268,7 +280,8 @@ export default {
|
|
|
268
280
|
supported: (async () =>
|
|
269
281
|
'launchQueue' in self && 'targetURL' in LaunchParams.prototype)(),
|
|
270
282
|
featureDetection: `(async () => 'launchQueue' in self && 'targetURL' in LaunchParams.prototype)()`,
|
|
271
|
-
documentation:
|
|
283
|
+
documentation:
|
|
284
|
+
'https://developer.chrome.com/docs/web-platform/launch-handler/',
|
|
272
285
|
blinkFeatureID: undefined,
|
|
273
286
|
},
|
|
274
287
|
'Linear Acceleration Sensor': {
|
|
@@ -276,7 +289,7 @@ export default {
|
|
|
276
289
|
where: 'JavaScript',
|
|
277
290
|
supported: (async () => 'LinearAccelerationSensor' in self)(),
|
|
278
291
|
featureDetection: `(async () => 'LinearAccelerationSensor' in self)()`,
|
|
279
|
-
documentation: 'https://
|
|
292
|
+
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
280
293
|
blinkFeatureID: 2051,
|
|
281
294
|
},
|
|
282
295
|
'Local Font Access': {
|
|
@@ -284,7 +297,7 @@ export default {
|
|
|
284
297
|
where: 'JavaScript',
|
|
285
298
|
supported: (async () => 'queryLocalFonts' in self)(),
|
|
286
299
|
featureDetection: `(async () => 'queryLocalFonts' in self)()`,
|
|
287
|
-
documentation: 'https://
|
|
300
|
+
documentation: 'https://developer.chrome.com/articles/local-fonts/',
|
|
288
301
|
blinkFeatureID: 4211,
|
|
289
302
|
},
|
|
290
303
|
'Magnetometer': {
|
|
@@ -292,7 +305,7 @@ export default {
|
|
|
292
305
|
where: 'JavaScript',
|
|
293
306
|
supported: (async () => 'Magnetometer' in self)(),
|
|
294
307
|
featureDetection: `(async () => 'Magnetometer' in self)()`,
|
|
295
|
-
documentation: 'https://
|
|
308
|
+
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
296
309
|
blinkFeatureID: 1907,
|
|
297
310
|
},
|
|
298
311
|
'Media Capabilities': {
|
|
@@ -319,7 +332,8 @@ export default {
|
|
|
319
332
|
where: 'JavaScript',
|
|
320
333
|
supported: (async () => 'getScreens' in self)(),
|
|
321
334
|
featureDetection: `(async () => 'getScreens' in self)()`,
|
|
322
|
-
documentation:
|
|
335
|
+
documentation:
|
|
336
|
+
'https://developer.chrome.com/articles/multi-screen-window-placement/',
|
|
323
337
|
blinkFeatureID: 3388,
|
|
324
338
|
},
|
|
325
339
|
'Navigation Preload': {
|
|
@@ -356,7 +370,8 @@ export default {
|
|
|
356
370
|
where: 'JavaScript',
|
|
357
371
|
supported: (async () => 'PeriodicSyncManager' in self)(),
|
|
358
372
|
featureDetection: `(async () => 'PeriodicSyncManager' in self)()`,
|
|
359
|
-
documentation:
|
|
373
|
+
documentation:
|
|
374
|
+
'https://developer.chrome.com/articles/periodic-background-sync/',
|
|
360
375
|
blinkFeatureID: 2931,
|
|
361
376
|
},
|
|
362
377
|
'Persistent Storage': {
|
|
@@ -393,7 +408,8 @@ export default {
|
|
|
393
408
|
where: 'Web App Manifest',
|
|
394
409
|
supported: (async () => undefined)(),
|
|
395
410
|
featureDetection: `(async () => undefined)()`,
|
|
396
|
-
documentation:
|
|
411
|
+
documentation:
|
|
412
|
+
'https://developer.chrome.com/articles/url-protocol-handler/',
|
|
397
413
|
blinkFeatureID: 3884,
|
|
398
414
|
},
|
|
399
415
|
'Push': {
|
|
@@ -412,7 +428,7 @@ export default {
|
|
|
412
428
|
where: 'JavaScript',
|
|
413
429
|
supported: (async () => 'RelativeOrientationSensor' in self)(),
|
|
414
430
|
featureDetection: `(async () => 'RelativeOrientationSensor' in self)()`,
|
|
415
|
-
documentation: 'https://
|
|
431
|
+
documentation: 'https://developer.chrome.com/articles/generic-sensor/',
|
|
416
432
|
blinkFeatureID: 2019,
|
|
417
433
|
},
|
|
418
434
|
'Screen Wake Lock': {
|
|
@@ -420,7 +436,7 @@ export default {
|
|
|
420
436
|
where: 'JavaScript',
|
|
421
437
|
supported: (async () => 'wakeLock' in navigator)(),
|
|
422
438
|
featureDetection: `(async () => 'wakeLock' in navigator)()`,
|
|
423
|
-
documentation: 'https://
|
|
439
|
+
documentation: 'https://developer.chrome.com/articles/wake-lock/',
|
|
424
440
|
blinkFeatureID: 3005,
|
|
425
441
|
},
|
|
426
442
|
'Service Worker': {
|
|
@@ -437,7 +453,7 @@ export default {
|
|
|
437
453
|
where: 'JavaScript',
|
|
438
454
|
supported: (async () => 'BarcodeDetector' in self)(),
|
|
439
455
|
featureDetection: `(async () => 'BarcodeDetector' in self)()`,
|
|
440
|
-
documentation: 'https://
|
|
456
|
+
documentation: 'https://developer.chrome.com/articles/shape-detection/',
|
|
441
457
|
blinkFeatureID: 3711,
|
|
442
458
|
},
|
|
443
459
|
'Shape Detection (Faces)': {
|
|
@@ -445,7 +461,7 @@ export default {
|
|
|
445
461
|
where: 'JavaScript',
|
|
446
462
|
supported: (async () => 'FaceDetector' in self)(),
|
|
447
463
|
featureDetection: `(async () => 'FaceDetector' in self)()`,
|
|
448
|
-
documentation: 'https://
|
|
464
|
+
documentation: 'https://developer.chrome.com/articles/shape-detection/',
|
|
449
465
|
blinkFeatureID: 3712,
|
|
450
466
|
},
|
|
451
467
|
'Shape Detection (Texts)': {
|
|
@@ -453,7 +469,7 @@ export default {
|
|
|
453
469
|
where: 'JavaScript',
|
|
454
470
|
supported: (async () => 'TextDetector' in self)(),
|
|
455
471
|
featureDetection: `(async () => 'TextDetector' in self)()`,
|
|
456
|
-
documentation: 'https://
|
|
472
|
+
documentation: 'https://developer.chrome.com/articles/shape-detection/',
|
|
457
473
|
blinkFeatureID: 3713,
|
|
458
474
|
},
|
|
459
475
|
'Shortcuts': {
|
|
@@ -521,7 +537,7 @@ export default {
|
|
|
521
537
|
where: 'Web App Manifest',
|
|
522
538
|
supported: (async () => undefined)(),
|
|
523
539
|
featureDetection: `(async () => undefined)()`,
|
|
524
|
-
documentation: 'https://
|
|
540
|
+
documentation: 'https://developer.chrome.com/articles/web-share-target/',
|
|
525
541
|
blinkFeatureID: undefined,
|
|
526
542
|
},
|
|
527
543
|
'Web Share Target (Files)': {
|
|
@@ -529,7 +545,7 @@ export default {
|
|
|
529
545
|
where: 'Web App Manifest',
|
|
530
546
|
supported: (async () => undefined)(),
|
|
531
547
|
featureDetection: `(async () => undefined)()`,
|
|
532
|
-
documentation: 'https://
|
|
548
|
+
documentation: 'https://developer.chrome.com/articles/web-share-target/',
|
|
533
549
|
blinkFeatureID: undefined,
|
|
534
550
|
},
|
|
535
551
|
'WebBluetooth': {
|
|
@@ -537,7 +553,7 @@ export default {
|
|
|
537
553
|
where: 'JavaScript',
|
|
538
554
|
supported: (async () => 'bluetooth' in navigator)(),
|
|
539
555
|
featureDetection: `(async () => 'bluetooth' in navigator)()`,
|
|
540
|
-
documentation: 'https://
|
|
556
|
+
documentation: 'https://developer.chrome.com/articles/bluetooth/',
|
|
541
557
|
blinkFeatureID: 1670,
|
|
542
558
|
},
|
|
543
559
|
'WebCodecs': {
|
|
@@ -545,7 +561,7 @@ export default {
|
|
|
545
561
|
where: 'JavaScript',
|
|
546
562
|
supported: (async () => 'MediaStreamTrackProcessor' in self)(),
|
|
547
563
|
featureDetection: `(async () => 'MediaStreamTrackProcessor' in self)()`,
|
|
548
|
-
documentation: 'https://
|
|
564
|
+
documentation: 'https://developer.chrome.com/articles/webcodecs/',
|
|
549
565
|
blinkFeatureID: 3728,
|
|
550
566
|
},
|
|
551
567
|
'WebGPU': {
|
|
@@ -553,7 +569,7 @@ export default {
|
|
|
553
569
|
where: 'JavaScript',
|
|
554
570
|
supported: (async () => 'gpu' in navigator)(),
|
|
555
571
|
featureDetection: `(async () => 'gpu' in navigator)()`,
|
|
556
|
-
documentation: 'https://
|
|
572
|
+
documentation: 'https://developer.chrome.com/docs/web-platform/webgpu/',
|
|
557
573
|
blinkFeatureID: 3888,
|
|
558
574
|
},
|
|
559
575
|
'WebHID': {
|
|
@@ -561,7 +577,7 @@ export default {
|
|
|
561
577
|
where: 'JavaScript',
|
|
562
578
|
supported: (async () => 'hid' in navigator)(),
|
|
563
579
|
featureDetection: `(async () => 'hid' in navigator)()`,
|
|
564
|
-
documentation: 'https://
|
|
580
|
+
documentation: 'https://developer.chrome.com/articles/hid/',
|
|
565
581
|
blinkFeatureID: 2866,
|
|
566
582
|
},
|
|
567
583
|
'WebMIDI': {
|
|
@@ -594,7 +610,7 @@ export default {
|
|
|
594
610
|
where: 'JavaScript',
|
|
595
611
|
supported: (async () => 'serial' in navigator)(),
|
|
596
612
|
featureDetection: `(async () => 'serial' in navigator)()`,
|
|
597
|
-
documentation: 'https://
|
|
613
|
+
documentation: 'https://developer.chrome.com/articles/serial/',
|
|
598
614
|
blinkFeatureID: 2546,
|
|
599
615
|
},
|
|
600
616
|
'WebSocketStream': {
|
|
@@ -602,7 +618,7 @@ export default {
|
|
|
602
618
|
where: 'JavaScript',
|
|
603
619
|
supported: (async () => 'WebSocketStream' in self)(),
|
|
604
620
|
featureDetection: `(async () => 'WebSocketStream' in self)()`,
|
|
605
|
-
documentation: 'https://
|
|
621
|
+
documentation: 'https://developer.chrome.com/articles/websocketstream/',
|
|
606
622
|
blinkFeatureID: 3018,
|
|
607
623
|
},
|
|
608
624
|
'WebTransport': {
|
|
@@ -618,7 +634,7 @@ export default {
|
|
|
618
634
|
where: 'JavaScript',
|
|
619
635
|
supported: (async () => 'usb' in navigator)(),
|
|
620
636
|
featureDetection: `(async () => 'usb' in navigator)()`,
|
|
621
|
-
documentation: 'https://
|
|
637
|
+
documentation: 'https://developer.chrome.com/articles/usb/',
|
|
622
638
|
blinkFeatureID: 1520,
|
|
623
639
|
},
|
|
624
640
|
'Window Controls Overlay': {
|