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

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

Issue 1200833004: Apps&Extensions for Supervised Users: send permission request on outdated re-enables (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: tests! Created 5 years, 2 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/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/files/file_util.h" 9 #include "base/files/file_util.h"
10 #include "base/memory/ref_counted.h" 10 #include "base/memory/ref_counted.h"
11 #include "base/path_service.h" 11 #include "base/path_service.h"
12 #include "base/prefs/pref_service.h" 12 #include "base/prefs/pref_service.h"
13 #include "base/strings/stringprintf.h"
13 #include "base/strings/utf_string_conversions.h" 14 #include "base/strings/utf_string_conversions.h"
14 #include "base/task_runner_util.h" 15 #include "base/task_runner_util.h"
15 #include "base/version.h" 16 #include "base/version.h"
16 #include "chrome/browser/browser_process.h" 17 #include "chrome/browser/browser_process.h"
17 #include "chrome/browser/component_updater/supervised_user_whitelist_installer.h " 18 #include "chrome/browser/component_updater/supervised_user_whitelist_installer.h "
18 #include "chrome/browser/net/file_downloader.h" 19 #include "chrome/browser/net/file_downloader.h"
19 #include "chrome/browser/profiles/profile.h" 20 #include "chrome/browser/profiles/profile.h"
20 #include "chrome/browser/profiles/profile_info_cache.h" 21 #include "chrome/browser/profiles/profile_info_cache.h"
21 #include "chrome/browser/profiles/profile_manager.h" 22 #include "chrome/browser/profiles/profile_manager.h"
22 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" 23 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 creator->CreateURLAccessRequest(url, callback); 103 creator->CreateURLAccessRequest(url, callback);
103 } 104 }
104 105
105 void CreateExtensionUpdateRequest( 106 void CreateExtensionUpdateRequest(
106 const std::string& id, 107 const std::string& id,
107 PermissionRequestCreator* creator, 108 PermissionRequestCreator* creator,
108 const SupervisedUserService::SuccessCallback& callback) { 109 const SupervisedUserService::SuccessCallback& callback) {
109 creator->CreateExtensionUpdateRequest(id, callback); 110 creator->CreateExtensionUpdateRequest(id, callback);
110 } 111 }
111 112
113 // Default callback for AddExtensionUpdateRequest.
114 void ExtensionUpdateRequestSent(const std::string& id, bool success) {
115 VLOG_IF(1, !success) << "Failed sending update request for " << id;
116 }
117
112 base::FilePath GetBlacklistPath() { 118 base::FilePath GetBlacklistPath() {
113 base::FilePath blacklist_dir; 119 base::FilePath blacklist_dir;
114 PathService::Get(chrome::DIR_USER_DATA, &blacklist_dir); 120 PathService::Get(chrome::DIR_USER_DATA, &blacklist_dir);
115 return blacklist_dir.AppendASCII(kBlacklistFilename); 121 return blacklist_dir.AppendASCII(kBlacklistFilename);
116 } 122 }
117 123
118 #if defined(ENABLE_EXTENSIONS) 124 #if defined(ENABLE_EXTENSIONS)
119 enum ExtensionState { 125 enum ExtensionState {
120 EXTENSION_FORCED, 126 EXTENSION_FORCED,
121 EXTENSION_BLOCKED, 127 EXTENSION_BLOCKED,
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 AddPermissionRequestInternal( 245 AddPermissionRequestInternal(
240 base::Bind(CreateURLAccessRequest, 246 base::Bind(CreateURLAccessRequest,
241 SupervisedUserURLFilter::Normalize(url)), 247 SupervisedUserURLFilter::Normalize(url)),
242 callback, 0); 248 callback, 0);
243 } 249 }
244 250
245 void SupervisedUserService::AddExtensionUpdateRequest( 251 void SupervisedUserService::AddExtensionUpdateRequest(
246 const std::string& extension_id, 252 const std::string& extension_id,
247 const base::Version& version, 253 const base::Version& version,
248 const SuccessCallback& callback) { 254 const SuccessCallback& callback) {
249 std::string id = extension_id + ":" + version.GetString(); 255 std::string id = GetExtensionUpdateRequestId(extension_id, version);
250 AddPermissionRequestInternal( 256 AddPermissionRequestInternal(
251 base::Bind(CreateExtensionUpdateRequest, id), 257 base::Bind(CreateExtensionUpdateRequest, id), callback, 0);
252 callback, 0); 258 }
259
260 void SupervisedUserService::AddExtensionUpdateRequest(
261 const std::string& extension_id,
262 const base::Version& version) {
263 std::string id = GetExtensionUpdateRequestId(extension_id, version);
264 AddExtensionUpdateRequest(extension_id, version,
265 base::Bind(ExtensionUpdateRequestSent, id));
266 }
267
268 // static
269 std::string SupervisedUserService::GetExtensionUpdateRequestId(
270 const std::string& extension_id,
271 const base::Version& version) {
272 return base::StringPrintf("%s:%s", extension_id.c_str(),
273 version.GetString().c_str());
253 } 274 }
254 275
255 std::string SupervisedUserService::GetCustodianEmailAddress() const { 276 std::string SupervisedUserService::GetCustodianEmailAddress() const {
256 std::string email = profile_->GetPrefs()->GetString( 277 std::string email = profile_->GetPrefs()->GetString(
257 prefs::kSupervisedUserCustodianEmail); 278 prefs::kSupervisedUserCustodianEmail);
258 #if defined(OS_CHROMEOS) 279 #if defined(OS_CHROMEOS)
259 // |GetActiveUser()| can return null in unit tests. 280 // |GetActiveUser()| can return null in unit tests.
260 if (email.empty() && !!user_manager::UserManager::Get()->GetActiveUser()) { 281 if (email.empty() && !!user_manager::UserManager::Get()->GetActiveUser()) {
261 email = chromeos::ChromeUserManager::Get() 282 email = chromeos::ChromeUserManager::Get()
262 ->GetSupervisedUserManager() 283 ->GetSupervisedUserManager()
(...skipping 711 matching lines...) Expand 10 before | Expand all | Expand 10 after
974 995
975 is_profile_active_ = profile_became_active; 996 is_profile_active_ = profile_became_active;
976 } 997 }
977 #endif // !defined(OS_ANDROID) && !defined(OS_IOS) 998 #endif // !defined(OS_ANDROID) && !defined(OS_IOS)
978 999
979 void SupervisedUserService::OnSiteListUpdated() { 1000 void SupervisedUserService::OnSiteListUpdated() {
980 FOR_EACH_OBSERVER( 1001 FOR_EACH_OBSERVER(
981 SupervisedUserServiceObserver, observer_list_, OnURLFilterChanged()); 1002 SupervisedUserServiceObserver, observer_list_, OnURLFilterChanged());
982 } 1003 }
983 1004
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698