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

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

Issue 2877893002: Make UseCounter take a LocaFrame instead of any Frame (Closed)
Patch Set: rebase Created 3 years, 6 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 25 matching lines...) Expand all
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 "v8/include/v8.h" 38 #include "v8/include/v8.h"
39 39
40 namespace blink { 40 namespace blink {
41 41
42 class CSSStyleSheet; 42 class CSSStyleSheet;
43 class Document; 43 class Document;
44 class EnumerationHistogram; 44 class EnumerationHistogram;
45 class ExecutionContext; 45 class ExecutionContext;
46 class Frame; 46 class LocalFrame;
47 class StyleSheetContents; 47 class StyleSheetContents;
48 48
49 // UseCounter is used for counting the number of times features of 49 // UseCounter is used for counting the number of times features of
50 // Blink are used on real web pages and help us know commonly 50 // 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. 51 // features are used and thus when it's safe to remove or change them.
52 // 52 //
53 // The Chromium Content layer controls what is done with this data. 53 // The Chromium Content layer controls what is done with this data.
54 // 54 //
55 // For instance, in Google Chrome, these counts are submitted anonymously 55 // For instance, in Google Chrome, these counts are submitted anonymously
56 // through the UMA histogram recording system in Chrome for users who have the 56 // through the UMA histogram recording system in Chrome for users who have the
(...skipping 1574 matching lines...) Expand 10 before | Expand all | Expand 10 after
1631 public: 1631 public:
1632 // Notified when a feature is counted for the first time. This should return 1632 // Notified when a feature is counted for the first time. This should return
1633 // true if it no longer needs to observe changes so that the counter can 1633 // true if it no longer needs to observe changes so that the counter can
1634 // remove a reference to the observer and stop notifications. 1634 // remove a reference to the observer and stop notifications.
1635 virtual bool OnCountFeature(Feature) = 0; 1635 virtual bool OnCountFeature(Feature) = 0;
1636 1636
1637 DEFINE_INLINE_VIRTUAL_TRACE() {} 1637 DEFINE_INLINE_VIRTUAL_TRACE() {}
1638 }; 1638 };
1639 1639
1640 // "count" sets the bit for this feature to 1. Repeated calls are ignored. 1640 // "count" sets the bit for this feature to 1. Repeated calls are ignored.
1641 static void Count(const Frame*, Feature); 1641 static void Count(const LocalFrame*, Feature);
1642 static void Count(const Document&, Feature); 1642 static void Count(const Document&, Feature);
1643 static void Count(ExecutionContext*, Feature); 1643 static void Count(ExecutionContext*, Feature);
1644 1644
1645 void Count(CSSParserMode, CSSPropertyID); 1645 void Count(CSSParserMode, CSSPropertyID);
1646 void Count(Feature); 1646 void Count(Feature, const LocalFrame*);
1647 1647
1648 static void CountAnimatedCSS(const Document&, CSSPropertyID); 1648 static void CountAnimatedCSS(const Document&, CSSPropertyID);
1649 void CountAnimatedCSS(CSSPropertyID); 1649 void CountAnimatedCSS(CSSPropertyID);
1650 1650
1651 // Count only features if they're being used in an iframe which does not 1651 // Count only features if they're being used in an iframe which does not
1652 // have script access into the top level document. 1652 // have script access into the top level document.
1653 static void CountCrossOriginIframe(const Document&, Feature); 1653 static void CountCrossOriginIframe(const Document&, Feature);
1654 1654
1655 // Return whether the Feature was previously counted for this document. 1655 // Return whether the Feature was previously counted for this document.
1656 // NOTE: only for use in testing. 1656 // NOTE: only for use in testing.
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
1726 // Tracks what features/properties need to be reported to the legacy 1726 // Tracks what features/properties need to be reported to the legacy
1727 // histograms. 1727 // histograms.
1728 BitVector feature_bits_; 1728 BitVector feature_bits_;
1729 BitVector css_bits_; 1729 BitVector css_bits_;
1730 } legacy_counter_; 1730 } legacy_counter_;
1731 }; 1731 };
1732 1732
1733 } // namespace blink 1733 } // namespace blink
1734 1734
1735 #endif // UseCounter_h 1735 #endif // UseCounter_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698