File: types.go

package info (click to toggle)
golang-github-chromedp-cdproto 0.0~git20230109.6b041c6-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 4,584 kB
  • sloc: makefile: 2
file content (1917 lines) | stat: -rw-r--r-- 101,347 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
package page

// Code generated by cdproto-gen. DO NOT EDIT.

import (
	"fmt"

	"github.com/chromedp/cdproto/cdp"
	"github.com/chromedp/cdproto/network"
	"github.com/chromedp/cdproto/runtime"
	"github.com/mailru/easyjson"
	"github.com/mailru/easyjson/jlexer"
	"github.com/mailru/easyjson/jwriter"
)

// AdScriptID identifies the bottom-most script which caused the frame to be
// labelled as an ad.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-AdScriptId
type AdScriptID struct {
	ScriptID   runtime.ScriptID         `json:"scriptId"`   // Script Id of the bottom-most script which caused the frame to be labelled as an ad.
	DebuggerID runtime.UniqueDebuggerID `json:"debuggerId"` // Id of adScriptId's debugger.
}

// PermissionsPolicyFeature all Permissions Policy features. This enum should
// match the one defined in
// third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-PermissionsPolicyFeature
type PermissionsPolicyFeature string

// String returns the PermissionsPolicyFeature as string value.
func (t PermissionsPolicyFeature) String() string {
	return string(t)
}

