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

Side by Side Diff: chrome/renderer/plugins/plugin_uma_unittest.cc

Issue 13601002: Report UMA for Shockwave Flash and Widevine CDM. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase and updated unittest. Created 7 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « chrome/renderer/plugins/plugin_uma.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <gtest/gtest.h> 5 #include <gtest/gtest.h>
6 6
7 #include "chrome/renderer/plugins/plugin_uma.h" 7 #include "chrome/renderer/plugins/plugin_uma.h"
8 8
9 class PluginUMATest : public testing::Test { 9 class PluginUMATest : public testing::Test {
10 public: 10 public:
11 static void ExpectPluginType( 11 static void ExpectPluginType(
12 PluginUMAReporter::PluginType expected_plugin_type, 12 PluginUMAReporter::PluginType expected_plugin_type,
13 const std::string& plugin_mime_type, 13 const std::string& plugin_mime_type,
14 const GURL& plugin_src) { 14 const GURL& plugin_src) {
15 EXPECT_EQ(expected_plugin_type, 15 EXPECT_EQ(expected_plugin_type,
16 PluginUMAReporter::GetInstance()->GetPluginType(plugin_mime_type, 16 PluginUMAReporter::GetInstance()->GetPluginType(plugin_mime_type,
17 plugin_src)); 17 plugin_src));
18 } 18 }
19 }; 19 };
20 20
21 TEST_F(PluginUMATest, WindowsMediaPlayer) { 21 TEST_F(PluginUMATest, WindowsMediaPlayer) {
22 ExpectPluginType(PluginUMAReporter::WINDOWS_MEDIA_PLAYER, 22 ExpectPluginType(PluginUMAReporter::WINDOWS_MEDIA_PLAYER,
23 "application/x-mplayer2", 23 "application/x-mplayer2",
24 GURL("file://some_file.mov")); 24 GURL("file://some_file.mov"));
25 ExpectPluginType(PluginUMAReporter::OTHER, 25 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
26 "application/x-mplayer2-some_sufix", 26 "application/x-mplayer2-some_sufix",
27 GURL("file://some_file.mov")); 27 GURL("file://some_file.mov"));
28 ExpectPluginType(PluginUMAReporter::OTHER, 28 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
29 "some-prefix-application/x-mplayer2", 29 "some-prefix-application/x-mplayer2",
30 GURL("file://some_file.mov")); 30 GURL("file://some_file.mov"));
31 } 31 }
32 32
33 TEST_F(PluginUMATest, Silverlight) { 33 TEST_F(PluginUMATest, Silverlight) {
34 ExpectPluginType(PluginUMAReporter::SILVERLIGHT, 34 ExpectPluginType(PluginUMAReporter::SILVERLIGHT,
35 "application/x-silverlight", 35 "application/x-silverlight",
36 GURL("aaaa")); 36 GURL("aaaa"));
37 ExpectPluginType(PluginUMAReporter::SILVERLIGHT, 37 ExpectPluginType(PluginUMAReporter::SILVERLIGHT,
38 "application/x-silverlight-some-sufix", 38 "application/x-silverlight-some-sufix",
39 GURL("aaaa")); 39 GURL("aaaa"));
40 ExpectPluginType(PluginUMAReporter::OTHER, 40 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
41 "some-prefix-application/x-silverlight", 41 "some-prefix-application/x-silverlight",
42 GURL("aaaa")); 42 GURL("aaaa"));
43 } 43 }
44 44
45 TEST_F(PluginUMATest, RealPlayer) { 45 TEST_F(PluginUMATest, RealPlayer) {
46 ExpectPluginType(PluginUMAReporter::REALPLAYER, 46 ExpectPluginType(PluginUMAReporter::REALPLAYER,
47 "audio/x-pn-realaudio", 47 "audio/x-pn-realaudio",
48 GURL("some url")); 48 GURL("some url"));
49 ExpectPluginType(PluginUMAReporter::REALPLAYER, 49 ExpectPluginType(PluginUMAReporter::REALPLAYER,
50 "audio/x-pn-realaudio-some-sufix", 50 "audio/x-pn-realaudio-some-sufix",
51 GURL("some url")); 51 GURL("some url"));
52 ExpectPluginType(PluginUMAReporter::OTHER, 52 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
53 "some-prefix-audio/x-pn-realaudio", 53 "some-prefix-audio/x-pn-realaudio",
54 GURL("some url")); 54 GURL("some url"));
55 } 55 }
56 56
57 TEST_F(PluginUMATest, Java) { 57 TEST_F(PluginUMATest, Java) {
58 ExpectPluginType(PluginUMAReporter::JAVA, 58 ExpectPluginType(PluginUMAReporter::JAVA,
59 "application/x-java-applet", 59 "application/x-java-applet",
60 GURL("some url")); 60 GURL("some url"));
61 ExpectPluginType(PluginUMAReporter::JAVA, 61 ExpectPluginType(PluginUMAReporter::JAVA,
62 "application/x-java-applet-some-sufix", 62 "application/x-java-applet-some-sufix",
63 GURL("some url")); 63 GURL("some url"));
64 ExpectPluginType(PluginUMAReporter::JAVA, 64 ExpectPluginType(PluginUMAReporter::JAVA,
65 "some-prefix-application/x-java-applet-sufix", 65 "some-prefix-application/x-java-applet-sufix",
66 GURL("some url")); 66 GURL("some url"));
67 } 67 }
68 68
69 TEST_F(PluginUMATest, QuickTime) { 69 TEST_F(PluginUMATest, QuickTime) {
70 ExpectPluginType(PluginUMAReporter::QUICKTIME, 70 ExpectPluginType(PluginUMAReporter::QUICKTIME,
71 "video/quicktime", 71 "video/quicktime",
72 GURL("some url")); 72 GURL("some url"));
73 ExpectPluginType(PluginUMAReporter::OTHER, 73 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
74 "video/quicktime-sufix", 74 "video/quicktime-sufix",
75 GURL("some url")); 75 GURL("some url"));
76 ExpectPluginType(PluginUMAReporter::OTHER, 76 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
77 "prefix-video/quicktime", 77 "prefix-video/quicktime",
78 GURL("some url")); 78 GURL("some url"));
79 } 79 }
80 80
81 TEST_F(PluginUMATest, BrowserPlugin) {
82 ExpectPluginType(PluginUMAReporter::BROWSER_PLUGIN,
83 "application/browser-plugin",
84 GURL("some url"));
85 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
86 "application/browser-plugin-sufix",
87 GURL("some url"));
88 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
89 "prefix-application/browser-plugin",
90 GURL("some url"));
91 }
92
93 TEST_F(PluginUMATest, ShockwaveFlash) {
94 ExpectPluginType(PluginUMAReporter::SHOCKWAVE_FLASH,
95 "application/x-shockwave-flash",
96 GURL("some url"));
97 ExpectPluginType(PluginUMAReporter::SHOCKWAVE_FLASH,
98 "application/futuresplash",
99 GURL("some url"));
100 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
101 "application/x-futuresplash",
102 GURL("some url"));
103 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
104 "application/shockwave-flash",
105 GURL("some url"));
106 }
107
108 TEST_F(PluginUMATest, WidevineCdm) {
109 ExpectPluginType(PluginUMAReporter::WIDEVINE_CDM,
110 "application/x-ppapi-widevine-cdm",
111 GURL("some url"));
112 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
113 "application/x-ppapi-widevine-cdm-sufix",
114 GURL("some url"));
115 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
116 "prefix-application/x-ppapi-widevine-cdm",
117 GURL("some url"));
118 }
119
81 TEST_F(PluginUMATest, BySrcExtension) { 120 TEST_F(PluginUMATest, BySrcExtension) {
82 ExpectPluginType(PluginUMAReporter::QUICKTIME, 121 ExpectPluginType(PluginUMAReporter::QUICKTIME,
83 "", 122 "",
84 GURL("file://file.mov")); 123 GURL("file://file.mov"));
85 124
86 // When plugin's mime type is given, we don't check extension. 125 // When plugin's mime type is given, we don't check extension.
87 ExpectPluginType(PluginUMAReporter::OTHER, 126 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
88 "unknown-plugin", 127 "unknown-plugin",
89 GURL("http://file.mov")); 128 GURL("http://file.mov"));
90 129
91 ExpectPluginType(PluginUMAReporter::OTHER, 130 ExpectPluginType(PluginUMAReporter::WINDOWS_MEDIA_PLAYER,
92 "", 131 "",
93 GURL("http://file.unknown_extension")); 132 GURL("file://file.asx"));
133 ExpectPluginType(PluginUMAReporter::REALPLAYER,
134 "",
135 GURL("file://file.rm"));
94 ExpectPluginType(PluginUMAReporter::QUICKTIME, 136 ExpectPluginType(PluginUMAReporter::QUICKTIME,
95 "", 137 "",
96 GURL("http://aaa/file.mov?x=aaaa&y=b#c")); 138 GURL("http://aaa/file.mov?x=aaaa&y=b#c"));
97 ExpectPluginType(PluginUMAReporter::QUICKTIME, 139 ExpectPluginType(PluginUMAReporter::QUICKTIME,
98 "", 140 "",
99 GURL("http://file.mov?x=aaaa&y=b#c")); 141 GURL("http://file.mov?x=aaaa&y=b#c"));
100 ExpectPluginType(PluginUMAReporter::OTHER, 142 ExpectPluginType(PluginUMAReporter::SHOCKWAVE_FLASH,
143 "",
144 GURL("http://file.swf?x=aaaa&y=b#c"));
145 ExpectPluginType(PluginUMAReporter::SHOCKWAVE_FLASH,
146 "",
147 GURL("http://file.spl?x=aaaa&y=b#c"));
148
149 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_EXTENSION,
150 "",
151 GURL("http://file.unknown_extension"));
152 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_EXTENSION,
101 "", 153 "",
102 GURL("http://")); 154 GURL("http://"));
103 ExpectPluginType(PluginUMAReporter::OTHER, 155 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_EXTENSION,
104 "", 156 "",
105 GURL("mov")); 157 GURL("mov"));
106 } 158 }
107 159
108 TEST_F(PluginUMATest, CaseSensitivity) { 160 TEST_F(PluginUMATest, CaseSensitivity) {
109 ExpectPluginType(PluginUMAReporter::QUICKTIME, 161 ExpectPluginType(PluginUMAReporter::QUICKTIME,
110 "video/QUICKTIME", 162 "video/QUICKTIME",
111 GURL("http://file.aaa")); 163 GURL("http://file.aaa"));
112 ExpectPluginType(PluginUMAReporter::QUICKTIME, 164 ExpectPluginType(PluginUMAReporter::QUICKTIME,
113 "", 165 "",
114 GURL("http://file.MoV")); 166 GURL("http://file.MoV"));
115 } 167 }
OLDNEW
« no previous file with comments | « chrome/renderer/plugins/plugin_uma.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698