Index: chrome/renderer/plugins/plugin_uma.h |
diff --git a/chrome/renderer/plugins/plugin_uma.h b/chrome/renderer/plugins/plugin_uma.h |
index f1eb4cf2d701a2a35cc7f89c81291d43224bd2b5..e32d435ca1ce8554af537f3d1f170030a3893a31 100644 |
--- a/chrome/renderer/plugins/plugin_uma.h |
+++ b/chrome/renderer/plugins/plugin_uma.h |
@@ -1,4 +1,4 @@ |
-// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
+// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
ddorwin
2013/04/04 19:09:50
leave, right?
xhwang
2013/04/04 23:10:33
Done.
|
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
@@ -15,8 +15,13 @@ |
// ReportPluginMissing should be called whenever plugin that is not available or |
// enabled is called. We try to determine plugin's type by requested mime type, |
// or, if mime type is unknown, by plugin's src url. |
-class MissingPluginReporter { |
+class PluginUMAReporter { |
public: |
+ enum ReportType { |
+ MISSING_PLUGIN, |
+ DISABLED_PLUGIN |
+ }; |
+ |
// This must be sync'd with histogram values. |
enum PluginType { |
WINDOWS_MEDIA_PLAYER = 0, |
@@ -31,23 +36,28 @@ class MissingPluginReporter { |
class UMASender { |
public: |
virtual ~UMASender() {} |
- virtual void SendPluginUMA(PluginType plugin_type) = 0; |
+ virtual void SendPluginUMA(ReportType report_type, |
+ PluginType plugin_type) = 0; |
}; |
// Returns singleton instance. |
- static MissingPluginReporter* GetInstance(); |
+ static PluginUMAReporter* GetInstance(); |
- void ReportPluginMissing(std::string plugin_mime_type, |
+ void ReportPluginMissing(const std::string& plugin_mime_type, |
const GURL& plugin_src); |
- // Used in testing. |
- void SetUMASender(UMASender* sender); |
+ void ReportPluginDisabled(const std::string& plugin_mime_type, |
+ const GURL& plugin_src); |
private: |
- friend struct DefaultSingletonTraits<MissingPluginReporter>; |
+ friend struct DefaultSingletonTraits<PluginUMAReporter>; |
+ // For testing. |
+ friend void ExpectPluginType(PluginType expected_plugin_type, |
+ const std::string& plugin_mime_type, |
+ const GURL& plugin_src); |
- MissingPluginReporter(); |
- ~MissingPluginReporter(); |
+ PluginUMAReporter(); |
+ ~PluginUMAReporter(); |
static bool CompareCStrings(const char* first, const char* second); |
bool CStringArrayContainsCString(const char** array, |
@@ -56,6 +66,9 @@ class MissingPluginReporter { |
// Extracts file extension from url. |
void ExtractFileExtension(const GURL& src, std::string* extension); |
+ PluginType GetPluginType(const std::string& plugin_mime_type, |
+ const GURL& plugin_src); |
+ |
// Converts plugin's src to plugin type. |
PluginType SrcToPluginType(const GURL& src); |
// Converts plugin's mime type to plugin type. |
@@ -63,7 +76,7 @@ class MissingPluginReporter { |
scoped_ptr<UMASender> report_sender_; |
- DISALLOW_COPY_AND_ASSIGN(MissingPluginReporter); |
+ DISALLOW_COPY_AND_ASSIGN(PluginUMAReporter); |
}; |
#endif // CHROME_RENDERER_PLUGINS_PLUGIN_UMA_H_ |