Chromium Code Reviews| Index: chrome/browser/ui/webui/options/extension_settings_handler.h |
| =================================================================== |
| --- chrome/browser/ui/webui/options/extension_settings_handler.h (revision 98847) |
| +++ chrome/browser/ui/webui/options/extension_settings_handler.h (working copy) |
| @@ -9,11 +9,10 @@ |
| #include <string> |
| #include <vector> |
| -#include "base/memory/scoped_ptr.h" |
| +#include "chrome/browser/extensions/extension_install_ui.h" |
| #include "chrome/browser/extensions/extension_uninstall_dialog.h" |
| -#include "chrome/browser/extensions/pack_extension_job.h" |
| #include "chrome/browser/ui/shell_dialogs.h" |
| -#include "chrome/browser/ui/webui/chrome_url_data_manager.h" |
| +#include "chrome/browser/ui/webui/options/options_ui.h" |
| #include "chrome/browser/ui/webui/chrome_web_ui.h" |
| #include "chrome/common/extensions/extension_resource.h" |
| #include "content/common/notification_observer.h" |
| @@ -47,31 +46,11 @@ |
| bool incognito; |
| }; |
| -class ExtensionsUIHTMLSource : public ChromeURLDataManager::DataSource { |
| +// Extension Settings UI handler. |
| +class ExtensionSettingsHandler : public OptionsPageUIHandler, |
| + public SelectFileDialog::Listener, |
| + public ExtensionUninstallDialog::Delegate { |
| public: |
| - ExtensionsUIHTMLSource(); |
| - |
| - // Called when the network layer has requested a resource underneath |
| - // the path we registered. |
| - virtual void StartDataRequest(const std::string& path, |
| - bool is_incognito, |
| - int request_id); |
| - virtual std::string GetMimeType(const std::string&) const; |
| - |
| - private: |
| - ~ExtensionsUIHTMLSource() {} |
| - |
| - DISALLOW_COPY_AND_ASSIGN(ExtensionsUIHTMLSource); |
| -}; |
| - |
| -// The handler for JavaScript messages related to the "extensions" view. |
| -class ExtensionsDOMHandler : public WebUIMessageHandler, |
| - public NotificationObserver, |
| - public PackExtensionJob::Client, |
| - public SelectFileDialog::Listener, |
| - public ExtensionUninstallDialog::Delegate { |
| - public: |
| - |
| // Helper class that loads the icons for the extensions in the management UI. |
| // We do this with native code instead of just using chrome-extension:// URLs |
| // for two reasons: |
| @@ -82,7 +61,7 @@ |
| // look disabled. |
| class IconLoader : public base::RefCountedThreadSafe<IconLoader> { |
| public: |
| - explicit IconLoader(ExtensionsDOMHandler* handler); |
| + explicit IconLoader(ExtensionSettingsHandler* handler); |
| // Load |icons|. Will call handler->OnIconsLoaded when complete. IconLoader |
| // takes ownership of both arguments. |
| @@ -103,15 +82,12 @@ |
| void ReportResultOnUIThread(base::DictionaryValue* json); |
| // The handler we will report back to. |
| - ExtensionsDOMHandler* handler_; |
| + ExtensionSettingsHandler* handler_; |
| }; |
| - explicit ExtensionsDOMHandler(ExtensionService* extension_service); |
| - virtual ~ExtensionsDOMHandler(); |
| + ExtensionSettingsHandler(); |
| + virtual ~ExtensionSettingsHandler(); |
| - // WebUIMessageHandler implementation. |
| - virtual void RegisterMessages(); |
| - |
| // Extension Detail JSON Struct for page. (static for ease of testing). |
| // Note: service can be NULL in unit tests. |
| static base::DictionaryValue* CreateExtensionDetailValue( |
| @@ -126,17 +102,6 @@ |
| const UserScript& script, |
| const FilePath& extension_path); |
| - // ExtensionPackJob::Client |
| - virtual void OnPackSuccess(const FilePath& crx_file, |
| - const FilePath& key_file); |
| - |
| - virtual void OnPackFailure(const std::string& error); |
| - |
| - // ExtensionUninstallDialog::Delegate: |
| - virtual void ExtensionDialogAccepted(); |
| - virtual void ExtensionDialogCanceled(); |
| - |
| - private: |
| // Callback for "requestExtensionsData" message. |
| void HandleRequestExtensionsData(const base::ListValue* args); |
| @@ -190,16 +155,33 @@ |
| // SelectFileDialog::Listener |
| virtual void FileSelected(const FilePath& path, |
| - int index, void* params); |
| + int index, void* params) OVERRIDE; |
| virtual void MultiFilesSelected( |
| - const std::vector<FilePath>& files, void* params); |
| - virtual void FileSelectionCanceled(void* params) {} |
| + const std::vector<FilePath>& files, void* params) OVERRIDE; |
| + virtual void FileSelectionCanceled(void* params) OVERRIDE {} |
| - // NotificationObserver |
| + // WebUIMessageHandler implementation. |
| + virtual void RegisterMessages() OVERRIDE; |
| + |
| + // OptionsUIHandler implementation. |
| + virtual void GetLocalizedValues( |
| + base::DictionaryValue* localized_strings) OVERRIDE; |
| + virtual void Initialize() OVERRIDE; |
| + |
| + // DOMMessageHandler implementation. |
| + virtual WebUIMessageHandler* Attach(WebUI* web_ui) OVERRIDE; |
| + |
| + // NotificationObserver implementation. |
| virtual void Observe(int type, |
| const NotificationSource& source, |
| - const NotificationDetails& details); |
| + const NotificationDetails& details) OVERRIDE; |
| + // ExtensionUninstallDialog::Delegate implementation, used for receiving |
| + // notification about uninstall confirmation dialog selections. |
| + virtual void ExtensionDialogAccepted() OVERRIDE; |
| + virtual void ExtensionDialogCanceled() OVERRIDE; |
| + |
| + private: |
| // Helper that lists the current active html pages for an extension. |
| std::vector<ExtensionPage> GetActivePagesForExtension( |
| const Extension* extension); |
| @@ -227,14 +209,11 @@ |
| ExtensionUninstallDialog* GetExtensionUninstallDialog(); |
| // Our model. Outlives us since it's owned by our containing profile. |
| - ExtensionService* const extension_service_; |
| + ExtensionService* /*const*/ extension_service_; |
|
Aaron Boodman
2011/08/31 18:22:44
remove dead code
Finnur
2011/08/31 20:22:01
Done.
|
| // Used to pick the directory when loading an extension. |
| scoped_refptr<SelectFileDialog> load_extension_dialog_; |
| - // Used to package the extension. |
| - scoped_refptr<PackExtensionJob> pack_job_; |
| - |
| // Used to load icons asynchronously on the file thread. |
| scoped_refptr<IconLoader> icon_loader_; |
| @@ -244,10 +223,6 @@ |
| // The id of the extension we are prompting the user about. |
| std::string extension_id_prompting_; |
| - // We monitor changes to the extension system so that we can reload when |
| - // necessary. |
| - NotificationRegistrar registrar_; |
| - |
| // If true, we will ignore notifications in ::Observe(). This is needed |
| // to prevent reloading the page when we were the cause of the |
| // notification. |
| @@ -260,19 +235,7 @@ |
| // it from the active views. |
| RenderViewHost* deleting_rvh_; |
| - DISALLOW_COPY_AND_ASSIGN(ExtensionsDOMHandler); |
| + DISALLOW_COPY_AND_ASSIGN(ExtensionSettingsHandler); |
| }; |
| -class ExtensionsUI : public ChromeWebUI { |
| - public: |
| - explicit ExtensionsUI(TabContents* contents); |
| - |
| - static RefCountedMemory* GetFaviconResourceBytes(); |
| - |
| - static void RegisterUserPrefs(PrefService* prefs); |
| - |
| - private: |
| - DISALLOW_COPY_AND_ASSIGN(ExtensionsUI); |
| -}; |
| - |
| #endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_EXTENSION_SETTINGS_HANDLER_H_ |