| OLD | NEW |
| 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 14 matching lines...) Expand all Loading... |
| 25 | 25 |
| 26 #ifndef UseCounter_h | 26 #ifndef UseCounter_h |
| 27 #define UseCounter_h | 27 #define UseCounter_h |
| 28 | 28 |
| 29 #include "core/CSSPropertyNames.h" | 29 #include "core/CSSPropertyNames.h" |
| 30 #include "wtf/BitVector.h" | 30 #include "wtf/BitVector.h" |
| 31 #include "wtf/Noncopyable.h" | 31 #include "wtf/Noncopyable.h" |
| 32 #include "wtf/OwnPtr.h" | 32 #include "wtf/OwnPtr.h" |
| 33 #include "wtf/PassOwnPtr.h" | 33 #include "wtf/PassOwnPtr.h" |
| 34 #include "wtf/text/WTFString.h" | 34 #include "wtf/text/WTFString.h" |
| 35 #include <v8.h> |
| 35 | 36 |
| 36 namespace blink { | 37 namespace blink { |
| 37 | 38 |
| 38 class CSSStyleSheet; | 39 class CSSStyleSheet; |
| 39 class LocalDOMWindow; | 40 class LocalDOMWindow; |
| 40 class Document; | 41 class Document; |
| 41 class ExecutionContext; | 42 class ExecutionContext; |
| 42 class StyleSheetContents; | 43 class StyleSheetContents; |
| 43 | 44 |
| 44 // UseCounter is used for counting the number of times features of | 45 // UseCounter is used for counting the number of times features of |
| (...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 540 // Also, run update_use_counter_feature_enum.py in chromium/src/tools/me
trics/histograms/ | 541 // Also, run update_use_counter_feature_enum.py in chromium/src/tools/me
trics/histograms/ |
| 541 // to update the UMA mapping. | 542 // to update the UMA mapping. |
| 542 NumberOfFeatures, // This enum value must be last. | 543 NumberOfFeatures, // This enum value must be last. |
| 543 }; | 544 }; |
| 544 | 545 |
| 545 // "count" sets the bit for this feature to 1. Repeated calls are ignored. | 546 // "count" sets the bit for this feature to 1. Repeated calls are ignored. |
| 546 static void count(const Document&, Feature); | 547 static void count(const Document&, Feature); |
| 547 // This doesn't count for ExecutionContexts for shared workers and service | 548 // This doesn't count for ExecutionContexts for shared workers and service |
| 548 // workers. | 549 // workers. |
| 549 static void count(const ExecutionContext*, Feature); | 550 static void count(const ExecutionContext*, Feature); |
| 551 // Use countIfNotPrivateScript() instead of count() if you don't want |
| 552 // to count metrics in private scripts. You should use |
| 553 // countIfNotPrivateScript() in a binding layer. |
| 554 static void countIfNotPrivateScript(v8::Isolate*, const Document&, Feature); |
| 555 static void countIfNotPrivateScript(v8::Isolate*, const ExecutionContext*, F
eature); |
| 556 |
| 550 void count(CSSParserContext, CSSPropertyID); | 557 void count(CSSParserContext, CSSPropertyID); |
| 551 void count(Feature); | 558 void count(Feature); |
| 552 | 559 |
| 553 // "countDeprecation" sets the bit for this feature to 1, and sends a deprec
ation | 560 // "countDeprecation" sets the bit for this feature to 1, and sends a deprec
ation |
| 554 // warning to the console. Repeated calls are ignored. | 561 // warning to the console. Repeated calls are ignored. |
| 555 // | 562 // |
| 556 // Be considerate to developers' consoles: features should only send | 563 // Be considerate to developers' consoles: features should only send |
| 557 // deprecation warnings when we're actively interested in removing them from | 564 // deprecation warnings when we're actively interested in removing them from |
| 558 // the platform. | 565 // the platform. |
| 559 // | 566 // |
| 560 // The ExecutionContext* overload doesn't work for shared workers and | 567 // The ExecutionContext* overload doesn't work for shared workers and |
| 561 // service workers. | 568 // service workers. |
| 562 static void countDeprecation(const LocalDOMWindow*, Feature); | 569 static void countDeprecation(const LocalDOMWindow*, Feature); |
| 563 static void countDeprecation(ExecutionContext*, Feature); | 570 static void countDeprecation(ExecutionContext*, Feature); |
| 564 static void countDeprecation(const Document&, Feature); | 571 static void countDeprecation(const Document&, Feature); |
| 572 // Use countDeprecationIfNotPrivateScript() instead of countDeprecation() |
| 573 // if you don't want to count metrics in private scripts. You should use |
| 574 // countDeprecationIfNotPrivateScript() in a binding layer. |
| 575 static void countDeprecationIfNotPrivateScript(v8::Isolate*, ExecutionContex
t*, Feature); |
| 565 String deprecationMessage(Feature); | 576 String deprecationMessage(Feature); |
| 566 | 577 |
| 567 void didCommitLoad(); | 578 void didCommitLoad(); |
| 568 | 579 |
| 569 static UseCounter* getFrom(const Document*); | 580 static UseCounter* getFrom(const Document*); |
| 570 static UseCounter* getFrom(const CSSStyleSheet*); | 581 static UseCounter* getFrom(const CSSStyleSheet*); |
| 571 static UseCounter* getFrom(const StyleSheetContents*); | 582 static UseCounter* getFrom(const StyleSheetContents*); |
| 572 | 583 |
| 573 static int mapCSSPropertyIdToCSSSampleIdForHistogram(int id); | 584 static int mapCSSPropertyIdToCSSSampleIdForHistogram(int id); |
| 574 | 585 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 598 | 609 |
| 599 void updateMeasurements(); | 610 void updateMeasurements(); |
| 600 | 611 |
| 601 OwnPtr<BitVector> m_countBits; | 612 OwnPtr<BitVector> m_countBits; |
| 602 BitVector m_CSSFeatureBits; | 613 BitVector m_CSSFeatureBits; |
| 603 }; | 614 }; |
| 604 | 615 |
| 605 } // namespace blink | 616 } // namespace blink |
| 606 | 617 |
| 607 #endif // UseCounter_h | 618 #endif // UseCounter_h |
| OLD | NEW |