| 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 #ifndef CHROME_BROWSER_EXTENSIONS_COMPONENT_LOADER_H_ | 5 #ifndef CHROME_BROWSER_EXTENSIONS_COMPONENT_LOADER_H_ |
| 6 #define CHROME_BROWSER_EXTENSIONS_COMPONENT_LOADER_H_ | 6 #define CHROME_BROWSER_EXTENSIONS_COMPONENT_LOADER_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 // Parse the given JSON manifest. Returns NULL if it cannot be parsed, or if | 77 // Parse the given JSON manifest. Returns NULL if it cannot be parsed, or if |
| 78 // if the result is not a DictionaryValue. | 78 // if the result is not a DictionaryValue. |
| 79 DictionaryValue* ParseManifest(const std::string& manifest_contents) const; | 79 DictionaryValue* ParseManifest(const std::string& manifest_contents) const; |
| 80 | 80 |
| 81 // Clear the list of registered extensions. | 81 // Clear the list of registered extensions. |
| 82 void ClearAllRegistered(); | 82 void ClearAllRegistered(); |
| 83 | 83 |
| 84 // Reloads a registered component extension. | 84 // Reloads a registered component extension. |
| 85 void Reload(const std::string& extension_id); | 85 void Reload(const std::string& extension_id); |
| 86 | 86 |
| 87 // Adds the "Script Bubble" component extension, which puts an icon in the | |
| 88 // omnibox indiciating the number of extensions running script in a tab. | |
| 89 void AddScriptBubble(); | |
| 90 | |
| 91 // Returns the extension previously added by AddScriptBubble(), if any. | |
| 92 const Extension* GetScriptBubble() const; | |
| 93 | |
| 94 private: | 87 private: |
| 95 // Information about a registered component extension. | 88 // Information about a registered component extension. |
| 96 struct ComponentExtensionInfo { | 89 struct ComponentExtensionInfo { |
| 97 ComponentExtensionInfo(const DictionaryValue* manifest, | 90 ComponentExtensionInfo(const DictionaryValue* manifest, |
| 98 const FilePath& root_directory); | 91 const FilePath& root_directory); |
| 99 | 92 |
| 100 // The parsed contents of the extensions's manifest file. | 93 // The parsed contents of the extensions's manifest file. |
| 101 const DictionaryValue* manifest; | 94 const DictionaryValue* manifest; |
| 102 | 95 |
| 103 // Directory where the extension is stored. | 96 // Directory where the extension is stored. |
| (...skipping 25 matching lines...) Expand all Loading... |
| 129 PrefService* local_state_; | 122 PrefService* local_state_; |
| 130 | 123 |
| 131 ExtensionServiceInterface* extension_service_; | 124 ExtensionServiceInterface* extension_service_; |
| 132 | 125 |
| 133 // List of registered component extensions (see Extension::Location). | 126 // List of registered component extensions (see Extension::Location). |
| 134 typedef std::vector<ComponentExtensionInfo> RegisteredComponentExtensions; | 127 typedef std::vector<ComponentExtensionInfo> RegisteredComponentExtensions; |
| 135 RegisteredComponentExtensions component_extensions_; | 128 RegisteredComponentExtensions component_extensions_; |
| 136 | 129 |
| 137 PrefChangeRegistrar pref_change_registrar_; | 130 PrefChangeRegistrar pref_change_registrar_; |
| 138 | 131 |
| 139 std::string script_bubble_id_; | |
| 140 | |
| 141 DISALLOW_COPY_AND_ASSIGN(ComponentLoader); | 132 DISALLOW_COPY_AND_ASSIGN(ComponentLoader); |
| 142 }; | 133 }; |
| 143 | 134 |
| 144 } // namespace extensions | 135 } // namespace extensions |
| 145 | 136 |
| 146 #endif // CHROME_BROWSER_EXTENSIONS_COMPONENT_LOADER_H_ | 137 #endif // CHROME_BROWSER_EXTENSIONS_COMPONENT_LOADER_H_ |
| OLD | NEW |