// PermissionsPolicyFeature values.
const (
	PermissionsPolicyFeatureAccelerometer               PermissionsPolicyFeature = "accelerometer"
	PermissionsPolicyFeatureAmbientLightSensor          PermissionsPolicyFeature = "ambient-light-sensor"
	PermissionsPolicyFeatureAttributionReporting        PermissionsPolicyFeature = "attribution-reporting"
	PermissionsPolicyFeatureAutoplay                    PermissionsPolicyFeature = "autoplay"
	PermissionsPolicyFeatureBluetooth                   PermissionsPolicyFeature = "bluetooth"
	PermissionsPolicyFeatureBrowsingTopics              PermissionsPolicyFeature = "browsing-topics"
	PermissionsPolicyFeatureCamera                      PermissionsPolicyFeature = "camera"
	PermissionsPolicyFeatureChDpr                       PermissionsPolicyFeature = "ch-dpr"
	PermissionsPolicyFeatureChDeviceMemory              PermissionsPolicyFeature = "ch-device-memory"
	PermissionsPolicyFeatureChDownlink                  PermissionsPolicyFeature = "ch-downlink"
	PermissionsPolicyFeatureChEct                       PermissionsPolicyFeature = "ch-ect"
	PermissionsPolicyFeatureChPrefersColorScheme        PermissionsPolicyFeature = "ch-prefers-color-scheme"
	PermissionsPolicyFeatureChPrefersReducedMotion      PermissionsPolicyFeature = "ch-prefers-reduced-motion"
	PermissionsPolicyFeatureChRtt                       PermissionsPolicyFeature = "ch-rtt"
	PermissionsPolicyFeatureChSaveData                  PermissionsPolicyFeature = "ch-save-data"
	PermissionsPolicyFeatureChUa                        PermissionsPolicyFeature = "ch-ua"
	PermissionsPolicyFeatureChUaArch                    PermissionsPolicyFeature = "ch-ua-arch"
	PermissionsPolicyFeatureChUaBitness                 PermissionsPolicyFeature = "ch-ua-bitness"
	PermissionsPolicyFeatureChUaPlatform                PermissionsPolicyFeature = "ch-ua-platform"
	PermissionsPolicyFeatureChUaModel                   PermissionsPolicyFeature = "ch-ua-model"
	PermissionsPolicyFeatureChUaMobile                  PermissionsPolicyFeature = "ch-ua-mobile"
	PermissionsPolicyFeatureChUaFull                    PermissionsPolicyFeature = "ch-ua-full"
	PermissionsPolicyFeatureChUaFullVersion             PermissionsPolicyFeature = "ch-ua-full-version"
	PermissionsPolicyFeatureChUaFullVersionList         PermissionsPolicyFeature = "ch-ua-full-version-list"
	PermissionsPolicyFeatureChUaPlatformVersion         PermissionsPolicyFeature = "ch-ua-platform-version"
	PermissionsPolicyFeatureChUaReduced                 PermissionsPolicyFeature = "ch-ua-reduced"
	PermissionsPolicyFeatureChUaWow64                   PermissionsPolicyFeature = "ch-ua-wow64"
	PermissionsPolicyFeatureChViewportHeight            PermissionsPolicyFeature = "ch-viewport-height"
	PermissionsPolicyFeatureChViewportWidth             PermissionsPolicyFeature = "ch-viewport-width"
	PermissionsPolicyFeatureChWidth                     PermissionsPolicyFeature = "ch-width"
	PermissionsPolicyFeatureClipboardRead               PermissionsPolicyFeature = "clipboard-read"
	PermissionsPolicyFeatureClipboardWrite              PermissionsPolicyFeature = "clipboard-write"
	PermissionsPolicyFeatureComputePressure             PermissionsPolicyFeature = "compute-pressure"
	PermissionsPolicyFeatureCrossOriginIsolated         PermissionsPolicyFeature = "cross-origin-isolated"
	PermissionsPolicyFeatureDirectSockets               PermissionsPolicyFeature = "direct-sockets"
	PermissionsPolicyFeatureDisplayCapture              PermissionsPolicyFeature = "display-capture"
	PermissionsPolicyFeatureDocumentDomain              PermissionsPolicyFeature = "document-domain"
	PermissionsPolicyFeatureEncryptedMedia              PermissionsPolicyFeature = "encrypted-media"
	PermissionsPolicyFeatureExecutionWhileOutOfViewport PermissionsPolicyFeature = "execution-while-out-of-viewport"
	PermissionsPolicyFeatureExecutionWhileNotRendered   PermissionsPolicyFeature = "execution-while-not-rendered"
	PermissionsPolicyFeatureFocusWithoutUserActivation  PermissionsPolicyFeature = "focus-without-user-activation"
	PermissionsPolicyFeatureFullscreen                  PermissionsPolicyFeature = "fullscreen"
	PermissionsPolicyFeatureFrobulate                   PermissionsPolicyFeature = "frobulate"
	PermissionsPolicyFeatureGamepad                     PermissionsPolicyFeature = "gamepad"
	PermissionsPolicyFeatureGeolocation                 PermissionsPolicyFeature = "geolocation"
	PermissionsPolicyFeatureGyroscope                   PermissionsPolicyFeature = "gyroscope"
	PermissionsPolicyFeatureHid                         PermissionsPolicyFeature = "hid"
	PermissionsPolicyFeatureIdentityCredentialsGet      PermissionsPolicyFeature = "identity-credentials-get"
	PermissionsPolicyFeatureIdleDetection               PermissionsPolicyFeature = "idle-detection"
	PermissionsPolicyFeatureInterestCohort              PermissionsPolicyFeature = "interest-cohort"
	PermissionsPolicyFeatureJoinAdInterestGroup         PermissionsPolicyFeature = "join-ad-interest-group"
	PermissionsPolicyFeatureKeyboardMap                 PermissionsPolicyFeature = "keyboard-map"
	PermissionsPolicyFeatureLocalFonts                  PermissionsPolicyFeature = "local-fonts"
	PermissionsPolicyFeatureMagnetometer                PermissionsPolicyFeature = "magnetometer"
	PermissionsPolicyFeatureMicrophone                  PermissionsPolicyFeature = "microphone"
	PermissionsPolicyFeatureMidi                        PermissionsPolicyFeature = "midi"
	PermissionsPolicyFeatureOtpCredentials              PermissionsPolicyFeature = "otp-credentials"
	PermissionsPolicyFeaturePayment                     PermissionsPolicyFeature = "payment"
	PermissionsPolicyFeaturePictureInPicture            PermissionsPolicyFeature = "picture-in-picture"
	PermissionsPolicyFeaturePrivateAggregation          PermissionsPolicyFeature = "private-aggregation"
	PermissionsPolicyFeaturePublickeyCredentialsGet     PermissionsPolicyFeature = "publickey-credentials-get"
	PermissionsPolicyFeatureRunAdAuction                PermissionsPolicyFeature = "run-ad-auction"
	PermissionsPolicyFeatureScreenWakeLock              PermissionsPolicyFeature = "screen-wake-lock"
	PermissionsPolicyFeatureSerial                      PermissionsPolicyFeature = "serial"
	PermissionsPolicyFeatureSharedAutofill              PermissionsPolicyFeature = "shared-autofill"
	PermissionsPolicyFeatureSharedStorage               PermissionsPolicyFeature = "shared-storage"
	PermissionsPolicyFeatureSharedStorageSelectURL      PermissionsPolicyFeature = "shared-storage-select-url"
	PermissionsPolicyFeatureSmartCard                   PermissionsPolicyFeature = "smart-card"
	PermissionsPolicyFeatureStorageAccess               PermissionsPolicyFeature = "storage-access"
	PermissionsPolicyFeatureSyncXhr                     PermissionsPolicyFeature = "sync-xhr"
	PermissionsPolicyFeatureTrustTokenRedemption        PermissionsPolicyFeature = "trust-token-redemption"
	PermissionsPolicyFeatureUnload                      PermissionsPolicyFeature = "unload"
	PermissionsPolicyFeatureUsb                         PermissionsPolicyFeature = "usb"
	PermissionsPolicyFeatureVerticalScroll              PermissionsPolicyFeature = "vertical-scroll"
	PermissionsPolicyFeatureWebShare                    PermissionsPolicyFeature = "web-share"
	PermissionsPolicyFeatureWindowPlacement             PermissionsPolicyFeature = "window-placement"
	PermissionsPolicyFeatureXrSpatialTracking           PermissionsPolicyFeature = "xr-spatial-tracking"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t PermissionsPolicyFeature) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t PermissionsPolicyFeature) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *PermissionsPolicyFeature) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch PermissionsPolicyFeature(v) {
	case PermissionsPolicyFeatureAccelerometer:
		*t = PermissionsPolicyFeatureAccelerometer
	case PermissionsPolicyFeatureAmbientLightSensor:
		*t = PermissionsPolicyFeatureAmbientLightSensor
	case PermissionsPolicyFeatureAttributionReporting:
		*t = PermissionsPolicyFeatureAttributionReporting
	case PermissionsPolicyFeatureAutoplay:
		*t = PermissionsPolicyFeatureAutoplay
	case PermissionsPolicyFeatureBluetooth:
		*t = PermissionsPolicyFeatureBluetooth
	case PermissionsPolicyFeatureBrowsingTopics:
		*t = PermissionsPolicyFeatureBrowsingTopics
	case PermissionsPolicyFeatureCamera:
		*t = PermissionsPolicyFeatureCamera
	case PermissionsPolicyFeatureChDpr:
		*t = PermissionsPolicyFeatureChDpr
	case PermissionsPolicyFeatureChDeviceMemory:
		*t = PermissionsPolicyFeatureChDeviceMemory
	case PermissionsPolicyFeatureChDownlink:
		*t = PermissionsPolicyFeatureChDownlink
	case PermissionsPolicyFeatureChEct:
		*t = PermissionsPolicyFeatureChEct
	case PermissionsPolicyFeatureChPrefersColorScheme:
		*t = PermissionsPolicyFeatureChPrefersColorScheme
	case PermissionsPolicyFeatureChPrefersReducedMotion:
		*t = PermissionsPolicyFeatureChPrefersReducedMotion
	case PermissionsPolicyFeatureChRtt:
		*t = PermissionsPolicyFeatureChRtt
	case PermissionsPolicyFeatureChSaveData:
		*t = PermissionsPolicyFeatureChSaveData
	case PermissionsPolicyFeatureChUa:
		*t = PermissionsPolicyFeatureChUa
	case PermissionsPolicyFeatureChUaArch:
		*t = PermissionsPolicyFeatureChUaArch
	case PermissionsPolicyFeatureChUaBitness:
		*t = PermissionsPolicyFeatureChUaBitness
	case PermissionsPolicyFeatureChUaPlatform:
		*t = PermissionsPolicyFeatureChUaPlatform
	case PermissionsPolicyFeatureChUaModel:
		*t = PermissionsPolicyFeatureChUaModel
	case PermissionsPolicyFeatureChUaMobile:
		*t = PermissionsPolicyFeatureChUaMobile
	case PermissionsPolicyFeatureChUaFull:
		*t = PermissionsPolicyFeatureChUaFull
	case PermissionsPolicyFeatureChUaFullVersion:
		*t = PermissionsPolicyFeatureChUaFullVersion
	case PermissionsPolicyFeatureChUaFullVersionList:
		*t = PermissionsPolicyFeatureChUaFullVersionList
	case PermissionsPolicyFeatureChUaPlatformVersion:
		*t = PermissionsPolicyFeatureChUaPlatformVersion
	case PermissionsPolicyFeatureChUaReduced:
		*t = PermissionsPolicyFeatureChUaReduced
	case PermissionsPolicyFeatureChUaWow64:
		*t = PermissionsPolicyFeatureChUaWow64
	case PermissionsPolicyFeatureChViewportHeight:
		*t = PermissionsPolicyFeatureChViewportHeight
	case PermissionsPolicyFeatureChViewportWidth:
		*t = PermissionsPolicyFeatureChViewportWidth
	case PermissionsPolicyFeatureChWidth:
		*t = PermissionsPolicyFeatureChWidth
	case PermissionsPolicyFeatureClipboardRead:
		*t = PermissionsPolicyFeatureClipboardRead
	case PermissionsPolicyFeatureClipboardWrite:
		*t = PermissionsPolicyFeatureClipboardWrite
	case PermissionsPolicyFeatureComputePressure:
		*t = PermissionsPolicyFeatureComputePressure
	case PermissionsPolicyFeatureCrossOriginIsolated:
		*t = PermissionsPolicyFeatureCrossOriginIsolated
	case PermissionsPolicyFeatureDirectSockets:
		*t = PermissionsPolicyFeatureDirectSockets
	case PermissionsPolicyFeatureDisplayCapture:
		*t = PermissionsPolicyFeatureDisplayCapture
	case PermissionsPolicyFeatureDocumentDomain:
		*t = PermissionsPolicyFeatureDocumentDomain
	case PermissionsPolicyFeatureEncryptedMedia:
		*t = PermissionsPolicyFeatureEncryptedMedia
	case PermissionsPolicyFeatureExecutionWhileOutOfViewport:
		*t = PermissionsPolicyFeatureExecutionWhileOutOfViewport
	case PermissionsPolicyFeatureExecutionWhileNotRendered:
		*t = PermissionsPolicyFeatureExecutionWhileNotRendered
	case PermissionsPolicyFeatureFocusWithoutUserActivation:
		*t = PermissionsPolicyFeatureFocusWithoutUserActivation
	case PermissionsPolicyFeatureFullscreen:
		*t = PermissionsPolicyFeatureFullscreen
	case PermissionsPolicyFeatureFrobulate:
		*t = PermissionsPolicyFeatureFrobulate
	case PermissionsPolicyFeatureGamepad:
		*t = PermissionsPolicyFeatureGamepad
	case PermissionsPolicyFeatureGeolocation:
		*t = PermissionsPolicyFeatureGeolocation
	case PermissionsPolicyFeatureGyroscope:
		*t = PermissionsPolicyFeatureGyroscope
	case PermissionsPolicyFeatureHid:
		*t = PermissionsPolicyFeatureHid
	case PermissionsPolicyFeatureIdentityCredentialsGet:
		*t = PermissionsPolicyFeatureIdentityCredentialsGet
	case PermissionsPolicyFeatureIdleDetection:
		*t = PermissionsPolicyFeatureIdleDetection
	case PermissionsPolicyFeatureInterestCohort:
		*t = PermissionsPolicyFeatureInterestCohort
	case PermissionsPolicyFeatureJoinAdInterestGroup:
		*t = PermissionsPolicyFeatureJoinAdInterestGroup
	case PermissionsPolicyFeatureKeyboardMap:
		*t = PermissionsPolicyFeatureKeyboardMap
	case PermissionsPolicyFeatureLocalFonts:
		*t = PermissionsPolicyFeatureLocalFonts
	case PermissionsPolicyFeatureMagnetometer:
		*t = PermissionsPolicyFeatureMagnetometer
	case PermissionsPolicyFeatureMicrophone:
		*t = PermissionsPolicyFeatureMicrophone
	case PermissionsPolicyFeatureMidi:
		*t = PermissionsPolicyFeatureMidi
	case PermissionsPolicyFeatureOtpCredentials:
		*t = PermissionsPolicyFeatureOtpCredentials
	case PermissionsPolicyFeaturePayment:
		*t = PermissionsPolicyFeaturePayment
	case PermissionsPolicyFeaturePictureInPicture:
		*t = PermissionsPolicyFeaturePictureInPicture
	case PermissionsPolicyFeaturePrivateAggregation:
		*t = PermissionsPolicyFeaturePrivateAggregation
	case PermissionsPolicyFeaturePublickeyCredentialsGet:
		*t = PermissionsPolicyFeaturePublickeyCredentialsGet
	case PermissionsPolicyFeatureRunAdAuction:
		*t = PermissionsPolicyFeatureRunAdAuction
	case PermissionsPolicyFeatureScreenWakeLock:
		*t = PermissionsPolicyFeatureScreenWakeLock
	case PermissionsPolicyFeatureSerial:
		*t = PermissionsPolicyFeatureSerial
	case PermissionsPolicyFeatureSharedAutofill:
		*t = PermissionsPolicyFeatureSharedAutofill
	case PermissionsPolicyFeatureSharedStorage:
		*t = PermissionsPolicyFeatureSharedStorage
	case PermissionsPolicyFeatureSharedStorageSelectURL:
		*t = PermissionsPolicyFeatureSharedStorageSelectURL
	case PermissionsPolicyFeatureSmartCard:
		*t = PermissionsPolicyFeatureSmartCard
	case PermissionsPolicyFeatureStorageAccess:
		*t = PermissionsPolicyFeatureStorageAccess
	case PermissionsPolicyFeatureSyncXhr:
		*t = PermissionsPolicyFeatureSyncXhr
	case PermissionsPolicyFeatureTrustTokenRedemption:
		*t = PermissionsPolicyFeatureTrustTokenRedemption
	case PermissionsPolicyFeatureUnload:
		*t = PermissionsPolicyFeatureUnload
	case PermissionsPolicyFeatureUsb:
		*t = PermissionsPolicyFeatureUsb
	case PermissionsPolicyFeatureVerticalScroll:
		*t = PermissionsPolicyFeatureVerticalScroll
	case PermissionsPolicyFeatureWebShare:
		*t = PermissionsPolicyFeatureWebShare
	case PermissionsPolicyFeatureWindowPlacement:
		*t = PermissionsPolicyFeatureWindowPlacement
	case PermissionsPolicyFeatureXrSpatialTracking:
		*t = PermissionsPolicyFeatureXrSpatialTracking

	default:
		in.AddError(fmt.Errorf("unknown PermissionsPolicyFeature value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *PermissionsPolicyFeature) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}

// PermissionsPolicyBlockReason reason for a permissions policy feature to be
// disabled.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-PermissionsPolicyBlockReason
type PermissionsPolicyBlockReason string

// String returns the PermissionsPolicyBlockReason as string value.
func (t PermissionsPolicyBlockReason) String() string {
	return string(t)
}

// PermissionsPolicyBlockReason values.
const (
	PermissionsPolicyBlockReasonHeader            PermissionsPolicyBlockReason = "Header"
	PermissionsPolicyBlockReasonIframeAttribute   PermissionsPolicyBlockReason = "IframeAttribute"
	PermissionsPolicyBlockReasonInFencedFrameTree PermissionsPolicyBlockReason = "InFencedFrameTree"
	PermissionsPolicyBlockReasonInIsolatedApp     PermissionsPolicyBlockReason = "InIsolatedApp"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t PermissionsPolicyBlockReason) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t PermissionsPolicyBlockReason) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *PermissionsPolicyBlockReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch PermissionsPolicyBlockReason(v) {
	case PermissionsPolicyBlockReasonHeader:
		*t = PermissionsPolicyBlockReasonHeader
	case PermissionsPolicyBlockReasonIframeAttribute:
		*t = PermissionsPolicyBlockReasonIframeAttribute
	case PermissionsPolicyBlockReasonInFencedFrameTree:
		*t = PermissionsPolicyBlockReasonInFencedFrameTree
	case PermissionsPolicyBlockReasonInIsolatedApp:
		*t = PermissionsPolicyBlockReasonInIsolatedApp

	default:
		in.AddError(fmt.Errorf("unknown PermissionsPolicyBlockReason value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *PermissionsPolicyBlockReason) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}

// PermissionsPolicyBlockLocator [no description].
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-PermissionsPolicyBlockLocator
type PermissionsPolicyBlockLocator struct {
	FrameID     cdp.FrameID                  `json:"frameId"`
	BlockReason PermissionsPolicyBlockReason `json:"blockReason"`
}

// PermissionsPolicyFeatureState [no description].
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-PermissionsPolicyFeatureState
type PermissionsPolicyFeatureState struct {
	Feature PermissionsPolicyFeature       `json:"feature"`
	Allowed bool                           `json:"allowed"`
	Locator *PermissionsPolicyBlockLocator `json:"locator,omitempty"`
}

// FrameResource information about the Resource on the page.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-FrameResource
type FrameResource struct {
	URL          string               `json:"url"`                    // Resource URL.
	Type         network.ResourceType `json:"type"`                   // Type of this resource.
	MimeType     string               `json:"mimeType"`               // Resource mimeType as determined by the browser.
	LastModified *cdp.TimeSinceEpoch  `json:"lastModified,omitempty"` // last-modified timestamp as reported by server.
	ContentSize  float64              `json:"contentSize,omitempty"`  // Resource content size.
	Failed       bool                 `json:"failed,omitempty"`       // True if the resource failed to load.
	Canceled     bool                 `json:"canceled,omitempty"`     // True if the resource was canceled during loading.
}

// FrameResourceTree information about the Frame hierarchy along with their
// cached resources.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-FrameResourceTree
type FrameResourceTree struct {
	Frame       *cdp.Frame           `json:"frame"`                 // Frame information for this tree item.
	ChildFrames []*FrameResourceTree `json:"childFrames,omitempty"` // Child frames.
	Resources   []*FrameResource     `json:"resources"`             // Information about frame resources.
}

// FrameTree information about the Frame hierarchy.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-FrameTree
type FrameTree struct {
	Frame       *cdp.Frame   `json:"frame"`                 // Frame information for this tree item.
	ChildFrames []*FrameTree `json:"childFrames,omitempty"` // Child frames.
}

// ScriptIdentifier unique script identifier.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-ScriptIdentifier
type ScriptIdentifier string

// String returns the ScriptIdentifier as string value.
func (t ScriptIdentifier) String() string {
	return string(t)
}

// TransitionType transition type.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-TransitionType
type TransitionType string

// String returns the TransitionType as string value.
func (t TransitionType) String() string {
	return string(t)
}

// TransitionType values.
const (
	TransitionTypeLink             TransitionType = "link"
	TransitionTypeTyped            TransitionType = "typed"
	TransitionTypeAddressBar       TransitionType = "address_bar"
	TransitionTypeAutoBookmark     TransitionType = "auto_bookmark"
	TransitionTypeAutoSubframe     TransitionType = "auto_subframe"
	TransitionTypeManualSubframe   TransitionType = "manual_subframe"
	TransitionTypeGenerated        TransitionType = "generated"
	TransitionTypeAutoToplevel     TransitionType = "auto_toplevel"
	TransitionTypeFormSubmit       TransitionType = "form_submit"
	TransitionTypeReload           TransitionType = "reload"
	TransitionTypeKeyword          TransitionType = "keyword"
	TransitionTypeKeywordGenerated TransitionType = "keyword_generated"
	TransitionTypeOther            TransitionType = "other"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t TransitionType) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t TransitionType) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *TransitionType) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch TransitionType(v) {
	case TransitionTypeLink:
		*t = TransitionTypeLink
	case TransitionTypeTyped:
		*t = TransitionTypeTyped
	case TransitionTypeAddressBar:
		*t = TransitionTypeAddressBar
	case TransitionTypeAutoBookmark:
		*t = TransitionTypeAutoBookmark
	case TransitionTypeAutoSubframe:
		*t = TransitionTypeAutoSubframe
	case TransitionTypeManualSubframe:
		*t = TransitionTypeManualSubframe
	case TransitionTypeGenerated:
		*t = TransitionTypeGenerated
	case TransitionTypeAutoToplevel:
		*t = TransitionTypeAutoToplevel
	case TransitionTypeFormSubmit:
		*t = TransitionTypeFormSubmit
	case TransitionTypeReload:
		*t = TransitionTypeReload
	case TransitionTypeKeyword:
		*t = TransitionTypeKeyword
	case TransitionTypeKeywordGenerated:
		*t = TransitionTypeKeywordGenerated
	case TransitionTypeOther:
		*t = TransitionTypeOther

	default:
		in.AddError(fmt.Errorf("unknown TransitionType value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *TransitionType) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}

// NavigationEntry navigation history entry.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-NavigationEntry
type NavigationEntry struct {
	ID             int64          `json:"id"`             // Unique id of the navigation history entry.
	URL            string         `json:"url"`            // URL of the navigation history entry.
	UserTypedURL   string         `json:"userTypedURL"`   // URL that the user typed in the url bar.
	Title          string         `json:"title"`          // Title of the navigation history entry.
	TransitionType TransitionType `json:"transitionType"` // Transition type.
}

// ScreencastFrameMetadata screencast frame metadata.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-ScreencastFrameMetadata
type ScreencastFrameMetadata struct {
	OffsetTop       float64             `json:"offsetTop"`           // Top offset in DIP.
	PageScaleFactor float64             `json:"pageScaleFactor"`     // Page scale factor.
	DeviceWidth     float64             `json:"deviceWidth"`         // Device screen width in DIP.
	DeviceHeight    float64             `json:"deviceHeight"`        // Device screen height in DIP.
	ScrollOffsetX   float64             `json:"scrollOffsetX"`       // Position of horizontal scroll in CSS pixels.
	ScrollOffsetY   float64             `json:"scrollOffsetY"`       // Position of vertical scroll in CSS pixels.
	Timestamp       *cdp.TimeSinceEpoch `json:"timestamp,omitempty"` // Frame swap timestamp.
}

// DialogType javascript dialog type.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-DialogType
type DialogType string

// String returns the DialogType as string value.
func (t DialogType) String() string {
	return string(t)
}

// DialogType values.
const (
	DialogTypeAlert        DialogType = "alert"
	DialogTypeConfirm      DialogType = "confirm"
	DialogTypePrompt       DialogType = "prompt"
	DialogTypeBeforeunload DialogType = "beforeunload"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t DialogType) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t DialogType) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *DialogType) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch DialogType(v) {
	case DialogTypeAlert:
		*t = DialogTypeAlert
	case DialogTypeConfirm:
		*t = DialogTypeConfirm
	case DialogTypePrompt:
		*t = DialogTypePrompt
	case DialogTypeBeforeunload:
		*t = DialogTypeBeforeunload

	default:
		in.AddError(fmt.Errorf("unknown DialogType value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *DialogType) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}

// AppManifestError error while paring app manifest.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-AppManifestError
type AppManifestError struct {
	Message  string `json:"message"`  // Error message.
	Critical int64  `json:"critical"` // If criticial, this is a non-recoverable parse error.
	Line     int64  `json:"line"`     // Error line.
	Column   int64  `json:"column"`   // Error column.
}

// AppManifestParsedProperties parsed app manifest properties.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-AppManifestParsedProperties
type AppManifestParsedProperties struct {
	Scope string `json:"scope"` // Computed scope value
}

// LayoutViewport layout viewport position and dimensions.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-LayoutViewport
type LayoutViewport struct {
	PageX        int64 `json:"pageX"`        // Horizontal offset relative to the document (CSS pixels).
	PageY        int64 `json:"pageY"`        // Vertical offset relative to the document (CSS pixels).
	ClientWidth  int64 `json:"clientWidth"`  // Width (CSS pixels), excludes scrollbar if present.
	ClientHeight int64 `json:"clientHeight"` // Height (CSS pixels), excludes scrollbar if present.
}

// VisualViewport visual viewport position, dimensions, and scale.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-VisualViewport
type VisualViewport struct {
	OffsetX      float64 `json:"offsetX"`        // Horizontal offset relative to the layout viewport (CSS pixels).
	OffsetY      float64 `json:"offsetY"`        // Vertical offset relative to the layout viewport (CSS pixels).
	PageX        float64 `json:"pageX"`          // Horizontal offset relative to the document (CSS pixels).
	PageY        float64 `json:"pageY"`          // Vertical offset relative to the document (CSS pixels).
	ClientWidth  float64 `json:"clientWidth"`    // Width (CSS pixels), excludes scrollbar if present.
	ClientHeight float64 `json:"clientHeight"`   // Height (CSS pixels), excludes scrollbar if present.
	Scale        float64 `json:"scale"`          // Scale relative to the ideal viewport (size at width=device-width).
	Zoom         float64 `json:"zoom,omitempty"` // Page zoom factor (CSS to device independent pixels ratio).
}

// Viewport viewport for capturing screenshot.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-Viewport
type Viewport struct {
	X      float64 `json:"x"`      // X offset in device independent pixels (dip).
	Y      float64 `json:"y"`      // Y offset in device independent pixels (dip).
	Width  float64 `json:"width"`  // Rectangle width in device independent pixels (dip).
	Height float64 `json:"height"` // Rectangle height in device independent pixels (dip).
	Scale  float64 `json:"scale"`  // Page scale factor.
}

// FontFamilies generic font families collection.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-FontFamilies
type FontFamilies struct {
	Standard  string `json:"standard,omitempty"`  // The standard font-family.
	Fixed     string `json:"fixed,omitempty"`     // The fixed font-family.
	Serif     string `json:"serif,omitempty"`     // The serif font-family.
	SansSerif string `json:"sansSerif,omitempty"` // The sansSerif font-family.
	Cursive   string `json:"cursive,omitempty"`   // The cursive font-family.
	Fantasy   string `json:"fantasy,omitempty"`   // The fantasy font-family.
	Math      string `json:"math,omitempty"`      // The math font-family.
}

// ScriptFontFamilies font families collection for a script.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-ScriptFontFamilies
type ScriptFontFamilies struct {
	Script       string        `json:"script"`       // Name of the script which these font families are defined for.
	FontFamilies *FontFamilies `json:"fontFamilies"` // Generic font families collection for the script.
}

// FontSizes default font sizes.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-FontSizes
type FontSizes struct {
	Standard int64 `json:"standard,omitempty"` // Default standard font size.
	Fixed    int64 `json:"fixed,omitempty"`    // Default fixed font size.
}

// ClientNavigationReason [no description].
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-ClientNavigationReason
type ClientNavigationReason string

// String returns the ClientNavigationReason as string value.
func (t ClientNavigationReason) String() string {
	return string(t)
}

// ClientNavigationReason values.
const (
	ClientNavigationReasonFormSubmissionGet     ClientNavigationReason = "formSubmissionGet"
	ClientNavigationReasonFormSubmissionPost    ClientNavigationReason = "formSubmissionPost"
	ClientNavigationReasonHTTPHeaderRefresh     ClientNavigationReason = "httpHeaderRefresh"
	ClientNavigationReasonScriptInitiated       ClientNavigationReason = "scriptInitiated"
	ClientNavigationReasonMetaTagRefresh        ClientNavigationReason = "metaTagRefresh"
	ClientNavigationReasonPageBlockInterstitial ClientNavigationReason = "pageBlockInterstitial"
	ClientNavigationReasonReload                ClientNavigationReason = "reload"
	ClientNavigationReasonAnchorClick           ClientNavigationReason = "anchorClick"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t ClientNavigationReason) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t ClientNavigationReason) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *ClientNavigationReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch ClientNavigationReason(v) {
	case ClientNavigationReasonFormSubmissionGet:
		*t = ClientNavigationReasonFormSubmissionGet
	case ClientNavigationReasonFormSubmissionPost:
		*t = ClientNavigationReasonFormSubmissionPost
	case ClientNavigationReasonHTTPHeaderRefresh:
		*t = ClientNavigationReasonHTTPHeaderRefresh
	case ClientNavigationReasonScriptInitiated:
		*t = ClientNavigationReasonScriptInitiated
	case ClientNavigationReasonMetaTagRefresh:
		*t = ClientNavigationReasonMetaTagRefresh
	case ClientNavigationReasonPageBlockInterstitial:
		*t = ClientNavigationReasonPageBlockInterstitial
	case ClientNavigationReasonReload:
		*t = ClientNavigationReasonReload
	case ClientNavigationReasonAnchorClick:
		*t = ClientNavigationReasonAnchorClick

	default:
		in.AddError(fmt.Errorf("unknown ClientNavigationReason value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *ClientNavigationReason) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}

// ClientNavigationDisposition [no description].
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-ClientNavigationDisposition
type ClientNavigationDisposition string

// String returns the ClientNavigationDisposition as string value.
func (t ClientNavigationDisposition) String() string {
	return string(t)
}

// ClientNavigationDisposition values.
const (
	ClientNavigationDispositionCurrentTab ClientNavigationDisposition = "currentTab"
	ClientNavigationDispositionNewTab     ClientNavigationDisposition = "newTab"
	ClientNavigationDispositionNewWindow  ClientNavigationDisposition = "newWindow"
	ClientNavigationDispositionDownload   ClientNavigationDisposition = "download"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t ClientNavigationDisposition) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t ClientNavigationDisposition) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *ClientNavigationDisposition) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch ClientNavigationDisposition(v) {
	case ClientNavigationDispositionCurrentTab:
		*t = ClientNavigationDispositionCurrentTab
	case ClientNavigationDispositionNewTab:
		*t = ClientNavigationDispositionNewTab
	case ClientNavigationDispositionNewWindow:
		*t = ClientNavigationDispositionNewWindow
	case ClientNavigationDispositionDownload:
		*t = ClientNavigationDispositionDownload

	default:
		in.AddError(fmt.Errorf("unknown ClientNavigationDisposition value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *ClientNavigationDisposition) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}

// InstallabilityErrorArgument [no description].
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-InstallabilityErrorArgument
type InstallabilityErrorArgument struct {
	Name  string `json:"name"`  // Argument name (e.g. name:'minimum-icon-size-in-pixels').
	Value string `json:"value"` // Argument value (e.g. value:'64').
}

// InstallabilityError the installability error.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-InstallabilityError
type InstallabilityError struct {
	ErrorID        string                         `json:"errorId"`        // The error id (e.g. 'manifest-missing-suitable-icon').
	ErrorArguments []*InstallabilityErrorArgument `json:"errorArguments"` // The list of error arguments (e.g. {name:'minimum-icon-size-in-pixels', value:'64'}).
}

// ReferrerPolicy the referring-policy used for the navigation.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-ReferrerPolicy
type ReferrerPolicy string

// String returns the ReferrerPolicy as string value.
func (t ReferrerPolicy) String() string {
	return string(t)
}

// ReferrerPolicy values.
const (
	ReferrerPolicyNoReferrer                  ReferrerPolicy = "noReferrer"
	ReferrerPolicyNoReferrerWhenDowngrade     ReferrerPolicy = "noReferrerWhenDowngrade"
	ReferrerPolicyOrigin                      ReferrerPolicy = "origin"
	ReferrerPolicyOriginWhenCrossOrigin       ReferrerPolicy = "originWhenCrossOrigin"
	ReferrerPolicySameOrigin                  ReferrerPolicy = "sameOrigin"
	ReferrerPolicyStrictOrigin                ReferrerPolicy = "strictOrigin"
	ReferrerPolicyStrictOriginWhenCrossOrigin ReferrerPolicy = "strictOriginWhenCrossOrigin"
	ReferrerPolicyUnsafeURL                   ReferrerPolicy = "unsafeUrl"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t ReferrerPolicy) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t ReferrerPolicy) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *ReferrerPolicy) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch ReferrerPolicy(v) {
	case ReferrerPolicyNoReferrer:
		*t = ReferrerPolicyNoReferrer
	case ReferrerPolicyNoReferrerWhenDowngrade:
		*t = ReferrerPolicyNoReferrerWhenDowngrade
	case ReferrerPolicyOrigin:
		*t = ReferrerPolicyOrigin
	case ReferrerPolicyOriginWhenCrossOrigin:
		*t = ReferrerPolicyOriginWhenCrossOrigin
	case ReferrerPolicySameOrigin:
		*t = ReferrerPolicySameOrigin
	case ReferrerPolicyStrictOrigin:
		*t = ReferrerPolicyStrictOrigin
	case ReferrerPolicyStrictOriginWhenCrossOrigin:
		*t = ReferrerPolicyStrictOriginWhenCrossOrigin
	case ReferrerPolicyUnsafeURL:
		*t = ReferrerPolicyUnsafeURL

	default:
		in.AddError(fmt.Errorf("unknown ReferrerPolicy value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *ReferrerPolicy) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}

// CompilationCacheParams per-script compilation cache parameters for
// Page.produceCompilationCache.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-CompilationCacheParams
type CompilationCacheParams struct {
	URL   string `json:"url"`             // The URL of the script to produce a compilation cache entry for.
	Eager bool   `json:"eager,omitempty"` // A hint to the backend whether eager compilation is recommended. (the actual compilation mode used is upon backend discretion).
}

// NavigationType the type of a frameNavigated event.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-NavigationType
type NavigationType string

// String returns the NavigationType as string value.
func (t NavigationType) String() string {
	return string(t)
}

// NavigationType values.
const (
	NavigationTypeNavigation              NavigationType = "Navigation"
	NavigationTypeBackForwardCacheRestore NavigationType = "BackForwardCacheRestore"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t NavigationType) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t NavigationType) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *NavigationType) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch NavigationType(v) {
	case NavigationTypeNavigation:
		*t = NavigationTypeNavigation
	case NavigationTypeBackForwardCacheRestore:
		*t = NavigationTypeBackForwardCacheRestore

	default:
		in.AddError(fmt.Errorf("unknown NavigationType value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *NavigationType) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}

// BackForwardCacheNotRestoredReason list of not restored reasons for
// back-forward cache.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-BackForwardCacheNotRestoredReason
type BackForwardCacheNotRestoredReason string

// String returns the BackForwardCacheNotRestoredReason as string value.
func (t BackForwardCacheNotRestoredReason) String() string {
	return string(t)
}

// BackForwardCacheNotRestoredReason values.
const (
	BackForwardCacheNotRestoredReasonNotPrimaryMainFrame                                      BackForwardCacheNotRestoredReason = "NotPrimaryMainFrame"
	BackForwardCacheNotRestoredReasonBackForwardCacheDisabled                                 BackForwardCacheNotRestoredReason = "BackForwardCacheDisabled"
	BackForwardCacheNotRestoredReasonRelatedActiveContentsExist                               BackForwardCacheNotRestoredReason = "RelatedActiveContentsExist"
	BackForwardCacheNotRestoredReasonHTTPSTatusNotOK                                          BackForwardCacheNotRestoredReason = "HTTPStatusNotOK"
	BackForwardCacheNotRestoredReasonSchemeNotHTTPOrHTTPS                                     BackForwardCacheNotRestoredReason = "SchemeNotHTTPOrHTTPS"
	BackForwardCacheNotRestoredReasonLoading                                                  BackForwardCacheNotRestoredReason = "Loading"
	BackForwardCacheNotRestoredReasonWasGrantedMediaAccess                                    BackForwardCacheNotRestoredReason = "WasGrantedMediaAccess"
	BackForwardCacheNotRestoredReasonDisableForRenderFrameHostCalled                          BackForwardCacheNotRestoredReason = "DisableForRenderFrameHostCalled"
	BackForwardCacheNotRestoredReasonDomainNotAllowed                                         BackForwardCacheNotRestoredReason = "DomainNotAllowed"
	BackForwardCacheNotRestoredReasonHTTPMethodNotGET                                         BackForwardCacheNotRestoredReason = "HTTPMethodNotGET"
	BackForwardCacheNotRestoredReasonSubframeIsNavigating                                     BackForwardCacheNotRestoredReason = "SubframeIsNavigating"
	BackForwardCacheNotRestoredReasonTimeout                                                  BackForwardCacheNotRestoredReason = "Timeout"
	BackForwardCacheNotRestoredReasonCacheLimit                                               BackForwardCacheNotRestoredReason = "CacheLimit"
	BackForwardCacheNotRestoredReasonJavaScriptExecution                                      BackForwardCacheNotRestoredReason = "JavaScriptExecution"
	BackForwardCacheNotRestoredReasonRendererProcessKilled                                    BackForwardCacheNotRestoredReason = "RendererProcessKilled"
	BackForwardCacheNotRestoredReasonRendererProcessCrashed                                   BackForwardCacheNotRestoredReason = "RendererProcessCrashed"
	BackForwardCacheNotRestoredReasonSchedulerTrackedFeatureUsed                              BackForwardCacheNotRestoredReason = "SchedulerTrackedFeatureUsed"
	BackForwardCacheNotRestoredReasonConflictingBrowsingInstance                              BackForwardCacheNotRestoredReason = "ConflictingBrowsingInstance"
	BackForwardCacheNotRestoredReasonCacheFlushed                                             BackForwardCacheNotRestoredReason = "CacheFlushed"
	BackForwardCacheNotRestoredReasonServiceWorkerVersionActivation                           BackForwardCacheNotRestoredReason = "ServiceWorkerVersionActivation"
	BackForwardCacheNotRestoredReasonSessionRestored                                          BackForwardCacheNotRestoredReason = "SessionRestored"
	BackForwardCacheNotRestoredReasonServiceWorkerPostMessage                                 BackForwardCacheNotRestoredReason = "ServiceWorkerPostMessage"
	BackForwardCacheNotRestoredReasonEnteredBackForwardCacheBeforeServiceWorkerHostAdded      BackForwardCacheNotRestoredReason = "EnteredBackForwardCacheBeforeServiceWorkerHostAdded"
	BackForwardCacheNotRestoredReasonRenderFrameHostReusedSameSite                            BackForwardCacheNotRestoredReason = "RenderFrameHostReused_SameSite"
	BackForwardCacheNotRestoredReasonRenderFrameHostReusedCrossSite                           BackForwardCacheNotRestoredReason = "RenderFrameHostReused_CrossSite"
	BackForwardCacheNotRestoredReasonServiceWorkerClaim                                       BackForwardCacheNotRestoredReason = "ServiceWorkerClaim"
	BackForwardCacheNotRestoredReasonIgnoreEventAndEvict                                      BackForwardCacheNotRestoredReason = "IgnoreEventAndEvict"
	BackForwardCacheNotRestoredReasonHaveInnerContents                                        BackForwardCacheNotRestoredReason = "HaveInnerContents"
	BackForwardCacheNotRestoredReasonTimeoutPuttingInCache                                    BackForwardCacheNotRestoredReason = "TimeoutPuttingInCache"
	BackForwardCacheNotRestoredReasonBackForwardCacheDisabledByLowMemory                      BackForwardCacheNotRestoredReason = "BackForwardCacheDisabledByLowMemory"
	BackForwardCacheNotRestoredReasonBackForwardCacheDisabledByCommandLine                    BackForwardCacheNotRestoredReason = "BackForwardCacheDisabledByCommandLine"
	BackForwardCacheNotRestoredReasonNetworkRequestDatapipeDrainedAsBytesConsumer             BackForwardCacheNotRestoredReason = "NetworkRequestDatapipeDrainedAsBytesConsumer"
	BackForwardCacheNotRestoredReasonNetworkRequestRedirected                                 BackForwardCacheNotRestoredReason = "NetworkRequestRedirected"
	BackForwardCacheNotRestoredReasonNetworkRequestTimeout                                    BackForwardCacheNotRestoredReason = "NetworkRequestTimeout"
	BackForwardCacheNotRestoredReasonNetworkExceedsBufferLimit                                BackForwardCacheNotRestoredReason = "NetworkExceedsBufferLimit"
	BackForwardCacheNotRestoredReasonNavigationCancelledWhileRestoring                        BackForwardCacheNotRestoredReason = "NavigationCancelledWhileRestoring"
	BackForwardCacheNotRestoredReasonNotMostRecentNavigationEntry                             BackForwardCacheNotRestoredReason = "NotMostRecentNavigationEntry"
	BackForwardCacheNotRestoredReasonBackForwardCacheDisabledForPrerender                     BackForwardCacheNotRestoredReason = "BackForwardCacheDisabledForPrerender"
	BackForwardCacheNotRestoredReasonUserAgentOverrideDiffers                                 BackForwardCacheNotRestoredReason = "UserAgentOverrideDiffers"
	BackForwardCacheNotRestoredReasonForegroundCacheLimit                                     BackForwardCacheNotRestoredReason = "ForegroundCacheLimit"
	BackForwardCacheNotRestoredReasonBrowsingInstanceNotSwapped                               BackForwardCacheNotRestoredReason = "BrowsingInstanceNotSwapped"
	BackForwardCacheNotRestoredReasonBackForwardCacheDisabledForDelegate                      BackForwardCacheNotRestoredReason = "BackForwardCacheDisabledForDelegate"
	BackForwardCacheNotRestoredReasonUnloadHandlerExistsInMainFrame                           BackForwardCacheNotRestoredReason = "UnloadHandlerExistsInMainFrame"
	BackForwardCacheNotRestoredReasonUnloadHandlerExistsInSubFrame                            BackForwardCacheNotRestoredReason = "UnloadHandlerExistsInSubFrame"
	BackForwardCacheNotRestoredReasonServiceWorkerUnregistration                              BackForwardCacheNotRestoredReason = "ServiceWorkerUnregistration"
	BackForwardCacheNotRestoredReasonCacheControlNoStore                                      BackForwardCacheNotRestoredReason = "CacheControlNoStore"
	BackForwardCacheNotRestoredReasonCacheControlNoStoreCookieModified                        BackForwardCacheNotRestoredReason = "CacheControlNoStoreCookieModified"
	BackForwardCacheNotRestoredReasonCacheControlNoStoreHTTPOnlyCookieModified                BackForwardCacheNotRestoredReason = "CacheControlNoStoreHTTPOnlyCookieModified"
	BackForwardCacheNotRestoredReasonNoResponseHead                                           BackForwardCacheNotRestoredReason = "NoResponseHead"
	BackForwardCacheNotRestoredReasonUnknown                                                  BackForwardCacheNotRestoredReason = "Unknown"
	BackForwardCacheNotRestoredReasonActivationNavigationsDisallowedForBug1234857             BackForwardCacheNotRestoredReason = "ActivationNavigationsDisallowedForBug1234857"
	BackForwardCacheNotRestoredReasonErrorDocument                                            BackForwardCacheNotRestoredReason = "ErrorDocument"
	BackForwardCacheNotRestoredReasonFencedFramesEmbedder                                     BackForwardCacheNotRestoredReason = "FencedFramesEmbedder"
	BackForwardCacheNotRestoredReasonWebSocket                                                BackForwardCacheNotRestoredReason = "WebSocket"
	BackForwardCacheNotRestoredReasonWebTransport                                             BackForwardCacheNotRestoredReason = "WebTransport"
	BackForwardCacheNotRestoredReasonWebRTC                                                   BackForwardCacheNotRestoredReason = "WebRTC"
	BackForwardCacheNotRestoredReasonMainResourceHasCacheControlNoStore                       BackForwardCacheNotRestoredReason = "MainResourceHasCacheControlNoStore"
	BackForwardCacheNotRestoredReasonMainResourceHasCacheControlNoCache                       BackForwardCacheNotRestoredReason = "MainResourceHasCacheControlNoCache"
	BackForwardCacheNotRestoredReasonSubresourceHasCacheControlNoStore                        BackForwardCacheNotRestoredReason = "SubresourceHasCacheControlNoStore"
	BackForwardCacheNotRestoredReasonSubresourceHasCacheControlNoCache                        BackForwardCacheNotRestoredReason = "SubresourceHasCacheControlNoCache"
	BackForwardCacheNotRestoredReasonContainsPlugins                                          BackForwardCacheNotRestoredReason = "ContainsPlugins"
	BackForwardCacheNotRestoredReasonDocumentLoaded                                           BackForwardCacheNotRestoredReason = "DocumentLoaded"
	BackForwardCacheNotRestoredReasonDedicatedWorkerOrWorklet                                 BackForwardCacheNotRestoredReason = "DedicatedWorkerOrWorklet"
	BackForwardCacheNotRestoredReasonOutstandingNetworkRequestOthers                          BackForwardCacheNotRestoredReason = "OutstandingNetworkRequestOthers"
	BackForwardCacheNotRestoredReasonOutstandingIndexedDBTransaction                          BackForwardCacheNotRestoredReason = "OutstandingIndexedDBTransaction"
	BackForwardCacheNotRestoredReasonRequestedMIDIPermission                                  BackForwardCacheNotRestoredReason = "RequestedMIDIPermission"
	BackForwardCacheNotRestoredReasonRequestedAudioCapturePermission                          BackForwardCacheNotRestoredReason = "RequestedAudioCapturePermission"
	BackForwardCacheNotRestoredReasonRequestedVideoCapturePermission                          BackForwardCacheNotRestoredReason = "RequestedVideoCapturePermission"
	BackForwardCacheNotRestoredReasonRequestedBackForwardCacheBlockedSensors                  BackForwardCacheNotRestoredReason = "RequestedBackForwardCacheBlockedSensors"
	BackForwardCacheNotRestoredReasonRequestedBackgroundWorkPermission                        BackForwardCacheNotRestoredReason = "RequestedBackgroundWorkPermission"
	BackForwardCacheNotRestoredReasonBroadcastChannel                                         BackForwardCacheNotRestoredReason = "BroadcastChannel"
	BackForwardCacheNotRestoredReasonIndexedDBConnection                                      BackForwardCacheNotRestoredReason = "IndexedDBConnection"
	BackForwardCacheNotRestoredReasonWebXR                                                    BackForwardCacheNotRestoredReason = "WebXR"
	BackForwardCacheNotRestoredReasonSharedWorker                                             BackForwardCacheNotRestoredReason = "SharedWorker"
	BackForwardCacheNotRestoredReasonWebLocks                                                 BackForwardCacheNotRestoredReason = "WebLocks"
	BackForwardCacheNotRestoredReasonWebHID                                                   BackForwardCacheNotRestoredReason = "WebHID"
	BackForwardCacheNotRestoredReasonWebShare                                                 BackForwardCacheNotRestoredReason = "WebShare"
	BackForwardCacheNotRestoredReasonRequestedStorageAccessGrant                              BackForwardCacheNotRestoredReason = "RequestedStorageAccessGrant"
	BackForwardCacheNotRestoredReasonWebNfc                                                   BackForwardCacheNotRestoredReason = "WebNfc"
	BackForwardCacheNotRestoredReasonOutstandingNetworkRequestFetch                           BackForwardCacheNotRestoredReason = "OutstandingNetworkRequestFetch"
	BackForwardCacheNotRestoredReasonOutstandingNetworkRequestXHR                             BackForwardCacheNotRestoredReason = "OutstandingNetworkRequestXHR"
	BackForwardCacheNotRestoredReasonAppBanner                                                BackForwardCacheNotRestoredReason = "AppBanner"
	BackForwardCacheNotRestoredReasonPrinting                                                 BackForwardCacheNotRestoredReason = "Printing"
	BackForwardCacheNotRestoredReasonWebDatabase                                              BackForwardCacheNotRestoredReason = "WebDatabase"
	BackForwardCacheNotRestoredReasonPictureInPicture                                         BackForwardCacheNotRestoredReason = "PictureInPicture"
	BackForwardCacheNotRestoredReasonPortal                                                   BackForwardCacheNotRestoredReason = "Portal"
	BackForwardCacheNotRestoredReasonSpeechRecognizer                                         BackForwardCacheNotRestoredReason = "SpeechRecognizer"
	BackForwardCacheNotRestoredReasonIdleManager                                              BackForwardCacheNotRestoredReason = "IdleManager"
	BackForwardCacheNotRestoredReasonPaymentManager                                           BackForwardCacheNotRestoredReason = "PaymentManager"
	BackForwardCacheNotRestoredReasonSpeechSynthesis                                          BackForwardCacheNotRestoredReason = "SpeechSynthesis"
	BackForwardCacheNotRestoredReasonKeyboardLock                                             BackForwardCacheNotRestoredReason = "KeyboardLock"
	BackForwardCacheNotRestoredReasonWebOTPService                                            BackForwardCacheNotRestoredReason = "WebOTPService"
	BackForwardCacheNotRestoredReasonOutstandingNetworkRequestDirectSocket                    BackForwardCacheNotRestoredReason = "OutstandingNetworkRequestDirectSocket"
	BackForwardCacheNotRestoredReasonInjectedJavascript                                       BackForwardCacheNotRestoredReason = "InjectedJavascript"
	BackForwardCacheNotRestoredReasonInjectedStyleSheet                                       BackForwardCacheNotRestoredReason = "InjectedStyleSheet"
	BackForwardCacheNotRestoredReasonKeepaliveRequest                                         BackForwardCacheNotRestoredReason = "KeepaliveRequest"
	BackForwardCacheNotRestoredReasonIndexedDBEvent                                           BackForwardCacheNotRestoredReason = "IndexedDBEvent"
	BackForwardCacheNotRestoredReasonDummy                                                    BackForwardCacheNotRestoredReason = "Dummy"
	BackForwardCacheNotRestoredReasonAuthorizationHeader                                      BackForwardCacheNotRestoredReason = "AuthorizationHeader"
	BackForwardCacheNotRestoredReasonContentSecurityHandler                                   BackForwardCacheNotRestoredReason = "ContentSecurityHandler"
	BackForwardCacheNotRestoredReasonContentWebAuthenticationAPI                              BackForwardCacheNotRestoredReason = "ContentWebAuthenticationAPI"
	BackForwardCacheNotRestoredReasonContentFileChooser                                       BackForwardCacheNotRestoredReason = "ContentFileChooser"
	BackForwardCacheNotRestoredReasonContentSerial                                            BackForwardCacheNotRestoredReason = "ContentSerial"
	BackForwardCacheNotRestoredReasonContentFileSystemAccess                                  BackForwardCacheNotRestoredReason = "ContentFileSystemAccess"
	BackForwardCacheNotRestoredReasonContentMediaDevicesDispatcherHost                        BackForwardCacheNotRestoredReason = "ContentMediaDevicesDispatcherHost"
	BackForwardCacheNotRestoredReasonContentWebBluetooth                                      BackForwardCacheNotRestoredReason = "ContentWebBluetooth"
	BackForwardCacheNotRestoredReasonContentWebUSB                                            BackForwardCacheNotRestoredReason = "ContentWebUSB"
	BackForwardCacheNotRestoredReasonContentMediaSessionService                               BackForwardCacheNotRestoredReason = "ContentMediaSessionService"
	BackForwardCacheNotRestoredReasonContentScreenReader                                      BackForwardCacheNotRestoredReason = "ContentScreenReader"
	BackForwardCacheNotRestoredReasonEmbedderPopupBlockerTabHelper                            BackForwardCacheNotRestoredReason = "EmbedderPopupBlockerTabHelper"
	BackForwardCacheNotRestoredReasonEmbedderSafeBrowsingTriggeredPopupBlocker                BackForwardCacheNotRestoredReason = "EmbedderSafeBrowsingTriggeredPopupBlocker"
	BackForwardCacheNotRestoredReasonEmbedderSafeBrowsingThreatDetails                        BackForwardCacheNotRestoredReason = "EmbedderSafeBrowsingThreatDetails"
	BackForwardCacheNotRestoredReasonEmbedderAppBannerManager                                 BackForwardCacheNotRestoredReason = "EmbedderAppBannerManager"
	BackForwardCacheNotRestoredReasonEmbedderDomDistillerViewerSource                         BackForwardCacheNotRestoredReason = "EmbedderDomDistillerViewerSource"
	BackForwardCacheNotRestoredReasonEmbedderDomDistillerSelfDeletingRequestDelegate          BackForwardCacheNotRestoredReason = "EmbedderDomDistillerSelfDeletingRequestDelegate"
	BackForwardCacheNotRestoredReasonEmbedderOomInterventionTabHelper                         BackForwardCacheNotRestoredReason = "EmbedderOomInterventionTabHelper"
	BackForwardCacheNotRestoredReasonEmbedderOfflinePage                                      BackForwardCacheNotRestoredReason = "EmbedderOfflinePage"
	BackForwardCacheNotRestoredReasonEmbedderChromePasswordManagerClientBindCredentialManager BackForwardCacheNotRestoredReason = "EmbedderChromePasswordManagerClientBindCredentialManager"
	BackForwardCacheNotRestoredReasonEmbedderPermissionRequestManager                         BackForwardCacheNotRestoredReason = "EmbedderPermissionRequestManager"
	BackForwardCacheNotRestoredReasonEmbedderModalDialog                                      BackForwardCacheNotRestoredReason = "EmbedderModalDialog"
	BackForwardCacheNotRestoredReasonEmbedderExtensions                                       BackForwardCacheNotRestoredReason = "EmbedderExtensions"
	BackForwardCacheNotRestoredReasonEmbedderExtensionMessaging                               BackForwardCacheNotRestoredReason = "EmbedderExtensionMessaging"
	BackForwardCacheNotRestoredReasonEmbedderExtensionMessagingForOpenPort                    BackForwardCacheNotRestoredReason = "EmbedderExtensionMessagingForOpenPort"
	BackForwardCacheNotRestoredReasonEmbedderExtensionSentMessageToCachedFrame                BackForwardCacheNotRestoredReason = "EmbedderExtensionSentMessageToCachedFrame"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t BackForwardCacheNotRestoredReason) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t BackForwardCacheNotRestoredReason) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *BackForwardCacheNotRestoredReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch BackForwardCacheNotRestoredReason(v) {
	case BackForwardCacheNotRestoredReasonNotPrimaryMainFrame:
		*t = BackForwardCacheNotRestoredReasonNotPrimaryMainFrame
	case BackForwardCacheNotRestoredReasonBackForwardCacheDisabled:
		*t = BackForwardCacheNotRestoredReasonBackForwardCacheDisabled
	case BackForwardCacheNotRestoredReasonRelatedActiveContentsExist:
		*t = BackForwardCacheNotRestoredReasonRelatedActiveContentsExist
	case BackForwardCacheNotRestoredReasonHTTPSTatusNotOK:
		*t = BackForwardCacheNotRestoredReasonHTTPSTatusNotOK
	case BackForwardCacheNotRestoredReasonSchemeNotHTTPOrHTTPS:
		*t = BackForwardCacheNotRestoredReasonSchemeNotHTTPOrHTTPS
	case BackForwardCacheNotRestoredReasonLoading:
		*t = BackForwardCacheNotRestoredReasonLoading
	case BackForwardCacheNotRestoredReasonWasGrantedMediaAccess:
		*t = BackForwardCacheNotRestoredReasonWasGrantedMediaAccess
	case BackForwardCacheNotRestoredReasonDisableForRenderFrameHostCalled:
		*t = BackForwardCacheNotRestoredReasonDisableForRenderFrameHostCalled
	case BackForwardCacheNotRestoredReasonDomainNotAllowed:
		*t = BackForwardCacheNotRestoredReasonDomainNotAllowed
	case BackForwardCacheNotRestoredReasonHTTPMethodNotGET:
		*t = BackForwardCacheNotRestoredReasonHTTPMethodNotGET
	case BackForwardCacheNotRestoredReasonSubframeIsNavigating:
		*t = BackForwardCacheNotRestoredReasonSubframeIsNavigating
	case BackForwardCacheNotRestoredReasonTimeout:
		*t = BackForwardCacheNotRestoredReasonTimeout
	case BackForwardCacheNotRestoredReasonCacheLimit:
		*t = BackForwardCacheNotRestoredReasonCacheLimit
	case BackForwardCacheNotRestoredReasonJavaScriptExecution:
		*t = BackForwardCacheNotRestoredReasonJavaScriptExecution
	case BackForwardCacheNotRestoredReasonRendererProcessKilled:
		*t = BackForwardCacheNotRestoredReasonRendererProcessKilled
	case BackForwardCacheNotRestoredReasonRendererProcessCrashed:
		*t = BackForwardCacheNotRestoredReasonRendererProcessCrashed
	case BackForwardCacheNotRestoredReasonSchedulerTrackedFeatureUsed:
		*t = BackForwardCacheNotRestoredReasonSchedulerTrackedFeatureUsed
	case BackForwardCacheNotRestoredReasonConflictingBrowsingInstance:
		*t = BackForwardCacheNotRestoredReasonConflictingBrowsingInstance
	case BackForwardCacheNotRestoredReasonCacheFlushed:
		*t = BackForwardCacheNotRestoredReasonCacheFlushed
	case BackForwardCacheNotRestoredReasonServiceWorkerVersionActivation:
		*t = BackForwardCacheNotRestoredReasonServiceWorkerVersionActivation
	case BackForwardCacheNotRestoredReasonSessionRestored:
		*t = BackForwardCacheNotRestoredReasonSessionRestored
	case BackForwardCacheNotRestoredReasonServiceWorkerPostMessage:
		*t = BackForwardCacheNotRestoredReasonServiceWorkerPostMessage
	case BackForwardCacheNotRestoredReasonEnteredBackForwardCacheBeforeServiceWorkerHostAdded:
		*t = BackForwardCacheNotRestoredReasonEnteredBackForwardCacheBeforeServiceWorkerHostAdded
	case BackForwardCacheNotRestoredReasonRenderFrameHostReusedSameSite:
		*t = BackForwardCacheNotRestoredReasonRenderFrameHostReusedSameSite
	case BackForwardCacheNotRestoredReasonRenderFrameHostReusedCrossSite:
		*t = BackForwardCacheNotRestoredReasonRenderFrameHostReusedCrossSite
	case BackForwardCacheNotRestoredReasonServiceWorkerClaim:
		*t = BackForwardCacheNotRestoredReasonServiceWorkerClaim
	case BackForwardCacheNotRestoredReasonIgnoreEventAndEvict:
		*t = BackForwardCacheNotRestoredReasonIgnoreEventAndEvict
	case BackForwardCacheNotRestoredReasonHaveInnerContents:
		*t = BackForwardCacheNotRestoredReasonHaveInnerContents
	case BackForwardCacheNotRestoredReasonTimeoutPuttingInCache:
		*t = BackForwardCacheNotRestoredReasonTimeoutPuttingInCache
	case BackForwardCacheNotRestoredReasonBackForwardCacheDisabledByLowMemory:
		*t = BackForwardCacheNotRestoredReasonBackForwardCacheDisabledByLowMemory
	case BackForwardCacheNotRestoredReasonBackForwardCacheDisabledByCommandLine:
		*t = BackForwardCacheNotRestoredReasonBackForwardCacheDisabledByCommandLine
	case BackForwardCacheNotRestoredReasonNetworkRequestDatapipeDrainedAsBytesConsumer:
		*t = BackForwardCacheNotRestoredReasonNetworkRequestDatapipeDrainedAsBytesConsumer
	case BackForwardCacheNotRestoredReasonNetworkRequestRedirected:
		*t = BackForwardCacheNotRestoredReasonNetworkRequestRedirected
	case BackForwardCacheNotRestoredReasonNetworkRequestTimeout:
		*t = BackForwardCacheNotRestoredReasonNetworkRequestTimeout
	case BackForwardCacheNotRestoredReasonNetworkExceedsBufferLimit:
		*t = BackForwardCacheNotRestoredReasonNetworkExceedsBufferLimit
	case BackForwardCacheNotRestoredReasonNavigationCancelledWhileRestoring:
		*t = BackForwardCacheNotRestoredReasonNavigationCancelledWhileRestoring
	case BackForwardCacheNotRestoredReasonNotMostRecentNavigationEntry:
		*t = BackForwardCacheNotRestoredReasonNotMostRecentNavigationEntry
	case BackForwardCacheNotRestoredReasonBackForwardCacheDisabledForPrerender:
		*t = BackForwardCacheNotRestoredReasonBackForwardCacheDisabledForPrerender
	case BackForwardCacheNotRestoredReasonUserAgentOverrideDiffers:
		*t = BackForwardCacheNotRestoredReasonUserAgentOverrideDiffers
	case BackForwardCacheNotRestoredReasonForegroundCacheLimit:
		*t = BackForwardCacheNotRestoredReasonForegroundCacheLimit
	case BackForwardCacheNotRestoredReasonBrowsingInstanceNotSwapped:
		*t = BackForwardCacheNotRestoredReasonBrowsingInstanceNotSwapped
	case BackForwardCacheNotRestoredReasonBackForwardCacheDisabledForDelegate:
		*t = BackForwardCacheNotRestoredReasonBackForwardCacheDisabledForDelegate
	case BackForwardCacheNotRestoredReasonUnloadHandlerExistsInMainFrame:
		*t = BackForwardCacheNotRestoredReasonUnloadHandlerExistsInMainFrame
	case BackForwardCacheNotRestoredReasonUnloadHandlerExistsInSubFrame:
		*t = BackForwardCacheNotRestoredReasonUnloadHandlerExistsInSubFrame
	case BackForwardCacheNotRestoredReasonServiceWorkerUnregistration:
		*t = BackForwardCacheNotRestoredReasonServiceWorkerUnregistration
	case BackForwardCacheNotRestoredReasonCacheControlNoStore:
		*t = BackForwardCacheNotRestoredReasonCacheControlNoStore
	case BackForwardCacheNotRestoredReasonCacheControlNoStoreCookieModified:
		*t = BackForwardCacheNotRestoredReasonCacheControlNoStoreCookieModified
	case BackForwardCacheNotRestoredReasonCacheControlNoStoreHTTPOnlyCookieModified:
		*t = BackForwardCacheNotRestoredReasonCacheControlNoStoreHTTPOnlyCookieModified
	case BackForwardCacheNotRestoredReasonNoResponseHead:
		*t = BackForwardCacheNotRestoredReasonNoResponseHead
	case BackForwardCacheNotRestoredReasonUnknown:
		*t = BackForwardCacheNotRestoredReasonUnknown
	case BackForwardCacheNotRestoredReasonActivationNavigationsDisallowedForBug1234857:
		*t = BackForwardCacheNotRestoredReasonActivationNavigationsDisallowedForBug1234857
	case BackForwardCacheNotRestoredReasonErrorDocument:
		*t = BackForwardCacheNotRestoredReasonErrorDocument
	case BackForwardCacheNotRestoredReasonFencedFramesEmbedder:
		*t = BackForwardCacheNotRestoredReasonFencedFramesEmbedder
	case BackForwardCacheNotRestoredReasonWebSocket:
		*t = BackForwardCacheNotRestoredReasonWebSocket
	case BackForwardCacheNotRestoredReasonWebTransport:
		*t = BackForwardCacheNotRestoredReasonWebTransport
	case BackForwardCacheNotRestoredReasonWebRTC:
		*t = BackForwardCacheNotRestoredReasonWebRTC
	case BackForwardCacheNotRestoredReasonMainResourceHasCacheControlNoStore:
		*t = BackForwardCacheNotRestoredReasonMainResourceHasCacheControlNoStore
	case BackForwardCacheNotRestoredReasonMainResourceHasCacheControlNoCache:
		*t = BackForwardCacheNotRestoredReasonMainResourceHasCacheControlNoCache
	case BackForwardCacheNotRestoredReasonSubresourceHasCacheControlNoStore:
		*t = BackForwardCacheNotRestoredReasonSubresourceHasCacheControlNoStore
	case BackForwardCacheNotRestoredReasonSubresourceHasCacheControlNoCache:
		*t = BackForwardCacheNotRestoredReasonSubresourceHasCacheControlNoCache
	case BackForwardCacheNotRestoredReasonContainsPlugins:
		*t = BackForwardCacheNotRestoredReasonContainsPlugins
	case BackForwardCacheNotRestoredReasonDocumentLoaded:
		*t = BackForwardCacheNotRestoredReasonDocumentLoaded
	case BackForwardCacheNotRestoredReasonDedicatedWorkerOrWorklet:
		*t = BackForwardCacheNotRestoredReasonDedicatedWorkerOrWorklet
	case BackForwardCacheNotRestoredReasonOutstandingNetworkRequestOthers:
		*t = BackForwardCacheNotRestoredReasonOutstandingNetworkRequestOthers
	case BackForwardCacheNotRestoredReasonOutstandingIndexedDBTransaction:
		*t = BackForwardCacheNotRestoredReasonOutstandingIndexedDBTransaction
	case BackForwardCacheNotRestoredReasonRequestedMIDIPermission:
		*t = BackForwardCacheNotRestoredReasonRequestedMIDIPermission
	case BackForwardCacheNotRestoredReasonRequestedAudioCapturePermission:
		*t = BackForwardCacheNotRestoredReasonRequestedAudioCapturePermission
	case BackForwardCacheNotRestoredReasonRequestedVideoCapturePermission:
		*t = BackForwardCacheNotRestoredReasonRequestedVideoCapturePermission
	case BackForwardCacheNotRestoredReasonRequestedBackForwardCacheBlockedSensors:
		*t = BackForwardCacheNotRestoredReasonRequestedBackForwardCacheBlockedSensors
	case BackForwardCacheNotRestoredReasonRequestedBackgroundWorkPermission:
		*t = BackForwardCacheNotRestoredReasonRequestedBackgroundWorkPermission
	case BackForwardCacheNotRestoredReasonBroadcastChannel:
		*t = BackForwardCacheNotRestoredReasonBroadcastChannel
	case BackForwardCacheNotRestoredReasonIndexedDBConnection:
		*t = BackForwardCacheNotRestoredReasonIndexedDBConnection
	case BackForwardCacheNotRestoredReasonWebXR:
		*t = BackForwardCacheNotRestoredReasonWebXR
	case BackForwardCacheNotRestoredReasonSharedWorker:
		*t = BackForwardCacheNotRestoredReasonSharedWorker
	case BackForwardCacheNotRestoredReasonWebLocks:
		*t = BackForwardCacheNotRestoredReasonWebLocks
	case BackForwardCacheNotRestoredReasonWebHID:
		*t = BackForwardCacheNotRestoredReasonWebHID
	case BackForwardCacheNotRestoredReasonWebShare:
		*t = BackForwardCacheNotRestoredReasonWebShare
	case BackForwardCacheNotRestoredReasonRequestedStorageAccessGrant:
		*t = BackForwardCacheNotRestoredReasonRequestedStorageAccessGrant
	case BackForwardCacheNotRestoredReasonWebNfc:
		*t = BackForwardCacheNotRestoredReasonWebNfc
	case BackForwardCacheNotRestoredReasonOutstandingNetworkRequestFetch:
		*t = BackForwardCacheNotRestoredReasonOutstandingNetworkRequestFetch
	case BackForwardCacheNotRestoredReasonOutstandingNetworkRequestXHR:
		*t = BackForwardCacheNotRestoredReasonOutstandingNetworkRequestXHR
	case BackForwardCacheNotRestoredReasonAppBanner:
		*t = BackForwardCacheNotRestoredReasonAppBanner
	case BackForwardCacheNotRestoredReasonPrinting:
		*t = BackForwardCacheNotRestoredReasonPrinting
	case BackForwardCacheNotRestoredReasonWebDatabase:
		*t = BackForwardCacheNotRestoredReasonWebDatabase
	case BackForwardCacheNotRestoredReasonPictureInPicture:
		*t = BackForwardCacheNotRestoredReasonPictureInPicture
	case BackForwardCacheNotRestoredReasonPortal:
		*t = BackForwardCacheNotRestoredReasonPortal
	case BackForwardCacheNotRestoredReasonSpeechRecognizer:
		*t = BackForwardCacheNotRestoredReasonSpeechRecognizer
	case BackForwardCacheNotRestoredReasonIdleManager:
		*t = BackForwardCacheNotRestoredReasonIdleManager
	case BackForwardCacheNotRestoredReasonPaymentManager:
		*t = BackForwardCacheNotRestoredReasonPaymentManager
	case BackForwardCacheNotRestoredReasonSpeechSynthesis:
		*t = BackForwardCacheNotRestoredReasonSpeechSynthesis
	case BackForwardCacheNotRestoredReasonKeyboardLock:
		*t = BackForwardCacheNotRestoredReasonKeyboardLock
	case BackForwardCacheNotRestoredReasonWebOTPService:
		*t = BackForwardCacheNotRestoredReasonWebOTPService
	case BackForwardCacheNotRestoredReasonOutstandingNetworkRequestDirectSocket:
		*t = BackForwardCacheNotRestoredReasonOutstandingNetworkRequestDirectSocket
	case BackForwardCacheNotRestoredReasonInjectedJavascript:
		*t = BackForwardCacheNotRestoredReasonInjectedJavascript
	case BackForwardCacheNotRestoredReasonInjectedStyleSheet:
		*t = BackForwardCacheNotRestoredReasonInjectedStyleSheet
	case BackForwardCacheNotRestoredReasonKeepaliveRequest:
		*t = BackForwardCacheNotRestoredReasonKeepaliveRequest
	case BackForwardCacheNotRestoredReasonIndexedDBEvent:
		*t = BackForwardCacheNotRestoredReasonIndexedDBEvent
	case BackForwardCacheNotRestoredReasonDummy:
		*t = BackForwardCacheNotRestoredReasonDummy
	case BackForwardCacheNotRestoredReasonAuthorizationHeader:
		*t = BackForwardCacheNotRestoredReasonAuthorizationHeader
	case BackForwardCacheNotRestoredReasonContentSecurityHandler:
		*t = BackForwardCacheNotRestoredReasonContentSecurityHandler
	case BackForwardCacheNotRestoredReasonContentWebAuthenticationAPI:
		*t = BackForwardCacheNotRestoredReasonContentWebAuthenticationAPI
	case BackForwardCacheNotRestoredReasonContentFileChooser:
		*t = BackForwardCacheNotRestoredReasonContentFileChooser
	case BackForwardCacheNotRestoredReasonContentSerial:
		*t = BackForwardCacheNotRestoredReasonContentSerial
	case BackForwardCacheNotRestoredReasonContentFileSystemAccess:
		*t = BackForwardCacheNotRestoredReasonContentFileSystemAccess
	case BackForwardCacheNotRestoredReasonContentMediaDevicesDispatcherHost:
		*t = BackForwardCacheNotRestoredReasonContentMediaDevicesDispatcherHost
	case BackForwardCacheNotRestoredReasonContentWebBluetooth:
		*t = BackForwardCacheNotRestoredReasonContentWebBluetooth
	case BackForwardCacheNotRestoredReasonContentWebUSB:
		*t = BackForwardCacheNotRestoredReasonContentWebUSB
	case BackForwardCacheNotRestoredReasonContentMediaSessionService:
		*t = BackForwardCacheNotRestoredReasonContentMediaSessionService
	case BackForwardCacheNotRestoredReasonContentScreenReader:
		*t = BackForwardCacheNotRestoredReasonContentScreenReader
	case BackForwardCacheNotRestoredReasonEmbedderPopupBlockerTabHelper:
		*t = BackForwardCacheNotRestoredReasonEmbedderPopupBlockerTabHelper
	case BackForwardCacheNotRestoredReasonEmbedderSafeBrowsingTriggeredPopupBlocker:
		*t = BackForwardCacheNotRestoredReasonEmbedderSafeBrowsingTriggeredPopupBlocker
	case BackForwardCacheNotRestoredReasonEmbedderSafeBrowsingThreatDetails:
		*t = BackForwardCacheNotRestoredReasonEmbedderSafeBrowsingThreatDetails
	case BackForwardCacheNotRestoredReasonEmbedderAppBannerManager:
		*t = BackForwardCacheNotRestoredReasonEmbedderAppBannerManager
	case BackForwardCacheNotRestoredReasonEmbedderDomDistillerViewerSource:
		*t = BackForwardCacheNotRestoredReasonEmbedderDomDistillerViewerSource
	case BackForwardCacheNotRestoredReasonEmbedderDomDistillerSelfDeletingRequestDelegate:
		*t = BackForwardCacheNotRestoredReasonEmbedderDomDistillerSelfDeletingRequestDelegate
	case BackForwardCacheNotRestoredReasonEmbedderOomInterventionTabHelper:
		*t = BackForwardCacheNotRestoredReasonEmbedderOomInterventionTabHelper
	case BackForwardCacheNotRestoredReasonEmbedderOfflinePage:
		*t = BackForwardCacheNotRestoredReasonEmbedderOfflinePage
	case BackForwardCacheNotRestoredReasonEmbedderChromePasswordManagerClientBindCredentialManager:
		*t = BackForwardCacheNotRestoredReasonEmbedderChromePasswordManagerClientBindCredentialManager
	case BackForwardCacheNotRestoredReasonEmbedderPermissionRequestManager:
		*t = BackForwardCacheNotRestoredReasonEmbedderPermissionRequestManager
	case BackForwardCacheNotRestoredReasonEmbedderModalDialog:
		*t = BackForwardCacheNotRestoredReasonEmbedderModalDialog
	case BackForwardCacheNotRestoredReasonEmbedderExtensions:
		*t = BackForwardCacheNotRestoredReasonEmbedderExtensions
	case BackForwardCacheNotRestoredReasonEmbedderExtensionMessaging:
		*t = BackForwardCacheNotRestoredReasonEmbedderExtensionMessaging
	case BackForwardCacheNotRestoredReasonEmbedderExtensionMessagingForOpenPort:
		*t = BackForwardCacheNotRestoredReasonEmbedderExtensionMessagingForOpenPort
	case BackForwardCacheNotRestoredReasonEmbedderExtensionSentMessageToCachedFrame:
		*t = BackForwardCacheNotRestoredReasonEmbedderExtensionSentMessageToCachedFrame

	default:
		in.AddError(fmt.Errorf("unknown BackForwardCacheNotRestoredReason value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *BackForwardCacheNotRestoredReason) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}

// BackForwardCacheNotRestoredReasonType types of not restored reasons for
// back-forward cache.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-BackForwardCacheNotRestoredReasonType
type BackForwardCacheNotRestoredReasonType string

// String returns the BackForwardCacheNotRestoredReasonType as string value.
func (t BackForwardCacheNotRestoredReasonType) String() string {
	return string(t)
}

// BackForwardCacheNotRestoredReasonType values.
const (
	BackForwardCacheNotRestoredReasonTypeSupportPending    BackForwardCacheNotRestoredReasonType = "SupportPending"
	BackForwardCacheNotRestoredReasonTypePageSupportNeeded BackForwardCacheNotRestoredReasonType = "PageSupportNeeded"
	BackForwardCacheNotRestoredReasonTypeCircumstantial    BackForwardCacheNotRestoredReasonType = "Circumstantial"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t BackForwardCacheNotRestoredReasonType) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t BackForwardCacheNotRestoredReasonType) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *BackForwardCacheNotRestoredReasonType) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch BackForwardCacheNotRestoredReasonType(v) {
	case BackForwardCacheNotRestoredReasonTypeSupportPending:
		*t = BackForwardCacheNotRestoredReasonTypeSupportPending
	case BackForwardCacheNotRestoredReasonTypePageSupportNeeded:
		*t = BackForwardCacheNotRestoredReasonTypePageSupportNeeded
	case BackForwardCacheNotRestoredReasonTypeCircumstantial:
		*t = BackForwardCacheNotRestoredReasonTypeCircumstantial

	default:
		in.AddError(fmt.Errorf("unknown BackForwardCacheNotRestoredReasonType value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *BackForwardCacheNotRestoredReasonType) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}

// BackForwardCacheNotRestoredExplanation [no description].
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-BackForwardCacheNotRestoredExplanation
type BackForwardCacheNotRestoredExplanation struct {
	Type    BackForwardCacheNotRestoredReasonType `json:"type"`              // Type of the reason
	Reason  BackForwardCacheNotRestoredReason     `json:"reason"`            // Not restored reason
	Context string                                `json:"context,omitempty"` // Context associated with the reason. The meaning of this context is dependent on the reason: - EmbedderExtensionSentMessageToCachedFrame: the extension ID.
}

// BackForwardCacheNotRestoredExplanationTree [no description].
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-BackForwardCacheNotRestoredExplanationTree
type BackForwardCacheNotRestoredExplanationTree struct {
	URL          string                                        `json:"url"`          // URL of each frame
	Explanations []*BackForwardCacheNotRestoredExplanation     `json:"explanations"` // Not restored reasons of each frame
	Children     []*BackForwardCacheNotRestoredExplanationTree `json:"children"`     // Array of children frame
}

// PrerenderFinalStatus list of FinalStatus reasons for Prerender2.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-PrerenderFinalStatus
type PrerenderFinalStatus string

// String returns the PrerenderFinalStatus as string value.
func (t PrerenderFinalStatus) String() string {
	return string(t)
}

// PrerenderFinalStatus values.
const (
	PrerenderFinalStatusActivated                                  PrerenderFinalStatus = "Activated"
	PrerenderFinalStatusDestroyed                                  PrerenderFinalStatus = "Destroyed"
	PrerenderFinalStatusLowEndDevice                               PrerenderFinalStatus = "LowEndDevice"
	PrerenderFinalStatusInvalidSchemeRedirect                      PrerenderFinalStatus = "InvalidSchemeRedirect"
	PrerenderFinalStatusInvalidSchemeNavigation                    PrerenderFinalStatus = "InvalidSchemeNavigation"
	PrerenderFinalStatusInProgressNavigation                       PrerenderFinalStatus = "InProgressNavigation"
	PrerenderFinalStatusNavigationRequestBlockedByCsp              PrerenderFinalStatus = "NavigationRequestBlockedByCsp"
	PrerenderFinalStatusMainFrameNavigation                        PrerenderFinalStatus = "MainFrameNavigation"
	PrerenderFinalStatusMojoBinderPolicy                           PrerenderFinalStatus = "MojoBinderPolicy"
	PrerenderFinalStatusRendererProcessCrashed                     PrerenderFinalStatus = "RendererProcessCrashed"
	PrerenderFinalStatusRendererProcessKilled                      PrerenderFinalStatus = "RendererProcessKilled"
	PrerenderFinalStatusDownload                                   PrerenderFinalStatus = "Download"
	PrerenderFinalStatusTriggerDestroyed                           PrerenderFinalStatus = "TriggerDestroyed"
	PrerenderFinalStatusNavigationNotCommitted                     PrerenderFinalStatus = "NavigationNotCommitted"
	PrerenderFinalStatusNavigationBadHTTPStatus                    PrerenderFinalStatus = "NavigationBadHttpStatus"
	PrerenderFinalStatusClientCertRequested                        PrerenderFinalStatus = "ClientCertRequested"
	PrerenderFinalStatusNavigationRequestNetworkError              PrerenderFinalStatus = "NavigationRequestNetworkError"
	PrerenderFinalStatusMaxNumOfRunningPrerendersExceeded          PrerenderFinalStatus = "MaxNumOfRunningPrerendersExceeded"
	PrerenderFinalStatusCancelAllHostsForTesting                   PrerenderFinalStatus = "CancelAllHostsForTesting"
	PrerenderFinalStatusDidFailLoad                                PrerenderFinalStatus = "DidFailLoad"
	PrerenderFinalStatusStop                                       PrerenderFinalStatus = "Stop"
	PrerenderFinalStatusSslCertificateError                        PrerenderFinalStatus = "SslCertificateError"
	PrerenderFinalStatusLoginAuthRequested                         PrerenderFinalStatus = "LoginAuthRequested"
	PrerenderFinalStatusUaChangeRequiresReload                     PrerenderFinalStatus = "UaChangeRequiresReload"
	PrerenderFinalStatusBlockedByClient                            PrerenderFinalStatus = "BlockedByClient"
	PrerenderFinalStatusAudioOutputDeviceRequested                 PrerenderFinalStatus = "AudioOutputDeviceRequested"
	PrerenderFinalStatusMixedContent                               PrerenderFinalStatus = "MixedContent"
	PrerenderFinalStatusTriggerBackgrounded                        PrerenderFinalStatus = "TriggerBackgrounded"
	PrerenderFinalStatusEmbedderTriggeredAndCrossOriginRedirected  PrerenderFinalStatus = "EmbedderTriggeredAndCrossOriginRedirected"
	PrerenderFinalStatusMemoryLimitExceeded                        PrerenderFinalStatus = "MemoryLimitExceeded"
	PrerenderFinalStatusFailToGetMemoryUsage                       PrerenderFinalStatus = "FailToGetMemoryUsage"
	PrerenderFinalStatusDataSaverEnabled                           PrerenderFinalStatus = "DataSaverEnabled"
	PrerenderFinalStatusHasEffectiveURL                            PrerenderFinalStatus = "HasEffectiveUrl"
	PrerenderFinalStatusActivatedBeforeStarted                     PrerenderFinalStatus = "ActivatedBeforeStarted"
	PrerenderFinalStatusInactivePageRestriction                    PrerenderFinalStatus = "InactivePageRestriction"
	PrerenderFinalStatusStartFailed                                PrerenderFinalStatus = "StartFailed"
	PrerenderFinalStatusTimeoutBackgrounded                        PrerenderFinalStatus = "TimeoutBackgrounded"
	PrerenderFinalStatusCrossSiteRedirect                          PrerenderFinalStatus = "CrossSiteRedirect"
	PrerenderFinalStatusCrossSiteNavigation                        PrerenderFinalStatus = "CrossSiteNavigation"
	PrerenderFinalStatusSameSiteCrossOriginRedirect                PrerenderFinalStatus = "SameSiteCrossOriginRedirect"
	PrerenderFinalStatusSameSiteCrossOriginNavigation              PrerenderFinalStatus = "SameSiteCrossOriginNavigation"
	PrerenderFinalStatusSameSiteCrossOriginRedirectNotOptIn        PrerenderFinalStatus = "SameSiteCrossOriginRedirectNotOptIn"
	PrerenderFinalStatusSameSiteCrossOriginNavigationNotOptIn      PrerenderFinalStatus = "SameSiteCrossOriginNavigationNotOptIn"
	PrerenderFinalStatusActivationNavigationParameterMismatch      PrerenderFinalStatus = "ActivationNavigationParameterMismatch"
	PrerenderFinalStatusActivatedInBackground                      PrerenderFinalStatus = "ActivatedInBackground"
	PrerenderFinalStatusEmbedderHostDisallowed                     PrerenderFinalStatus = "EmbedderHostDisallowed"
	PrerenderFinalStatusActivationNavigationDestroyedBeforeSuccess PrerenderFinalStatus = "ActivationNavigationDestroyedBeforeSuccess"
	PrerenderFinalStatusTabClosedByUserGesture                     PrerenderFinalStatus = "TabClosedByUserGesture"
	PrerenderFinalStatusTabClosedWithoutUserGesture                PrerenderFinalStatus = "TabClosedWithoutUserGesture"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t PrerenderFinalStatus) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t PrerenderFinalStatus) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *PrerenderFinalStatus) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch PrerenderFinalStatus(v) {
	case PrerenderFinalStatusActivated:
		*t = PrerenderFinalStatusActivated
	case PrerenderFinalStatusDestroyed:
		*t = PrerenderFinalStatusDestroyed
	case PrerenderFinalStatusLowEndDevice:
		*t = PrerenderFinalStatusLowEndDevice
	case PrerenderFinalStatusInvalidSchemeRedirect:
		*t = PrerenderFinalStatusInvalidSchemeRedirect
	case PrerenderFinalStatusInvalidSchemeNavigation:
		*t = PrerenderFinalStatusInvalidSchemeNavigation
	case PrerenderFinalStatusInProgressNavigation:
		*t = PrerenderFinalStatusInProgressNavigation
	case PrerenderFinalStatusNavigationRequestBlockedByCsp:
		*t = PrerenderFinalStatusNavigationRequestBlockedByCsp
	case PrerenderFinalStatusMainFrameNavigation:
		*t = PrerenderFinalStatusMainFrameNavigation
	case PrerenderFinalStatusMojoBinderPolicy:
		*t = PrerenderFinalStatusMojoBinderPolicy
	case PrerenderFinalStatusRendererProcessCrashed:
		*t = PrerenderFinalStatusRendererProcessCrashed
	case PrerenderFinalStatusRendererProcessKilled:
		*t = PrerenderFinalStatusRendererProcessKilled
	case PrerenderFinalStatusDownload:
		*t = PrerenderFinalStatusDownload
	case PrerenderFinalStatusTriggerDestroyed:
		*t = PrerenderFinalStatusTriggerDestroyed
	case PrerenderFinalStatusNavigationNotCommitted:
		*t = PrerenderFinalStatusNavigationNotCommitted
	case PrerenderFinalStatusNavigationBadHTTPStatus:
		*t = PrerenderFinalStatusNavigationBadHTTPStatus
	case PrerenderFinalStatusClientCertRequested:
		*t = PrerenderFinalStatusClientCertRequested
	case PrerenderFinalStatusNavigationRequestNetworkError:
		*t = PrerenderFinalStatusNavigationRequestNetworkError
	case PrerenderFinalStatusMaxNumOfRunningPrerendersExceeded:
		*t = PrerenderFinalStatusMaxNumOfRunningPrerendersExceeded
	case PrerenderFinalStatusCancelAllHostsForTesting:
		*t = PrerenderFinalStatusCancelAllHostsForTesting
	case PrerenderFinalStatusDidFailLoad:
		*t = PrerenderFinalStatusDidFailLoad
	case PrerenderFinalStatusStop:
		*t = PrerenderFinalStatusStop
	case PrerenderFinalStatusSslCertificateError:
		*t = PrerenderFinalStatusSslCertificateError
	case PrerenderFinalStatusLoginAuthRequested:
		*t = PrerenderFinalStatusLoginAuthRequested
	case PrerenderFinalStatusUaChangeRequiresReload:
		*t = PrerenderFinalStatusUaChangeRequiresReload
	case PrerenderFinalStatusBlockedByClient:
		*t = PrerenderFinalStatusBlockedByClient
	case PrerenderFinalStatusAudioOutputDeviceRequested:
		*t = PrerenderFinalStatusAudioOutputDeviceRequested
	case PrerenderFinalStatusMixedContent:
		*t = PrerenderFinalStatusMixedContent
	case PrerenderFinalStatusTriggerBackgrounded:
		*t = PrerenderFinalStatusTriggerBackgrounded
	case PrerenderFinalStatusEmbedderTriggeredAndCrossOriginRedirected:
		*t = PrerenderFinalStatusEmbedderTriggeredAndCrossOriginRedirected
	case PrerenderFinalStatusMemoryLimitExceeded:
		*t = PrerenderFinalStatusMemoryLimitExceeded
	case PrerenderFinalStatusFailToGetMemoryUsage:
		*t = PrerenderFinalStatusFailToGetMemoryUsage
	case PrerenderFinalStatusDataSaverEnabled:
		*t = PrerenderFinalStatusDataSaverEnabled
	case PrerenderFinalStatusHasEffectiveURL:
		*t = PrerenderFinalStatusHasEffectiveURL
	case PrerenderFinalStatusActivatedBeforeStarted:
		*t = PrerenderFinalStatusActivatedBeforeStarted
	case PrerenderFinalStatusInactivePageRestriction:
		*t = PrerenderFinalStatusInactivePageRestriction
	case PrerenderFinalStatusStartFailed:
		*t = PrerenderFinalStatusStartFailed
	case PrerenderFinalStatusTimeoutBackgrounded:
		*t = PrerenderFinalStatusTimeoutBackgrounded
	case PrerenderFinalStatusCrossSiteRedirect:
		*t = PrerenderFinalStatusCrossSiteRedirect
	case PrerenderFinalStatusCrossSiteNavigation:
		*t = PrerenderFinalStatusCrossSiteNavigation
	case PrerenderFinalStatusSameSiteCrossOriginRedirect:
		*t = PrerenderFinalStatusSameSiteCrossOriginRedirect
	case PrerenderFinalStatusSameSiteCrossOriginNavigation:
		*t = PrerenderFinalStatusSameSiteCrossOriginNavigation
	case PrerenderFinalStatusSameSiteCrossOriginRedirectNotOptIn:
		*t = PrerenderFinalStatusSameSiteCrossOriginRedirectNotOptIn
	case PrerenderFinalStatusSameSiteCrossOriginNavigationNotOptIn:
		*t = PrerenderFinalStatusSameSiteCrossOriginNavigationNotOptIn
	case PrerenderFinalStatusActivationNavigationParameterMismatch:
		*t = PrerenderFinalStatusActivationNavigationParameterMismatch
	case PrerenderFinalStatusActivatedInBackground:
		*t = PrerenderFinalStatusActivatedInBackground
	case PrerenderFinalStatusEmbedderHostDisallowed:
		*t = PrerenderFinalStatusEmbedderHostDisallowed
	case PrerenderFinalStatusActivationNavigationDestroyedBeforeSuccess:
		*t = PrerenderFinalStatusActivationNavigationDestroyedBeforeSuccess
	case PrerenderFinalStatusTabClosedByUserGesture:
		*t = PrerenderFinalStatusTabClosedByUserGesture
	case PrerenderFinalStatusTabClosedWithoutUserGesture:
		*t = PrerenderFinalStatusTabClosedWithoutUserGesture

	default:
		in.AddError(fmt.Errorf("unknown PrerenderFinalStatus value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *PrerenderFinalStatus) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}

// FileChooserOpenedMode input mode.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#event-fileChooserOpened
type FileChooserOpenedMode string

// String returns the FileChooserOpenedMode as string value.
func (t FileChooserOpenedMode) String() string {
	return string(t)
}

// FileChooserOpenedMode values.
const (
	FileChooserOpenedModeSelectSingle   FileChooserOpenedMode = "selectSingle"
	FileChooserOpenedModeSelectMultiple FileChooserOpenedMode = "selectMultiple"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t FileChooserOpenedMode) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t FileChooserOpenedMode) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *FileChooserOpenedMode) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch FileChooserOpenedMode(v) {
	case FileChooserOpenedModeSelectSingle:
		*t = FileChooserOpenedModeSelectSingle
	case FileChooserOpenedModeSelectMultiple:
		*t = FileChooserOpenedModeSelectMultiple

	default:
		in.AddError(fmt.Errorf("unknown FileChooserOpenedMode value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *FileChooserOpenedMode) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}

// FrameDetachedReason [no description].
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#event-frameDetached
type FrameDetachedReason string

// String returns the FrameDetachedReason as string value.
func (t FrameDetachedReason) String() string {
	return string(t)
}

// FrameDetachedReason values.
const (
	FrameDetachedReasonRemove FrameDetachedReason = "remove"
	FrameDetachedReasonSwap   FrameDetachedReason = "swap"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t FrameDetachedReason) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t FrameDetachedReason) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *FrameDetachedReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch FrameDetachedReason(v) {
	case FrameDetachedReasonRemove:
		*t = FrameDetachedReasonRemove
	case FrameDetachedReasonSwap:
		*t = FrameDetachedReasonSwap

	default:
		in.AddError(fmt.Errorf("unknown FrameDetachedReason value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *FrameDetachedReason) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}

// CaptureScreenshotFormat image compression format (defaults to png).
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#method-captureScreenshot
type CaptureScreenshotFormat string

// String returns the CaptureScreenshotFormat as string value.
func (t CaptureScreenshotFormat) String() string {
	return string(t)
}

// CaptureScreenshotFormat values.
const (
	CaptureScreenshotFormatJpeg CaptureScreenshotFormat = "jpeg"
	CaptureScreenshotFormatPng  CaptureScreenshotFormat = "png"
	CaptureScreenshotFormatWebp CaptureScreenshotFormat = "webp"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t CaptureScreenshotFormat) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t CaptureScreenshotFormat) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *CaptureScreenshotFormat) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch CaptureScreenshotFormat(v) {
	case CaptureScreenshotFormatJpeg:
		*t = CaptureScreenshotFormatJpeg
	case CaptureScreenshotFormatPng:
		*t = CaptureScreenshotFormatPng
	case CaptureScreenshotFormatWebp:
		*t = CaptureScreenshotFormatWebp

	default:
		in.AddError(fmt.Errorf("unknown CaptureScreenshotFormat value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *CaptureScreenshotFormat) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}

// CaptureSnapshotFormat format (defaults to mhtml).
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#method-captureSnapshot
type CaptureSnapshotFormat string

// String returns the CaptureSnapshotFormat as string value.
func (t CaptureSnapshotFormat) String() string {
	return string(t)
}

// CaptureSnapshotFormat values.
const (
	CaptureSnapshotFormatMhtml CaptureSnapshotFormat = "mhtml"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t CaptureSnapshotFormat) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t CaptureSnapshotFormat) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *CaptureSnapshotFormat) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch CaptureSnapshotFormat(v) {
	case CaptureSnapshotFormatMhtml:
		*t = CaptureSnapshotFormatMhtml

	default:
		in.AddError(fmt.Errorf("unknown CaptureSnapshotFormat value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *CaptureSnapshotFormat) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}

// PrintToPDFTransferMode return as stream.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#method-printToPDF
type PrintToPDFTransferMode string

// String returns the PrintToPDFTransferMode as string value.
func (t PrintToPDFTransferMode) String() string {
	return string(t)
}

// PrintToPDFTransferMode values.
const (
	PrintToPDFTransferModeReturnAsBase64 PrintToPDFTransferMode = "ReturnAsBase64"
	PrintToPDFTransferModeReturnAsStream PrintToPDFTransferMode = "ReturnAsStream"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t PrintToPDFTransferMode) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t PrintToPDFTransferMode) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *PrintToPDFTransferMode) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch PrintToPDFTransferMode(v) {
	case PrintToPDFTransferModeReturnAsBase64:
		*t = PrintToPDFTransferModeReturnAsBase64
	case PrintToPDFTransferModeReturnAsStream:
		*t = PrintToPDFTransferModeReturnAsStream

	default:
		in.AddError(fmt.Errorf("unknown PrintToPDFTransferMode value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *PrintToPDFTransferMode) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}

// ScreencastFormat image compression format.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#method-startScreencast
type ScreencastFormat string

// String returns the ScreencastFormat as string value.
func (t ScreencastFormat) String() string {
	return string(t)
}

// ScreencastFormat values.
const (
	ScreencastFormatJpeg ScreencastFormat = "jpeg"
	ScreencastFormatPng  ScreencastFormat = "png"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t ScreencastFormat) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t ScreencastFormat) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *ScreencastFormat) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch ScreencastFormat(v) {
	case ScreencastFormatJpeg:
		*t = ScreencastFormatJpeg
	case ScreencastFormatPng:
		*t = ScreencastFormatPng

	default:
		in.AddError(fmt.Errorf("unknown ScreencastFormat value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *ScreencastFormat) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}

// SetWebLifecycleStateState target lifecycle state.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#method-setWebLifecycleState
type SetWebLifecycleStateState string

// String returns the SetWebLifecycleStateState as string value.
func (t SetWebLifecycleStateState) String() string {
	return string(t)
}

// SetWebLifecycleStateState values.
const (
	SetWebLifecycleStateStateFrozen SetWebLifecycleStateState = "frozen"
	SetWebLifecycleStateStateActive SetWebLifecycleStateState = "active"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t SetWebLifecycleStateState) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t SetWebLifecycleStateState) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *SetWebLifecycleStateState) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch SetWebLifecycleStateState(v) {
	case SetWebLifecycleStateStateFrozen:
		*t = SetWebLifecycleStateStateFrozen
	case SetWebLifecycleStateStateActive:
		*t = SetWebLifecycleStateStateActive

	default:
		in.AddError(fmt.Errorf("unknown SetWebLifecycleStateState value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *SetWebLifecycleStateState) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}

// SetSPCTransactionModeMode [no description].
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Page#method-setSPCTransactionMode
type SetSPCTransactionModeMode string

// String returns the SetSPCTransactionModeMode as string value.
func (t SetSPCTransactionModeMode) String() string {
	return string(t)
}

// SetSPCTransactionModeMode values.
const (
	SetSPCTransactionModeModeNone       SetSPCTransactionModeMode = "none"
	SetSPCTransactionModeModeAutoAccept SetSPCTransactionModeMode = "autoAccept"
	SetSPCTransactionModeModeAutoReject SetSPCTransactionModeMode = "autoReject"
	SetSPCTransactionModeModeAutoOptOut SetSPCTransactionModeMode = "autoOptOut"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t SetSPCTransactionModeMode) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t SetSPCTransactionModeMode) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *SetSPCTransactionModeMode) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch SetSPCTransactionModeMode(v) {
	case SetSPCTransactionModeModeNone:
		*t = SetSPCTransactionModeModeNone
	case SetSPCTransactionModeModeAutoAccept:
		*t = SetSPCTransactionModeModeAutoAccept
	case SetSPCTransactionModeModeAutoReject:
		*t = SetSPCTransactionModeModeAutoReject
	case SetSPCTransactionModeModeAutoOptOut:
		*t = SetSPCTransactionModeModeAutoOptOut

	default:
		in.AddError(fmt.Errorf("unknown SetSPCTransactionModeMode value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *SetSPCTransactionModeMode) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}