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

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

Issue 99433004: Add a header when fetching pages under the DMServer URL. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Whitespace fix. Created 7 years 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
(Empty)
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/policy/cloud/policy_header_service_factory.h"
6
7 #include "chrome/browser/browser_process.h"
8 #include "chrome/browser/policy/browser_policy_connector.h"
9 #include "chrome/browser/policy/cloud/policy_header_service.h"
10 #include "chrome/browser/policy/cloud/user_cloud_policy_manager.h"
11 #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h"
12 #include "components/browser_context_keyed_service/browser_context_dependency_ma nager.h"
13 #include "components/policy/core/common/cloud/cloud_policy_store.h"
14 #include "components/policy/core/common/cloud/device_management_service.h"
15
16 #if defined(OS_CHROMEOS)
17 #include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h"
18 #endif
19
20 namespace policy {
21
22 class PolicyHeaderServiceWrapper : public BrowserContextKeyedService {
Joao da Silva 2013/12/09 14:46:21 Put this in an anonymous namespace. A wrapper lik
Andrew T Wilson (Slow) 2013/12/10 07:15:56 Done. Good catch.
23 public:
24 explicit PolicyHeaderServiceWrapper(scoped_ptr<PolicyHeaderService> service)
25 : policy_header_service_(service.Pass()) {}
26
27 PolicyHeaderService* policy_header_service() const {
28 return policy_header_service_.get();
29 }
30
31 virtual void Shutdown() OVERRIDE {
32 // Shutdown our core object so it can unregister any observers before the
33 // services we depend on are shutdown.
34 policy_header_service_.reset();
35 }
36
37 private:
38 scoped_ptr<PolicyHeaderService> policy_header_service_;
Joao da Silva 2013/12/09 14:46:21 #include scoped_ptr.h
Andrew T Wilson (Slow) 2013/12/10 07:15:56 Done.
39 };
40
41 PolicyHeaderServiceFactory::PolicyHeaderServiceFactory()
42 : BrowserContextKeyedServiceFactory(
43 "PolicyHeaderServiceFactory",
44 BrowserContextDependencyManager::GetInstance()) {
45 DependsOn(UserCloudPolicyManagerFactory::GetInstance());
Joao da Silva 2013/12/09 14:46:21 On ChromeOS this should be UserCloudPolicyManagerF
Andrew T Wilson (Slow) 2013/12/10 07:15:56 Hmm, that seems like an API wart. But done (plus s
46 }
47
48 PolicyHeaderServiceFactory::~PolicyHeaderServiceFactory() {
49 }
50
51 // static
52 PolicyHeaderService* PolicyHeaderServiceFactory::GetForBrowserContext(
53 content::BrowserContext* context) {
54 PolicyHeaderServiceWrapper* wrapper =
55 static_cast<PolicyHeaderServiceWrapper*>(
56 GetInstance()->GetServiceForBrowserContext(context, true));
Joao da Silva 2013/12/09 14:46:21 |wrapper| will be NULL for incognito profiles. I t
Andrew T Wilson (Slow) 2013/12/10 07:15:56 Done.
57 return wrapper->policy_header_service();
58 }
59
60 BrowserContextKeyedService*
61 PolicyHeaderServiceFactory::BuildServiceInstanceFor(
62 content::BrowserContext* context) const {
63 BrowserPolicyConnector* connector =
64 g_browser_process->browser_policy_connector();
65 DeviceManagementService* device_management_service =
66 connector->device_management_service();
67 UserCloudPolicyManager* manager =
68 UserCloudPolicyManagerFactory::GetForBrowserContext(context);
Joao da Silva 2013/12/09 14:46:21 This needs an OS_CHROMEOS version
Andrew T Wilson (Slow) 2013/12/10 07:15:56 Done.
69 CloudPolicyStore* user_store = manager->core()->store();
70 CloudPolicyStore* device_store = NULL;
71 #if defined(OS_CHROMEOS)
72 device_store = connector->GetDeviceCloudPolicyManager()->core()->store();
73 #endif
74
75 scoped_ptr<PolicyHeaderService> service = make_scoped_ptr(
76 new PolicyHeaderService(
77 device_management_service->GetServerUrl(), user_store, device_store));
78 return new PolicyHeaderServiceWrapper(service.Pass());
Joao da Silva 2013/12/09 14:46:21 indentation
Andrew T Wilson (Slow) 2013/12/10 07:15:56 Done.
79 }
80
81 // static
82 PolicyHeaderServiceFactory* PolicyHeaderServiceFactory::GetInstance() {
83 return Singleton<PolicyHeaderServiceFactory>::get();
84 }
85
86 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698