| 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_MANAGER_H_ | 5 #ifndef EXTENSIONS_BROWSER_API_POWER_POWER_API_MANAGER_H_ |
| 6 #define EXTENSIONS_BROWSER_API_POWER_POWER_API_MANAGER_H_ | 6 #define EXTENSIONS_BROWSER_API_POWER_POWER_API_MANAGER_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 | 23 |
| 24 // Handles calls made via the chrome.power API. There is a separate instance of | 24 // Handles calls made via the chrome.power API. There is a separate instance of |
| 25 // this class for each profile, as requests are tracked by extension ID, but a | 25 // this class for each profile, as requests are tracked by extension ID, but a |
| 26 // regular and incognito profile will share the same instance. | 26 // regular and incognito profile will share the same instance. |
| 27 // TODO(derat): Move this to power_api.h and rename it to PowerApi. | 27 // TODO(derat): Move this to power_api.h and rename it to PowerApi. |
| 28 class PowerApiManager : public BrowserContextKeyedAPI, | 28 class PowerApiManager : public BrowserContextKeyedAPI, |
| 29 public extensions::ExtensionRegistryObserver { | 29 public extensions::ExtensionRegistryObserver { |
| 30 public: | 30 public: |
| 31 typedef base::Callback<scoped_ptr<content::PowerSaveBlocker>( | 31 typedef base::Callback<scoped_ptr<content::PowerSaveBlocker>( |
| 32 content::PowerSaveBlocker::PowerSaveBlockerType, | 32 content::PowerSaveBlocker::PowerSaveBlockerType, |
| 33 content::PowerSaveBlocker::Reason, |
| 33 const std::string&)> CreateBlockerFunction; | 34 const std::string&)> CreateBlockerFunction; |
| 34 | 35 |
| 35 static PowerApiManager* Get(content::BrowserContext* context); | 36 static PowerApiManager* Get(content::BrowserContext* context); |
| 36 | 37 |
| 37 // BrowserContextKeyedAPI implementation. | 38 // BrowserContextKeyedAPI implementation. |
| 38 static BrowserContextKeyedAPIFactory<PowerApiManager>* GetFactoryInstance(); | 39 static BrowserContextKeyedAPIFactory<PowerApiManager>* GetFactoryInstance(); |
| 39 | 40 |
| 40 // Adds an extension lock at |level| for |extension_id|, replacing the | 41 // Adds an extension lock at |level| for |extension_id|, replacing the |
| 41 // extension's existing lock, if any. | 42 // extension's existing lock, if any. |
| 42 void AddRequest(const std::string& extension_id, | 43 void AddRequest(const std::string& extension_id, |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 88 // that has an outstanding request. | 89 // that has an outstanding request. |
| 89 typedef std::map<std::string, core_api::power::Level> ExtensionLevelMap; | 90 typedef std::map<std::string, core_api::power::Level> ExtensionLevelMap; |
| 90 ExtensionLevelMap extension_levels_; | 91 ExtensionLevelMap extension_levels_; |
| 91 | 92 |
| 92 DISALLOW_COPY_AND_ASSIGN(PowerApiManager); | 93 DISALLOW_COPY_AND_ASSIGN(PowerApiManager); |
| 93 }; | 94 }; |
| 94 | 95 |
| 95 } // namespace extensions | 96 } // namespace extensions |
| 96 | 97 |
| 97 #endif // EXTENSIONS_BROWSER_API_POWER_POWER_API_MANAGER_H_ | 98 #endif // EXTENSIONS_BROWSER_API_POWER_POWER_API_MANAGER_H_ |
| OLD | NEW |