Commit c85abd45 authored by bauerb@chromium.org's avatar bauerb@chromium.org

HostContentSettingsMap cleanup: Remove obsolete kBlockNonsandboxedPlugins...

HostContentSettingsMap cleanup: Remove obsolete kBlockNonsandboxedPlugins preference; don't send CONTENT_SETTINGS_CHANGED notifications when preferences change.

BUG=none


Review URL: http://codereview.chromium.org/7026004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86300 0039d316-1c4b-4281-b951-d872f2087c98
parent 86d4ff46
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
#include "base/command_line.h" #include "base/command_line.h"
#include "base/string_util.h" #include "base/string_util.h"
#include "base/utf_string_conversions.h" #include "base/utf_string_conversions.h"
#include "chrome/browser/content_settings/content_settings_details.h"
#include "chrome/browser/content_settings/content_settings_extension_provider.h" #include "chrome/browser/content_settings/content_settings_extension_provider.h"
#include "chrome/browser/content_settings/content_settings_policy_provider.h" #include "chrome/browser/content_settings/content_settings_policy_provider.h"
#include "chrome/browser/content_settings/content_settings_pref_provider.h" #include "chrome/browser/content_settings/content_settings_pref_provider.h"
...@@ -94,8 +93,6 @@ HostContentSettingsMap::HostContentSettingsMap(Profile* profile) ...@@ -94,8 +93,6 @@ HostContentSettingsMap::HostContentSettingsMap(Profile* profile)
} }
is_block_third_party_cookies_managed_ = is_block_third_party_cookies_managed_ =
prefs->IsManagedPreference(prefs::kBlockThirdPartyCookies); prefs->IsManagedPreference(prefs::kBlockThirdPartyCookies);
block_nonsandboxed_plugins_ =
prefs->GetBoolean(prefs::kBlockNonsandboxedPlugins);
// User defined non default content settings are provided by the PrefProvider. // User defined non default content settings are provided by the PrefProvider.
// The order in which the content settings providers are created is critical, // The order in which the content settings providers are created is critical,
...@@ -117,7 +114,6 @@ HostContentSettingsMap::HostContentSettingsMap(Profile* profile) ...@@ -117,7 +114,6 @@ HostContentSettingsMap::HostContentSettingsMap(Profile* profile)
pref_change_registrar_.Init(prefs); pref_change_registrar_.Init(prefs);
pref_change_registrar_.Add(prefs::kBlockThirdPartyCookies, this); pref_change_registrar_.Add(prefs::kBlockThirdPartyCookies, this);
pref_change_registrar_.Add(prefs::kBlockNonsandboxedPlugins, this);
notification_registrar_.Add(this, NotificationType::PROFILE_DESTROYED, notification_registrar_.Add(this, NotificationType::PROFILE_DESTROYED,
Source<Profile>(profile_)); Source<Profile>(profile_));
} }
...@@ -127,9 +123,6 @@ void HostContentSettingsMap::RegisterUserPrefs(PrefService* prefs) { ...@@ -127,9 +123,6 @@ void HostContentSettingsMap::RegisterUserPrefs(PrefService* prefs) {
prefs->RegisterBooleanPref(prefs::kBlockThirdPartyCookies, prefs->RegisterBooleanPref(prefs::kBlockThirdPartyCookies,
false, false,
PrefService::SYNCABLE_PREF); PrefService::SYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kBlockNonsandboxedPlugins,
false,
PrefService::UNSYNCABLE_PREF);
prefs->RegisterIntegerPref(prefs::kContentSettingsWindowLastTabIndex, prefs->RegisterIntegerPref(prefs::kContentSettingsWindowLastTabIndex,
0, 0,
PrefService::UNSYNCABLE_PREF); PrefService::UNSYNCABLE_PREF);
...@@ -335,37 +328,7 @@ void HostContentSettingsMap::SetBlockThirdPartyCookies(bool block) { ...@@ -335,37 +328,7 @@ void HostContentSettingsMap::SetBlockThirdPartyCookies(bool block) {
block_third_party_cookies_ = block; block_third_party_cookies_ = block;
} }
if (block) profile_->GetPrefs()->SetBoolean(prefs::kBlockThirdPartyCookies, block);
prefs->SetBoolean(prefs::kBlockThirdPartyCookies, true);
else
prefs->ClearPref(prefs::kBlockThirdPartyCookies);
}
void HostContentSettingsMap::SetBlockNonsandboxedPlugins(bool block) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
// This setting may not be directly modified for OTR sessions. Instead, it
// is synced to the main profile's setting.
if (is_off_the_record_) {
NOTREACHED();
return;
}
{
base::AutoLock auto_lock(lock_);
block_nonsandboxed_plugins_ = block;
}
PrefService* prefs = profile_->GetPrefs();
if (block) {
UserMetrics::RecordAction(
UserMetricsAction("BlockNonsandboxedPlugins_Enable"));
prefs->SetBoolean(prefs::kBlockNonsandboxedPlugins, true);
} else {
UserMetrics::RecordAction(
UserMetricsAction("BlockNonsandboxedPlugins_Disable"));
prefs->ClearPref(prefs::kBlockNonsandboxedPlugins);
}
} }
void HostContentSettingsMap::ResetToDefaults() { void HostContentSettingsMap::ResetToDefaults() {
...@@ -388,7 +351,6 @@ void HostContentSettingsMap::ResetToDefaults() { ...@@ -388,7 +351,6 @@ void HostContentSettingsMap::ResetToDefaults() {
// Don't reset block third party cookies if they are managed. // Don't reset block third party cookies if they are managed.
if (!IsBlockThirdPartyCookiesManaged()) if (!IsBlockThirdPartyCookiesManaged())
block_third_party_cookies_ = false; block_third_party_cookies_ = false;
block_nonsandboxed_plugins_ = false;
} }
if (!is_off_the_record_) { if (!is_off_the_record_) {
...@@ -398,11 +360,7 @@ void HostContentSettingsMap::ResetToDefaults() { ...@@ -398,11 +360,7 @@ void HostContentSettingsMap::ResetToDefaults() {
// clear it in order to restore the default value for later when the // clear it in order to restore the default value for later when the
// preference is not managed anymore. // preference is not managed anymore.
prefs->ClearPref(prefs::kBlockThirdPartyCookies); prefs->ClearPref(prefs::kBlockThirdPartyCookies);
prefs->ClearPref(prefs::kBlockNonsandboxedPlugins);
updating_preferences_ = false; updating_preferences_ = false;
NotifyObservers(ContentSettingsDetails(ContentSettingsPattern(),
CONTENT_SETTINGS_TYPE_DEFAULT,
""));
} }
} }
...@@ -424,20 +382,10 @@ void HostContentSettingsMap::Observe(NotificationType type, ...@@ -424,20 +382,10 @@ void HostContentSettingsMap::Observe(NotificationType type,
is_block_third_party_cookies_managed_ = is_block_third_party_cookies_managed_ =
profile_->GetPrefs()->IsManagedPreference( profile_->GetPrefs()->IsManagedPreference(
prefs::kBlockThirdPartyCookies); prefs::kBlockThirdPartyCookies);
} else if (*name == prefs::kBlockNonsandboxedPlugins) {
base::AutoLock auto_lock(lock_);
block_nonsandboxed_plugins_ = profile_->GetPrefs()->GetBoolean(
prefs::kBlockNonsandboxedPlugins);
} else { } else {
NOTREACHED() << "Unexpected preference observed"; NOTREACHED() << "Unexpected preference observed";
return; return;
} }
if (!is_off_the_record_) {
NotifyObservers(ContentSettingsDetails(ContentSettingsPattern(),
CONTENT_SETTINGS_TYPE_DEFAULT,
""));
}
} else if (type == NotificationType::PROFILE_DESTROYED) { } else if (type == NotificationType::PROFILE_DESTROYED) {
DCHECK_EQ(profile_, Source<Profile>(source).ptr()); DCHECK_EQ(profile_, Source<Profile>(source).ptr());
UnregisterObservers(); UnregisterObservers();
...@@ -461,14 +409,6 @@ bool HostContentSettingsMap::IsDefaultContentSettingManaged( ...@@ -461,14 +409,6 @@ bool HostContentSettingsMap::IsDefaultContentSettingManaged(
return false; return false;
} }
void HostContentSettingsMap::NotifyObservers(
const ContentSettingsDetails& details) {
NotificationService::current()->Notify(
NotificationType::CONTENT_SETTINGS_CHANGED,
Source<HostContentSettingsMap>(this),
Details<const ContentSettingsDetails>(&details));
}
void HostContentSettingsMap::UnregisterObservers() { void HostContentSettingsMap::UnregisterObservers() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
if (!profile_) if (!profile_)
......
...@@ -150,12 +150,6 @@ class HostContentSettingsMap ...@@ -150,12 +150,6 @@ class HostContentSettingsMap
// This should only be called on the UI thread. // This should only be called on the UI thread.
void SetBlockThirdPartyCookies(bool block); void SetBlockThirdPartyCookies(bool block);
bool GetBlockNonsandboxedPlugins() const {
return block_nonsandboxed_plugins_;
}
void SetBlockNonsandboxedPlugins(bool block);
// Resets all settings levels. // Resets all settings levels.
// //
// This should only be called on the UI thread. // This should only be called on the UI thread.
...@@ -175,12 +169,6 @@ class HostContentSettingsMap ...@@ -175,12 +169,6 @@ class HostContentSettingsMap
~HostContentSettingsMap(); ~HostContentSettingsMap();
// Informs observers that content settings have changed. Make sure that
// |lock_| is not held when calling this, as listeners will usually call one
// of the GetSettings functions in response, which would then lead to a
// mutex deadlock.
void NotifyObservers(const ContentSettingsDetails& details);
void UnregisterObservers(); void UnregisterObservers();
// Various migration methods (old cookie, popup and per-host data gets // Various migration methods (old cookie, popup and per-host data gets
...@@ -214,7 +202,6 @@ class HostContentSettingsMap ...@@ -214,7 +202,6 @@ class HostContentSettingsMap
// Misc global settings. // Misc global settings.
bool block_third_party_cookies_; bool block_third_party_cookies_;
bool is_block_third_party_cookies_managed_; bool is_block_third_party_cookies_managed_;
bool block_nonsandboxed_plugins_;
DISALLOW_COPY_AND_ASSIGN(HostContentSettingsMap); DISALLOW_COPY_AND_ASSIGN(HostContentSettingsMap);
}; };
......
...@@ -232,18 +232,12 @@ TEST_F(HostContentSettingsMapTest, Observer) { ...@@ -232,18 +232,12 @@ TEST_F(HostContentSettingsMapTest, Observer) {
EXPECT_FALSE(observer.last_update_all_types); EXPECT_FALSE(observer.last_update_all_types);
EXPECT_EQ(2, observer.counter); EXPECT_EQ(2, observer.counter);
host_content_settings_map->ResetToDefaults();
EXPECT_EQ(host_content_settings_map, observer.last_notifier);
EXPECT_TRUE(observer.last_update_all);
EXPECT_TRUE(observer.last_update_all_types);
EXPECT_EQ(3, observer.counter);
host_content_settings_map->SetDefaultContentSetting( host_content_settings_map->SetDefaultContentSetting(
CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK); CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK);
EXPECT_EQ(host_content_settings_map, observer.last_notifier); EXPECT_EQ(host_content_settings_map, observer.last_notifier);
EXPECT_TRUE(observer.last_update_all); EXPECT_TRUE(observer.last_update_all);
EXPECT_FALSE(observer.last_update_all_types); EXPECT_FALSE(observer.last_update_all_types);
EXPECT_EQ(4, observer.counter); EXPECT_EQ(3, observer.counter);
} }
TEST_F(HostContentSettingsMapTest, ObserveDefaultPref) { TEST_F(HostContentSettingsMapTest, ObserveDefaultPref) {
......
...@@ -644,9 +644,6 @@ const char kContentSettingsPatterns[] = "profile.content_settings.patterns"; ...@@ -644,9 +644,6 @@ const char kContentSettingsPatterns[] = "profile.content_settings.patterns";
// regardless of other content settings. // regardless of other content settings.
const char kBlockThirdPartyCookies[] = "profile.block_third_party_cookies"; const char kBlockThirdPartyCookies[] = "profile.block_third_party_cookies";
// Boolean that is true if non-sandboxed plug-ins should be blocked.
const char kBlockNonsandboxedPlugins[] = "profile.block_nonsandboxed_plugins";
// Boolean that is true when all locally stored site data (e.g. cookies, local // Boolean that is true when all locally stored site data (e.g. cookies, local
// storage, etc..) should be deleted on exit. // storage, etc..) should be deleted on exit.
const char kClearSiteDataOnExit[] = "profile.clear_site_data_on_exit"; const char kClearSiteDataOnExit[] = "profile.clear_site_data_on_exit";
......
...@@ -227,7 +227,6 @@ extern const char kPerHostContentSettings[]; // OBSOLETE ...@@ -227,7 +227,6 @@ extern const char kPerHostContentSettings[]; // OBSOLETE
extern const char kContentSettingsVersion[]; extern const char kContentSettingsVersion[];
extern const char kContentSettingsPatterns[]; extern const char kContentSettingsPatterns[];
extern const char kBlockThirdPartyCookies[]; extern const char kBlockThirdPartyCookies[];
extern const char kBlockNonsandboxedPlugins[];
extern const char kClearSiteDataOnExit[]; extern const char kClearSiteDataOnExit[];
extern const char kDefaultZoomLevel[]; extern const char kDefaultZoomLevel[];
extern const char kPerHostZoomLevels[]; extern const char kPerHostZoomLevels[];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment