OLD | NEW |
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 #ifndef EXTENSIONS_BROWSER_API_POWER_POWER_API_H_ | 5 #ifndef EXTENSIONS_BROWSER_API_POWER_POWER_API_H_ |
6 #define EXTENSIONS_BROWSER_API_POWER_POWER_API_H_ | 6 #define EXTENSIONS_BROWSER_API_POWER_POWER_API_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 content::PowerSaveBlocker::Reason, | 57 content::PowerSaveBlocker::Reason, |
58 const std::string&)> CreateBlockerFunction; | 58 const std::string&)> CreateBlockerFunction; |
59 | 59 |
60 static PowerAPI* Get(content::BrowserContext* context); | 60 static PowerAPI* Get(content::BrowserContext* context); |
61 | 61 |
62 // BrowserContextKeyedAPI implementation. | 62 // BrowserContextKeyedAPI implementation. |
63 static BrowserContextKeyedAPIFactory<PowerAPI>* GetFactoryInstance(); | 63 static BrowserContextKeyedAPIFactory<PowerAPI>* GetFactoryInstance(); |
64 | 64 |
65 // Adds an extension lock at |level| for |extension_id|, replacing the | 65 // Adds an extension lock at |level| for |extension_id|, replacing the |
66 // extension's existing lock, if any. | 66 // extension's existing lock, if any. |
67 void AddRequest(const std::string& extension_id, | 67 void AddRequest(const std::string& extension_id, api::power::Level level); |
68 core_api::power::Level level); | |
69 | 68 |
70 // Removes an extension lock for an extension. Calling this for an | 69 // Removes an extension lock for an extension. Calling this for an |
71 // extension id without a lock will do nothing. | 70 // extension id without a lock will do nothing. |
72 void RemoveRequest(const std::string& extension_id); | 71 void RemoveRequest(const std::string& extension_id); |
73 | 72 |
74 // Replaces the function that will be called to create PowerSaveBlocker | 73 // Replaces the function that will be called to create PowerSaveBlocker |
75 // objects. Passing an empty callback will revert to the default. | 74 // objects. Passing an empty callback will revert to the default. |
76 void SetCreateBlockerFunctionForTesting(CreateBlockerFunction function); | 75 void SetCreateBlockerFunctionForTesting(CreateBlockerFunction function); |
77 | 76 |
78 // Overridden from extensions::ExtensionRegistryObserver. | 77 // Overridden from extensions::ExtensionRegistryObserver. |
(...skipping 21 matching lines...) Expand all Loading... |
100 | 99 |
101 // Function that should be called to create PowerSaveBlocker objects. | 100 // Function that should be called to create PowerSaveBlocker objects. |
102 // Tests can change this to record what would've been done instead of | 101 // Tests can change this to record what would've been done instead of |
103 // actually changing the system power-saving settings. | 102 // actually changing the system power-saving settings. |
104 CreateBlockerFunction create_blocker_function_; | 103 CreateBlockerFunction create_blocker_function_; |
105 | 104 |
106 scoped_ptr<content::PowerSaveBlocker> power_save_blocker_; | 105 scoped_ptr<content::PowerSaveBlocker> power_save_blocker_; |
107 | 106 |
108 // Current level used by |power_save_blocker_|. Meaningless if | 107 // Current level used by |power_save_blocker_|. Meaningless if |
109 // |power_save_blocker_| is NULL. | 108 // |power_save_blocker_| is NULL. |
110 core_api::power::Level current_level_; | 109 api::power::Level current_level_; |
111 | 110 |
112 // Map from extension ID to the corresponding level for each extension | 111 // Map from extension ID to the corresponding level for each extension |
113 // that has an outstanding request. | 112 // that has an outstanding request. |
114 typedef std::map<std::string, core_api::power::Level> ExtensionLevelMap; | 113 typedef std::map<std::string, api::power::Level> ExtensionLevelMap; |
115 ExtensionLevelMap extension_levels_; | 114 ExtensionLevelMap extension_levels_; |
116 | 115 |
117 DISALLOW_COPY_AND_ASSIGN(PowerAPI); | 116 DISALLOW_COPY_AND_ASSIGN(PowerAPI); |
118 }; | 117 }; |
119 | 118 |
120 } // namespace extensions | 119 } // namespace extensions |
121 | 120 |
122 #endif // EXTENSIONS_BROWSER_API_POWER_POWER_API_H_ | 121 #endif // EXTENSIONS_BROWSER_API_POWER_POWER_API_H_ |
OLD | NEW |