| Index: content/common/plugin_list_unittest.cc
 | 
| diff --git a/content/common/plugin_list_unittest.cc b/content/common/plugin_list_unittest.cc
 | 
| index 342200edfc2a0303c9c7062c04b4ce64f535aebc..a9e592ef4bf419602cdbc781d361af8df13f0572 100644
 | 
| --- a/content/common/plugin_list_unittest.cc
 | 
| +++ b/content/common/plugin_list_unittest.cc
 | 
| @@ -7,6 +7,7 @@
 | 
|  #include "base/strings/string16.h"
 | 
|  #include "base/strings/utf_string_conversions.h"
 | 
|  #include "testing/gtest/include/gtest/gtest.h"
 | 
| +#include "url/gurl.h"
 | 
|  
 | 
|  namespace content {
 | 
|  
 | 
| @@ -15,6 +16,8 @@ namespace {
 | 
|  base::FilePath::CharType kFooPath[] = FILE_PATH_LITERAL("/plugins/foo.plugin");
 | 
|  base::FilePath::CharType kBarPath[] = FILE_PATH_LITERAL("/plugins/bar.plugin");
 | 
|  const char* kFooName = "Foo Plugin";
 | 
| +const char* kFooMimeType = "application/x-foo-mime-type";
 | 
| +const char* kFooFileType = "foo";
 | 
|  
 | 
|  bool Equals(const WebPluginInfo& a, const WebPluginInfo& b) {
 | 
|    return (a.name == b.name &&
 | 
| @@ -51,6 +54,8 @@ class PluginListTest : public testing::Test {
 | 
|    virtual void SetUp() {
 | 
|      plugin_list_.DisablePluginsDiscovery();
 | 
|      plugin_list_.RegisterInternalPlugin(bar_plugin_, false);
 | 
| +    foo_plugin_.mime_types.push_back(
 | 
| +        WebPluginMimeType(kFooMimeType, kFooFileType, std::string()));
 | 
|      plugin_list_.RegisterInternalPlugin(foo_plugin_, false);
 | 
|    }
 | 
|  
 | 
| @@ -81,6 +86,56 @@ TEST_F(PluginListTest, BadPluginDescription) {
 | 
|    ASSERT_TRUE(Contains(plugins, plugin_3043));
 | 
|  }
 | 
|  
 | 
| +TEST_F(PluginListTest, GetPluginInfoArray) {
 | 
| +  const char kTargetUrl[] = "http://example.com/test.foo";
 | 
| +  GURL target_url(kTargetUrl);
 | 
| +  std::vector<WebPluginInfo> plugins;
 | 
| +  std::vector<std::string> actual_mime_types;
 | 
| +
 | 
| +  // The file type of the URL is supported by foo_plugin_. However,
 | 
| +  // GetPluginInfoArray should not match foo_plugin_ because the MIME type is
 | 
| +  // application/octet-stream.
 | 
| +  plugin_list_.GetPluginInfoArray(target_url,
 | 
| +                                  "application/octet-stream",
 | 
| +                                  false, // allow_wildcard
 | 
| +                                  NULL,  // use_stale
 | 
| +                                  false, // include_npapi
 | 
| +                                  &plugins,
 | 
| +                                  &actual_mime_types);
 | 
| +  EXPECT_EQ(0u, plugins.size());
 | 
| +  EXPECT_EQ(0u, actual_mime_types.size());
 | 
| +
 | 
| +  // foo_plugin_ matches due to the MIME type.
 | 
| +  plugins.clear();
 | 
| +  actual_mime_types.clear();
 | 
| +  plugin_list_.GetPluginInfoArray(target_url,
 | 
| +                                  kFooMimeType,
 | 
| +                                  false, // allow_wildcard
 | 
| +                                  NULL,  // use_stale
 | 
| +                                  false, // include_npapi
 | 
| +                                  &plugins,
 | 
| +                                  &actual_mime_types);
 | 
| +  EXPECT_EQ(1u, plugins.size());
 | 
| +  EXPECT_TRUE(Contains(plugins, foo_plugin_));
 | 
| +  ASSERT_EQ(1u, actual_mime_types.size());
 | 
| +  EXPECT_EQ(kFooMimeType, actual_mime_types.front());
 | 
| +
 | 
| +  // foo_plugin_ matches due to the file type and empty MIME type.
 | 
| +  plugins.clear();
 | 
| +  actual_mime_types.clear();
 | 
| +  plugin_list_.GetPluginInfoArray(target_url,
 | 
| +                                  "",
 | 
| +                                  false, // allow_wildcard
 | 
| +                                  NULL,  // use_stale
 | 
| +                                  false, // include_npapi
 | 
| +                                  &plugins,
 | 
| +                                  &actual_mime_types);
 | 
| +  EXPECT_EQ(1u, plugins.size());
 | 
| +  EXPECT_TRUE(Contains(plugins, foo_plugin_));
 | 
| +  ASSERT_EQ(1u, actual_mime_types.size());
 | 
| +  EXPECT_EQ(kFooMimeType, actual_mime_types.front());
 | 
| +}
 | 
| +
 | 
|  #if defined(OS_POSIX) && !defined(OS_MACOSX)
 | 
|  
 | 
|  // Test parsing a simple description: Real Audio.
 | 
| 
 |