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

Side by Side Diff: chrome/browser/extensions/api/managed_mode/managed_mode_api.cc

Issue 10952021: Moving preference API into api/preferences (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 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 | 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 // Implementation of the Chrome Extensions Managed Mode API. 5 // Implementation of the Chrome Extensions Managed Mode API.
6 6
7 #include "chrome/browser/extensions/api/managed_mode/managed_mode_api.h" 7 #include "chrome/browser/extensions/api/managed_mode/managed_mode_api.h"
8 8
9 #include <string> 9 #include <string>
10 10
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/json/json_writer.h" 12 #include "base/json/json_writer.h"
13 #include "chrome/browser/browser_process.h" 13 #include "chrome/browser/browser_process.h"
14 #include "chrome/browser/extensions/api/preference/preference_api_constants.h"
14 #include "chrome/browser/extensions/event_router.h" 15 #include "chrome/browser/extensions/event_router.h"
15 #include "chrome/browser/extensions/extension_preference_api_constants.h"
16 #include "chrome/browser/managed_mode.h" 16 #include "chrome/browser/managed_mode.h"
17 #include "chrome/browser/prefs/pref_service.h" 17 #include "chrome/browser/prefs/pref_service.h"
18 #include "chrome/browser/profiles/profile.h" 18 #include "chrome/browser/profiles/profile.h"
19 #include "chrome/common/chrome_notification_types.h" 19 #include "chrome/common/chrome_notification_types.h"
20 #include "chrome/common/pref_names.h" 20 #include "chrome/common/pref_names.h"
21 #include "content/public/browser/notification_details.h" 21 #include "content/public/browser/notification_details.h"
22 22
23 #if defined(ENABLE_CONFIGURATION_POLICY) 23 #if defined(ENABLE_CONFIGURATION_POLICY)
24 #include "chrome/browser/policy/managed_mode_policy_provider.h" 24 #include "chrome/browser/policy/managed_mode_policy_provider.h"
25 #include "chrome/browser/policy/managed_mode_policy_provider_factory.h" 25 #include "chrome/browser/policy/managed_mode_policy_provider_factory.h"
26 #endif 26 #endif
27 27
28 namespace { 28 namespace {
29 29
30 // Event that is fired when we enter or leave managed mode. 30 // Event that is fired when we enter or leave managed mode.
31 const char kChangeEventName[] = "managedModePrivate.onChange"; 31 const char kChangeEventName[] = "managedModePrivate.onChange";
32 32
33 // Key to report whether the attempt to enter managed mode succeeded. 33 // Key to report whether the attempt to enter managed mode succeeded.
34 const char kEnterSuccessKey[] = "success"; 34 const char kEnterSuccessKey[] = "success";
35 35
36 } // namespace 36 } // namespace
37 37
38 namespace keys = extension_preference_api_constants; 38 namespace keys = extensions::preference_api_constants;
39 39
40 namespace extensions { 40 namespace extensions {
41 41
42 ExtensionManagedModeEventRouter::ExtensionManagedModeEventRouter( 42 ExtensionManagedModeEventRouter::ExtensionManagedModeEventRouter(
43 Profile* profile) : profile_(profile) { 43 Profile* profile) : profile_(profile) {
44 } 44 }
45 45
46 void ExtensionManagedModeEventRouter::Init() { 46 void ExtensionManagedModeEventRouter::Init() {
47 registrar_.Init(g_browser_process->local_state()); 47 registrar_.Init(g_browser_process->local_state());
48 registrar_.Add(prefs::kInManagedMode, this); 48 registrar_.Add(prefs::kInManagedMode, this);
49 } 49 }
50 50
51 ExtensionManagedModeEventRouter::~ExtensionManagedModeEventRouter() { 51 ExtensionManagedModeEventRouter::~ExtensionManagedModeEventRouter() {
52 } 52 }
53 53
54 void ExtensionManagedModeEventRouter::Observe( 54 void ExtensionManagedModeEventRouter::Observe(
55 int type, 55 int type,
56 const content::NotificationSource& source, 56 const content::NotificationSource& source,
57 const content::NotificationDetails& details) { 57 const content::NotificationDetails& details) {
58 DCHECK_EQ(chrome::NOTIFICATION_PREF_CHANGED, type); 58 DCHECK_EQ(chrome::NOTIFICATION_PREF_CHANGED, type);
59 const std::string& pref_name = 59 const std::string& pref_name =
60 *content::Details<std::string>(details).ptr(); 60 *content::Details<std::string>(details).ptr();
61 DCHECK_EQ(std::string(prefs::kInManagedMode), pref_name); 61 DCHECK_EQ(std::string(prefs::kInManagedMode), pref_name);
62 62
63 DictionaryValue* dict = new DictionaryValue(); 63 DictionaryValue* dict = new DictionaryValue();
64 dict->SetBoolean(extension_preference_api_constants::kValue, 64 dict->SetBoolean(
65 keys::kValue,
65 g_browser_process->local_state()->GetBoolean(prefs::kInManagedMode)); 66 g_browser_process->local_state()->GetBoolean(prefs::kInManagedMode));
66 scoped_ptr<ListValue> args(new ListValue()); 67 scoped_ptr<ListValue> args(new ListValue());
67 args->Set(0, dict); 68 args->Set(0, dict);
68 69
69 extensions::EventRouter* event_router = profile_->GetExtensionEventRouter(); 70 extensions::EventRouter* event_router = profile_->GetExtensionEventRouter();
70 event_router->DispatchEventToRenderers(kChangeEventName, args.Pass(), NULL, 71 event_router->DispatchEventToRenderers(kChangeEventName, args.Pass(), NULL,
71 GURL(), 72 GURL(),
72 extensions::EventFilteringInfo()); 73 extensions::EventFilteringInfo());
73 } 74 }
74 75
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 EXTENSION_FUNCTION_VALIDATE(args_->Get(1, &value)); 124 EXTENSION_FUNCTION_VALIDATE(args_->Get(1, &value));
124 #if defined(ENABLE_CONFIGURATION_POLICY) 125 #if defined(ENABLE_CONFIGURATION_POLICY)
125 policy::ManagedModePolicyProvider* policy_provider = 126 policy::ManagedModePolicyProvider* policy_provider =
126 ManagedModePolicyProviderFactory::GetForProfile(profile_); 127 ManagedModePolicyProviderFactory::GetForProfile(profile_);
127 policy_provider->SetPolicy(key, value); 128 policy_provider->SetPolicy(key, value);
128 #endif 129 #endif
129 return true; 130 return true;
130 } 131 }
131 132
132 } // namespace extensions 133 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698