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

Side by Side Diff: chrome/browser/supervised_user/supervised_user_service.cc

Issue 537993002: Supervised users: Prototype of static client-side host blacklist. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: experimental Created 6 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/supervised_user/supervised_user_service.h" 5 #include "chrome/browser/supervised_user/supervised_user_service.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/prefs/pref_service.h" 9 #include "base/prefs/pref_service.h"
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 site_lists_copy.push_back((*it)->Clone()); 104 site_lists_copy.push_back((*it)->Clone());
105 } 105 }
106 ui_url_filter_->LoadWhitelists(site_lists.Pass()); 106 ui_url_filter_->LoadWhitelists(site_lists.Pass());
107 BrowserThread::PostTask( 107 BrowserThread::PostTask(
108 BrowserThread::IO, 108 BrowserThread::IO,
109 FROM_HERE, 109 FROM_HERE,
110 base::Bind(&SupervisedUserURLFilter::LoadWhitelists, 110 base::Bind(&SupervisedUserURLFilter::LoadWhitelists,
111 io_url_filter_, base::Passed(&site_lists_copy))); 111 io_url_filter_, base::Passed(&site_lists_copy)));
112 } 112 }
113 113
114 void SupervisedUserService::URLFilterContext::LoadBlacklist(
115 const base::FilePath& path) {
116 // For now, support loading only once. If we want to support re-load, we'll
117 // have to clear the blacklist pointer in the url filters first.
118 DCHECK_EQ(0u, blacklist_.GetEntryCount());
119 blacklist_.ReadFromFile(
120 path,
121 base::Bind(&SupervisedUserService::URLFilterContext::OnBlacklistLoaded,
122 base::Unretained(this)));
123 }
124
114 void SupervisedUserService::URLFilterContext::SetManualHosts( 125 void SupervisedUserService::URLFilterContext::SetManualHosts(
115 scoped_ptr<std::map<std::string, bool> > host_map) { 126 scoped_ptr<std::map<std::string, bool> > host_map) {
116 ui_url_filter_->SetManualHosts(host_map.get()); 127 ui_url_filter_->SetManualHosts(host_map.get());
117 BrowserThread::PostTask( 128 BrowserThread::PostTask(
118 BrowserThread::IO, 129 BrowserThread::IO,
119 FROM_HERE, 130 FROM_HERE,
120 base::Bind(&SupervisedUserURLFilter::SetManualHosts, 131 base::Bind(&SupervisedUserURLFilter::SetManualHosts,
121 io_url_filter_, base::Owned(host_map.release()))); 132 io_url_filter_, base::Owned(host_map.release())));
122 } 133 }
123 134
124 void SupervisedUserService::URLFilterContext::SetManualURLs( 135 void SupervisedUserService::URLFilterContext::SetManualURLs(
125 scoped_ptr<std::map<GURL, bool> > url_map) { 136 scoped_ptr<std::map<GURL, bool> > url_map) {
126 ui_url_filter_->SetManualURLs(url_map.get()); 137 ui_url_filter_->SetManualURLs(url_map.get());
127 BrowserThread::PostTask( 138 BrowserThread::PostTask(
128 BrowserThread::IO, 139 BrowserThread::IO,
129 FROM_HERE, 140 FROM_HERE,
130 base::Bind(&SupervisedUserURLFilter::SetManualURLs, 141 base::Bind(&SupervisedUserURLFilter::SetManualURLs,
131 io_url_filter_, base::Owned(url_map.release()))); 142 io_url_filter_, base::Owned(url_map.release())));
132 } 143 }
133 144
145 void SupervisedUserService::URLFilterContext::OnBlacklistLoaded() {
146 ui_url_filter_->SetBlacklist(&blacklist_);
147 BrowserThread::PostTask(
148 BrowserThread::IO,
149 FROM_HERE,
150 base::Bind(&SupervisedUserURLFilter::SetBlacklist,
151 io_url_filter_,
152 &blacklist_));
153 }
154
134 SupervisedUserService::SupervisedUserService(Profile* profile) 155 SupervisedUserService::SupervisedUserService(Profile* profile)
135 : profile_(profile), 156 : profile_(profile),
136 active_(false), 157 active_(false),
137 delegate_(NULL), 158 delegate_(NULL),
138 #if defined(ENABLE_EXTENSIONS) 159 #if defined(ENABLE_EXTENSIONS)
139 extension_registry_observer_(this), 160 extension_registry_observer_(this),
140 #endif 161 #endif
141 waiting_for_sync_initialization_(false), 162 waiting_for_sync_initialization_(false),
142 is_profile_active_(false), 163 is_profile_active_(false),
143 elevated_for_testing_(false), 164 elevated_for_testing_(false),
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
512 SupervisedUserURLFilter::BehaviorFromInt(behavior_value); 533 SupervisedUserURLFilter::BehaviorFromInt(behavior_value);
513 url_filter_context_.SetDefaultFilteringBehavior(behavior); 534 url_filter_context_.SetDefaultFilteringBehavior(behavior);
514 } 535 }
515 536
516 void SupervisedUserService::UpdateSiteLists() { 537 void SupervisedUserService::UpdateSiteLists() {
517 #if defined(ENABLE_EXTENSIONS) 538 #if defined(ENABLE_EXTENSIONS)
518 url_filter_context_.LoadWhitelists(GetActiveSiteLists()); 539 url_filter_context_.LoadWhitelists(GetActiveSiteLists());
519 #endif 540 #endif
520 } 541 }
521 542
543 void SupervisedUserService::LoadBlacklist(const base::FilePath& path) {
544 url_filter_context_.LoadBlacklist(path);
545 }
546
522 bool SupervisedUserService::AccessRequestsEnabled() { 547 bool SupervisedUserService::AccessRequestsEnabled() {
523 if (waiting_for_permissions_) 548 if (waiting_for_permissions_)
524 return false; 549 return false;
525 550
526 ProfileSyncService* service = 551 ProfileSyncService* service =
527 ProfileSyncServiceFactory::GetForProfile(profile_); 552 ProfileSyncServiceFactory::GetForProfile(profile_);
528 GoogleServiceAuthError::State state = service->GetAuthError().state(); 553 GoogleServiceAuthError::State state = service->GetAuthError().state();
529 // We allow requesting access if Sync is working or has a transient error. 554 // We allow requesting access if Sync is working or has a transient error.
530 return (state == GoogleServiceAuthError::NONE || 555 return (state == GoogleServiceAuthError::NONE ||
531 state == GoogleServiceAuthError::CONNECTION_FAILED || 556 state == GoogleServiceAuthError::CONNECTION_FAILED ||
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after
816 // The active user can be NULL in unit tests. 841 // The active user can be NULL in unit tests.
817 if (user_manager::UserManager::Get()->GetActiveUser()) { 842 if (user_manager::UserManager::Get()->GetActiveUser()) {
818 return UTF16ToUTF8(user_manager::UserManager::Get()->GetUserDisplayName( 843 return UTF16ToUTF8(user_manager::UserManager::Get()->GetUserDisplayName(
819 user_manager::UserManager::Get()->GetActiveUser()->GetUserID())); 844 user_manager::UserManager::Get()->GetActiveUser()->GetUserID()));
820 } 845 }
821 return std::string(); 846 return std::string();
822 #else 847 #else
823 return profile_->GetPrefs()->GetString(prefs::kProfileName); 848 return profile_->GetPrefs()->GetString(prefs::kProfileName);
824 #endif 849 #endif
825 } 850 }
OLDNEW
« no previous file with comments | « chrome/browser/supervised_user/supervised_user_service.h ('k') | chrome/browser/supervised_user/supervised_user_url_filter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698