| Index: chrome/browser/permissions/permission_decision_auto_blocker_unittest.cc
|
| diff --git a/chrome/browser/permissions/permission_decision_auto_blocker_unittest.cc b/chrome/browser/permissions/permission_decision_auto_blocker_unittest.cc
|
| index e62eebb311866c64f25fb678d187034dc6c8854e..849d0b2086349d9d9681f0922895506a4e258408 100644
|
| --- a/chrome/browser/permissions/permission_decision_auto_blocker_unittest.cc
|
| +++ b/chrome/browser/permissions/permission_decision_auto_blocker_unittest.cc
|
| @@ -310,6 +310,41 @@ TEST_F(PermissionDecisionAutoBlockerUnitTest, TestRequestNotBlacklisted) {
|
| "Permissions.AutoBlocker.SafeBrowsingResponseTime", 1);
|
| }
|
|
|
| +// Check that we do not apply embargo to the plugins content type, as prompts
|
| +// should be triggered only when necessary by Html5ByDefault.
|
| +TEST_F(PermissionDecisionAutoBlockerUnitTest,
|
| + PluginsNotEmbargoedByMultipleDismisses) {
|
| + GURL url("https://www.google.com");
|
| + autoblocker()->RecordDismissAndEmbargo(url, CONTENT_SETTINGS_TYPE_PLUGINS);
|
| + autoblocker()->RecordDismissAndEmbargo(url, CONTENT_SETTINGS_TYPE_PLUGINS);
|
| + PermissionResult result =
|
| + autoblocker()->GetEmbargoResult(url, CONTENT_SETTINGS_TYPE_PLUGINS);
|
| +
|
| + EXPECT_EQ(CONTENT_SETTING_ASK, result.content_setting);
|
| + EXPECT_EQ(PermissionStatusSource::UNSPECIFIED, result.source);
|
| + EXPECT_EQ(2,
|
| + autoblocker()->GetDismissCount(url, CONTENT_SETTINGS_TYPE_PLUGINS));
|
| +
|
| + // The third dismiss would normally embargo, but this shouldn't happen for
|
| + // plugins.
|
| + autoblocker()->RecordDismissAndEmbargo(url, CONTENT_SETTINGS_TYPE_PLUGINS);
|
| + result = autoblocker()->GetEmbargoResult(url, CONTENT_SETTINGS_TYPE_PLUGINS);
|
| +
|
| + EXPECT_EQ(CONTENT_SETTING_ASK, result.content_setting);
|
| + EXPECT_EQ(PermissionStatusSource::UNSPECIFIED, result.source);
|
| + EXPECT_EQ(3,
|
| + autoblocker()->GetDismissCount(url, CONTENT_SETTINGS_TYPE_PLUGINS));
|
| +
|
| + // Extra one for sanity checking.
|
| + autoblocker()->RecordDismissAndEmbargo(url, CONTENT_SETTINGS_TYPE_PLUGINS);
|
| + result = autoblocker()->GetEmbargoResult(url, CONTENT_SETTINGS_TYPE_PLUGINS);
|
| +
|
| + EXPECT_EQ(CONTENT_SETTING_ASK, result.content_setting);
|
| + EXPECT_EQ(PermissionStatusSource::UNSPECIFIED, result.source);
|
| + EXPECT_EQ(4,
|
| + autoblocker()->GetDismissCount(url, CONTENT_SETTINGS_TYPE_PLUGINS));
|
| +}
|
| +
|
| // Check that GetEmbargoResult returns the correct value when the embargo is set
|
| // and expires.
|
| TEST_F(PermissionDecisionAutoBlockerUnitTest, CheckEmbargoStatus) {
|
|
|