Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(51)

Side by Side Diff: third_party/WebKit/Source/core/frame/UseCounter.h

Issue 2894063002: Expose UseCounter::Feature enum out of blink as WebFeature (Closed)
Patch Set: Initial check in Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google, Inc. All rights reserved. 2 * Copyright (C) 2012 Google, Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 17 matching lines...) Expand all
28 28
29 #include "core/CSSPropertyNames.h" 29 #include "core/CSSPropertyNames.h"
30 #include "core/CoreExport.h" 30 #include "core/CoreExport.h"
31 #include "core/css/parser/CSSParserMode.h" 31 #include "core/css/parser/CSSParserMode.h"
32 #include "platform/heap/GarbageCollected.h" 32 #include "platform/heap/GarbageCollected.h"
33 #include "platform/heap/HeapAllocator.h" 33 #include "platform/heap/HeapAllocator.h"
34 #include "platform/weborigin/KURL.h" 34 #include "platform/weborigin/KURL.h"
35 #include "platform/wtf/BitVector.h" 35 #include "platform/wtf/BitVector.h"
36 #include "platform/wtf/Noncopyable.h" 36 #include "platform/wtf/Noncopyable.h"
37 #include "platform/wtf/text/WTFString.h" 37 #include "platform/wtf/text/WTFString.h"
38 #include "public/platform/WebFeature.h"
38 #include "v8/include/v8.h" 39 #include "v8/include/v8.h"
39 40
40 namespace blink { 41 namespace blink {
41 42
42 class CSSStyleSheet; 43 class CSSStyleSheet;
43 class Document; 44 class Document;
44 class EnumerationHistogram; 45 class EnumerationHistogram;
45 class ExecutionContext; 46 class ExecutionContext;
46 class Frame; 47 class Frame;
47 class StyleSheetContents; 48 class StyleSheetContents;
48 49
49 // UseCounter is used for counting the number of times features of 50 // UseCounter is used for counting the number of times features of
50 // Blink are used on real web pages and help us know commonly 51 // Blink are used on real web pages and help us know commonly
51 // features are used and thus when it's safe to remove or change them. 52 // features are used and thus when it's safe to remove or change them.
52 // 53 //
53 // The Chromium Content layer controls what is done with this data. 54 // The Chromium Content layer controls what is done with this data.
54 // 55 //
55 // For instance, in Google Chrome, these counts are submitted anonymously 56 // For instance, in Google Chrome, these counts are submitted anonymously
56 // through the UMA histogram recording system in Chrome for users who have the 57 // through the UMA histogram recording system in Chrome for users who have the
57 // "Automatically send usage statistics and crash reports to Google" setting 58 // "Automatically send usage statistics and crash reports to Google" setting
58 // enabled: 59 // enabled:
59 // http://www.google.com/chrome/intl/en/privacy.html 60 // http://www.google.com/chrome/intl/en/privacy.html
60 // 61 //
61 // Changes on UseCounter are observable by UseCounter::Observer. 62 // Changes on UseCounter are observable by UseCounter::Observer.
63
62 class CORE_EXPORT UseCounter { 64 class CORE_EXPORT UseCounter {
63 DISALLOW_NEW(); 65 DISALLOW_NEW();
64 WTF_MAKE_NONCOPYABLE(UseCounter); 66 WTF_MAKE_NONCOPYABLE(UseCounter);
65 67
66 public: 68 public:
67 enum Context { 69 enum Context {
68 kDefaultContext, 70 kDefaultContext,
69 // Counters for SVGImages (lifetime independent from other pages). 71 // Counters for SVGImages (lifetime independent from other pages).
70 kSVGImageContext 72 kSVGImageContext
71 }; 73 };
72 74
73 UseCounter(Context = kDefaultContext); 75 UseCounter(Context = kDefaultContext);
74 76
75 enum Feature : uint32_t { 77 #include "UseCounterDeprecatedFeature.in"
76 // Do not change assigned numbers of existing items: add new features
77 // to the end of the list.
78 kOBSOLETE_PageDestruction = 0,
79 kWorkerStart = 4,
80 kSharedWorkerStart = 5,
81 kUnprefixedIndexedDB = 9,
82 kOpenWebDatabase = 10,
83 kUnprefixedRequestAnimationFrame = 13,
84 kPrefixedRequestAnimationFrame = 14,
85 kContentSecurityPolicy = 15,
86 kContentSecurityPolicyReportOnly = 16,
87 kPrefixedTransitionEndEvent = 18,
88 kUnprefixedTransitionEndEvent = 19,
89 kPrefixedAndUnprefixedTransitionEndEvent = 20,
90 kAutoFocusAttribute = 21,
91 kDataListElement = 23,
92 kFormAttribute = 24,
93 kIncrementalAttribute = 25,
94 kInputTypeColor = 26,
95 kInputTypeDate = 27,
96 kInputTypeDateTimeFallback = 29,
97 kInputTypeDateTimeLocal = 30,
98 kInputTypeEmail = 31,
99 kInputTypeMonth = 32,
100 kInputTypeNumber = 33,
101 kInputTypeRange = 34,
102 kInputTypeSearch = 35,
103 kInputTypeTel = 36,
104 kInputTypeTime = 37,
105 kInputTypeURL = 38,
106 kInputTypeWeek = 39,
107 kInputTypeWeekFallback = 40,
108 kListAttribute = 41,
109 kMaxAttribute = 42,
110 kMinAttribute = 43,
111 kPatternAttribute = 44,
112 kPlaceholderAttribute = 45,
113 kPrefixedDirectoryAttribute = 47,
114 kRequiredAttribute = 49,
115 kStepAttribute = 51,
116 kPageVisits = 52,
117 kHTMLMarqueeElement = 53,
118 kReflection = 55,
119 kPrefixedStorageInfo = 57,
120 kDeprecatedFlexboxWebContent = 61,
121 kDeprecatedFlexboxChrome = 62,
122 kDeprecatedFlexboxChromeExtension = 63,
123 kUnprefixedPerformanceTimeline = 65,
124 kUnprefixedUserTiming = 67,
125 kWindowEvent = 69,
126 kContentSecurityPolicyWithBaseElement = 70,
127 kDocumentClear = 74,
128 kXMLDocument = 77,
129 kXSLProcessingInstruction = 78,
130 kXSLTProcessor = 79,
131 kSVGSwitchElement = 80,
132 kDocumentAll = 83,
133 kFormElement = 84,
134 kDemotedFormElement = 85,
135 kSVGAnimationElement = 90,
136 kLineClamp = 96,
137 kSubFrameBeforeUnloadRegistered = 97,
138 kSubFrameBeforeUnloadFired = 98,
139 kConsoleMarkTimeline = 102,
140 kDocumentCreateAttribute = 111,
141 kDocumentCreateAttributeNS = 112,
142 kDocumentXMLEncoding = 115, // Removed from DOM4.
143 kDocumentXMLStandalone = 116, // Removed from DOM4.
144 kDocumentXMLVersion = 117, // Removed from DOM4.
145 kNavigatorProductSub = 123,
146 kNavigatorVendor = 124,
147 kNavigatorVendorSub = 125,
148 kPrefixedAnimationEndEvent = 128,
149 kUnprefixedAnimationEndEvent = 129,
150 kPrefixedAndUnprefixedAnimationEndEvent = 130,
151 kPrefixedAnimationStartEvent = 131,
152 kUnprefixedAnimationStartEvent = 132,
153 kPrefixedAndUnprefixedAnimationStartEvent = 133,
154 kPrefixedAnimationIterationEvent = 134,
155 kUnprefixedAnimationIterationEvent = 135,
156 kPrefixedAndUnprefixedAnimationIterationEvent = 136,
157 kEventReturnValue = 137, // Legacy IE extension.
158 kSVGSVGElement = 138,
159 kDOMSubtreeModifiedEvent = 143,
160 kDOMNodeInsertedEvent = 144,
161 kDOMNodeRemovedEvent = 145,
162 kDOMNodeRemovedFromDocumentEvent = 146,
163 kDOMNodeInsertedIntoDocumentEvent = 147,
164 kDOMCharacterDataModifiedEvent = 148,
165 kDocumentAllLegacyCall = 150,
166 kGetMatchedCSSRules = 155,
167 kPrefixedAudioDecodedByteCount = 164,
168 kPrefixedVideoDecodedByteCount = 165,
169 kPrefixedVideoSupportsFullscreen = 166,
170 kPrefixedVideoDisplayingFullscreen = 167,
171 kPrefixedVideoEnterFullscreen = 168,
172 kPrefixedVideoExitFullscreen = 169,
173 kPrefixedVideoEnterFullScreen = 170,
174 kPrefixedVideoExitFullScreen = 171,
175 kPrefixedVideoDecodedFrameCount = 172,
176 kPrefixedVideoDroppedFrameCount = 173,
177 kPrefixedElementRequestFullscreen = 176,
178 kPrefixedElementRequestFullScreen = 177,
179 kBarPropLocationbar = 178,
180 kBarPropMenubar = 179,
181 kBarPropPersonalbar = 180,
182 kBarPropScrollbars = 181,
183 kBarPropStatusbar = 182,
184 kBarPropToolbar = 183,
185 kInputTypeEmailMultiple = 184,
186 kInputTypeEmailMaxLength = 185,
187 kInputTypeEmailMultipleMaxLength = 186,
188 kInputTypeText = 190,
189 kInputTypeTextMaxLength = 191,
190 kInputTypePassword = 192,
191 kInputTypePasswordMaxLength = 193,
192 kPrefixedPageVisibility = 196,
193 kDocumentBeforeUnloadRegistered = 200,
194 kDocumentBeforeUnloadFired = 201,
195 kDocumentUnloadRegistered = 202,
196 kDocumentUnloadFired = 203,
197 kSVGLocatableNearestViewportElement = 204,
198 kSVGLocatableFarthestViewportElement = 205,
199 kSVGPointMatrixTransform = 209,
200 kDOMFocusInOutEvent = 211,
201 kFileGetLastModifiedDate = 212,
202 kHTMLElementInnerText = 213,
203 kHTMLElementOuterText = 214,
204 kReplaceDocumentViaJavaScriptURL = 215,
205 kElementPrefixedMatchesSelector = 217,
206 kCSSStyleSheetRules = 219,
207 kCSSStyleSheetAddRule = 220,
208 kCSSStyleSheetRemoveRule = 221,
209 // The above items are available in M33 branch.
210
211 kInitMessageEvent = 222,
212 kPrefixedDevicePixelRatioMediaFeature = 233,
213 kPrefixedMaxDevicePixelRatioMediaFeature = 234,
214 kPrefixedMinDevicePixelRatioMediaFeature = 235,
215 kPrefixedTransform3dMediaFeature = 237,
216 kPrefixedStorageQuota = 240,
217 kResetReferrerPolicy = 243,
218 // Case-insensitivity dropped from specification.
219 kCaseInsensitiveAttrSelectorMatch = 244,
220 kFormNameAccessForImageElement = 246,
221 kFormNameAccessForPastNamesMap = 247,
222 kFormAssociationByParser = 248,
223 kSVGSVGElementInDocument = 250,
224 kSVGDocumentRootElement = 251,
225 kWorkerSubjectToCSP = 257,
226 kWorkerAllowedByChildBlockedByScript = 258,
227 kDeprecatedWebKitGradient = 260,
228 kDeprecatedWebKitLinearGradient = 261,
229 kDeprecatedWebKitRepeatingLinearGradient = 262,
230 kDeprecatedWebKitRadialGradient = 263,
231 kDeprecatedWebKitRepeatingRadialGradient = 264,
232 // The above items are available in M34 branch.
233
234 kTextAutosizing = 274,
235 kHTMLAnchorElementPingAttribute = 276,
236 kSVGClassName = 279,
237 kHTMLMediaElementSeekToFragmentStart = 281,
238 kHTMLMediaElementPauseAtFragmentEnd = 282,
239 kPrefixedWindowURL = 283,
240 kWindowOrientation = 285,
241 kDocumentCaptureEvents = 287,
242 kDocumentReleaseEvents = 288,
243 kWindowCaptureEvents = 289,
244 kWindowReleaseEvents = 290,
245 kDocumentXPathCreateExpression = 295,
246 kDocumentXPathCreateNSResolver = 296,
247 kDocumentXPathEvaluate = 297,
248 kAnimationConstructorKeyframeListEffectObjectTiming = 300,
249 kAnimationConstructorKeyframeListEffectNoTiming = 302,
250 kPrefixedCancelAnimationFrame = 304,
251 kNamedNodeMapGetNamedItem = 306,
252 kNamedNodeMapSetNamedItem = 307,
253 kNamedNodeMapRemoveNamedItem = 308,
254 kNamedNodeMapItem = 309,
255 kNamedNodeMapGetNamedItemNS = 310,
256 kNamedNodeMapSetNamedItemNS = 311,
257 kNamedNodeMapRemoveNamedItemNS = 312,
258 kPrefixedDocumentIsFullscreen = 318,
259 kPrefixedDocumentCurrentFullScreenElement = 320,
260 kPrefixedDocumentCancelFullScreen = 321,
261 kPrefixedDocumentFullscreenEnabled = 322,
262 kPrefixedDocumentFullscreenElement = 323,
263 kPrefixedDocumentExitFullscreen = 324,
264 // The above items are available in M35 branch.
265
266 kSVGForeignObjectElement = 325,
267 kSelectionSetPosition = 327,
268 kAnimationFinishEvent = 328,
269 kSVGSVGElementInXMLDocument = 329,
270 kEventSrcElement = 343,
271 kEventCancelBubble = 344,
272 kEventPath = 345,
273 kNodeIteratorDetach = 347,
274 kEventGetReturnValueTrue = 350,
275 kEventGetReturnValueFalse = 351,
276 kEventSetReturnValueTrue = 352,
277 kEventSetReturnValueFalse = 353,
278 kWindowOffscreenBuffering = 356,
279 kWindowDefaultStatus = 357,
280 kWindowDefaultstatus = 358,
281 kPrefixedTransitionEventConstructor = 361,
282 kPrefixedMutationObserverConstructor = 362,
283 kNotificationPermission = 371,
284 kRangeDetach = 372,
285 kPrefixedFileRelativePath = 386,
286 kDocumentCaretRangeFromPoint = 387,
287 kElementScrollIntoViewIfNeeded = 389,
288 kRangeExpand = 393,
289 kHTMLImageElementX = 396,
290 kHTMLImageElementY = 397,
291 kSelectionBaseNode = 400,
292 kSelectionBaseOffset = 401,
293 kSelectionExtentNode = 402,
294 kSelectionExtentOffset = 403,
295 kSelectionType = 404,
296 kSelectionModify = 405,
297 kSelectionSetBaseAndExtent = 406,
298 kSelectionEmpty = 407,
299 kVTTCue = 409,
300 kVTTCueRender = 410,
301 kVTTCueRenderVertical = 411,
302 kVTTCueRenderSnapToLinesFalse = 412,
303 kVTTCueRenderLineNotAuto = 413,
304 kVTTCueRenderPositionNot50 = 414,
305 kVTTCueRenderSizeNot100 = 415,
306 kVTTCueRenderAlignNotCenter = 416,
307 // The above items are available in M36 branch.
308
309 kElementRequestPointerLock = 417,
310 kVTTCueRenderRtl = 418,
311 kPostMessageFromSecureToInsecure = 419,
312 kPostMessageFromInsecureToSecure = 420,
313 kDocumentExitPointerLock = 421,
314 kDocumentPointerLockElement = 422,
315 kPrefixedCursorZoomIn = 424,
316 kPrefixedCursorZoomOut = 425,
317 kTextEncoderConstructor = 429,
318 kTextEncoderEncode = 430,
319 kTextDecoderConstructor = 431,
320 kTextDecoderDecode = 432,
321 kFocusInOutEvent = 433,
322 kMouseEventMovementX = 434,
323 kMouseEventMovementY = 435,
324 kDocumentFonts = 440,
325 kMixedContentFormsSubmitted = 441,
326 kFormsSubmitted = 442,
327 kHTMLImports = 455,
328 kElementCreateShadowRoot = 456,
329 kDocumentRegisterElement = 457,
330 kEditingAppleInterchangeNewline = 458,
331 kEditingAppleConvertedSpace = 459,
332 kEditingApplePasteAsQuotation = 460,
333 kEditingAppleStyleSpanClass = 461,
334 kHTMLImportsAsyncAttribute = 463,
335 kXMLHttpRequestSynchronous = 465,
336 kCSSSelectorPseudoUnresolved = 466,
337 kCSSSelectorPseudoShadow = 467,
338 kCSSSelectorPseudoContent = 468,
339 kCSSSelectorPseudoHost = 469,
340 kCSSSelectorPseudoHostContext = 470,
341 kCSSDeepCombinator = 471,
342 // The above items are available in M37 branch.
343
344 kUseAsm = 473,
345 kDOMWindowOpen = 475,
346 kDOMWindowOpenFeatures = 476,
347 kAspectRatioFlexItem = 479,
348 kDetailsElement = 480,
349 kDialogElement = 481,
350 kMapElement = 482,
351 kMeterElement = 483,
352 kProgressElement = 484,
353 kWheelEventWheelDeltaX = 491,
354 kWheelEventWheelDeltaY = 492,
355 kWheelEventWheelDelta = 493,
356 kSendBeacon = 494,
357 kSendBeaconQuotaExceeded = 495,
358 kSVGSMILElementInDocument = 501,
359 kMouseEventOffsetX = 502,
360 kMouseEventOffsetY = 503,
361 kMouseEventX = 504,
362 kMouseEventY = 505,
363 kMouseEventFromElement = 506,
364 kMouseEventToElement = 507,
365 kRequestFileSystem = 508,
366 kRequestFileSystemWorker = 509,
367 kRequestFileSystemSyncWorker = 510,
368 kSVGStyleElementTitle = 519,
369 kPictureSourceSrc = 520,
370 // The above items are available in M38 branch.
371
372 kPicture = 521,
373 kSizes = 522,
374 kSrcsetXDescriptor = 523,
375 kSrcsetWDescriptor = 524,
376 kSelectionContainsNode = 525,
377 kXMLExternalResourceLoad = 529,
378 kMixedContentPrivateHostnameInPublicHostname = 530,
379 kLegacyProtocolEmbeddedAsSubresource = 531,
380 kRequestedSubresourceWithEmbeddedCredentials = 532,
381 kNotificationCreated = 533,
382 kNotificationClosed = 534,
383 kNotificationPermissionRequested = 535,
384 kConsoleTimeline = 538,
385 kConsoleTimelineEnd = 539,
386 kSRIElementWithMatchingIntegrityAttribute = 540,
387 kSRIElementWithNonMatchingIntegrityAttribute = 541,
388 kSRIElementWithUnparsableIntegrityAttribute = 542,
389 kV8Animation_StartTime_AttributeGetter = 545,
390 kV8Animation_StartTime_AttributeSetter = 546,
391 kV8Animation_CurrentTime_AttributeGetter = 547,
392 kV8Animation_CurrentTime_AttributeSetter = 548,
393 kV8Animation_PlaybackRate_AttributeGetter = 549,
394 kV8Animation_PlaybackRate_AttributeSetter = 550,
395 kV8Animation_PlayState_AttributeGetter = 551,
396 kV8Animation_Finish_Method = 552,
397 kV8Animation_Play_Method = 553,
398 kV8Animation_Pause_Method = 554,
399 kV8Animation_Reverse_Method = 555,
400 // The above items are available in M39 branch.
401
402 kBreakIterator = 556,
403 kScreenOrientationAngle = 557,
404 kScreenOrientationType = 558,
405 kScreenOrientationLock = 559,
406 kScreenOrientationUnlock = 560,
407 kGeolocationSecureOrigin = 561,
408 kGeolocationInsecureOrigin = 562,
409 kNotificationSecureOrigin = 563,
410 kNotificationInsecureOrigin = 564,
411 kNotificationShowEvent = 565,
412 kSVGTransformListConsolidate = 569,
413 kSVGAnimatedTransformListBaseVal = 570,
414 kQuotedAnimationName = 571,
415 kQuotedKeyframesRule = 572,
416 kSrcsetDroppedCandidate = 573,
417 kWindowPostMessage = 574,
418 kRenderRuby = 576,
419 kScriptElementWithInvalidTypeHasSrc = 578,
420 kXMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload = 581,
421 kCSSSelectorPseudoScrollbar = 582,
422 kCSSSelectorPseudoScrollbarButton = 583,
423 kCSSSelectorPseudoScrollbarThumb = 584,
424 kCSSSelectorPseudoScrollbarTrack = 585,
425 kCSSSelectorPseudoScrollbarTrackPiece = 586,
426 kLangAttribute = 587,
427 kLangAttributeOnHTML = 588,
428 kLangAttributeOnBody = 589,
429 kLangAttributeDoesNotMatchToUILocale = 590,
430 kInputTypeSubmit = 591,
431 kInputTypeSubmitWithValue = 592,
432 // The above items are available in M40 branch.
433
434 kSetReferrerPolicy = 593,
435 kMouseEventWhich = 595,
436 kUIEventWhich = 598,
437 kTextWholeText = 599,
438 kNotificationCloseEvent = 603,
439 kStyleMedia = 606,
440 kStyleMediaType = 607,
441 kStyleMediaMatchMedium = 608,
442 kMixedContentPresent = 609,
443 kMixedContentBlockable = 610,
444 kMixedContentAudio = 611,
445 kMixedContentDownload = 612,
446 kMixedContentFavicon = 613,
447 kMixedContentImage = 614,
448 kMixedContentInternal = 615,
449 kMixedContentPlugin = 616,
450 kMixedContentPrefetch = 617,
451 kMixedContentVideo = 618,
452 kCSSSelectorPseudoFullScreenAncestor = 628,
453 kCSSSelectorPseudoFullScreen = 629,
454 kWebKitCSSMatrix = 630,
455 kAudioContextCreateAnalyser = 631,
456 kAudioContextCreateBiquadFilter = 632,
457 kAudioContextCreateBufferSource = 633,
458 kAudioContextCreateChannelMerger = 634,
459 kAudioContextCreateChannelSplitter = 635,
460 kAudioContextCreateConvolver = 636,
461 kAudioContextCreateDelay = 637,
462 kAudioContextCreateDynamicsCompressor = 638,
463 kAudioContextCreateGain = 639,
464 kAudioContextCreateMediaElementSource = 640,
465 kAudioContextCreateMediaStreamDestination = 641,
466 kAudioContextCreateMediaStreamSource = 642,
467 kAudioContextCreateOscillator = 643,
468 kAudioContextCreatePeriodicWave = 645,
469 kAudioContextCreateScriptProcessor = 646,
470 kAudioContextCreateStereoPanner = 647,
471 kAudioContextCreateWaveShaper = 648,
472 kAudioContextDecodeAudioData = 649,
473 kAudioContextResume = 650,
474 kAudioContextSuspend = 651,
475 kMixedContentInNonHTTPSFrameThatRestrictsMixedContent = 661,
476 kMixedContentInSecureFrameThatDoesNotRestrictMixedContent = 662,
477 kMixedContentWebSocket = 663,
478 kSyntheticKeyframesInCompositedCSSAnimation = 664,
479 kMixedContentFormPresent = 665,
480 kGetUserMediaInsecureOrigin = 666,
481 kGetUserMediaSecureOrigin = 667,
482 // The above items are available in M41 branch.
483
484 kDeviceMotionInsecureOrigin = 668,
485 kDeviceMotionSecureOrigin = 669,
486 kDeviceOrientationInsecureOrigin = 670,
487 kDeviceOrientationSecureOrigin = 671,
488 kSandboxViaIFrame = 672,
489 kSandboxViaCSP = 673,
490 kBlockedSniffingImageToScript = 674,
491 kFetch = 675,
492 kFetchBodyStream = 676,
493 kXMLHttpRequestAsynchronous = 677,
494 kWhiteSpacePreFromXMLSpace = 679,
495 kWhiteSpaceNowrapFromXMLSpace = 680,
496 kSVGSVGElementForceRedraw = 685,
497 kSVGSVGElementSuspendRedraw = 686,
498 kSVGSVGElementUnsuspendRedraw = 687,
499 kSVGSVGElementUnsuspendRedrawAll = 688,
500 kAudioContextClose = 689,
501 kCSSZoomNotEqualToOne = 691,
502 // The above items are available in M42 branch.
503
504 kClientRectListItem = 694,
505 kWindowClientInformation = 695,
506 kWindowFind = 696,
507 kWindowScreenLeft = 697,
508 kWindowScreenTop = 698,
509 kV8Animation_Cancel_Method = 699,
510 kV8Animation_Onfinish_AttributeGetter = 700,
511 kV8Animation_Onfinish_AttributeSetter = 701,
512 kV8Window_WebKitAnimationEvent_ConstructorGetter = 707,
513 kCryptoGetRandomValues = 710,
514 kSubtleCryptoEncrypt = 711,
515 kSubtleCryptoDecrypt = 712,
516 kSubtleCryptoSign = 713,
517 kSubtleCryptoVerify = 714,
518 kSubtleCryptoDigest = 715,
519 kSubtleCryptoGenerateKey = 716,
520 kSubtleCryptoImportKey = 717,
521 kSubtleCryptoExportKey = 718,
522 kSubtleCryptoDeriveBits = 719,
523 kSubtleCryptoDeriveKey = 720,
524 kSubtleCryptoWrapKey = 721,
525 kSubtleCryptoUnwrapKey = 722,
526 kCryptoAlgorithmAesCbc = 723,
527 kCryptoAlgorithmHmac = 724,
528 kCryptoAlgorithmRsaSsaPkcs1v1_5 = 725,
529 kCryptoAlgorithmSha1 = 726,
530 kCryptoAlgorithmSha256 = 727,
531 kCryptoAlgorithmSha384 = 728,
532 kCryptoAlgorithmSha512 = 729,
533 kCryptoAlgorithmAesGcm = 730,
534 kCryptoAlgorithmRsaOaep = 731,
535 kCryptoAlgorithmAesCtr = 732,
536 kCryptoAlgorithmAesKw = 733,
537 kCryptoAlgorithmRsaPss = 734,
538 kCryptoAlgorithmEcdsa = 735,
539 kCryptoAlgorithmEcdh = 736,
540 kCryptoAlgorithmHkdf = 737,
541 kCryptoAlgorithmPbkdf2 = 738,
542 kDocumentSetDomain = 739,
543 kUpgradeInsecureRequestsEnabled = 740,
544 kUpgradeInsecureRequestsUpgradedRequest = 741,
545 kDocumentDesignMode = 742,
546 kGlobalCacheStorage = 743,
547 kNetInfo = 744,
548 kBackgroundSync = 745,
549 kLegacyConst = 748,
550 kV8Permissions_Query_Method = 750,
551 // The above items are available in M43 branch.
552
553 kV8HTMLInputElement_Autocapitalize_AttributeGetter = 754,
554 kV8HTMLInputElement_Autocapitalize_AttributeSetter = 755,
555 kV8HTMLTextAreaElement_Autocapitalize_AttributeGetter = 756,
556 kV8HTMLTextAreaElement_Autocapitalize_AttributeSetter = 757,
557 kSVGHrefBaseVal = 758,
558 kSVGHrefAnimVal = 759,
559 kV8CSSRuleList_Item_Method = 760,
560 kV8MediaList_Item_Method = 761,
561 kV8StyleSheetList_Item_Method = 762,
562 kStyleSheetListAnonymousNamedGetter = 763,
563 kAutocapitalizeAttribute = 764,
564 kFullscreenSecureOrigin = 765,
565 kFullscreenInsecureOrigin = 766,
566 kDialogInSandboxedContext = 767,
567 kSVGSMILAnimationInImageRegardlessOfCache = 768,
568 kPerformanceFrameTiming = 772,
569 kV8Element_Animate_Method = 773,
570 // The above items are available in M44 branch.
571
572 kV8SVGSVGElement_GetElementById_Method = 778,
573 kElementCreateShadowRootMultiple = 779,
574 kV8MessageChannel_Constructor = 780,
575 kV8MessagePort_PostMessage_Method = 781,
576 kV8MessagePort_Start_Method = 782,
577 kV8MessagePort_Close_Method = 783,
578 kMessagePortsTransferred = 784,
579 kCSSKeyframesRuleAnonymousIndexedGetter = 785,
580 kV8Screen_AvailLeft_AttributeGetter = 786,
581 kV8Screen_AvailTop_AttributeGetter = 787,
582 kV8SVGFEConvolveMatrixElement_PreserveAlpha_AttributeGetter = 791,
583 kV8SVGStyleElement_Disabled_AttributeGetter = 798,
584 kV8SVGStyleElement_Disabled_AttributeSetter = 799,
585 kInputTypeFileSecureOrigin = 801,
586 kInputTypeFileInsecureOrigin = 802,
587 kElementAttachShadow = 804,
588 kV8SecurityPolicyViolationEvent_DocumentURI_AttributeGetter = 806,
589 kV8SecurityPolicyViolationEvent_BlockedURI_AttributeGetter = 807,
590 kV8SecurityPolicyViolationEvent_StatusCode_AttributeGetter = 808,
591 kHTMLLinkElementDisabled = 809,
592 kV8HTMLLinkElement_Disabled_AttributeGetter = 810,
593 kV8HTMLLinkElement_Disabled_AttributeSetter = 811,
594 kV8HTMLStyleElement_Disabled_AttributeGetter = 812,
595 kV8HTMLStyleElement_Disabled_AttributeSetter = 813,
596 kV8DOMError_Constructor = 816,
597 kV8DOMError_Name_AttributeGetter = 817,
598 kV8DOMError_Message_AttributeGetter = 818,
599 kTextInputFired = 830,
600 kV8TextEvent_Data_AttributeGetter = 831,
601 kV8TextEvent_InitTextEvent_Method = 832,
602 kClientHintsDPR = 835,
603 kClientHintsResourceWidth = 836,
604 kClientHintsViewportWidth = 837,
605 kSRIElementIntegrityAttributeButIneligible = 838,
606 kFormDataAppendNull = 843,
607 kNonHTMLElementSetAttributeNodeFromHTMLDocumentNameNotLowercase = 845,
608 kNavigatorVibrate = 850,
609 kNavigatorVibrateSubFrame = 851,
610 kV8XPathEvaluator_Constructor = 853,
611 kV8XPathEvaluator_CreateExpression_Method = 854,
612 kV8XPathEvaluator_CreateNSResolver_Method = 855,
613 kV8XPathEvaluator_Evaluate_Method = 856,
614 kRequestMIDIAccess = 857,
615 kV8MouseEvent_LayerX_AttributeGetter = 858,
616 kV8MouseEvent_LayerY_AttributeGetter = 859,
617 kInnerTextWithShadowTree = 860,
618 kSelectionToStringWithShadowTree = 861,
619 kWindowFindWithShadowTree = 862,
620 kV8CompositionEvent_InitCompositionEvent_Method = 863,
621 kV8CustomEvent_InitCustomEvent_Method = 864,
622 kV8DeviceMotionEvent_InitDeviceMotionEvent_Method = 865,
623 kV8DeviceOrientationEvent_InitDeviceOrientationEvent_Method = 866,
624 kV8Event_InitEvent_Method = 867,
625 kV8KeyboardEvent_InitKeyboardEvent_Method = 868,
626 kV8MouseEvent_InitMouseEvent_Method = 869,
627 kV8MutationEvent_InitMutationEvent_Method = 870,
628 kV8StorageEvent_InitStorageEvent_Method = 871,
629 kV8UIEvent_InitUIEvent_Method = 873,
630 kV8Document_CreateTouch_Method = 874,
631 kRequestFileSystemNonWebbyOrigin = 876,
632 kV8MemoryInfo_TotalJSHeapSize_AttributeGetter = 879,
633 kV8MemoryInfo_UsedJSHeapSize_AttributeGetter = 880,
634 kV8MemoryInfo_JSHeapSizeLimit_AttributeGetter = 881,
635 kV8Performance_Timing_AttributeGetter = 882,
636 kV8Performance_Navigation_AttributeGetter = 883,
637 kV8Performance_Memory_AttributeGetter = 884,
638 kV8SharedWorker_WorkerStart_AttributeGetter = 885,
639 // The above items are available in M45 branch.
640
641 kHTMLMediaElementPreloadNone = 892,
642 kHTMLMediaElementPreloadMetadata = 893,
643 kHTMLMediaElementPreloadAuto = 894,
644 kHTMLMediaElementPreloadDefault = 895,
645 kMixedContentBlockableAllowed = 896,
646 kPseudoBeforeAfterForInputElement = 897,
647 kV8Permissions_Revoke_Method = 898,
648 kLinkRelDnsPrefetch = 899,
649 kLinkRelPreconnect = 900,
650 kLinkRelPreload = 901,
651 kLinkHeaderDnsPrefetch = 902,
652 kLinkHeaderPreconnect = 903,
653 kClientHintsMetaAcceptCH = 904,
654 kHTMLElementDeprecatedWidth = 905,
655 kClientHintsContentDPR = 906,
656 kElementAttachShadowOpen = 907,
657 kElementAttachShadowClosed = 908,
658 kAudioParamSetValueAtTime = 909,
659 kAudioParamLinearRampToValueAtTime = 910,
660 kAudioParamExponentialRampToValueAtTime = 911,
661 kAudioParamSetTargetAtTime = 912,
662 kAudioParamSetValueCurveAtTime = 913,
663 kAudioParamCancelScheduledValues = 914,
664 kV8Permissions_Request_Method = 915,
665 kLinkRelPrefetch = 917,
666 kLinkRelPrerender = 918,
667 kLinkRelNext = 919,
668 kCSSValuePrefixedMinContent = 921,
669 kCSSValuePrefixedMaxContent = 922,
670 kCSSValuePrefixedFitContent = 923,
671 kCSSValuePrefixedFillAvailable = 924,
672 kPresentationDefaultRequest = 926,
673 kPresentationAvailabilityChangeEventListener = 927,
674 kPresentationRequestConstructor = 928,
675 kPresentationRequestStart = 929,
676 kPresentationRequestReconnect = 930,
677 kPresentationRequestGetAvailability = 931,
678 kPresentationRequestConnectionAvailableEventListener = 932,
679 kPresentationConnectionTerminate = 933,
680 kPresentationConnectionSend = 934,
681 kPresentationConnectionMessageEventListener = 936,
682 kCSSAnimationsStackedNeutralKeyframe = 937,
683 kReadingCheckedInClickHandler = 938,
684 kFlexboxIntrinsicSizeAlgorithmIsDifferent = 939,
685 // The above items are available in M46 branch.
686
687 kHTMLImportsHasStyleSheets = 940,
688 kNetInfoType = 946,
689 kNetInfoDownlinkMax = 947,
690 kNetInfoOnChange = 948,
691 kNetInfoOnTypeChange = 949,
692 kV8Window_Alert_Method = 950,
693 kV8Window_Confirm_Method = 951,
694 kV8Window_Prompt_Method = 952,
695 kV8Window_Print_Method = 953,
696 kV8Window_RequestIdleCallback_Method = 954,
697 kFlexboxPercentagePaddingVertical = 955,
698 kFlexboxPercentageMarginVertical = 956,
699 kBackspaceNavigatedBack = 957,
700 kBackspaceNavigatedBackAfterFormInteraction = 958,
701 kCSPSourceWildcardWouldMatchExactHost = 959,
702 kCredentialManagerGet = 960,
703 kCredentialManagerGetWithUI = 961,
704 kCredentialManagerGetWithoutUI = 962,
705 kCredentialManagerStore = 963,
706 kCredentialManagerRequireUserMediation = 964,
707 // The above items are available in M47 branch.
708
709 kBlockableMixedContentInSubframeBlocked = 966,
710 kAddEventListenerThirdArgumentIsObject = 967,
711 kRemoveEventListenerThirdArgumentIsObject = 968,
712 kCSSAtRuleCharset = 969,
713 kCSSAtRuleFontFace = 970,
714 kCSSAtRuleImport = 971,
715 kCSSAtRuleKeyframes = 972,
716 kCSSAtRuleMedia = 973,
717 kCSSAtRuleNamespace = 974,
718 kCSSAtRulePage = 975,
719 kCSSAtRuleSupports = 976,
720 kCSSAtRuleViewport = 977,
721 kCSSAtRuleWebkitKeyframes = 978,
722 kV8HTMLFieldSetElement_Elements_AttributeGetter = 979,
723 kHTMLMediaElementPreloadForcedNone = 980,
724 kExternalAddSearchProvider = 981,
725 kExternalIsSearchProviderInstalled = 982,
726 kV8Permissions_RequestAll_Method = 983,
727 kDeviceOrientationAbsoluteInsecureOrigin = 987,
728 kDeviceOrientationAbsoluteSecureOrigin = 988,
729 kFontFaceConstructor = 989,
730 kServiceWorkerControlledPage = 990,
731 kMeterElementWithMeterAppearance = 993,
732 kMeterElementWithNoneAppearance = 994,
733 kSelectionAnchorNode = 997,
734 kSelectionAnchorOffset = 998,
735 kSelectionFocusNode = 999,
736 kSelectionFocusOffset = 1000,
737 kSelectionIsCollapsed = 1001,
738 kSelectionRangeCount = 1002,
739 kSelectionGetRangeAt = 1003,
740 kSelectionAddRange = 1004,
741 kSelectionRemoveAllRanges = 1005,
742 kSelectionCollapse = 1006,
743 kSelectionCollapseToStart = 1007,
744 kSelectionCollapseToEnd = 1008,
745 kSelectionExtend = 1009,
746 kSelectionSelectAllChildren = 1010,
747 kSelectionDeleteDromDocument = 1011,
748 kSelectionDOMString = 1012,
749 kInputTypeRangeVerticalAppearance = 1013,
750 // The above items are available in M48 branch.
751
752 kCSSFilterReference = 1014,
753 kCSSFilterGrayscale = 1015,
754 kCSSFilterSepia = 1016,
755 kCSSFilterSaturate = 1017,
756 kCSSFilterHueRotate = 1018,
757 kCSSFilterInvert = 1019,
758 kCSSFilterOpacity = 1020,
759 kCSSFilterBrightness = 1021,
760 kCSSFilterContrast = 1022,
761 kCSSFilterBlur = 1023,
762 kCSSFilterDropShadow = 1024,
763 kBackgroundSyncRegister = 1025,
764 kExecCommandOnInputOrTextarea = 1027,
765 kV8History_ScrollRestoration_AttributeGetter = 1028,
766 kV8History_ScrollRestoration_AttributeSetter = 1029,
767 kSVG1DOMFilter = 1030,
768 kOfflineAudioContextStartRendering = 1031,
769 kOfflineAudioContextSuspend = 1032,
770 kOfflineAudioContextResume = 1033,
771 kSVG1DOMPaintServer = 1035,
772 kSVGSVGElementFragmentSVGView = 1036,
773 kSVGSVGElementFragmentSVGViewElement = 1037,
774 kPresentationConnectionClose = 1038,
775 kSVG1DOMShape = 1039,
776 kSVG1DOMText = 1040,
777 kRTCPeerConnectionConstructorConstraints = 1041,
778 kRTCPeerConnectionConstructorCompliant = 1042,
779 kRTCPeerConnectionCreateOfferLegacyFailureCallback = 1044,
780 kRTCPeerConnectionCreateOfferLegacyConstraints = 1045,
781 kRTCPeerConnectionCreateOfferLegacyOfferOptions = 1046,
782 kRTCPeerConnectionCreateOfferLegacyCompliant = 1047,
783 kRTCPeerConnectionCreateAnswerLegacyFailureCallback = 1049,
784 kRTCPeerConnectionCreateAnswerLegacyConstraints = 1050,
785 kRTCPeerConnectionCreateAnswerLegacyCompliant = 1051,
786 kRTCPeerConnectionSetLocalDescriptionLegacyNoSuccessCallback = 1052,
787 kRTCPeerConnectionSetLocalDescriptionLegacyNoFailureCallback = 1053,
788 kRTCPeerConnectionSetLocalDescriptionLegacyCompliant = 1054,
789 kRTCPeerConnectionSetRemoteDescriptionLegacyNoSuccessCallback = 1055,
790 kRTCPeerConnectionSetRemoteDescriptionLegacyNoFailureCallback = 1056,
791 kRTCPeerConnectionSetRemoteDescriptionLegacyCompliant = 1057,
792 kRTCPeerConnectionGetStatsLegacyNonCompliant = 1058,
793 kNodeFilterIsFunction = 1059,
794 kNodeFilterIsObject = 1060,
795 kCSSSelectorInternalPseudoListBox = 1062,
796 kCSSSelectorInternalMediaControlsOverlayCastButton = 1064,
797 kCSSSelectorInternalPseudoSpatialNavigationFocus = 1065,
798 kSameOriginTextScript = 1066,
799 kSameOriginApplicationScript = 1067,
800 kSameOriginOtherScript = 1068,
801 kCrossOriginTextScript = 1069,
802 kCrossOriginApplicationScript = 1070,
803 kCrossOriginOtherScript = 1071,
804 kSVG1DOMSVGTests = 1072,
805 kDisableRemotePlaybackAttribute = 1074,
806 kV8SloppyMode = 1075,
807 kV8StrictMode = 1076,
808 kV8StrongMode = 1077,
809 kAudioNodeConnectToAudioNode = 1078,
810 kAudioNodeConnectToAudioParam = 1079,
811 kAudioNodeDisconnectFromAudioNode = 1080,
812 kAudioNodeDisconnectFromAudioParam = 1081,
813 kV8CSSFontFaceRule_Style_AttributeGetter = 1082,
814 kSelectionCollapseNull = 1083,
815 kSelectionSetBaseAndExtentNull = 1084,
816 kV8SVGSVGElement_CreateSVGNumber_Method = 1085,
817 kV8SVGSVGElement_CreateSVGLength_Method = 1086,
818 kV8SVGSVGElement_CreateSVGAngle_Method = 1087,
819 kV8SVGSVGElement_CreateSVGPoint_Method = 1088,
820 kV8SVGSVGElement_CreateSVGMatrix_Method = 1089,
821 kV8SVGSVGElement_CreateSVGRect_Method = 1090,
822 kV8SVGSVGElement_CreateSVGTransform_Method = 1091,
823 kV8SVGSVGElement_CreateSVGTransformFromMatrix_Method = 1092,
824 kFormNameAccessForNonDescendantImageElement = 1093,
825 kV8RegExpPrototypeStickyGetter = 1096,
826 kV8RegExpPrototypeToString = 1097,
827 kV8InputDeviceCapabilities_FiresTouchEvents_AttributeGetter = 1098,
828 kDataElement = 1099,
829 kTimeElement = 1100,
830 kSVG1DOMUriReference = 1101,
831 kSVG1DOMZoomAndPan = 1102,
832 kV8SVGGraphicsElement_Transform_AttributeGetter = 1103,
833 kMenuItemElement = 1104,
834 kMenuItemCloseTag = 1105,
835 kSVG1DOMMarkerElement = 1106,
836 kSVG1DOMUseElement = 1107,
837 kSVG1DOMMaskElement = 1108,
838 kV8SVGAElement_Target_AttributeGetter = 1109,
839 kV8SVGClipPathElement_ClipPathUnits_AttributeGetter = 1110,
840 kSVG1DOMFitToViewBox = 1111,
841 kSVG1DOMSVGElement = 1114,
842 kSVG1DOMImageElement = 1115,
843 kSVG1DOMForeignObjectElement = 1116,
844 kAudioContextCreateIIRFilter = 1117,
845 // The above items are available in M49 branch
846
847 kCSSSelectorPseudoSlotted = 1118,
848 kMediaDevicesEnumerateDevices = 1119,
849 kNonSecureSharedWorkerAccessedFromSecureContext = 1120,
850 kSecureSharedWorkerAccessedFromNonSecureContext = 1121,
851 kEventComposedPath = 1123,
852 kLinkHeaderPreload = 1124,
853 kMouseWheelEvent = 1125,
854 kWheelEvent = 1126,
855 kMouseWheelAndWheelEvent = 1127,
856 kBodyScrollsInAdditionToViewport = 1128,
857 kDocumentDesignModeEnabeld = 1129,
858 kContentEditableTrue = 1130,
859 kContentEditableTrueOnHTML = 1131,
860 kContentEditablePlainTextOnly = 1132,
861 kV8RegExpPrototypeUnicodeGetter = 1133,
862 kV8IntlV8Parse = 1134,
863 kV8IntlPattern = 1135,
864 kV8IntlResolved = 1136,
865 kV8PromiseChain = 1137,
866 kV8PromiseAccept = 1138,
867 kV8PromiseDefer = 1139,
868 kEventComposed = 1140,
869 kGeolocationInsecureOriginIframe = 1141,
870 kGeolocationSecureOriginIframe = 1142,
871 kRequestMIDIAccessIframe = 1143,
872 kGetUserMediaInsecureOriginIframe = 1144,
873 kGetUserMediaSecureOriginIframe = 1145,
874 kElementRequestPointerLockIframe = 1146,
875 kNotificationAPIInsecureOriginIframe = 1147,
876 kNotificationAPISecureOriginIframe = 1148,
877 kWebSocket = 1149,
878 kMediaStreamConstraintsNameValue = 1150,
879 kMediaStreamConstraintsFromDictionary = 1151,
880 kMediaStreamConstraintsConformant = 1152,
881 kCSSSelectorIndirectAdjacent = 1153,
882 kCreateImageBitmap = 1156,
883 kPresentationConnectionConnectEventListener = 1157,
884 kPresentationConnectionCloseEventListener = 1158,
885 kPresentationConnectionTerminateEventListener = 1159,
886 kDocumentCreateEventAnimationEvent = 1162,
887 kDocumentCreateEventBeforeUnloadEvent = 1166,
888 kDocumentCreateEventCompositionEvent = 1168,
889 kDocumentCreateEventDragEvent = 1169,
890 kDocumentCreateEventErrorEvent = 1170,
891 kDocumentCreateEventFocusEvent = 1171,
892 kDocumentCreateEventHashChangeEvent = 1172,
893 kDocumentCreateEventMutationEvent = 1173,
894 kDocumentCreateEventPageTransitionEvent = 1174,
895 kDocumentCreateEventPopStateEvent = 1176,
896 kDocumentCreateEventTextEvent = 1182,
897 kDocumentCreateEventTransitionEvent = 1183,
898 kDocumentCreateEventWheelEvent = 1184,
899 kDocumentCreateEventTrackEvent = 1186,
900 kDocumentCreateEventMutationEvents = 1188,
901 kDocumentCreateEventSVGEvents = 1190,
902 kDocumentCreateEventDeviceMotionEvent = 1195,
903 kDocumentCreateEventDeviceOrientationEvent = 1196,
904 kDocumentCreateEventIDBVersionChangeEvent = 1201,
905 kDocumentCreateEventStorageEvent = 1221,
906 kDocumentCreateEventWebGLContextEvent = 1224,
907 kDocumentCreateEventCloseEvent = 1227,
908 kDocumentCreateEventKeyboardEvents = 1228,
909 kHTMLMediaElement = 1229,
910 kHTMLMediaElementInDocument = 1230,
911 kHTMLMediaElementControlsAttribute = 1231,
912 kV8Animation_Oncancel_AttributeGetter = 1233,
913 kV8Animation_Oncancel_AttributeSetter = 1234,
914 kV8HTMLCommentInExternalScript = 1235,
915 kV8HTMLComment = 1236,
916 kV8SloppyModeBlockScopedFunctionRedefinition = 1237,
917 kV8ForInInitializer = 1238,
918 kV8Animation_Id_AttributeGetter = 1239,
919 kV8Animation_Id_AttributeSetter = 1240,
920 kApplicationCacheManifestSelectInsecureOrigin = 1245,
921 kApplicationCacheManifestSelectSecureOrigin = 1246,
922 kApplicationCacheAPIInsecureOrigin = 1247,
923 kApplicationCacheAPISecureOrigin = 1248,
924 // The above items are available in M50 branch
925
926 kCSSAtRuleApply = 1249,
927 kCSSSelectorPseudoAny = 1250,
928 kDocumentAllItemNoArguments = 1252,
929 kDocumentAllItemNamed = 1253,
930 kDocumentAllItemIndexed = 1254,
931 kDocumentAllItemIndexedWithNonNumber = 1255,
932 kDocumentAllLegacyCallNoArguments = 1256,
933 kDocumentAllLegacyCallNamed = 1257,
934 kDocumentAllLegacyCallIndexed = 1258,
935 kDocumentAllLegacyCallIndexedWithNonNumber = 1259,
936 kDocumentAllLegacyCallTwoArguments = 1260,
937 kHTMLLabelElementControlForNonFormAssociatedElement = 1263,
938 kHTMLMediaElementLoadNetworkEmptyNotPaused = 1265,
939 kV8Window_WebkitSpeechGrammar_ConstructorGetter = 1267,
940 kV8Window_WebkitSpeechGrammarList_ConstructorGetter = 1268,
941 kV8Window_WebkitSpeechRecognition_ConstructorGetter = 1269,
942 kV8Window_WebkitSpeechRecognitionError_ConstructorGetter = 1270,
943 kV8Window_WebkitSpeechRecognitionEvent_ConstructorGetter = 1271,
944 kV8Window_SpeechSynthesis_AttributeGetter = 1272,
945 kV8IDBFactory_WebkitGetDatabaseNames_Method = 1273,
946 kImageDocument = 1274,
947 kScriptPassesCSPDynamic = 1275,
948 kCSPWithStrictDynamic = 1277,
949 kScrollAnchored = 1278,
950 kAddEventListenerFourArguments = 1279,
951 kRemoveEventListenerFourArguments = 1280,
952 kSVGCalcModeDiscrete = 1287,
953 kSVGCalcModeLinear = 1288,
954 kSVGCalcModePaced = 1289,
955 kSVGCalcModeSpline = 1290,
956 kFormSubmissionStarted = 1291,
957 kFormValidationStarted = 1292,
958 kFormValidationAbortedSubmission = 1293,
959 kFormValidationShowedMessage = 1294,
960 kWebAnimationsEasingAsFunctionLinear = 1295,
961 kWebAnimationsEasingAsFunctionOther = 1296,
962 // The above items are available in M51 branch
963
964 kV8Document_Images_AttributeGetter = 1297,
965 kV8Document_Embeds_AttributeGetter = 1298,
966 kV8Document_Plugins_AttributeGetter = 1299,
967 kV8Document_Links_AttributeGetter = 1300,
968 kV8Document_Forms_AttributeGetter = 1301,
969 kV8Document_Scripts_AttributeGetter = 1302,
970 kV8Document_Anchors_AttributeGetter = 1303,
971 kV8Document_Applets_AttributeGetter = 1304,
972 kXMLHttpRequestCrossOriginWithCredentials = 1305,
973 kMediaStreamTrackRemote = 1306,
974 kV8Node_IsConnected_AttributeGetter = 1307,
975 kShadowRootDelegatesFocus = 1308,
976 kMixedShadowRootV0AndV1 = 1309,
977 kImageDocumentInFrame = 1310,
978 kMediaDocument = 1311,
979 kMediaDocumentInFrame = 1312,
980 kPluginDocument = 1313,
981 kPluginDocumentInFrame = 1314,
982 kSinkDocument = 1315,
983 kSinkDocumentInFrame = 1316,
984 kTextDocument = 1317,
985 kTextDocumentInFrame = 1318,
986 kViewSourceDocument = 1319,
987 kFileAPINativeLineEndings = 1320,
988 kPointerEventAttributeCount = 1321,
989 kCompositedReplication = 1322,
990 kV8DataTransferItem_WebkitGetAsEntry_Method = 1325,
991 kV8HTMLInputElement_WebkitEntries_AttributeGetter = 1326,
992 kEntry_Filesystem_AttributeGetter_IsolatedFileSystem = 1327,
993 kEntry_GetMetadata_Method_IsolatedFileSystem = 1328,
994 kEntry_MoveTo_Method_IsolatedFileSystem = 1329,
995 kEntry_CopyTo_Method_IsolatedFileSystem = 1330,
996 kEntry_Remove_Method_IsolatedFileSystem = 1331,
997 kEntry_GetParent_Method_IsolatedFileSystem = 1332,
998 kEntry_ToURL_Method_IsolatedFileSystem = 1333,
999 kDuring_Microtask_Alert = 1334,
1000 kDuring_Microtask_Confirm = 1335,
1001 kDuring_Microtask_Print = 1336,
1002 kDuring_Microtask_Prompt = 1337,
1003 kDuring_Microtask_SyncXHR = 1338,
1004 kCredentialManagerGetReturnedCredential = 1342,
1005 kGeolocationInsecureOriginDeprecatedNotRemoved = 1343,
1006 kGeolocationInsecureOriginIframeDeprecatedNotRemoved = 1344,
1007 kProgressElementWithNoneAppearance = 1345,
1008 kProgressElementWithProgressBarAppearance = 1346,
1009 kPointerEventAddListenerCount = 1347,
1010 kCSSValueAppearanceNone = 1351,
1011 kCSSValueAppearanceNotNone = 1352,
1012 kCSSValueAppearanceOthers = 1353,
1013 kCSSValueAppearanceButton = 1354,
1014 kCSSValueAppearanceCaret = 1355,
1015 kCSSValueAppearanceCheckbox = 1356,
1016 kCSSValueAppearanceMenulist = 1357,
1017 kCSSValueAppearanceMenulistButton = 1358,
1018 kCSSValueAppearanceListbox = 1359,
1019 kCSSValueAppearanceRadio = 1360,
1020 kCSSValueAppearanceSearchField = 1361,
1021 kCSSValueAppearanceTextField = 1362,
1022 kAudioContextCreatePannerAutomated = 1363,
1023 kPannerNodeSetPosition = 1364,
1024 kPannerNodeSetOrientation = 1365,
1025 kAudioListenerSetPosition = 1366,
1026 kAudioListenerSetOrientation = 1367,
1027 kIntersectionObserver_Constructor = 1368,
1028 kDurableStoragePersist = 1369,
1029 kDurableStoragePersisted = 1370,
1030 kDurableStorageEstimate = 1371,
1031 kCSSDeepCombinatorAndShadow = 1375,
1032 kOpacityWithPreserve3DQuirk = 1376,
1033 kCSSSelectorPseudoReadOnly = 1377,
1034 kCSSSelectorPseudoReadWrite = 1378,
1035 // The above items are available in M52 branch
1036
1037 kCSSSelectorPseudoDefined = 1383,
1038 kRTCPeerConnectionAddIceCandidatePromise = 1384,
1039 kRTCPeerConnectionAddIceCandidateLegacy = 1385,
1040 kRTCIceCandidateDefaultSdpMLineIndex = 1386,
1041 kMediaStreamConstraintsOldAndNew = 1389,
1042 kV8ArrayProtectorDirtied = 1390,
1043 kV8ArraySpeciesModified = 1391,
1044 kV8ArrayPrototypeConstructorModified = 1392,
1045 kV8ArrayInstanceProtoModified = 1393,
1046 kV8ArrayInstanceConstructorModified = 1394,
1047 kV8LegacyFunctionDeclaration = 1395,
1048 kV8RegExpPrototypeSourceGetter = 1396,
1049 kV8RegExpPrototypeOldFlagGetter = 1397,
1050 kV8DecimalWithLeadingZeroInStrictMode = 1398,
1051 kGetUserMediaPrefixed = 1400,
1052 kGetUserMediaLegacy = 1401,
1053 kGetUserMediaPromise = 1402,
1054 kCSSFilterFunctionNoArguments = 1403,
1055 kV8LegacyDateParser = 1404,
1056 kOpenSearchInsecureOriginInsecureTarget = 1405,
1057 kOpenSearchInsecureOriginSecureTarget = 1406,
1058 kOpenSearchSecureOriginInsecureTarget = 1407,
1059 kOpenSearchSecureOriginSecureTarget = 1408,
1060 kRegisterProtocolHandlerSecureOrigin = 1409,
1061 kRegisterProtocolHandlerInsecureOrigin = 1410,
1062 kCrossOriginWindowAlert = 1411,
1063 kCrossOriginWindowConfirm = 1412,
1064 kCrossOriginWindowPrompt = 1413,
1065 kCrossOriginWindowPrint = 1414,
1066 kMediaStreamOnActive = 1415,
1067 kMediaStreamOnInactive = 1416,
1068 kAddEventListenerPassiveTrue = 1417,
1069 kAddEventListenerPassiveFalse = 1418,
1070 kCSPReferrerDirective = 1419,
1071 kDocumentOpen = 1420,
1072 kElementRequestPointerLockInShadow = 1421,
1073 kShadowRootPointerLockElement = 1422,
1074 kDocumentPointerLockElementInV0Shadow = 1423,
1075 kTextAreaMaxLength = 1424,
1076 kTextAreaMinLength = 1425,
1077 kTopNavigationFromSubFrame = 1426,
1078 kPrefixedElementRequestFullscreenInShadow = 1427,
1079 kMediaSourceAbortRemove = 1428,
1080 kMediaSourceDurationTruncatingBuffered = 1429,
1081 kAudioContextCrossOriginIframe = 1430,
1082 // The above items are available in M53 branch
1083
1084 kPointerEventSetCapture = 1431,
1085 kPointerEventDispatch = 1432,
1086 kMIDIMessageEventReceivedTime = 1433,
1087 kSummaryElementWithDisplayBlockAuthorRule = 1434,
1088 kV8MediaStream_Active_AttributeGetter = 1435,
1089 kBeforeInstallPromptEvent = 1436,
1090 kBeforeInstallPromptEventUserChoice = 1437,
1091 kBeforeInstallPromptEventPreventDefault = 1438,
1092 kBeforeInstallPromptEventPrompt = 1439,
1093 kExecCommandAltersHTMLStructure = 1440,
1094 kSecureContextCheckPassed = 1441,
1095 kSecureContextCheckFailed = 1442,
1096 kSecureContextCheckForSandboxedOriginPassed = 1443,
1097 kSecureContextCheckForSandboxedOriginFailed = 1444,
1098 kV8DefineGetterOrSetterWouldThrow = 1445,
1099 kV8FunctionConstructorReturnedUndefined = 1446,
1100 kV8BroadcastChannel_Constructor = 1447,
1101 kV8BroadcastChannel_PostMessage_Method = 1448,
1102 kV8BroadcastChannel_Close_Method = 1449,
1103 kTouchStartFired = 1450,
1104 kMouseDownFired = 1451,
1105 kPointerDownFired = 1452,
1106 kPointerDownFiredForTouch = 1453,
1107 kPointerEventDispatchPointerDown = 1454,
1108 kSVGSMILBeginOrEndEventValue = 1455,
1109 kSVGSMILBeginOrEndSyncbaseValue = 1456,
1110 kSVGSMILElementInsertedAfterLoad = 1457,
1111 kV8VisualViewport_ScrollLeft_AttributeGetter = 1458,
1112 kV8VisualViewport_ScrollTop_AttributeGetter = 1459,
1113 kV8VisualViewport_PageX_AttributeGetter = 1460,
1114 kV8VisualViewport_PageY_AttributeGetter = 1461,
1115 kV8VisualViewport_ClientWidth_AttributeGetter = 1462,
1116 kV8VisualViewport_ClientHeight_AttributeGetter = 1463,
1117 kV8VisualViewport_Scale_AttributeGetter = 1464,
1118 kVisualViewportScrollFired = 1465,
1119 kVisualViewportResizeFired = 1466,
1120 kNodeGetRootNode = 1467,
1121 kSlotChangeEventAddListener = 1468,
1122 kCSSValueAppearanceButtonRendered = 1469,
1123 kCSSValueAppearanceButtonForAnchor = 1470,
1124 kCSSValueAppearanceButtonForButton = 1471,
1125 kCSSValueAppearanceButtonForOtherButtons = 1472,
1126 kCSSValueAppearanceTextFieldRendered = 1473,
1127 kCSSValueAppearanceTextFieldForSearch = 1474,
1128 kCSSValueAppearanceTextFieldForTextField = 1475,
1129 kRTCPeerConnectionGetStats = 1476,
1130 kSVGSMILAnimationAppliedEffect = 1477,
1131 kPerformanceResourceTimingSizes = 1478,
1132 kEventSourceDocument = 1479,
1133 kEventSourceWorker = 1480,
1134 kSingleOriginInTimingAllowOrigin = 1481,
1135 kMultipleOriginsInTimingAllowOrigin = 1482,
1136 kStarInTimingAllowOrigin = 1483,
1137 kSVGSMILAdditiveAnimation = 1484,
1138 kSendBeaconWithNonSimpleContentType = 1485,
1139 kChromeLoadTimesRequestTime = 1486,
1140 kChromeLoadTimesStartLoadTime = 1487,
1141 kChromeLoadTimesCommitLoadTime = 1488,
1142 kChromeLoadTimesFinishDocumentLoadTime = 1489,
1143 kChromeLoadTimesFinishLoadTime = 1490,
1144 kChromeLoadTimesFirstPaintTime = 1491,
1145 kChromeLoadTimesFirstPaintAfterLoadTime = 1492,
1146 kChromeLoadTimesNavigationType = 1493,
1147 kChromeLoadTimesWasFetchedViaSpdy = 1494,
1148 kChromeLoadTimesWasNpnNegotiated = 1495,
1149 kChromeLoadTimesNpnNegotiatedProtocol = 1496,
1150 kChromeLoadTimesWasAlternateProtocolAvailable = 1497,
1151 kChromeLoadTimesConnectionInfo = 1498,
1152 kChromeLoadTimesUnknown = 1499,
1153 kSVGViewElement = 1500,
1154 kWebShareShare = 1501,
1155 kAuxclickAddListenerCount = 1502,
1156 kHTMLCanvasElement = 1503,
1157 kSVGSMILAnimationElementTiming = 1504,
1158 kSVGSMILBeginEndAnimationElement = 1505,
1159 kSVGSMILPausing = 1506,
1160 kSVGSMILCurrentTime = 1507,
1161 kHTMLBodyElementOnSelectionChangeAttribute = 1508,
1162 kForeignFetchInterception = 1509,
1163 kUsbGetDevices = 1519,
1164 kUsbRequestDevice = 1520,
1165 kUsbDeviceOpen = 1521,
1166 kUsbDeviceClose = 1522,
1167 kUsbDeviceSelectConfiguration = 1523,
1168 kUsbDeviceClaimInterface = 1524,
1169 kUsbDeviceReleaseInterface = 1525,
1170 kUsbDeviceSelectAlternateInterface = 1526,
1171 kUsbDeviceControlTransferIn = 1527,
1172 kUsbDeviceControlTransferOut = 1528,
1173 kUsbDeviceClearHalt = 1529,
1174 kUsbDeviceTransferIn = 1530,
1175 kUsbDeviceTransferOut = 1531,
1176 kUsbDeviceIsochronousTransferIn = 1532,
1177 kUsbDeviceIsochronousTransferOut = 1533,
1178 kUsbDeviceReset = 1534,
1179 // The above items are available in M54 branch
1180
1181 kPointerEnterLeaveFired = 1535,
1182 kPointerOverOutFired = 1536,
1183 kDraggableAttribute = 1539,
1184 kCleanScriptElementWithNonce = 1540,
1185 kPotentiallyInjectedScriptElementWithNonce = 1541,
1186 kPendingStylesheetAddedAfterBodyStarted = 1542,
1187 kUntrustedMouseDownEventDispatchedToSelect = 1543,
1188 kBlockedSniffingAudioToScript = 1544,
1189 kBlockedSniffingVideoToScript = 1545,
1190 kBlockedSniffingCSVToScript = 1546,
1191 kMetaSetCookie = 1547,
1192 kMetaRefresh = 1548,
1193 kMetaSetCookieWhenCSPBlocksInlineScript = 1549,
1194 kMetaRefreshWhenCSPBlocksInlineScript = 1550,
1195 kMiddleClickAutoscrollStart = 1551,
1196 kRTCPeerConnectionCreateOfferOptionsOfferToReceive = 1553,
1197 kDragAndDropScrollStart = 1554,
1198 kPresentationConnectionListConnectionAvailableEventListener = 1555,
1199 kWebAudioAutoplayCrossOriginIframe = 1556,
1200 kVRGetDisplays = 1558,
1201 kXSSAuditorBlockedScript = 1581,
1202 kXSSAuditorBlockedEntirePage = 1582,
1203 kXSSAuditorDisabled = 1583,
1204 kXSSAuditorEnabledFilter = 1584,
1205 kXSSAuditorEnabledBlock = 1585,
1206 kXSSAuditorInvalid = 1586,
1207 kTextInputEventOnInput = 1589,
1208 kTextInputEventOnTextArea = 1590,
1209 kTextInputEventOnContentEditable = 1591,
1210 kTextInputEventOnNotNode = 1592,
1211 kWebkitBeforeTextInsertedOnInput = 1593,
1212 kWebkitBeforeTextInsertedOnTextArea = 1594,
1213 kWebkitBeforeTextInsertedOnContentEditable = 1595,
1214 kWebkitBeforeTextInsertedOnNotNode = 1596,
1215 kWebkitEditableContentChangedOnInput = 1597,
1216 kWebkitEditableContentChangedOnTextArea = 1598,
1217 kWebkitEditableContentChangedOnContentEditable = 1599,
1218 kWebkitEditableContentChangedOnNotNode = 1600,
1219 kV8NavigatorUserMediaError_ConstraintName_AttributeGetter = 1601,
1220 kV8HTMLMediaElement_SrcObject_AttributeGetter = 1602,
1221 kV8HTMLMediaElement_SrcObject_AttributeSetter = 1603,
1222 kCreateObjectURLBlob = 1604,
1223 kCreateObjectURLMediaSource = 1605,
1224 kCreateObjectURLMediaStream = 1606,
1225 kDocumentCreateTouchWindowNull = 1607,
1226 kDocumentCreateTouchWindowWrongType = 1608,
1227 kDocumentCreateTouchTargetNull = 1609,
1228 kDocumentCreateTouchTargetWrongType = 1610,
1229 kDocumentCreateTouchMoreThanSevenArguments = 1612,
1230 kLongTaskObserver = 1615,
1231 kCSSOffsetInEffect = 1617,
1232 // The above items are available in M55 branch
1233
1234 kVRGetDisplaysInsecureOrigin = 1618,
1235 kVRRequestPresent = 1619,
1236 kVRRequestPresentInsecureOrigin = 1620,
1237 kVRDeprecatedFieldOfView = 1621,
1238 kVideoInCanvas = 1622,
1239 kHiddenAutoplayedVideoInCanvas = 1623,
1240 kOffscreenCanvas = 1624,
1241 kGamepadPose = 1625,
1242 kGamepadHand = 1626,
1243 kGamepadDisplayId = 1627,
1244 kGamepadButtonTouched = 1628,
1245 kGamepadPoseHasOrientation = 1629,
1246 kGamepadPoseHasPosition = 1630,
1247 kGamepadPosePosition = 1631,
1248 kGamepadPoseLinearVelocity = 1632,
1249 kGamepadPoseLinearAcceleration = 1633,
1250 kGamepadPoseOrientation = 1634,
1251 kGamepadPoseAngularVelocity = 1635,
1252 kGamepadPoseAngularAcceleration = 1636,
1253 kV8RTCDataChannel_MaxRetransmitTime_AttributeGetter = 1638,
1254 kV8RTCDataChannel_MaxRetransmits_AttributeGetter = 1639,
1255 kV8RTCDataChannel_Reliable_AttributeGetter = 1640,
1256 kV8RTCPeerConnection_AddStream_Method = 1641,
1257 kV8RTCPeerConnection_CreateDTMFSender_Method = 1642,
1258 kV8RTCPeerConnection_GetLocalStreams_Method = 1643,
1259 kV8RTCPeerConnection_GetRemoteStreams_Method = 1644,
1260 kV8RTCPeerConnection_GetStreamById_Method = 1645,
1261 kV8RTCPeerConnection_RemoveStream_Method = 1646,
1262 kRTCPeerConnectionCreateDataChannelMaxRetransmitTime = 1648,
1263 kRTCPeerConnectionCreateDataChannelMaxRetransmits = 1649,
1264 kAudioContextCreateConstantSource = 1650,
1265 kWebAudioConstantSourceNode = 1651,
1266 kLoopbackEmbeddedInSecureContext = 1652,
1267 kLoopbackEmbeddedInNonSecureContext = 1653,
1268 kBlinkMacSystemFont = 1654,
1269 kRTCIceServerURL = 1656,
1270 kRTCIceServerURLs = 1657,
1271 kOffscreenCanvasTransferToImageBitmap2D = 1658,
1272 kOffscreenCanvasTransferToImageBitmapWebGL = 1659,
1273 kOffscreenCanvasCommit2D = 1660,
1274 kOffscreenCanvasCommitWebGL = 1661,
1275 kRTCConfigurationIceTransportPolicy = 1662,
1276 kRTCConfigurationIceTransports = 1664,
1277 kDocumentFullscreenElementInV0Shadow = 1665,
1278 kScriptWithCSPBypassingSchemeParserInserted = 1666,
1279 kScriptWithCSPBypassingSchemeNotParserInserted = 1667,
1280 kDocumentCreateElement2ndArgStringHandling = 1668,
1281 kV8MediaRecorder_Start_Method = 1669,
1282 kWebBluetoothRequestDevice = 1670,
1283 kUnitlessPerspectiveInPerspectiveProperty = 1671,
1284 kUnitlessPerspectiveInTransformProperty = 1672,
1285 kV8RTCSessionDescription_Type_AttributeGetter = 1673,
1286 kV8RTCSessionDescription_Type_AttributeSetter = 1674,
1287 kV8RTCSessionDescription_Sdp_AttributeGetter = 1675,
1288 kV8RTCSessionDescription_Sdp_AttributeSetter = 1676,
1289 kRTCSessionDescriptionInitNoType = 1677,
1290 kRTCSessionDescriptionInitNoSdp = 1678,
1291 kHTMLMediaElementPreloadForcedMetadata = 1679,
1292 kGenericSensorStart = 1680,
1293 kGenericSensorStop = 1681,
1294 kTouchEventPreventedNoTouchAction = 1682,
1295 kTouchEventPreventedForcedDocumentPassiveNoTouchAction = 1683,
1296 kV8Event_StopPropagation_Method = 1684,
1297 kV8Event_StopImmediatePropagation_Method = 1685,
1298 kImageCaptureConstructor = 1686,
1299 kV8Document_RootScroller_AttributeGetter = 1687,
1300 kV8Document_RootScroller_AttributeSetter = 1688,
1301 kCustomElementRegistryDefine = 1689,
1302 kLinkHeaderServiceWorker = 1690,
1303 kCSSShadowPiercingDescendantCombinator = 1691,
1304 // The above items are available in M56 branch.
1305
1306 kCSSFlexibleBox = 1692,
1307 kCSSGridLayout = 1693,
1308 kV8BarcodeDetector_Detect_Method = 1694,
1309 kV8FaceDetector_Detect_Method = 1695,
1310 kFullscreenAllowedByOrientationChange = 1696,
1311 kServiceWorkerRespondToNavigationRequestWithRedirectedResponse = 1697,
1312 kV8AudioContext_Constructor = 1698,
1313 kV8OfflineAudioContext_Constructor = 1699,
1314 kAppInstalledEventAddListener = 1700,
1315 kAudioContextGetOutputTimestamp = 1701,
1316 kV8MediaStreamAudioDestinationNode_Constructor = 1702,
1317 kV8AnalyserNode_Constructor = 1703,
1318 kV8AudioBuffer_Constructor = 1704,
1319 kV8AudioBufferSourceNode_Constructor = 1705,
1320 kV8AudioProcessingEvent_Constructor = 1706,
1321 kV8BiquadFilterNode_Constructor = 1707,
1322 kV8ChannelMergerNode_Constructor = 1708,
1323 kV8ChannelSplitterNode_Constructor = 1709,
1324 kV8ConstantSourceNode_Constructor = 1710,
1325 kV8ConvolverNode_Constructor = 1711,
1326 kV8DelayNode_Constructor = 1712,
1327 kV8DynamicsCompressorNode_Constructor = 1713,
1328 kV8GainNode_Constructor = 1714,
1329 kV8IIRFilterNode_Constructor = 1715,
1330 kV8MediaElementAudioSourceNode_Constructor = 1716,
1331 kV8MediaStreamAudioSourceNode_Constructor = 1717,
1332 kV8OfflineAudioCompletionEvent_Constructor = 1718,
1333 kV8OscillatorNode_Constructor = 1719,
1334 kV8PannerNode_Constructor = 1720,
1335 kV8PeriodicWave_Constructor = 1721,
1336 kV8StereoPannerNode_Constructor = 1722,
1337 kV8WaveShaperNode_Constructor = 1723,
1338 kV8Headers_GetAll_Method = 1724,
1339 kNavigatorVibrateEngagementNone = 1725,
1340 kNavigatorVibrateEngagementMinimal = 1726,
1341 kNavigatorVibrateEngagementLow = 1727,
1342 kNavigatorVibrateEngagementMedium = 1728,
1343 kNavigatorVibrateEngagementHigh = 1729,
1344 kNavigatorVibrateEngagementMax = 1730,
1345 kAlertEngagementNone = 1731,
1346 kAlertEngagementMinimal = 1732,
1347 kAlertEngagementLow = 1733,
1348 kAlertEngagementMedium = 1734,
1349 kAlertEngagementHigh = 1735,
1350 kAlertEngagementMax = 1736,
1351 kConfirmEngagementNone = 1737,
1352 kConfirmEngagementMinimal = 1738,
1353 kConfirmEngagementLow = 1739,
1354 kConfirmEngagementMedium = 1740,
1355 kConfirmEngagementHigh = 1741,
1356 kConfirmEngagementMax = 1742,
1357 kPromptEngagementNone = 1743,
1358 kPromptEngagementMinimal = 1744,
1359 kPromptEngagementLow = 1745,
1360 kPromptEngagementMedium = 1746,
1361 kPromptEngagementHigh = 1747,
1362 kPromptEngagementMax = 1748,
1363 kTopNavInSandbox = 1749,
1364 kTopNavInSandboxWithoutGesture = 1750,
1365 kTopNavInSandboxWithPerm = 1751,
1366 kTopNavInSandboxWithPermButNoGesture = 1752,
1367 kReferrerPolicyHeader = 1753,
1368 kHTMLAnchorElementReferrerPolicyAttribute = 1754,
1369 kHTMLIFrameElementReferrerPolicyAttribute = 1755,
1370 kHTMLImageElementReferrerPolicyAttribute = 1756,
1371 kHTMLLinkElementReferrerPolicyAttribute = 1757,
1372 kBaseElement = 1758,
1373 kBaseWithCrossOriginHref = 1759,
1374 kBaseWithDataHref = 1760,
1375 kBaseWithNewlinesInTarget = 1761,
1376 kBaseWithOpenBracketInTarget = 1762,
1377 kBaseWouldBeBlockedByDefaultSrc = 1763,
1378 kV8AssigmentExpressionLHSIsCallInSloppy = 1764,
1379 kV8AssigmentExpressionLHSIsCallInStrict = 1765,
1380 kV8PromiseConstructorReturnedUndefined = 1766,
1381 kFormSubmittedWithUnclosedFormControl = 1767,
1382 kDocumentCompleteURLHTTPContainingNewline = 1768,
1383 kDocumentCompleteURLHTTPContainingNewlineAndLessThan = 1770,
1384 kDocumentCompleteURLNonHTTPContainingNewline = 1771,
1385 kScrollbarUseVerticalScrollbarButton = 1777,
1386 kScrollbarUseVerticalScrollbarThumb = 1778,
1387 kScrollbarUseVerticalScrollbarTrack = 1779,
1388 kScrollbarUseHorizontalScrollbarButton = 1780,
1389 kScrollbarUseHorizontalScrollbarThumb = 1781,
1390 kScrollbarUseHorizontalScrollbarTrack = 1782,
1391 kHTMLTableCellElementColspan = 1783,
1392 kHTMLTableCellElementColspanGreaterThan1000 = 1784,
1393 kHTMLTableCellElementColspanGreaterThan8190 = 1785,
1394 kSelectionAddRangeIntersect = 1786,
1395 kPostMessageFromInsecureToSecureToplevel = 1787,
1396 // The above items are available in M57 branch.
1397
1398 kV8MediaSession_Metadata_AttributeGetter = 1788,
1399 kV8MediaSession_Metadata_AttributeSetter = 1789,
1400 kV8MediaSession_PlaybackState_AttributeGetter = 1790,
1401 kV8MediaSession_PlaybackState_AttributeSetter = 1791,
1402 kV8MediaSession_SetActionHandler_Method = 1792,
1403 kWebNFCPush = 1793,
1404 kWebNFCCancelPush = 1794,
1405 kWebNFCWatch = 1795,
1406 kWebNFCCancelWatch = 1796,
1407 kAudioParamCancelAndHoldAtTime = 1797,
1408 kCSSValueUserModifyReadOnly = 1798,
1409 kCSSValueUserModifyReadWrite = 1799,
1410 kCSSValueUserModifyReadWritePlaintextOnly = 1800,
1411 kV8TextDetector_Detect_Method = 1801,
1412 kCSSValueOnDemand = 1802,
1413 kServiceWorkerNavigationPreload = 1803,
1414 kFullscreenRequestWithPendingElement = 1804,
1415 kHTMLIFrameElementAllowfullscreenAttributeSetAfterContentLoad = 1805,
1416 kPointerEventSetCaptureOutsideDispatch = 1806,
1417 kNotificationPermissionRequestedInsecureOrigin = 1807,
1418 kV8DeprecatedStorageInfo_QueryUsageAndQuota_Method = 1808,
1419 kV8DeprecatedStorageInfo_RequestQuota_Method = 1809,
1420 kV8DeprecatedStorageQuota_QueryUsageAndQuota_Method = 1810,
1421 kV8DeprecatedStorageQuota_RequestQuota_Method = 1811,
1422 kV8FileReaderSync_Constructor = 1812,
1423 kUncancelableTouchEventPreventDefaulted = 1813,
1424 kUncancelableTouchEventDueToMainThreadResponsivenessPreventDefaulted = 1814,
1425 kV8HTMLVideoElement_Poster_AttributeGetter = 1815,
1426 kV8HTMLVideoElement_Poster_AttributeSetter = 1816,
1427 kNotificationPermissionRequestedIframe = 1817,
1428 kPresentationReceiverInsecureOrigin = 1819,
1429 kPresentationReceiverSecureOrigin = 1820,
1430 kPresentationRequestInsecureOrigin = 1821,
1431 kPresentationRequestSecureOrigin = 1822,
1432 kRtcpMuxPolicyNegotiate = 1823,
1433 kDOMClobberedVariableAccessed = 1824,
1434 kHTMLDocumentCreateProcessingInstruction = 1825,
1435 kFetchResponseConstructionWithStream = 1826,
1436 kLocationOrigin = 1827,
1437 kDocumentOrigin = 1828,
1438 kCanvas2DFilter = 1830,
1439 kCanvas2DImageSmoothingQuality = 1831,
1440 kCanvasToBlob = 1832,
1441 kCanvasToDataURL = 1833,
1442 kOffscreenCanvasConvertToBlob = 1834,
1443 kSVGInCanvas2D = 1835,
1444 kSVGInWebGL = 1836,
1445 kSelectionFuncionsChangeFocus = 1837,
1446 kHTMLObjectElementGetter = 1838,
1447 kHTMLObjectElementSetter = 1839,
1448 kHTMLEmbedElementGetter = 1840,
1449 kHTMLEmbedElementSetter = 1841,
1450 kTransformUsesBoxSizeOnSVG = 1842,
1451 // The above items are available in M58 branch.
1452
1453 kScrollByKeyboardArrowKeys = 1843,
1454 kScrollByKeyboardPageUpDownKeys = 1844,
1455 kScrollByKeyboardHomeEndKeys = 1845,
1456 kScrollByKeyboardSpacebarKey = 1846,
1457 kScrollByTouch = 1847,
1458 kScrollByWheel = 1848,
1459 kScheduledActionIgnored = 1849,
1460 kGetCanvas2DContextAttributes = 1850,
1461 kV8HTMLInputElement_Capture_AttributeGetter = 1851,
1462 kV8HTMLInputElement_Capture_AttributeSetter = 1852,
1463 kHTMLMediaElementControlsListAttribute = 1853,
1464 kHTMLMediaElementControlsListNoDownload = 1854,
1465 kHTMLMediaElementControlsListNoFullscreen = 1855,
1466 kHTMLMediaElementControlsListNoRemotePlayback = 1856,
1467 kPointerEventClickRetargetCausedByCapture = 1857,
1468 kVRDisplayDisplayName = 1861,
1469 kVREyeParametersOffset = 1862,
1470 kVRPoseLinearVelocity = 1863,
1471 kVRPoseLinearAcceleration = 1864,
1472 kVRPoseAngularVelocity = 1865,
1473 kVRPoseAngularAcceleration = 1866,
1474 kCSSOverflowPaged = 1867,
1475 kChildSrcAllowedWorkerThatScriptSrcBlocked = 1868,
1476 kHTMLTableElementPresentationAttributeBackground = 1869,
1477 kV8Navigator_GetInstalledRelatedApps_Method = 1870,
1478 kNamedAccessOnWindow_ChildBrowsingContext = 1871,
1479 kNamedAccessOnWindow_ChildBrowsingContext_CrossOriginNameMismatch = 1872,
1480 kV0CustomElementsRegisterHTMLCustomTag = 1873,
1481 kV0CustomElementsRegisterHTMLTypeExtension = 1874,
1482 kV0CustomElementsRegisterSVGElement = 1875,
1483 kV0CustomElementsRegisterEmbedderElement = 1876,
1484 kV0CustomElementsCreateCustomTagElement = 1877,
1485 kV0CustomElementsCreateTypeExtensionElement = 1878,
1486 kV0CustomElementsConstruct = 1879,
1487 kV8IDBObserver_Observe_Method = 1880,
1488 kV8IDBObserver_Unobserve_Method = 1881,
1489 kWebBluetoothRemoteCharacteristicGetDescriptor = 1882,
1490 kWebBluetoothRemoteCharacteristicGetDescriptors = 1883,
1491 kWebBluetoothRemoteCharacteristicReadValue = 1884,
1492 kWebBluetoothRemoteCharacteristicWriteValue = 1885,
1493 kWebBluetoothRemoteCharacteristicStartNotifications = 1886,
1494 kWebBluetoothRemoteCharacteristicStopNotifications = 1887,
1495 kWebBluetoothRemoteDescriptorReadValue = 1888,
1496 kWebBluetoothRemoteDescriptorWriteValue = 1889,
1497 kWebBluetoothRemoteServerConnect = 1890,
1498 kWebBluetoothRemoteServerDisconnect = 1891,
1499 kWebBluetoothRemoteServerGetPrimaryService = 1892,
1500 kWebBluetoothRemoteServerGetPrimaryServices = 1893,
1501 kWebBluetoothRemoteServiceGetCharacteristic = 1894,
1502 kWebBluetoothRemoteServiceGetCharacteristics = 1895,
1503 kHTMLContentElement = 1896,
1504 kHTMLShadowElement = 1897,
1505 kHTMLSlotElement = 1898,
1506 kAccelerometerConstructor = 1899,
1507 kAbsoluteOrientationSensorConstructor = 1900,
1508 kAmbientLightSensorConstructor = 1901,
1509 kGenericSensorOnActivate = 1902,
1510 kGenericSensorOnChange = 1903,
1511 kGenericSensorOnError = 1904,
1512 kGenericSensorActivated = 1905,
1513 kGyroscopeConstructor = 1906,
1514 kMagnetometerConstructor = 1907,
1515 kOrientationSensorPopulateMatrix = 1908,
1516 kWindowOpenWithInvalidURL = 1909,
1517 kCrossOriginMainFrameNulledNameAccessed = 1910,
1518 kMenuItemElementIconAttribute = 1911,
1519 kWebkitCSSMatrixSetMatrixValue = 1912,
1520 kWebkitCSSMatrixConstructFromString = 1913,
1521 kCanRequestURLHTTPContainingNewline = 1914,
1522 kCanRequestURLNonHTTPContainingNewline = 1915,
1523 kGetGamepads = 1916,
1524 kV8SVGPathElement_GetPathSegAtLength_Method = 1917,
1525 kMediaStreamConstraintsAudio = 1918,
1526 kMediaStreamConstraintsAudioUnconstrained = 1919,
1527 kMediaStreamConstraintsVideo = 1920,
1528 kMediaStreamConstraintsVideoUnconstrained = 1921,
1529 kMediaStreamConstraintsWidth = 1922,
1530 kMediaStreamConstraintsHeight = 1923,
1531 kMediaStreamConstraintsAspectRatio = 1924,
1532 kMediaStreamConstraintsFrameRate = 1925,
1533 kMediaStreamConstraintsFacingMode = 1926,
1534 kMediaStreamConstraintsVolume = 1927,
1535 kMediaStreamConstraintsSampleRate = 1928,
1536 kMediaStreamConstraintsSampleSize = 1929,
1537 kMediaStreamConstraintsEchoCancellation = 1930,
1538 kMediaStreamConstraintsLatency = 1931,
1539 kMediaStreamConstraintsChannelCount = 1932,
1540 kMediaStreamConstraintsDeviceIdAudio = 1933,
1541 kMediaStreamConstraintsDeviceIdVideo = 1934,
1542 kMediaStreamConstraintsDisableLocalEcho = 1935,
1543 kMediaStreamConstraintsGroupIdAudio = 1936,
1544 kMediaStreamConstraintsGroupIdVideo = 1937,
1545 kMediaStreamConstraintsVideoKind = 1938,
1546 kMediaStreamConstraintsDepthNear = 1939,
1547 kMediaStreamConstraintsDepthFar = 1940,
1548 kMediaStreamConstraintsFocalLengthX = 1941,
1549 kMediaStreamConstraintsFocalLengthY = 1942,
1550 kMediaStreamConstraintsMediaStreamSourceAudio = 1943,
1551 kMediaStreamConstraintsMediaStreamSourceVideo = 1944,
1552 kMediaStreamConstraintsRenderToAssociatedSink = 1945,
1553 kMediaStreamConstraintsHotwordEnabled = 1946,
1554 kMediaStreamConstraintsGoogEchoCancellation = 1947,
1555 kMediaStreamConstraintsGoogExperimentalEchoCancellation = 1948,
1556 kMediaStreamConstraintsGoogAutoGainControl = 1949,
1557 kMediaStreamConstraintsGoogExperimentalAutoGainControl = 1950,
1558 kMediaStreamConstraintsGoogNoiseSuppression = 1951,
1559 kMediaStreamConstraintsGoogHighpassFilter = 1952,
1560 kMediaStreamConstraintsGoogTypingNoiseDetection = 1953,
1561 kMediaStreamConstraintsGoogExperimentalNoiseSuppression = 1954,
1562 kMediaStreamConstraintsGoogBeamforming = 1955,
1563 kMediaStreamConstraintsGoogArrayGeometry = 1956,
1564 kMediaStreamConstraintsGoogAudioMirroring = 1957,
1565 kMediaStreamConstraintsGoogDAEchoCancellation = 1958,
1566 kMediaStreamConstraintsGoogNoiseReduction = 1959,
1567 kMediaStreamConstraintsGoogPowerLineFrequency = 1960,
1568 // The above items are available in M59 branch.
1569
1570 kViewportFixedPositionUnderFilter = 1961,
1571 kRequestMIDIAccessWithSysExOption = 1962,
1572 kRequestMIDIAccessIframeWithSysExOption = 1963,
1573 kGamepadAxes = 1964,
1574 kGamepadButtons = 1965,
1575 kVibrateWithoutUserGesture = 1966,
1576 kDispatchMouseEventOnDisabledFormControl = 1967,
1577 kElementNameDOMInvalidHTMLParserValid = 1968,
1578 kElementNameDOMValidHTMLParserInvalid = 1969,
1579 kGATTServerDisconnectedEvent = 1970,
1580 kAnchorClickDispatchForNonConnectedNode = 1971,
1581 kHTMLParseErrorNestedForm = 1972,
1582 kFontShapingNotDefGlyphObserved = 1973,
1583 kPostMessageOutgoingWouldBeBlockedByConnectSrc = 1974,
1584 kPostMessageIncomingWouldBeBlockedByConnectSrc = 1975,
1585 kPaymentRequestNetworkNameInSupportedMethods = 1976,
1586
1587 // Add new features immediately above this line. Don't change assigned
1588 // numbers of any item, and don't reuse removed slots.
1589 // Also, run update_use_counter_feature_enum.py in
1590 // chromium/src/tools/metrics/histograms/ to update the UMA mapping.
1591 kNumberOfFeatures, // This enum value must be last.
1592 };
1593 78
1594 // An interface to observe UseCounter changes. Note that this is never 79 // An interface to observe UseCounter changes. Note that this is never
1595 // notified when the counter is disabled by |m_muteCount| or 80 // notified when the counter is disabled by |m_muteCount| or
1596 // |m_disableReporting|. 81 // |m_disableReporting|.
1597 class Observer : public GarbageCollected<Observer> { 82 class Observer : public GarbageCollected<Observer> {
1598 public: 83 public:
1599 // Notified when a feature is counted for the first time. This should return 84 // Notified when a feature is counted for the first time. This should return
1600 // true if it no longer needs to observe changes so that the counter can 85 // true if it no longer needs to observe changes so that the counter can
1601 // remove a reference to the observer and stop notifications. 86 // remove a reference to the observer and stop notifications.
1602 virtual bool OnCountFeature(Feature) = 0; 87 virtual bool OnCountFeature(Feature) = 0;
1603 88
1604 DEFINE_INLINE_VIRTUAL_TRACE() {} 89 DEFINE_INLINE_VIRTUAL_TRACE() {}
1605 }; 90 };
1606 91
1607 // "count" sets the bit for this feature to 1. Repeated calls are ignored. 92 // "count" sets the bit for this feature to 1. Repeated calls are ignored.
93 // TODO(lunalu): Deprecate Feature by WebFeature in Count().
1608 static void Count(const Frame*, Feature); 94 static void Count(const Frame*, Feature);
1609 static void Count(const Document&, Feature); 95 static void Count(const Document&, Feature);
1610 static void Count(ExecutionContext*, Feature); 96 static void Count(ExecutionContext*, Feature);
97 static void Count(const Frame* frame, WebFeature feature) {
98 return Count(frame, static_cast<Feature>(feature));
Rick Byers 2017/05/23 19:51:49 again seems better to update UseCounter.cpp for th
lunalu1 2017/05/24 20:56:33 Done.
99 }
100 static void Count(const Document& document, WebFeature feature) {
101 return Count(document, static_cast<Feature>(feature));
102 }
103 static void Count(ExecutionContext* exec_context, WebFeature feature) {
104 return Count(exec_context, static_cast<Feature>(feature));
105 }
1611 106
1612 void Count(CSSParserMode, CSSPropertyID); 107 void Count(CSSParserMode, CSSPropertyID);
108 // TODO(lunalu): Deprecate Feature by WebFeature in Count().
1613 void Count(Feature); 109 void Count(Feature);
110 void Count(WebFeature feature) {
111 return Count(static_cast<Feature>(feature));
112 }
1614 113
1615 static void CountAnimatedCSS(const Document&, CSSPropertyID); 114 static void CountAnimatedCSS(const Document&, CSSPropertyID);
1616 void CountAnimatedCSS(CSSPropertyID); 115 void CountAnimatedCSS(CSSPropertyID);
1617 116
1618 // Count only features if they're being used in an iframe which does not 117 // Count only features if they're being used in an iframe which does not
1619 // have script access into the top level document. 118 // have script access into the top level document.
119 // TODO(lunalu): Deprecate Feature by WebFeature in CountCrossOriginIframe().
1620 static void CountCrossOriginIframe(const Document&, Feature); 120 static void CountCrossOriginIframe(const Document&, Feature);
121 static void CountCrossOriginIframe(const Document& document,
122 WebFeature feature) {
123 return CountCrossOriginIframe(document, static_cast<Feature>(feature));
124 }
1621 125
1622 // Return whether the Feature was previously counted for this document. 126 // Return whether the Feature was previously counted for this document.
1623 // NOTE: only for use in testing. 127 // NOTE: only for use in testing.
128 // TODO(lunalu): Deprecate Feature by WebFeature in IsCounted().
Rick Byers 2017/05/23 19:51:49 Since this is only for testing I think it should b
lunalu1 2017/05/24 20:56:32 OK
1624 static bool IsCounted(Document&, Feature); 129 static bool IsCounted(Document&, Feature);
130 static bool IsCounted(Document& document, WebFeature feature) {
131 return IsCounted(document, static_cast<Feature>(feature));
132 }
133
1625 // Return whether the CSSPropertyID was previously counted for this document. 134 // Return whether the CSSPropertyID was previously counted for this document.
1626 // NOTE: only for use in testing. 135 // NOTE: only for use in testing.
1627 static bool IsCounted(Document&, const String&); 136 static bool IsCounted(Document&, const String&);
1628 bool IsCounted(CSSPropertyID unresolved_property); 137 bool IsCounted(CSSPropertyID unresolved_property);
1629 138
1630 // Return whether the CSSPropertyID was previously counted for this document. 139 // Return whether the CSSPropertyID was previously counted for this document.
1631 // NOTE: only for use in testing. 140 // NOTE: only for use in testing.
1632 static bool IsCountedAnimatedCSS(Document&, const String&); 141 static bool IsCountedAnimatedCSS(Document&, const String&);
1633 bool IsCountedAnimatedCSS(CSSPropertyID unresolved_property); 142 bool IsCountedAnimatedCSS(CSSPropertyID unresolved_property);
1634 143
1635 // Retains a reference to the observer to notify of UseCounter changes. 144 // Retains a reference to the observer to notify of UseCounter changes.
1636 void AddObserver(Observer*); 145 void AddObserver(Observer*);
1637 146
1638 // Invoked when a new document is loaded into the main frame of the page. 147 // Invoked when a new document is loaded into the main frame of the page.
1639 void DidCommitLoad(KURL); 148 void DidCommitLoad(KURL);
1640 149
1641 static int MapCSSPropertyIdToCSSSampleIdForHistogram(CSSPropertyID); 150 static int MapCSSPropertyIdToCSSSampleIdForHistogram(CSSPropertyID);
1642 151
1643 // When muted, all calls to "count" functions are ignoed. May be nested. 152 // When muted, all calls to "count" functions are ignoed. May be nested.
1644 void MuteForInspector(); 153 void MuteForInspector();
1645 void UnmuteForInspector(); 154 void UnmuteForInspector();
1646 155
156 // TODO(lunalu): Deprecate Feature by WebFeature in RecordMeasurement().
1647 void RecordMeasurement(Feature); 157 void RecordMeasurement(Feature);
Rick Byers 2017/05/23 19:51:49 I thought this method (and HasRecordedMeasurement)
lunalu1 2017/05/24 20:56:32 Done Not quite, some other places also calls Recor
158 void RecordMeasurement(WebFeature feature) {
159 return RecordMeasurement(static_cast<Feature>(feature));
160 }
1648 161
1649 // Return whether the feature has been seen since the last page load 162 // Return whether the feature has been seen since the last page load
1650 // (except when muted). Does include features seen in documents which have 163 // (except when muted). Does include features seen in documents which have
1651 // reporting disabled. 164 // reporting disabled.
165 // TODO(lunalu): Deprecate Feature by WebFeature in HasRecordedMeasurement().
1652 bool HasRecordedMeasurement(Feature) const; 166 bool HasRecordedMeasurement(Feature) const;
167 bool HasRecordedMeasurement(WebFeature feature) const {
168 return HasRecordedMeasurement(static_cast<Feature>(feature));
169 }
1653 170
1654 DECLARE_TRACE(); 171 DECLARE_TRACE();
1655 172
1656 private: 173 private:
1657 // Notifies that a feature is newly counted to |m_observers|. This shouldn't 174 // Notifies that a feature is newly counted to |m_observers|. This shouldn't
1658 // be called when the counter is disabled by |m_muteCount| or 175 // be called when the counter is disabled by |m_muteCount| or
1659 // |m_disableReporting|. 176 // |m_disableReporting|.
177 // TODO(lunalu): Deprecate Feature by WebFeature in NotifyFeatureCounted().
Rick Byers 2017/05/23 19:51:49 I think the Observer infrastructure is also rarely
lunalu1 2017/05/24 20:56:32 Done.
1660 void NotifyFeatureCounted(Feature); 178 void NotifyFeatureCounted(Feature);
179 void NotifyFeatureCounted(WebFeature feature) {
180 return NotifyFeatureCounted(static_cast<Feature>(feature));
181 }
1661 182
1662 EnumerationHistogram& FeaturesHistogram() const; 183 EnumerationHistogram& FeaturesHistogram() const;
1663 EnumerationHistogram& CssHistogram() const; 184 EnumerationHistogram& CssHistogram() const;
1664 EnumerationHistogram& AnimatedCSSHistogram() const; 185 EnumerationHistogram& AnimatedCSSHistogram() const;
1665 186
1666 // If non-zero, ignore all 'count' calls completely. 187 // If non-zero, ignore all 'count' calls completely.
1667 unsigned mute_count_; 188 unsigned mute_count_;
1668 189
1669 // If true, disable reporting all histogram entries. 190 // If true, disable reporting all histogram entries.
1670 bool disable_reporting_; 191 bool disable_reporting_;
1671 192
1672 // The scope represented by this UseCounter instance. 193 // The scope represented by this UseCounter instance.
1673 Context context_; 194 Context context_;
1674 195
1675 // Track what features/properties have been reported to the (non-legacy) 196 // Track what features/properties have been reported to the (non-legacy)
1676 // histograms. 197 // histograms.
1677 BitVector features_recorded_; 198 BitVector features_recorded_;
1678 BitVector css_recorded_; 199 BitVector css_recorded_;
1679 BitVector animated_css_recorded_; 200 BitVector animated_css_recorded_;
1680 201
1681 HeapHashSet<Member<Observer>> observers_; 202 HeapHashSet<Member<Observer>> observers_;
1682 203
1683 // Encapsulates the work to preserve the old "FeatureObserver" histogram with 204 // Encapsulates the work to preserve the old "FeatureObserver" histogram with
1684 // original semantics 205 // original semantics
1685 // TODO(rbyers): remove this - http://crbug.com/676837 206 // TODO(rbyers): remove this - http://crbug.com/676837
1686 class CORE_EXPORT LegacyCounter { 207 class CORE_EXPORT LegacyCounter {
1687 public: 208 public:
1688 LegacyCounter(); 209 LegacyCounter();
1689 ~LegacyCounter(); 210 ~LegacyCounter();
211 // TODO(lunalu): Deprecate Feature by WebFeature in CountFeature().
Rick Byers 2017/05/23 19:51:49 Definitely shouldn't need the 'Feature' version he
lunalu1 2017/05/24 20:56:32 I see.
1690 void CountFeature(Feature); 212 void CountFeature(Feature);
213 void CountFeature(WebFeature feature) {
214 return CountFeature(static_cast<Feature>(feature));
215 }
1691 void CountCSS(CSSPropertyID); 216 void CountCSS(CSSPropertyID);
1692 void UpdateMeasurements(); 217 void UpdateMeasurements();
1693 218
1694 private: 219 private:
1695 // Tracks what features/properties need to be reported to the legacy 220 // Tracks what features/properties need to be reported to the legacy
1696 // histograms. 221 // histograms.
1697 BitVector feature_bits_; 222 BitVector feature_bits_;
1698 BitVector css_bits_; 223 BitVector css_bits_;
1699 } legacy_counter_; 224 } legacy_counter_;
1700 }; 225 };
1701 226
1702 } // namespace blink 227 } // namespace blink
1703 228
1704 #endif // UseCounter_h 229 #endif // UseCounter_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698