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

Unified Diff: chrome/browser/plugins/plugin_info_message_filter_unittest.cc

Issue 2511263003: [HBD] Fix the misleading no-fallback placeholder message in BLOCK mode. (Closed)
Patch Set: merge Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/plugins/plugin_info_message_filter_unittest.cc
diff --git a/chrome/browser/plugins/plugin_info_message_filter_unittest.cc b/chrome/browser/plugins/plugin_info_message_filter_unittest.cc
index 9d9711f8bfc19166b2a7321f7f31649cb759623f..f5d797dc47d83b1b7d33fbbf8e50de3d16554672 100644
--- a/chrome/browser/plugins/plugin_info_message_filter_unittest.cc
+++ b/chrome/browser/plugins/plugin_info_message_filter_unittest.cc
@@ -10,9 +10,12 @@
#include "base/message_loop/message_loop.h"
#include "base/run_loop.h"
#include "base/strings/utf_string_conversions.h"
+#include "base/test/scoped_feature_list.h"
#include "build/build_config.h"
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
+#include "chrome/browser/plugins/plugin_metadata.h"
#include "chrome/browser/plugins/plugin_utils.h"
+#include "chrome/common/chrome_features.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/render_messages.h"
#include "chrome/test/base/testing_profile.h"
@@ -88,6 +91,7 @@ class PluginInfoMessageFilterTest : public ::testing::Test {
PluginInfoMessageFilterTest()
: foo_plugin_path_(FILE_PATH_LITERAL("/path/to/foo")),
bar_plugin_path_(FILE_PATH_LITERAL("/path/to/bar")),
+ fake_flash_path_(FILE_PATH_LITERAL("/path/to/fake/flash")),
context_(0, &profile_),
host_content_settings_map_(
HostContentSettingsMapFactory::GetForProfile(&profile_)) {}
@@ -113,6 +117,15 @@ class PluginInfoMessageFilterTest : public ::testing::Test {
bar_plugin.type = content::WebPluginInfo::PLUGIN_TYPE_PEPPER_IN_PROCESS;
PluginService::GetInstance()->RegisterInternalPlugin(bar_plugin, false);
+ content::WebPluginInfo fake_flash(
+ base::ASCIIToUTF16(content::kFlashPluginName), fake_flash_path_,
+ base::ASCIIToUTF16("100.0"),
+ base::ASCIIToUTF16("Fake Flash Description."));
+ mime_type.mime_type = content::kFlashPluginSwfMimeType;
+ fake_flash.mime_types.push_back(mime_type);
+ fake_flash.type = content::WebPluginInfo::PLUGIN_TYPE_PEPPER_OUT_OF_PROCESS;
+ PluginService::GetInstance()->RegisterInternalPlugin(fake_flash, false);
+
PluginService::GetInstance()->SetFilter(&filter_);
#if !defined(OS_WIN)
@@ -162,6 +175,7 @@ class PluginInfoMessageFilterTest : public ::testing::Test {
base::FilePath foo_plugin_path_;
base::FilePath bar_plugin_path_;
+ base::FilePath fake_flash_path_;
FakePluginServiceFilter filter_;
private:
@@ -223,6 +237,45 @@ TEST_F(PluginInfoMessageFilterTest, FindEnabledPlugin) {
}
}
+TEST_F(PluginInfoMessageFilterTest, PreferHtmlOverPlugins) {
+ base::test::ScopedFeatureList feature_list;
+ feature_list.InitAndEnableFeature(features::kPreferHtmlOverPlugins);
+
+ // The HTML5 By Default feature hides Flash using the plugin filter.
+ filter_.set_plugin_enabled(fake_flash_path_, false);
+
+ // Make a real HTTP origin, as all Flash content from non-HTTP and non-FILE
+ // origins are blocked.
+ url::Origin main_frame_origin(GURL("http://example.com"));
+
+ ChromeViewHostMsg_GetPluginInfo_Status status;
+ content::WebPluginInfo plugin;
+ std::string actual_mime_type;
+ EXPECT_TRUE(context()->FindEnabledPlugin(
+ 0, GURL(), main_frame_origin, content::kFlashPluginSwfMimeType, &status,
+ &plugin, &actual_mime_type, NULL));
+ EXPECT_EQ(ChromeViewHostMsg_GetPluginInfo_Status::kFlashHiddenPreferHtml,
+ status);
+
+ PluginMetadata::SecurityStatus security_status =
+ PluginMetadata::SECURITY_STATUS_UP_TO_DATE;
+ context()->DecidePluginStatus(GURL(), main_frame_origin, plugin,
+ security_status, content::kFlashPluginName,
+ &status);
+ EXPECT_EQ(ChromeViewHostMsg_GetPluginInfo_Status::kFlashHiddenPreferHtml,
+ status);
+
+ // Now block plugins.
+ HostContentSettingsMapFactory::GetForProfile(profile())
+ ->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_PLUGINS,
+ CONTENT_SETTING_BLOCK);
+
+ context()->DecidePluginStatus(GURL(), main_frame_origin, plugin,
+ security_status, content::kFlashPluginName,
+ &status);
+ EXPECT_EQ(ChromeViewHostMsg_GetPluginInfo_Status::kBlockedNoLoading, status);
+}
+
TEST_F(PluginInfoMessageFilterTest, GetPluginContentSetting) {
HostContentSettingsMap* map =
HostContentSettingsMapFactory::GetForProfile(profile());

Powered by Google App Engine
This is Rietveld 408576698