Index: Source/core/frame/UseCounter.h |
diff --git a/Source/core/frame/UseCounter.h b/Source/core/frame/UseCounter.h |
index 5dec4b0c34aa4a6b7c8ffaeece8815f239b1eb99..dfe127099913909e1f2ecc1fcf6bec902141844d 100644 |
--- a/Source/core/frame/UseCounter.h |
+++ b/Source/core/frame/UseCounter.h |
@@ -27,6 +27,7 @@ |
#define UseCounter_h |
#include "core/CSSPropertyNames.h" |
+#include "core/UseCounterGenerated.h" |
#include "wtf/BitVector.h" |
#include "wtf/Noncopyable.h" |
#include "wtf/OwnPtr.h" |
@@ -54,505 +55,12 @@ class StyleSheetContents; |
// during their install of Google Chrome: |
// http://www.google.com/chrome/intl/en/privacy.html |
-class UseCounter { |
+class UseCounter : public UseCounterGenerated { |
haraken
2014/11/24 09:38:49
Add final.
|
WTF_MAKE_NONCOPYABLE(UseCounter); |
public: |
UseCounter(); |
~UseCounter(); |
- enum Feature { |
- // Do not change assigned numbers of existing items: add new features |
- // to the end of the list. |
- PageDestruction = 0, |
- PrefixedIndexedDB = 3, |
- WorkerStart = 4, |
- SharedWorkerStart = 5, |
- UnprefixedIndexedDB = 9, |
- OpenWebDatabase = 10, |
- 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, |
- 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, |
- PrefixedDirectoryAttribute = 47, |
- 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, |
- UnprefixedUserTiming = 67, |
- WindowEvent = 69, |
- ContentSecurityPolicyWithBaseElement = 70, |
- PrefixedMediaAddKey = 71, |
- PrefixedMediaGenerateKeyRequest = 72, |
- DocumentClear = 74, |
- XMLDocument = 77, |
- XSLProcessingInstruction = 78, |
- XSLTProcessor = 79, |
- SVGSwitchElement = 80, |
- DocumentAll = 83, |
- FormElement = 84, |
- DemotedFormElement = 85, |
- SVGAnimationElement = 90, |
- KeyboardEventKeyLocation = 91, |
- LineClamp = 96, |
- SubFrameBeforeUnloadRegistered = 97, |
- SubFrameBeforeUnloadFired = 98, |
- ConsoleMarkTimeline = 102, |
- ElementGetAttributeNode = 107, |
- ElementSetAttributeNode = 108, |
- ElementRemoveAttributeNode = 109, |
- ElementGetAttributeNodeNS = 110, |
- DocumentCreateAttribute = 111, |
- DocumentCreateAttributeNS = 112, |
- 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. |
- 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, |
- InsertAdjacentText = 140, |
- InsertAdjacentElement = 141, |
- HasAttributes = 142, |
- DOMSubtreeModifiedEvent = 143, |
- DOMNodeInsertedEvent = 144, |
- DOMNodeRemovedEvent = 145, |
- DOMNodeRemovedFromDocumentEvent = 146, |
- DOMNodeInsertedIntoDocumentEvent = 147, |
- DOMCharacterDataModifiedEvent = 148, |
- DocumentAllLegacyCall = 150, |
- HTMLEmbedElementLegacyCall = 152, |
- HTMLObjectElementLegacyCall = 153, |
- GetMatchedCSSRules = 155, |
- AttributeOwnerElement = 160, |
- AttributeSpecified = 162, |
- 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, |
- InputTypeText = 190, |
- InputTypeTextMaxLength = 191, |
- InputTypePassword = 192, |
- InputTypePasswordMaxLength = 193, |
- ShowModalDialog = 195, |
- PrefixedPageVisibility = 196, |
- CSSStyleSheetInsertRuleOptionalArg = 198, // Inconsistent with the specification and other browsers. |
- DocumentBeforeUnloadRegistered = 200, |
- DocumentBeforeUnloadFired = 201, |
- DocumentUnloadRegistered = 202, |
- DocumentUnloadFired = 203, |
- SVGLocatableNearestViewportElement = 204, |
- SVGLocatableFarthestViewportElement = 205, |
- OverflowChangedEvent = 208, |
- SVGPointMatrixTransform = 209, |
- DOMFocusInOutEvent = 211, |
- FileGetLastModifiedDate = 212, |
- HTMLElementInnerText = 213, |
- HTMLElementOuterText = 214, |
- ReplaceDocumentViaJavaScriptURL = 215, |
- ElementSetAttributeNodeNS = 216, // Removed from DOM4. |
- ElementPrefixedMatchesSelector = 217, |
- CSSStyleSheetRules = 219, |
- CSSStyleSheetAddRule = 220, |
- CSSStyleSheetRemoveRule = 221, |
- // The above items are available in M33 branch. |
- |
- InitMessageEvent = 222, |
- PrefixedMediaCancelKeyRequest = 229, |
- DOMImplementationHasFeature = 230, |
- DOMImplementationHasFeatureReturnFalse = 231, |
- CanPlayTypeKeySystem = 232, |
- PrefixedDevicePixelRatioMediaFeature = 233, |
- PrefixedMaxDevicePixelRatioMediaFeature = 234, |
- PrefixedMinDevicePixelRatioMediaFeature = 235, |
- PrefixedTransform3dMediaFeature = 237, |
- PrefixedStorageQuota = 240, |
- ResetReferrerPolicy = 243, |
- CaseInsensitiveAttrSelectorMatch = 244, // Case-insensitivity dropped from specification. |
- FormNameAccessForImageElement = 246, |
- FormNameAccessForPastNamesMap = 247, |
- FormAssociationByParser = 248, |
- SVGSVGElementInDocument = 250, |
- SVGDocumentRootElement = 251, |
- MediaErrorEncrypted = 253, |
- EventSourceURL = 254, |
- WebSocketURL = 255, |
- WorkerSubjectToCSP = 257, |
- WorkerAllowedByChildBlockedByScript = 258, |
- DeprecatedWebKitGradient = 260, |
- DeprecatedWebKitLinearGradient = 261, |
- DeprecatedWebKitRepeatingLinearGradient = 262, |
- DeprecatedWebKitRadialGradient = 263, |
- DeprecatedWebKitRepeatingRadialGradient = 264, |
- PrefixedImageSmoothingEnabled = 267, |
- UnprefixedImageSmoothingEnabled = 268, |
- // The above items are available in M34 branch. |
- |
- TextAutosizing = 274, |
- HTMLAnchorElementPingAttribute = 276, |
- InsertAdjacentHTML = 278, |
- SVGClassName = 279, |
- HTMLAppletElement = 280, |
- HTMLMediaElementSeekToFragmentStart = 281, |
- HTMLMediaElementPauseAtFragmentEnd = 282, |
- PrefixedWindowURL = 283, |
- PrefixedWorkerURL = 284, // This didn't work because of crbug.com/376039. Available since M37. |
- WindowOrientation = 285, |
- DOMStringListContains = 286, |
- DocumentCaptureEvents = 287, |
- DocumentReleaseEvents = 288, |
- WindowCaptureEvents = 289, |
- WindowReleaseEvents = 290, |
- PrefixedGamepad = 291, |
- ElementAnimateKeyframeListEffectObjectTiming = 292, |
- ElementAnimateKeyframeListEffectDoubleTiming = 293, |
- ElementAnimateKeyframeListEffectNoTiming = 294, |
- DocumentXPathCreateExpression = 295, |
- DocumentXPathCreateNSResolver = 296, |
- DocumentXPathEvaluate = 297, |
- AttrGetValue = 298, |
- AttrSetValue = 299, |
- AnimationConstructorKeyframeListEffectObjectTiming = 300, |
- AnimationConstructorKeyframeListEffectDoubleTiming = 301, |
- AnimationConstructorKeyframeListEffectNoTiming = 302, |
- AttrSetValueWithElement = 303, |
- PrefixedCancelAnimationFrame = 304, |
- PrefixedCancelRequestAnimationFrame = 305, |
- NamedNodeMapGetNamedItem = 306, |
- NamedNodeMapSetNamedItem = 307, |
- NamedNodeMapRemoveNamedItem = 308, |
- NamedNodeMapItem = 309, |
- NamedNodeMapGetNamedItemNS = 310, |
- NamedNodeMapSetNamedItemNS = 311, |
- NamedNodeMapRemoveNamedItemNS = 312, |
- XHRProgressEventPosition = 316, |
- XHRProgressEventTotalSize = 317, |
- PrefixedDocumentIsFullscreen = 318, |
- PrefixedDocumentCurrentFullScreenElement = 320, |
- PrefixedDocumentCancelFullScreen = 321, |
- PrefixedDocumentFullscreenEnabled = 322, |
- PrefixedDocumentFullscreenElement = 323, |
- PrefixedDocumentExitFullscreen = 324, |
- // The above items are available in M35 branch. |
- |
- SVGForeignObjectElement = 325, |
- SelectionSetPosition = 327, |
- AnimationPlayerFinishEvent = 328, |
- SVGSVGElementInXMLDocument = 329, |
- PrefixedPerformanceClearResourceTimings = 341, |
- PrefixedPerformanceSetResourceTimingBufferSize = 342, |
- EventSrcElement = 343, |
- EventCancelBubble = 344, |
- EventPath = 345, |
- EventClipboardData = 346, |
- NodeIteratorDetach = 347, |
- AttrNodeValue = 348, |
- AttrTextContent = 349, |
- EventGetReturnValueTrue = 350, |
- EventGetReturnValueFalse = 351, |
- EventSetReturnValueTrue = 352, |
- EventSetReturnValueFalse = 353, |
- WindowOffscreenBuffering = 356, |
- WindowDefaultStatus = 357, |
- WindowDefaultstatus = 358, |
- PrefixedTransitionEventConstructor = 361, |
- PrefixedMutationObserverConstructor = 362, |
- PrefixedIDBCursorConstructor = 363, |
- PrefixedIDBDatabaseConstructor = 364, |
- PrefixedIDBFactoryConstructor = 365, |
- PrefixedIDBIndexConstructor = 366, |
- PrefixedIDBKeyRangeConstructor = 367, |
- PrefixedIDBObjectStoreConstructor = 368, |
- PrefixedIDBRequestConstructor = 369, |
- PrefixedIDBTransactionConstructor = 370, |
- NotificationPermission = 371, |
- RangeDetach = 372, |
- HTMLTableElementVspace = 374, |
- HTMLTableElementHspace = 375, |
- PrefixedTouchRadiusX = 378, |
- PrefixedTouchRadiusY = 379, |
- PrefixedTouchRotationAngle = 380, |
- PrefixedTouchForce = 381, |
- PrefixedMouseEventMovementX = 382, |
- PrefixedMouseEventMovementY = 383, |
- PrefixedFileRelativePath = 386, |
- DocumentCaretRangeFromPoint = 387, |
- DocumentGetCSSCanvasContext = 388, |
- ElementScrollIntoViewIfNeeded = 389, |
- RangeCompareNode = 392, |
- RangeExpand = 393, |
- HTMLImageElementX = 396, |
- HTMLImageElementY = 397, |
- SelectionBaseNode = 400, |
- SelectionBaseOffset = 401, |
- SelectionExtentNode = 402, |
- SelectionExtentOffset = 403, |
- SelectionType = 404, |
- SelectionModify = 405, |
- SelectionSetBaseAndExtent = 406, |
- SelectionEmpty = 407, |
- VTTCue = 409, |
- VTTCueRender = 410, |
- VTTCueRenderVertical = 411, |
- VTTCueRenderSnapToLinesFalse = 412, |
- VTTCueRenderLineNotAuto = 413, |
- VTTCueRenderPositionNot50 = 414, |
- VTTCueRenderSizeNot100 = 415, |
- VTTCueRenderAlignNotMiddle = 416, |
- // The above items are available in M36 branch. |
- |
- ElementRequestPointerLock = 417, |
- VTTCueRenderRtl = 418, |
- PostMessageFromSecureToInsecure = 419, |
- PostMessageFromInsecureToSecure = 420, |
- DocumentExitPointerLock = 421, |
- DocumentPointerLockElement = 422, |
- PrefixedCursorZoomIn = 424, |
- PrefixedCursorZoomOut = 425, |
- CSSCharsetRuleEncoding = 426, |
- DocumentSetCharset = 427, |
- DocumentDefaultCharset = 428, |
- TextEncoderConstructor = 429, |
- TextEncoderEncode = 430, |
- TextDecoderConstructor = 431, |
- TextDecoderDecode = 432, |
- FocusInOutEvent = 433, |
- MouseEventMovementX = 434, |
- MouseEventMovementY = 435, |
- DocumentFonts = 440, |
- MixedContentFormsSubmitted = 441, |
- FormsSubmitted = 442, |
- TextInputEventOnInput = 443, |
- TextInputEventOnTextArea = 444, |
- TextInputEventOnContentEditable = 445, |
- TextInputEventOnNotNode = 446, |
- WebkitBeforeTextInsertedOnInput = 447, |
- WebkitBeforeTextInsertedOnTextArea = 448, |
- WebkitBeforeTextInsertedOnContentEditable = 449, |
- WebkitBeforeTextInsertedOnNotNode = 450, |
- WebkitEditableContentChangedOnInput = 451, |
- WebkitEditableContentChangedOnTextArea = 452, |
- WebkitEditableContentChangedOnContentEditable = 453, |
- WebkitEditableContentChangedOnNotNode = 454, |
- HTMLImports = 455, |
- ElementCreateShadowRoot = 456, |
- DocumentRegisterElement = 457, |
- EditingAppleInterchangeNewline = 458, |
- EditingAppleConvertedSpace = 459, |
- EditingApplePasteAsQuotation = 460, |
- EditingAppleStyleSpanClass = 461, |
- EditingAppleTabSpanClass = 462, |
- HTMLImportsAsyncAttribute = 463, |
- FontFaceSetReady = 464, |
- XMLHttpRequestSynchronous = 465, |
- CSSSelectorPseudoUnresolved = 466, |
- CSSSelectorPseudoShadow = 467, |
- CSSSelectorPseudoContent = 468, |
- CSSSelectorPseudoHost = 469, |
- CSSSelectorPseudoHostContext = 470, |
- CSSDeepCombinator = 471, |
- SyncXHRWithCredentials = 472, |
- // The above items are available in M37 branch. |
- |
- UseAsm = 473, |
- DOMWindowOpen = 475, |
- DOMWindowOpenFeatures = 476, |
- MediaStreamTrackGetSources = 478, |
- AspectRatioFlexItem = 479, |
- DetailsElement = 480, |
- DialogElement = 481, |
- MapElement = 482, |
- MeterElement = 483, |
- ProgressElement = 484, |
- VideoFullscreenAllowedExemption = 485, |
- PrefixedHTMLElementDropzone = 490, |
- WheelEventWheelDeltaX = 491, |
- WheelEventWheelDeltaY = 492, |
- WheelEventWheelDelta = 493, |
- SendBeacon = 494, |
- SendBeaconQuotaExceeded = 495, |
- SVGSMILElementInDocument = 501, |
- MouseEventOffsetX = 502, |
- MouseEventOffsetY = 503, |
- MouseEventX = 504, |
- MouseEventY = 505, |
- MouseEventFromElement = 506, |
- MouseEventToElement = 507, |
- RequestFileSystem = 508, |
- RequestFileSystemWorker = 509, |
- RequestFileSystemSyncWorker = 510, |
- UIEventLayerX = 511, |
- UIEventLayerY = 512, |
- UIEventPageX = 513, |
- UIEventPageY = 514, |
- DevToolsConsoleTimeline = 517, |
- DevToolsConsoleProfile = 518, |
- SVGStyleElementTitle = 519, |
- PictureSourceSrc = 520, |
- // The above items are available in M38 branch. |
- |
- Picture = 521, |
- Sizes = 522, |
- SrcsetXDescriptor = 523, |
- SrcsetWDescriptor = 524, |
- SelectionContainsNode = 525, |
- MediaStreamEnded = 526, |
- MixedContentPrivateIPInPublicWebsitePassive = 527, |
- MixedContentPrivateIPInPublicWebsiteActive = 528, |
- XMLExternalResourceLoad = 529, |
- MixedContentPrivateHostnameInPublicHostname = 530, |
- LegacyProtocolEmbeddedAsSubresource = 531, |
- RequestedSubresourceWithEmbeddedCredentials = 532, |
- NotificationCreated = 533, |
- NotificationClosed = 534, |
- NotificationPermissionRequested = 535, |
- MediaStreamLabel = 536, |
- MediaStreamStop = 537, |
- ConsoleTimeline = 538, |
- ConsoleTimelineEnd = 539, |
- SRIElementWithMatchingIntegrityAttribute = 540, |
- SRIElementWithNonMatchingIntegrityAttribute = 541, |
- SRIElementWithUnparsableIntegrityAttribute = 542, |
- SRIElementWithIntegrityAttributeAndInsecureOrigin = 543, |
- SRIElementWithIntegrityAttributeAndInsecureResource = 544, |
- AnimationPlayerGetStartTime = 545, |
- AnimationPlayerSetStartTime = 546, |
- AnimationPlayerGetCurrentTime = 547, |
- AnimationPlayerSetCurrentTime = 548, |
- AnimationPlayerGetPlaybackRate = 549, |
- AnimationPlayerSetPlaybackRate = 550, |
- AnimationPlayerGetPlayState = 551, |
- AnimationPlayerFinish = 552, |
- AnimationPlayerPlay = 553, |
- AnimationPlayerPause = 554, |
- AnimationPlayerReverse = 555, |
- // The above items are available in M39 branch. |
- |
- BreakIterator = 556, |
- ScreenOrientationAngle = 557, |
- ScreenOrientationType = 558, |
- ScreenOrientationLock = 559, |
- ScreenOrientationUnlock = 560, |
- GeolocationSecureOrigin = 561, |
- GeolocationInsecureOrigin = 562, |
- NotificationSecureOrigin = 563, |
- NotificationInsecureOrigin = 564, |
- NotificationShowEvent = 565, |
- CSSXGetComputedStyleQueries = 566, |
- SVG1DOM = 567, |
- SVGPathSegDOM = 568, |
- SVGTransformListConsolidate = 569, |
- SVGAnimatedTransformListBaseVal = 570, |
- QuotedAnimationName = 571, |
- QuotedKeyframesRule = 572, |
- SrcsetDroppedCandidate = 573, |
- WindowPostMessage = 574, |
- WindowPostMessageWithLegacyTargetOriginArgument = 575, |
- RenderRuby = 576, |
- CanvasRenderingContext2DCompositeOperationDarker = 577, |
- ScriptElementWithInvalidTypeHasSrc = 578, |
- TimelineStart = 579, |
- ElementBaseURIFromXMLBase = 580, |
- XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload = 581, |
- CSSSelectorPseudoScrollbar = 582, |
- CSSSelectorPseudoScrollbarButton = 583, |
- CSSSelectorPseudoScrollbarThumb = 584, |
- CSSSelectorPseudoScrollbarTrack = 585, |
- CSSSelectorPseudoScrollbarTrackPiece = 586, |
- LangAttribute = 587, |
- LangAttributeOnHTML = 588, |
- LangAttributeOnBody = 589, |
- LangAttributeDoesNotMatchToUILocale = 590, |
- InputTypeSubmit = 591, |
- InputTypeSubmitWithValue = 592, |
- // The above items are available in M40 branch. |
- |
- SetReferrerPolicy = 593, |
- DOMImplementationHasFeatureReturnFalseInternal = 594, |
- MouseEventWhich = 595, |
- UIEventCharCode = 596, |
- UIEventKeyCode = 597, |
- UIEventWhich = 598, |
- TextWholeText = 599, |
- AttrChildAccess = 600, |
- AttrChildChange = 601, |
- |
- // Add new features immediately above this line. Don't change assigned |
- // numbers of any item, and don't reuse removed slots. |
- // Also, run update_use_counter_feature_enum.py in chromium/src/tools/metrics/histograms/ |
- // to update the UMA mapping. |
- NumberOfFeatures, // This enum value must be last. |
- }; |
- |
// "count" sets the bit for this feature to 1. Repeated calls are ignored. |
static void count(const Frame*, Feature); |
static void count(const Document&, Feature); |