| 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_UI_WEBUI_OPTIONS_EXTENSION_SETTINGS_HANDLER_H_ | 5 #ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS_EXTENSION_SETTINGS_HANDLER_H_ |
| 6 #define CHROME_BROWSER_UI_WEBUI_OPTIONS_EXTENSION_SETTINGS_HANDLER_H_ | 6 #define CHROME_BROWSER_UI_WEBUI_OPTIONS_EXTENSION_SETTINGS_HANDLER_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <set> | 9 #include <set> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 148 // ExtensionUninstallDialog::Delegate implementation, used for receiving | 148 // ExtensionUninstallDialog::Delegate implementation, used for receiving |
| 149 // notification about uninstall confirmation dialog selections. | 149 // notification about uninstall confirmation dialog selections. |
| 150 virtual void ExtensionUninstallAccepted() OVERRIDE; | 150 virtual void ExtensionUninstallAccepted() OVERRIDE; |
| 151 virtual void ExtensionUninstallCanceled() OVERRIDE; | 151 virtual void ExtensionUninstallCanceled() OVERRIDE; |
| 152 | 152 |
| 153 private: | 153 private: |
| 154 // Helper that lists the current active html pages for an extension. | 154 // Helper that lists the current active html pages for an extension. |
| 155 std::vector<ExtensionPage> GetActivePagesForExtension( | 155 std::vector<ExtensionPage> GetActivePagesForExtension( |
| 156 const Extension* extension); | 156 const Extension* extension); |
| 157 void GetActivePagesForExtensionProcess( | 157 void GetActivePagesForExtensionProcess( |
| 158 const std::set<RenderViewHost*>& views, | 158 const std::set<content::RenderViewHost*>& views, |
| 159 std::vector<ExtensionPage> *result); | 159 std::vector<ExtensionPage> *result); |
| 160 | 160 |
| 161 // Returns the ExtensionUninstallDialog object for this class, creating it if | 161 // Returns the ExtensionUninstallDialog object for this class, creating it if |
| 162 // needed. | 162 // needed. |
| 163 ExtensionUninstallDialog* GetExtensionUninstallDialog(); | 163 ExtensionUninstallDialog* GetExtensionUninstallDialog(); |
| 164 | 164 |
| 165 // Our model. Outlives us since it's owned by our containing profile. | 165 // Our model. Outlives us since it's owned by our containing profile. |
| 166 ExtensionService* extension_service_; | 166 ExtensionService* extension_service_; |
| 167 | 167 |
| 168 // Used to pick the directory when loading an extension. | 168 // Used to pick the directory when loading an extension. |
| 169 scoped_refptr<SelectFileDialog> load_extension_dialog_; | 169 scoped_refptr<SelectFileDialog> load_extension_dialog_; |
| 170 | 170 |
| 171 // Used to show confirmation UI for uninstalling extensions in incognito mode. | 171 // Used to show confirmation UI for uninstalling extensions in incognito mode. |
| 172 scoped_ptr<ExtensionUninstallDialog> extension_uninstall_dialog_; | 172 scoped_ptr<ExtensionUninstallDialog> extension_uninstall_dialog_; |
| 173 | 173 |
| 174 // The id of the extension we are prompting the user about. | 174 // The id of the extension we are prompting the user about. |
| 175 std::string extension_id_prompting_; | 175 std::string extension_id_prompting_; |
| 176 | 176 |
| 177 // If true, we will ignore notifications in ::Observe(). This is needed | 177 // If true, we will ignore notifications in ::Observe(). This is needed |
| 178 // to prevent reloading the page when we were the cause of the | 178 // to prevent reloading the page when we were the cause of the |
| 179 // notification. | 179 // notification. |
| 180 bool ignore_notifications_; | 180 bool ignore_notifications_; |
| 181 | 181 |
| 182 // The page may be refreshed in response to a RENDER_VIEW_HOST_DELETED, | 182 // The page may be refreshed in response to a RENDER_VIEW_HOST_DELETED, |
| 183 // but the iteration over RenderViewHosts will include the host because the | 183 // but the iteration over RenderViewHosts will include the host because the |
| 184 // notification is sent when it is in the process of being deleted (and before | 184 // notification is sent when it is in the process of being deleted (and before |
| 185 // it is removed from the process). Keep a pointer to it so we can exclude | 185 // it is removed from the process). Keep a pointer to it so we can exclude |
| 186 // it from the active views. | 186 // it from the active views. |
| 187 RenderViewHost* deleting_rvh_; | 187 content::RenderViewHost* deleting_rvh_; |
| 188 | 188 |
| 189 // We want to register for notifications only after we've responded at least | 189 // We want to register for notifications only after we've responded at least |
| 190 // once to the page, otherwise we'd be calling javacsript functions on objects | 190 // once to the page, otherwise we'd be calling javacsript functions on objects |
| 191 // that don't exist yet when notifications come in. This variable makes sure | 191 // that don't exist yet when notifications come in. This variable makes sure |
| 192 // we do so only once. | 192 // we do so only once. |
| 193 bool registered_for_notifications_; | 193 bool registered_for_notifications_; |
| 194 | 194 |
| 195 DISALLOW_COPY_AND_ASSIGN(ExtensionSettingsHandler); | 195 DISALLOW_COPY_AND_ASSIGN(ExtensionSettingsHandler); |
| 196 }; | 196 }; |
| 197 | 197 |
| 198 #endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_EXTENSION_SETTINGS_HANDLER_H_ | 198 #endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_EXTENSION_SETTINGS_HANDLER_H_ |
| OLD | NEW |