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

Unified Diff: chrome/browser/supervised_user/supervised_user_settings_service.cc

Issue 902833003: Add a HostContentSettingsMap layer for Supervised Users. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments. Created 5 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/supervised_user/supervised_user_settings_service.cc
diff --git a/chrome/browser/supervised_user/supervised_user_settings_service.cc b/chrome/browser/supervised_user/supervised_user_settings_service.cc
index 55ff2f419da4ffb3c9b91bf5e6e754dd1c00ddc7..837ddb49e6b085c830ce5a0738b47b4e21e089a4 100644
--- a/chrome/browser/supervised_user/supervised_user_settings_service.cc
+++ b/chrome/browser/supervised_user/supervised_user_settings_service.cc
@@ -4,6 +4,7 @@
#include "chrome/browser/supervised_user/supervised_user_settings_service.h"
+#include "base/bind.h"
#include "base/callback.h"
#include "base/json/json_reader.h"
#include "base/json/json_writer.h"
@@ -11,8 +12,10 @@
#include "base/prefs/pref_filter.h"
#include "base/strings/string_util.h"
#include "base/threading/sequenced_worker_pool.h"
+#include "chrome/browser/content_settings/content_settings_supervised_provider.h"
#include "chrome/browser/supervised_user/supervised_user_url_filter.h"
#include "chrome/common/chrome_constants.h"
+#include "components/content_settings/core/browser/host_content_settings_map.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/user_metrics.h"
#include "sync/api/sync_change.h"
@@ -50,7 +53,8 @@ bool SettingShouldApplyToPrefs(const std::string& name) {
} // namespace
SupervisedUserSettingsService::SupervisedUserSettingsService()
- : active_(false), local_settings_(new base::DictionaryValue) {}
+ : active_(false), local_settings_(new base::DictionaryValue) {
Bernhard Bauer 2015/02/26 12:44:58 Personally, I'm okay with either keeping opening a
knn 2015/02/26 16:18:56 Sorry about that.
+}
SupervisedUserSettingsService::~SupervisedUserSettingsService() {}
@@ -91,12 +95,25 @@ void SupervisedUserSettingsService::Subscribe(
subscribers_.push_back(callback);
}
+void SupervisedUserSettingsService::RegisterContentSettings(
+ HostContentSettingsMap* host_content_settings_map) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ scoped_ptr<content_settings::SupervisedProvider> supervised_provider(
+ new content_settings::SupervisedProvider());
+ Subscribe(base::Bind(
+ &content_settings::SupervisedProvider::OnSupervisedSettingsAvailable,
+ base::Unretained(supervised_provider.get())));
+ host_content_settings_map->RegisterProvider(
+ HostContentSettingsMap::SUPERVISED_PROVIDER, supervised_provider.Pass());
+}
+
void SupervisedUserSettingsService::SetActive(bool active) {
active_ = active;
InformSubscribers();
}
bool SupervisedUserSettingsService::IsReady() {
+ if (!store_) return false;
Bernhard Bauer 2015/02/26 12:44:58 Return statement on new line. Also, it's an error
knn 2015/02/26 16:18:56 Done.
return store_->IsInitializationComplete();
}

Powered by Google App Engine
This is Rietveld 408576698