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

Side by Side Diff: chrome/browser/policy/cloud/user_cloud_policy_store.cc

Issue 44083005: policy: Remove UserCloudPolicyManagerFactory's dependency on Profile. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased. Created 7 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/policy/cloud/user_cloud_policy_store.h" 5 #include "chrome/browser/policy/cloud/user_cloud_policy_store.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/task_runner_util.h" 10 #include "base/task_runner_util.h"
11 #include "chrome/browser/policy/proto/cloud/device_management_backend.pb.h" 11 #include "chrome/browser/policy/proto/cloud/device_management_backend.pb.h"
12 #include "chrome/browser/policy/proto/cloud/device_management_local.pb.h" 12 #include "chrome/browser/policy/proto/cloud/device_management_local.pb.h"
13 #include "chrome/browser/profiles/profile.h"
14 #include "chrome/browser/signin/signin_manager.h" 13 #include "chrome/browser/signin/signin_manager.h"
15 #include "chrome/browser/signin/signin_manager_factory.h" 14 #include "chrome/browser/signin/signin_manager_factory.h"
16 #include "policy/policy_constants.h" 15 #include "policy/policy_constants.h"
17 #include "policy/proto/cloud_policy.pb.h" 16 #include "policy/proto/cloud_policy.pb.h"
18 17
19 namespace em = enterprise_management; 18 namespace em = enterprise_management;
20 19
21 namespace policy { 20 namespace policy {
22 21
23 enum PolicyLoadStatus { 22 enum PolicyLoadStatus {
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 86
88 int size = data.size(); 87 int size = data.size();
89 if (file_util::WriteFile(path, data.c_str(), size) != size) { 88 if (file_util::WriteFile(path, data.c_str(), size) != size) {
90 DLOG(WARNING) << "Failed to write " << path.value(); 89 DLOG(WARNING) << "Failed to write " << path.value();
91 } 90 }
92 } 91 }
93 92
94 } // namespace 93 } // namespace
95 94
96 UserCloudPolicyStore::UserCloudPolicyStore( 95 UserCloudPolicyStore::UserCloudPolicyStore(
97 Profile* profile, 96 content::BrowserContext* context,
98 const base::FilePath& path, 97 const base::FilePath& path,
99 scoped_refptr<base::SequencedTaskRunner> background_task_runner) 98 scoped_refptr<base::SequencedTaskRunner> background_task_runner)
100 : UserCloudPolicyStoreBase(background_task_runner), 99 : UserCloudPolicyStoreBase(background_task_runner),
101 weak_factory_(this), 100 weak_factory_(this),
102 profile_(profile), 101 context_(context),
103 backing_file_path_(path) {} 102 backing_file_path_(path) {}
104 103
105 UserCloudPolicyStore::~UserCloudPolicyStore() {} 104 UserCloudPolicyStore::~UserCloudPolicyStore() {}
106 105
107 // static 106 // static
108 scoped_ptr<UserCloudPolicyStore> UserCloudPolicyStore::Create( 107 scoped_ptr<UserCloudPolicyStore> UserCloudPolicyStore::Create(
109 Profile* profile, 108 content::BrowserContext* context,
110 scoped_refptr<base::SequencedTaskRunner> background_task_runner) { 109 scoped_refptr<base::SequencedTaskRunner> background_task_runner) {
111 base::FilePath path = 110 base::FilePath path =
112 profile->GetPath().Append(kPolicyDir).Append(kPolicyCacheFile); 111 context->GetPath().Append(kPolicyDir).Append(kPolicyCacheFile);
113 return make_scoped_ptr( 112 return make_scoped_ptr(
114 new UserCloudPolicyStore(profile, path, background_task_runner)); 113 new UserCloudPolicyStore(context, path, background_task_runner));
115 } 114 }
116 115
117 void UserCloudPolicyStore::LoadImmediately() { 116 void UserCloudPolicyStore::LoadImmediately() {
118 DVLOG(1) << "Initiating immediate policy load from disk"; 117 DVLOG(1) << "Initiating immediate policy load from disk";
119 // Cancel any pending Load/Store/Validate operations. 118 // Cancel any pending Load/Store/Validate operations.
120 weak_factory_.InvalidateWeakPtrs(); 119 weak_factory_.InvalidateWeakPtrs();
121 // Load the policy from disk... 120 // Load the policy from disk...
122 PolicyLoadResult result = LoadPolicyFromDisk(backing_file_path_); 121 PolicyLoadResult result = LoadPolicyFromDisk(backing_file_path_);
123 // ...and install it, reporting success/failure to any observers. 122 // ...and install it, reporting success/failure to any observers.
124 PolicyLoaded(false, result); 123 PolicyLoaded(false, result);
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 } 209 }
211 210
212 void UserCloudPolicyStore::Validate( 211 void UserCloudPolicyStore::Validate(
213 scoped_ptr<em::PolicyFetchResponse> policy, 212 scoped_ptr<em::PolicyFetchResponse> policy,
214 bool validate_in_background, 213 bool validate_in_background,
215 const UserCloudPolicyValidator::CompletionCallback& callback) { 214 const UserCloudPolicyValidator::CompletionCallback& callback) {
216 // Configure the validator. 215 // Configure the validator.
217 scoped_ptr<UserCloudPolicyValidator> validator = CreateValidator( 216 scoped_ptr<UserCloudPolicyValidator> validator = CreateValidator(
218 policy.Pass(), 217 policy.Pass(),
219 CloudPolicyValidatorBase::TIMESTAMP_NOT_BEFORE); 218 CloudPolicyValidatorBase::TIMESTAMP_NOT_BEFORE);
220 SigninManager* signin = SigninManagerFactory::GetForProfileIfExists(profile_); 219 SigninManager* signin =
220 SigninManagerFactory::GetForBrowserContextIfExists(context_);
Joao da Silva 2013/11/04 10:02:55 This renaming (and the changes to signin_manager_*
221 if (signin) { 221 if (signin) {
222 std::string username = signin->GetAuthenticatedUsername(); 222 std::string username = signin->GetAuthenticatedUsername();
223 if (username.empty()) 223 if (username.empty())
224 username = signin->GetUsernameForAuthInProgress(); 224 username = signin->GetUsernameForAuthInProgress();
225 225
226 // Validate the username if the user is signed in (or in the process of 226 // Validate the username if the user is signed in (or in the process of
227 // signing in). 227 // signing in).
228 if (!username.empty()) 228 if (!username.empty())
229 validator->ValidateUsername(username); 229 validator->ValidateUsername(username);
230 } 230 }
(...skipping 24 matching lines...) Expand all
255 background_task_runner()->PostTask( 255 background_task_runner()->PostTask(
256 FROM_HERE, 256 FROM_HERE,
257 base::Bind(&StorePolicyToDiskOnBackgroundThread, 257 base::Bind(&StorePolicyToDiskOnBackgroundThread,
258 backing_file_path_, *validator->policy())); 258 backing_file_path_, *validator->policy()));
259 InstallPolicy(validator->policy_data().Pass(), validator->payload().Pass()); 259 InstallPolicy(validator->policy_data().Pass(), validator->payload().Pass());
260 status_ = STATUS_OK; 260 status_ = STATUS_OK;
261 NotifyStoreLoaded(); 261 NotifyStoreLoaded();
262 } 262 }
263 263
264 } // namespace policy 264 } // namespace policy
OLDNEW
« no previous file with comments | « chrome/browser/policy/cloud/user_cloud_policy_store.h ('k') | chrome/browser/policy/cloud/user_policy_signin_service_base.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698