OLD | NEW |
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/extensions/system/system_api.h" | 5 #include "chrome/browser/extensions/system/system_api.h" |
6 | 6 |
7 #include "base/json/json_writer.h" | 7 #include "base/json/json_writer.h" |
8 #include "base/values.h" | 8 #include "base/values.h" |
9 #include "chrome/browser/extensions/event_router.h" | 9 #include "chrome/browser/extensions/event_router.h" |
| 10 #include "chrome/browser/extensions/extension_system.h" |
10 #include "chrome/browser/prefs/pref_service.h" | 11 #include "chrome/browser/prefs/pref_service.h" |
11 #include "chrome/browser/profiles/profile.h" | 12 #include "chrome/browser/profiles/profile.h" |
12 #include "chrome/browser/profiles/profile_manager.h" | 13 #include "chrome/browser/profiles/profile_manager.h" |
13 #include "chrome/common/pref_names.h" | 14 #include "chrome/common/pref_names.h" |
14 | 15 |
15 #if defined(OS_CHROMEOS) | 16 #if defined(OS_CHROMEOS) |
16 #include "chromeos/dbus/dbus_thread_manager.h" | 17 #include "chromeos/dbus/dbus_thread_manager.h" |
17 #include "chromeos/dbus/update_engine_client.h" | 18 #include "chromeos/dbus/update_engine_client.h" |
18 #else | 19 #else |
19 #include "chrome/browser/upgrade_detector.h" | 20 #include "chrome/browser/upgrade_detector.h" |
(...skipping 22 matching lines...) Expand all Loading... |
42 const char kUpdatingState[] = "Updating"; | 43 const char kUpdatingState[] = "Updating"; |
43 const char kNeedRestartState[] = "NeedRestart"; | 44 const char kNeedRestartState[] = "NeedRestart"; |
44 | 45 |
45 // Event names. | 46 // Event names. |
46 const char kOnBrightnessChanged[] = "systemPrivate.onBrightnessChanged"; | 47 const char kOnBrightnessChanged[] = "systemPrivate.onBrightnessChanged"; |
47 const char kOnVolumeChanged[] = "systemPrivate.onVolumeChanged"; | 48 const char kOnVolumeChanged[] = "systemPrivate.onVolumeChanged"; |
48 const char kOnScreenUnlocked[] = "systemPrivate.onScreenUnlocked"; | 49 const char kOnScreenUnlocked[] = "systemPrivate.onScreenUnlocked"; |
49 const char kOnWokeUp[] = "systemPrivate.onWokeUp"; | 50 const char kOnWokeUp[] = "systemPrivate.onWokeUp"; |
50 | 51 |
51 // Dispatches an extension event with |args| | 52 // Dispatches an extension event with |args| |
52 void DispatchEvent(const std::string& event_name, base::Value* argument) { | 53 void DispatchEvent(Profile* profile, |
53 Profile* profile = ProfileManager::GetDefaultProfile(); | 54 const std::string& event_name, |
54 if (!profile) | 55 base::Value* argument) { |
| 56 DCHECK(profile); |
| 57 |
| 58 extensions::ExtensionSystem* extension_system = |
| 59 extensions::ExtensionSystem::Get(profile); |
| 60 if (!extension_system) |
55 return; | 61 return; |
56 extensions::EventRouter* extension_event_router = | 62 extensions::EventRouter* extension_event_router = |
57 profile->GetExtensionEventRouter(); | 63 extension_system->event_router(); |
58 if (!extension_event_router) | 64 if (!extension_event_router) |
59 return; | 65 return; |
60 | 66 |
61 scoped_ptr<base::ListValue> list_args(new base::ListValue()); | 67 scoped_ptr<base::ListValue> list_args(new base::ListValue()); |
62 if (argument) { | 68 if (argument) { |
63 list_args->Append(argument); | 69 list_args->Append(argument); |
64 } | 70 } |
65 extension_event_router->DispatchEventToRenderers( | 71 extension_event_router->DispatchEventToRenderers( |
66 event_name, list_args.Pass(), NULL, GURL(), | 72 event_name, list_args.Pass(), NULL, GURL(), |
67 extensions::EventFilteringInfo()); | 73 extensions::EventFilteringInfo()); |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 } | 141 } |
136 #endif | 142 #endif |
137 DictionaryValue* dict = new DictionaryValue(); | 143 DictionaryValue* dict = new DictionaryValue(); |
138 dict->SetString(kStateKey, state); | 144 dict->SetString(kStateKey, state); |
139 dict->SetDouble(kDownloadProgressKey, download_progress); | 145 dict->SetDouble(kDownloadProgressKey, download_progress); |
140 SetResult(dict); | 146 SetResult(dict); |
141 | 147 |
142 return true; | 148 return true; |
143 } | 149 } |
144 | 150 |
145 void DispatchVolumeChangedEvent(double volume, bool is_volume_muted) { | 151 void DispatchVolumeChangedEvent(Profile* profile, |
| 152 double volume, |
| 153 bool is_volume_muted) { |
146 DictionaryValue* dict = new DictionaryValue(); | 154 DictionaryValue* dict = new DictionaryValue(); |
147 dict->SetDouble(kVolumeKey, volume); | 155 dict->SetDouble(kVolumeKey, volume); |
148 dict->SetBoolean(kIsVolumeMutedKey, is_volume_muted); | 156 dict->SetBoolean(kIsVolumeMutedKey, is_volume_muted); |
149 DispatchEvent(kOnVolumeChanged, dict); | 157 DispatchEvent(profile, kOnVolumeChanged, dict); |
150 } | 158 } |
151 | 159 |
152 void DispatchBrightnessChangedEvent(int brightness, bool user_initiated) { | 160 void DispatchBrightnessChangedEvent(Profile* profile, |
| 161 int brightness, |
| 162 bool user_initiated) { |
153 DictionaryValue* dict = new DictionaryValue(); | 163 DictionaryValue* dict = new DictionaryValue(); |
154 dict->SetInteger(kBrightnessKey, brightness); | 164 dict->SetInteger(kBrightnessKey, brightness); |
155 dict->SetBoolean(kUserInitiatedKey, user_initiated); | 165 dict->SetBoolean(kUserInitiatedKey, user_initiated); |
156 DispatchEvent(kOnBrightnessChanged, dict); | 166 DispatchEvent(profile, kOnBrightnessChanged, dict); |
157 } | 167 } |
158 | 168 |
159 void DispatchScreenUnlockedEvent() { | 169 void DispatchScreenUnlockedEvent(Profile* profile) { |
160 DispatchEvent(kOnScreenUnlocked, NULL); | 170 DispatchEvent(profile, kOnScreenUnlocked, NULL); |
161 } | 171 } |
162 | 172 |
163 void DispatchWokeUpEvent() { | 173 void DispatchWokeUpEvent(Profile* profile) { |
164 DispatchEvent(kOnWokeUp, NULL); | 174 DispatchEvent(profile, kOnWokeUp, NULL); |
165 } | 175 } |
166 | 176 |
167 } // namespace extensions | 177 } // namespace extensions |
OLD | NEW |