| Index: Source/core/frame/UseCounter.h
|
| diff --git a/Source/core/frame/UseCounter.h b/Source/core/frame/UseCounter.h
|
| index d24753fa4d53b2b9c947732c11be03021f26fbcb..04a0fef0eba98ee192ad561da671a51aa727b870 100644
|
| --- a/Source/core/frame/UseCounter.h
|
| +++ b/Source/core/frame/UseCounter.h
|
| @@ -654,8 +654,8 @@ public:
|
| // deprecation warnings when we're actively interested in removing them from
|
| // the platform.
|
| //
|
| - // The ExecutionContext* overload doesn't work for shared workers and
|
| - // service workers.
|
| + // For shared workers and service workers, the ExecutionContext* overload
|
| + // doesn't count the usage but only sends a console warning.
|
| static void countDeprecation(const LocalFrame*, Feature);
|
| static void countDeprecation(ExecutionContext*, Feature);
|
| static void countDeprecation(const Document&, Feature);
|
| @@ -663,7 +663,7 @@ public:
|
| // if you don't want to count metrics in private scripts. You should use
|
| // countDeprecationIfNotPrivateScript() in a binding layer.
|
| static void countDeprecationIfNotPrivateScript(v8::Isolate*, ExecutionContext*, Feature);
|
| - String deprecationMessage(Feature);
|
| + static String deprecationMessage(Feature);
|
|
|
| void didCommitLoad();
|
|
|
| @@ -676,30 +676,38 @@ public:
|
| static void muteForInspector();
|
| static void unmuteForInspector();
|
|
|
| -private:
|
| - static int m_muteCount;
|
| -
|
| - bool recordMeasurement(Feature feature)
|
| - {
|
| - if (UseCounter::m_muteCount)
|
| - return false;
|
| - ASSERT(feature != PageDestruction); // PageDestruction is reserved as a scaling factor.
|
| - ASSERT(feature < NumberOfFeatures);
|
| - if (!m_countBits) {
|
| - m_countBits = adoptPtr(new BitVector(NumberOfFeatures));
|
| - m_countBits->clearAll();
|
| + class CountBits {
|
| + public:
|
| + bool recordMeasurement(Feature feature)
|
| + {
|
| + if (UseCounter::m_muteCount)
|
| + return false;
|
| + ASSERT(feature != PageDestruction); // PageDestruction is reserved as a scaling factor.
|
| + ASSERT(feature < NumberOfFeatures);
|
| + if (!m_bits) {
|
| + m_bits = adoptPtr(new BitVector(NumberOfFeatures));
|
| + m_bits->clearAll();
|
| + }
|
| +
|
| + if (m_bits->quickGet(feature))
|
| + return false;
|
| +
|
| + m_bits->quickSet(feature);
|
| + return true;
|
| }
|
| + void updateMeasurements();
|
|
|
| - if (m_countBits->quickGet(feature))
|
| - return false;
|
| + private:
|
| + OwnPtr<BitVector> m_bits;
|
| + };
|
|
|
| - m_countBits->quickSet(feature);
|
| - return true;
|
| - }
|
| +private:
|
| + static int m_muteCount;
|
|
|
| + bool recordMeasurement(Feature feature) { return m_countBits.recordMeasurement(feature); }
|
| void updateMeasurements();
|
|
|
| - OwnPtr<BitVector> m_countBits;
|
| + CountBits m_countBits;
|
| BitVector m_CSSFeatureBits;
|
| };
|
|
|
|
|