~UseCounter();
enum Feature {
- PageDestruction,
- LegacyNotifications,
- MultipartMainResource,
- PrefixedIndexedDB,
- WorkerStart,
- SharedWorkerStart,
- LegacyWebAudio,
- WebAudioStart,
- PrefixedContentSecurityPolicy,
- UnprefixedIndexedDB,
- OpenWebDatabase,
- REMOVEDLegacyHTMLNotifications,
- LegacyTextNotifications,
- UnprefixedRequestAnimationFrame,
- PrefixedRequestAnimationFrame,
- ContentSecurityPolicy,
- ContentSecurityPolicyReportOnly,
- PrefixedContentSecurityPolicyReportOnly,
- PrefixedTransitionEndEvent,
- UnprefixedTransitionEndEvent,
- PrefixedAndUnprefixedTransitionEndEvent,
- AutoFocusAttribute,
- REMOVEDAutoSaveAttribute,
- DataListElement,
- FormAttribute,
- IncrementalAttribute,
- InputTypeColor,
- InputTypeDate,
- InputTypeDateTime,
- InputTypeDateTimeFallback,
- InputTypeDateTimeLocal,
- InputTypeEmail,
- InputTypeMonth,
- InputTypeNumber,
- InputTypeRange,
- InputTypeSearch,
- InputTypeTel,
- InputTypeTime,
- InputTypeURL,
- InputTypeWeek,
- InputTypeWeekFallback,
- ListAttribute,
- MaxAttribute,
- MinAttribute,
- PatternAttribute,
- PlaceholderAttribute,
- PrecisionAttribute,
- PrefixedDirectoryAttribute,
- PrefixedSpeechAttribute,
- RequiredAttribute,
- ResultsAttribute,
- StepAttribute,
- PageVisits,
- HTMLMarqueeElement,
- REMOVEDCSSOverflowMarquee,
- Reflection,
- REMOVEDCursorVisibility,
- PrefixedStorageInfo,
- XFrameOptions,
- XFrameOptionsSameOrigin,
- XFrameOptionsSameOriginWithBadAncestorChain,
- DeprecatedFlexboxWebContent,
- DeprecatedFlexboxChrome,
- DeprecatedFlexboxChromeExtension,
- REMOVEDSVGTRefElement,
- UnprefixedPerformanceTimeline,
- PrefixedPerformanceTimeline,
- UnprefixedUserTiming,
- REMOVEDPrefixedUserTiming,
- WindowEvent,
- ContentSecurityPolicyWithBaseElement,
- PrefixedMediaAddKey,
- PrefixedMediaGenerateKeyRequest,
- REMOVEDWebAudioLooping,
- DocumentClear,
- REMOVEDPrefixedTransitionMediaFeature,
- SVGFontElement,
- XMLDocument,
- XSLProcessingInstruction,
- XSLTProcessor,
- SVGSwitchElement,
- REMOVEDPrefixedDocumentRegister,
- HTMLShadowElementOlderShadowRoot,
- DocumentAll,
- FormElement,
- DemotedFormElement,
- CaptureAttributeAsEnum,
- ShadowDOMPrefixedPseudo,
- ShadowDOMPrefixedCreateShadowRoot,
- ShadowDOMPrefixedShadowRoot,
- SVGAnimationElement,
- KeyboardEventKeyLocation,
- CaptureEvents,
- ReleaseEvents,
- CSSDisplayRunIn,
- CSSDisplayCompact,
- LineClamp,
- SubFrameBeforeUnloadRegistered,
- SubFrameBeforeUnloadFired,
- CSSPseudoElementPrefixedDistributed,
- TextReplaceWholeText,
- PrefixedShadowRootConstructor,
- ConsoleMarkTimeline,
- CSSPseudoElementUserAgentCustomPseudo,
- DocumentTypeEntities, // Removed from DOM4.
- DocumentTypeInternalSubset, // Removed from DOM4.
- DocumentTypeNotations, // Removed from DOM4.
- ElementGetAttributeNode, // Removed from DOM4.
- ElementSetAttributeNode, // Removed from DOM4.
- ElementRemoveAttributeNode, // Removed from DOM4.
- ElementGetAttributeNodeNS, // Removed from DOM4.
- DocumentCreateAttribute, // Removed from DOM4.
- DocumentCreateAttributeNS, // Removed from DOM4.
- DocumentCreateCDATASection, // Removed from DOM4.
- DocumentInputEncoding, // Removed from DOM4.
- DocumentXMLEncoding, // Removed from DOM4.
- DocumentXMLStandalone, // Removed from DOM4.
- DocumentXMLVersion, // Removed from DOM4.
- NodeIsSameNode, // Removed from DOM4.
- NodeIsSupported, // Removed from DOM4.
- NodeNamespaceURI, // Removed from DOM4.
- REMOVEDNodePrefix,
- NodeLocalName, // Removed from DOM4.
- NavigatorProductSub,
- NavigatorVendor,
- NavigatorVendorSub,
- FileError,
- DocumentCharset, // Documented as IE extensions, from KHTML days.
- PrefixedAnimationEndEvent,
- UnprefixedAnimationEndEvent,
- PrefixedAndUnprefixedAnimationEndEvent,
- PrefixedAnimationStartEvent,
- UnprefixedAnimationStartEvent,
- PrefixedAndUnprefixedAnimationStartEvent,
- PrefixedAnimationIterationEvent,
- UnprefixedAnimationIterationEvent,
- PrefixedAndUnprefixedAnimationIterationEvent,
- EventReturnValue, // Legacy IE extension.
- SVGSVGElement,
- InsertAdjacentText,
- InsertAdjacentElement,
- HasAttributes, // Removed from DOM4.
- DOMSubtreeModifiedEvent,
- DOMNodeInsertedEvent,
- DOMNodeRemovedEvent,
- DOMNodeRemovedFromDocumentEvent,
- DOMNodeInsertedIntoDocumentEvent,
- DOMCharacterDataModifiedEvent,
- DocumentAllTags,
- DocumentAllLegacyCall,
- HTMLAppletElementLegacyCall,
- HTMLEmbedElementLegacyCall,
- HTMLObjectElementLegacyCall,
- BeforeLoadEvent,
- GetMatchedCSSRules,
- SVGFontInCSS,
- ScrollTopBodyNotQuirksMode,
- ScrollLeftBodyNotQuirksMode,
- REMOVEDAttributeIsId,
- REMOVEDAttributeOwnerElement,
- REMOVEDAttributeSetPrefix,
- AttributeSpecified, // Removed in DOM4.
- BeforeLoadEventInIsolatedWorld,
- PrefixedAudioDecodedByteCount,
- PrefixedVideoDecodedByteCount,
- PrefixedVideoSupportsFullscreen,
- PrefixedVideoDisplayingFullscreen,
- PrefixedVideoEnterFullscreen,
- PrefixedVideoExitFullscreen,
- PrefixedVideoEnterFullScreen,
- PrefixedVideoExitFullScreen,
- PrefixedVideoDecodedFrameCount,
- PrefixedVideoDroppedFrameCount,
- SourceElementCandidate,
- SourceElementNonMatchingMedia,
- PrefixedElementRequestFullscreen,
- PrefixedElementRequestFullScreen,
- BarPropLocationbar,
- BarPropMenubar,
- BarPropPersonalbar,
- BarPropScrollbars,
- BarPropStatusbar,
- BarPropToolbar,
- InputTypeEmailMultiple,
- InputTypeEmailMaxLength,
- InputTypeEmailMultipleMaxLength,
- TextTrackCueConstructor,
- CSSStyleDeclarationPropertyName, // Removed in CSSOM.
- CSSStyleDeclarationFloatPropertyName, // Pending removal in CSSOM.
- InputTypeText,
- InputTypeTextMaxLength,
- InputTypePassword,
- InputTypePasswordMaxLength,
- SVGInstanceRoot,
- ShowModalDialog,
- PrefixedPageVisibility,
- HTMLFrameElementLocation,
- CSSStyleSheetInsertRuleOptionalArg, // Inconsistent with the specification and other browsers.
- CSSWebkitRegionAtRule, // @region rule changed to ::region()
- DocumentBeforeUnloadRegistered,
- DocumentBeforeUnloadFired,
- DocumentUnloadRegistered,
- DocumentUnloadFired,
- SVGLocatableNearestViewportElement,
- SVGLocatableFarthestViewportElement,
- IsIndexElement,
- HTMLHeadElementProfile,
- OverflowChangedEvent,
- SVGPointMatrixTransform,
- HTMLHtmlElementManifest,
- DOMFocusInOutEvent,
- FileGetLastModifiedDate,
- HTMLElementInnerText,
- HTMLElementOuterText,
- ReplaceDocumentViaJavaScriptURL,
- ElementSetAttributeNodeNS, // Removed from DOM4.
- ElementPrefixedMatchesSelector,
- DOMImplementationCreateCSSStyleSheet,
- CSSStyleSheetRules,
- CSSStyleSheetAddRule,
- CSSStyleSheetRemoveRule,
- InitMessageEvent,
- PrefixedInitMessageEvent,
- ElementSetPrefix, // Element.prefix is readonly in DOM4.
- CSSStyleDeclarationGetPropertyCSSValue,
- SVGElementGetPresentationAttribute,
- REMOVEDAttrUsedAsNodeParameter,
- REMOVEDAttrUsedAsNodeReceiver,
- PrefixedMediaCancelKeyRequest,
- DOMImplementationHasFeature,
- DOMImplementationHasFeatureReturnFalse,
- CanPlayTypeKeySystem,
- PrefixedDevicePixelRatioMediaFeature,
- PrefixedMaxDevicePixelRatioMediaFeature,
- PrefixedMinDevicePixelRatioMediaFeature,
- PrefixedTransform2dMediaFeature,
- PrefixedTransform3dMediaFeature,
- PrefixedAnimationMediaFeature,
- PrefixedViewModeMediaFeature,
- PrefixedStorageQuota,
- ContentSecurityPolicyReportOnlyInMeta,
- PrefixedMediaSourceOpen,
- ResetReferrerPolicy,
- CaseInsensitiveAttrSelectorMatch, // Case-insensitivity dropped from specification.
- CaptureAttributeAsBoolean,
+ // Do not change assigned numbers of existing items: add new features
+ // to the end of the list.
+ PageDestruction = 0,
+ LegacyNotifications = 1,
+ MultipartMainResource = 2,
+ PrefixedIndexedDB = 3,
+ WorkerStart = 4,
+ SharedWorkerStart = 5,
+ LegacyWebAudio = 6,
+ WebAudioStart = 7,
+ UnprefixedIndexedDB = 9,
+ OpenWebDatabase = 10,
+ LegacyTextNotifications = 12,
+ UnprefixedRequestAnimationFrame = 13,
+ PrefixedRequestAnimationFrame = 14,
+ ContentSecurityPolicy = 15,
+ ContentSecurityPolicyReportOnly = 16,
+ PrefixedTransitionEndEvent = 18,
+ UnprefixedTransitionEndEvent = 19,
+ PrefixedAndUnprefixedTransitionEndEvent = 20,
+ AutoFocusAttribute = 21,
+ DataListElement = 23,
+ FormAttribute = 24,
+ IncrementalAttribute = 25,
+ InputTypeColor = 26,
+ InputTypeDate = 27,
+ InputTypeDateTime = 28,
+ InputTypeDateTimeFallback = 29,
+ InputTypeDateTimeLocal = 30,
+ InputTypeEmail = 31,
+ InputTypeMonth = 32,
+ InputTypeNumber = 33,
+ InputTypeRange = 34,
+ InputTypeSearch = 35,
+ InputTypeTel = 36,
+ InputTypeTime = 37,
+ InputTypeURL = 38,
+ InputTypeWeek = 39,
+ InputTypeWeekFallback = 40,
+ ListAttribute = 41,
+ MaxAttribute = 42,
+ MinAttribute = 43,
+ PatternAttribute = 44,
+ PlaceholderAttribute = 45,
+ PrecisionAttribute = 46,
+ PrefixedDirectoryAttribute = 47,
+ PrefixedSpeechAttribute = 48,
+ RequiredAttribute = 49,
+ ResultsAttribute = 50,
+ StepAttribute = 51,
+ PageVisits = 52,
+ HTMLMarqueeElement = 53,
+ Reflection = 55,
+ PrefixedStorageInfo = 57,
+ XFrameOptions = 58,
+ XFrameOptionsSameOrigin = 59,
+ XFrameOptionsSameOriginWithBadAncestorChain = 60,
+ DeprecatedFlexboxWebContent = 61,
+ DeprecatedFlexboxChrome = 62,
+ DeprecatedFlexboxChromeExtension = 63,
+ UnprefixedPerformanceTimeline = 65,
+ PrefixedPerformanceTimeline = 66,
+ UnprefixedUserTiming = 67,
+ WindowEvent = 69,
+ ContentSecurityPolicyWithBaseElement = 70,
+ PrefixedMediaAddKey = 71,
+ PrefixedMediaGenerateKeyRequest = 72,
+ DocumentClear = 74,
+ SVGFontElement = 76,
+ XMLDocument = 77,
+ XSLProcessingInstruction = 78,
+ XSLTProcessor = 79,
+ SVGSwitchElement = 80,
+ HTMLShadowElementOlderShadowRoot = 82,
+ DocumentAll = 83,
+ FormElement = 84,
+ DemotedFormElement = 85,
+ CaptureAttributeAsEnum = 86,
+ ShadowDOMPrefixedPseudo = 87,
+ ShadowDOMPrefixedCreateShadowRoot = 88,
+ ShadowDOMPrefixedShadowRoot = 89,
+ SVGAnimationElement = 90,
+ KeyboardEventKeyLocation = 91,
+ CaptureEvents = 92,
+ ReleaseEvents = 93,
+ CSSDisplayRunIn = 94,
+ CSSDisplayCompact = 95,
+ LineClamp = 96,
+ SubFrameBeforeUnloadRegistered = 97,
+ SubFrameBeforeUnloadFired = 98,
+ CSSPseudoElementPrefixedDistributed = 99,
+ TextReplaceWholeText = 100,
+ PrefixedShadowRootConstructor = 101,
+ ConsoleMarkTimeline = 102,
+ CSSPseudoElementUserAgentCustomPseudo = 103,
+ DocumentTypeEntities = 104, // Removed from DOM4.
+ DocumentTypeInternalSubset = 105, // Removed from DOM4.
+ DocumentTypeNotations = 106, // Removed from DOM4.
+ ElementGetAttributeNode = 107, // Removed from DOM4.
+ ElementSetAttributeNode = 108, // Removed from DOM4.
+ ElementRemoveAttributeNode = 109, // Removed from DOM4.
+ ElementGetAttributeNodeNS = 110, // Removed from DOM4.
+ DocumentCreateAttribute = 111, // Removed from DOM4.
+ DocumentCreateCDATASection = 113, // Removed from DOM4.
+ DocumentInputEncoding = 114, // Removed from DOM4.
+ DocumentXMLEncoding = 115, // Removed from DOM4.
+ DocumentXMLStandalone = 116, // Removed from DOM4.
+ DocumentXMLVersion = 117, // Removed from DOM4.
+ NodeIsSameNode = 118, // Removed from DOM4.
+ NodeIsSupported = 119, // Removed from DOM4.
+ NodeNamespaceURI = 120, // Removed from DOM4.
+ NodeLocalName = 122, // Removed from DOM4.
+ NavigatorProductSub = 123,
+ NavigatorVendor = 124,
+ NavigatorVendorSub = 125,
+ FileError = 126,
+ DocumentCharset = 127, // Documented as IE extensions = 0, from KHTML days.
+ PrefixedAnimationEndEvent = 128,
+ UnprefixedAnimationEndEvent = 129,
+ PrefixedAndUnprefixedAnimationEndEvent = 130,
+ PrefixedAnimationStartEvent = 131,
+ UnprefixedAnimationStartEvent = 132,
+ PrefixedAndUnprefixedAnimationStartEvent = 133,
+ PrefixedAnimationIterationEvent = 134,
+ UnprefixedAnimationIterationEvent = 135,
+ PrefixedAndUnprefixedAnimationIterationEvent = 136,
+ EventReturnValue = 137, // Legacy IE extension.
+ SVGSVGElement = 138,
+ SVGAnimateColorElement = 139,
+ InsertAdjacentText = 140,
+ InsertAdjacentElement = 141,
+ HasAttributes = 142, // Removed from DOM4.
+ DOMSubtreeModifiedEvent = 143,
+ DOMNodeInsertedEvent = 144,
+ DOMNodeRemovedEvent = 145,
+ DOMNodeRemovedFromDocumentEvent = 146,
+ DOMNodeInsertedIntoDocumentEvent = 147,
+ DOMCharacterDataModifiedEvent = 148,
+ DocumentAllLegacyCall = 150,
+ HTMLAppletElementLegacyCall = 151,
+ HTMLEmbedElementLegacyCall = 152,
+ HTMLObjectElementLegacyCall = 153,
+ BeforeLoadEvent = 154,
+ GetMatchedCSSRules = 155,
+ SVGFontInCSS = 156,
+ ScrollTopBodyNotQuirksMode = 157,
+ ScrollLeftBodyNotQuirksMode = 158,
+ AttributeSpecified = 162, // Removed in DOM4.
+ BeforeLoadEventInIsolatedWorld = 163,
+ PrefixedAudioDecodedByteCount = 164,
+ PrefixedVideoDecodedByteCount = 165,
+ PrefixedVideoSupportsFullscreen = 166,
+ PrefixedVideoDisplayingFullscreen = 167,
+ PrefixedVideoEnterFullscreen = 168,
+ PrefixedVideoExitFullscreen = 169,
+ PrefixedVideoEnterFullScreen = 170,
+ PrefixedVideoExitFullScreen = 171,
+ PrefixedVideoDecodedFrameCount = 172,
+ PrefixedVideoDroppedFrameCount = 173,
+ PrefixedElementRequestFullscreen = 176,
+ PrefixedElementRequestFullScreen = 177,
+ BarPropLocationbar = 178,
+ BarPropMenubar = 179,
+ BarPropPersonalbar = 180,
+ BarPropScrollbars = 181,
+ BarPropStatusbar = 182,
+ BarPropToolbar = 183,
+ InputTypeEmailMultiple = 184,
+ InputTypeEmailMaxLength = 185,
+ InputTypeEmailMultipleMaxLength = 186,
+ TextTrackCueConstructor = 187,
+ CSSStyleDeclarationPropertyName = 188, // Removed in CSSOM.
+ CSSStyleDeclarationFloatPropertyName = 189, // Pending removal in CSSOM.
+ InputTypeText = 190,
+ InputTypeTextMaxLength = 191,
+ InputTypePassword = 192,
+ InputTypePasswordMaxLength = 193,
+ SVGInstanceRoot = 194,
+ ShowModalDialog = 195,
+ PrefixedPageVisibility = 196,
+ HTMLFrameElementLocation = 197,
+ CSSStyleSheetInsertRuleOptionalArg = 198, // Inconsistent with the specification and other browsers.
+ DocumentBeforeUnloadRegistered = 200,
+ DocumentBeforeUnloadFired = 201,
+ DocumentUnloadRegistered = 202,
+ DocumentUnloadFired = 203,
+ SVGLocatableNearestViewportElement = 204,
+ SVGLocatableFarthestViewportElement = 205,
+ IsIndexElement = 206,
+ HTMLHeadElementProfile = 207,
+ OverflowChangedEvent = 208,
+ SVGPointMatrixTransform = 209,
+ HTMLHtmlElementManifest = 210,
+ DOMFocusInOutEvent = 211,
+ FileGetLastModifiedDate = 212,
+ HTMLElementInnerText = 213,
+ HTMLElementOuterText = 214,
+ ReplaceDocumentViaJavaScriptURL = 215,
+ ElementPrefixedMatchesSelector = 217,
+ DOMImplementationCreateCSSStyleSheet = 218,
+ CSSStyleSheetRules = 219,
+ CSSStyleSheetAddRule = 220,
+ CSSStyleSheetRemoveRule = 221,
+ InitMessageEvent = 222,
+ PrefixedInitMessageEvent = 223,
+ ElementSetPrefix = 224, // Element.prefix is readonly in DOM4.
+ CSSStyleDeclarationGetPropertyCSSValue = 225,
+ SVGElementGetPresentationAttribute = 226,
+ PrefixedMediaCancelKeyRequest = 229,
+ DOMImplementationHasFeature = 230,
+ DOMImplementationHasFeatureReturnFalse = 231,
+ CanPlayTypeKeySystem = 232,
+ PrefixedDevicePixelRatioMediaFeature = 233,
+ PrefixedMaxDevicePixelRatioMediaFeature = 234,
+ PrefixedMinDevicePixelRatioMediaFeature = 235,
+ PrefixedTransform2dMediaFeature = 236,
+ PrefixedTransform3dMediaFeature = 237,
+ PrefixedAnimationMediaFeature = 238,
+ PrefixedViewModeMediaFeature = 239,
+ PrefixedStorageQuota = 240,
+ ContentSecurityPolicyReportOnlyInMeta = 241,
+ PrefixedMediaSourceOpen = 242,
+ ResetReferrerPolicy = 243,
+ CaseInsensitiveAttrSelectorMatch = 244, // Case-insensitivity dropped from specification.
+ CaptureAttributeAsBoolean = 245,
+ FormNameAccessForImageElement = 246,
+ FormNameAccessForPastNamesMap = 247,
+ FormAssociationByParser = 248,
+ HTMLSourceElementMedia = 249,
+ SVGSVGElementInDocument = 250,
+ SVGDocumentRootElement = 251,
+ DocumentCreateEventOptionalArgument = 252,
+ MediaErrorEncrypted = 253,
+ EventSourceURL = 254,
+ WebSocketURL = 255,
+ UnsafeEvalBlocksCSSOM = 256,
+ WorkerSubjectToCSP = 257,
+ WorkerAllowedByChildBlockedByScript = 258,
+ HTMLMediaElementControllerNotNull = 259,
+ DeprecatedWebKitGradient = 260,
+ DeprecatedWebKitLinearGradient = 261,
+ DeprecatedWebKitRepeatingLinearGradient = 262,
+ DeprecatedWebKitRadialGradient = 263,
+ DeprecatedWebKitRepeatingRadialGradient = 264,
+ PrefixedGetImageDataHD = 265,
+ PrefixedPutImageDataHD = 266,
+ PrefixedImageSmoothingEnabled = 267,
+ UnprefixedImageSmoothingEnabled = 268,
+ ShadowRootApplyAuthorStyles = 269,
+ PromiseConstructor = 270,
+ PromiseCast = 271,
+ PromiseReject = 272,
+ PromiseResolve = 273,
// Add new features immediately above this line. Don't change assigned
// numbers of any item, and don't reuse removed slots.
NumberOfFeatures, // This enum value must be last.