@@ -8,178 +8,7 @@ import {
88import { camelToHyphenCase } from "./utils/css.js" ;
99import { filterMapRecord , isEmptyRecord } from "./utils/record.js" ;
1010import { mapDefined } from "./helpers.js" ;
11-
12- const forceKeepAlive : Record < string , string [ ] > = {
13- // Things that are incorrectly reported as unsupported.
14- // These should be filed to https://github.com/mdn/browser-compat-data/issues
15- BeforeUnloadEvent : [ "returnValue" ] ,
16- console : [
17- "assert" ,
18- "clear" ,
19- "count" ,
20- "countReset" ,
21- "debug" ,
22- "dir" ,
23- "dirxml" ,
24- "error" ,
25- "group" ,
26- "groupCollapsed" ,
27- "groupEnd" ,
28- "info" ,
29- "log" ,
30- "profile" ,
31- "profileEnd" ,
32- "table" ,
33- "time" ,
34- "timeEnd" ,
35- "timeLog" ,
36- "timeStamp" ,
37- "trace" ,
38- "warn" ,
39- ] ,
40- CSSConditionRule : [ "conditionText" ] ,
41- CSSGroupingRule : [ "cssRules" , "deleteRule" , "insertRule" ] ,
42- CSSStyleDeclaration : [
43- "alignContent" ,
44- "alignItems" ,
45- "alignSelf" ,
46- "alignmentBaseline" ,
47- "baselineShift" ,
48- "breakAfter" ,
49- "breakBefore" ,
50- "breakInside" ,
51- "clipRule" ,
52- "colorInterpolation" ,
53- "colorInterpolationFilters" ,
54- "columnGap" ,
55- "dominantBaseline" ,
56- "fill" ,
57- "fillOpacity" ,
58- "fillRule" ,
59- "floodColor" ,
60- "floodOpacity" ,
61- "fontSizeAdjust" ,
62- "fontVariantPosition" ,
63- "gap" ,
64- "gridColumnGap" ,
65- "gridGap" ,
66- "gridRowGap" ,
67- "justifyContent" ,
68- "justifyItems" ,
69- "justifySelf" ,
70- "lightingColor" ,
71- "marker" ,
72- "markerEnd" ,
73- "markerMid" ,
74- "markerStart" ,
75- "placeContent" ,
76- "placeItems" ,
77- "placeSelf" ,
78- "rotate" ,
79- "rowGap" ,
80- "scale" ,
81- "shapeRendering" ,
82- "stopColor" ,
83- "stopOpacity" ,
84- "stroke" ,
85- "strokeDasharray" ,
86- "strokeDashoffset" ,
87- "strokeLinecap" ,
88- "strokeLinejoin" ,
89- "strokeMiterlimit" ,
90- "strokeOpacity" ,
91- "strokeWidth" ,
92- "textAnchor" ,
93- "translate" ,
94- "webkitAlignContent" ,
95- "webkitAlignItems" ,
96- "webkitAlignSelf" ,
97- "webkitJustifyContent" ,
98- "webkitMaskBoxImageOutset" ,
99- "webkitMaskBoxImageRepeat" ,
100- "webkitMaskBoxImageSlice" ,
101- "webkitMaskBoxImageSource" ,
102- "webkitMaskBoxImageWidth" ,
103- "wordWrap" , // TODO: Support for alternative names
104- ] ,
105- CloseEvent : [ "code" , "reason" , "wasClean" ] ,
106- DOMRectList : [ "item" , "length" ] ,
107- DOMMatrix : [ "fromFloat32Array" , "fromFloat64Array" , "fromMatrix" ] ,
108- DOMPoint : [ "fromPoint" ] ,
109- DOMRect : [ "fromRect" ] ,
110- Document : [ "charset" , "inputEncoding" ] ,
111- Element : [ "webkitMatchesSelector" ] ,
112- ExtendableMessageEvent : [ "lastEventId" , "origin" , "ports" , "source" ] ,
113- FileReader : [ "onloadstart" ] ,
114- Gamepad : [ "hapticActuators" ] ,
115- HTMLIFrameElement : [ "allowPaymentRequest" ] ,
116- KeyframeEffect : [ "iterationComposite" ] ,
117- LinkStyle : [ "sheet" ] ,
118- MediaCapabilities : [ "encodingInfo" ] ,
119- MutationEvent : [
120- "attrChange" ,
121- "attrName" ,
122- "newValue" ,
123- "prevValue" ,
124- "relatedNode" ,
125- "initMutationEvent" ,
126- "ADDITION" ,
127- "MODIFICATION" ,
128- "REMOVAL" ,
129- ] ,
130- OfflineAudioContext : [ "resume" ] ,
131- PaymentRequest : [ "shippingAddress" ] ,
132- PictureInPictureWindow : [
133- "requestPictureInPicture" ,
134- "onenterpictureinpicture" ,
135- "onleavepictureinpicture" ,
136- "autoPictureInPicture" ,
137- "disablePictureInPicture" ,
138- ] ,
139- Request : [ "keepalive" ] ,
140- ResizeObserverSize : [ "blockSize" , "inlineSize" ] ,
141- RTCDtlsTransport : [ "onstatechange" , "state" ] ,
142- RTCPeerConnection : [ "canTrickleIceCandidates" ] ,
143- ServiceWorkerGlobalScope : [ "onmessageerror" ] ,
144- SVGAnimatedTransformList : [ "animVal" , "baseVal" ] ,
145- SVGElement : [ "ownerSVGElement" , "viewportElement" ] ,
146- SVGTransformList : [
147- "numberOfItems" ,
148- "appendItem" ,
149- "clear" ,
150- "consolidate" ,
151- "createSVGTransformFromMatrix" ,
152- "getItem" ,
153- "initialize" ,
154- "insertItemBefore" ,
155- "removeItem" ,
156- "replaceItem" ,
157- ] ,
158- SpeechSynthesisEvent : [ "charLength" ] ,
159- WebAssembly : [
160- "compile" ,
161- "compileStreaming" ,
162- "instantiate" ,
163- "instantiateStreaming" ,
164- "validate" ,
165- ] ,
166- WindowEventHandlers : [ "onmessage" ] ,
167- WorkerGlobalScope : [ "onrejectionhandled" , "onunhandledrejection" ] ,
168- WorkletGlobalScope : [ ] ,
169- // (WebAssembly namespace members)
170- // TODO: Shouldn't these be inside "WebAssembly"?
171- Instance : [ "exports" ] ,
172- Global : [ "value" , "valueOf" ] ,
173- Memory : [ "buffer" , "grow" ] ,
174- Module : [ "customSections" , "exports" , "imports" ] ,
175- Table : [ "length" , "get" , "grow" , "set" ] ,
176-
177- // Widely supported but without being correctly exposed to global
178- ReadableStreamDefaultReader : [ "closed" , "cancel" , "read" , "releaseLock" ] ,
179- ReadableStreamDefaultController : [ "desiredSize" , "close" , "enqueue" , "error" ] ,
180- WebGLVertexArrayObjectOES : [ ] ,
181- WritableStreamDefaultController : [ "error" ] ,
182- } ;
11+ import { forceKeepAlive } from "./bcd/keep-alive.js" ;
18312
18413function hasMultipleImplementations ( support : SupportBlock , prefix ?: string ) {
18514 function hasStableImplementation (
0 commit comments