Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(414)

Unified Diff: chrome/browser/ui/webui/options2/options_ui2.h

Issue 9814030: get rid of old options pages (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more fixes Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/options2/options_ui2.h
diff --git a/chrome/browser/ui/webui/options2/options_ui2.h b/chrome/browser/ui/webui/options2/options_ui2.h
index 30898cb37fc07b13505d5952c3ddcef32fee9178..1f73e3ed649538e96bd5cfd5bbcf342dd3045667 100644
--- a/chrome/browser/ui/webui/options2/options_ui2.h
+++ b/chrome/browser/ui/webui/options2/options_ui2.h
@@ -14,7 +14,6 @@
#include "base/values.h"
#include "chrome/browser/autocomplete/autocomplete.h"
#include "chrome/browser/ui/webui/chrome_url_data_manager.h"
-#include "chrome/browser/ui/webui/options/options_ui.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
#include "content/public/browser/notification_types.h"
@@ -22,6 +21,74 @@
#include "content/public/browser/web_ui_message_handler.h"
namespace options2 {
+
+// The base class handler of Javascript messages of options pages.
+class OptionsPageUIHandler : public content::WebUIMessageHandler,
+ public content::NotificationObserver {
+ public:
+ OptionsPageUIHandler();
+ virtual ~OptionsPageUIHandler();
+
+ // Is this handler enabled?
+ virtual bool IsEnabled();
+
+ // Collects localized strings for options page.
+ virtual void GetLocalizedValues(base::DictionaryValue* localized_strings) = 0;
+
+ // Will be called only once in the life time of the handler. Generally used to
+ // add observers, initializes preferences, or start asynchronous calls from
+ // various services.
+ virtual void InitializeHandler() {}
+
+ // Initialize the page. Called once the DOM is available for manipulation.
+ // This will be called when a RenderView is re-used (when navigated to with
+ // back/forward or session restored in some cases) or when created.
+ virtual void InitializePage() {}
+
+ // Uninitializes the page. Called just before the object is destructed.
+ virtual void Uninitialize() {}
+
+ // WebUIMessageHandler implementation.
+ virtual void RegisterMessages() OVERRIDE {}
+
+ // content::NotificationObserver implementation.
+ virtual void Observe(int type,
+ const content::NotificationSource& source,
+ const content::NotificationDetails& details) OVERRIDE {}
+
+ protected:
+ struct OptionsStringResource {
+ // The name of the resource in templateData.
+ const char* name;
+ // The .grd ID for the resource (IDS_*).
+ int id;
+ };
+ // A helper for simplifying the process of registering strings in WebUI.
+ static void RegisterStrings(base::DictionaryValue* localized_strings,
+ const OptionsStringResource* resources,
+ size_t length);
+
+ // Registers string resources for a page's header and tab title.
+ static void RegisterTitle(base::DictionaryValue* localized_strings,
+ const std::string& variable_name,
+ int title_id);
+
+ content::NotificationRegistrar registrar_;
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(OptionsPageUIHandler);
+};
+
+// An interface for common operations that a host of OptionsPageUIHandlers
+// should provide.
+class OptionsPageUIHandlerHost {
+ public:
+ virtual void InitializeHandlers() = 0;
+
+ protected:
+ virtual ~OptionsPageUIHandlerHost() {}
+};
+
// The WebUI for chrome:settings-frame.
class OptionsUI : public content::WebUIController,
public OptionsPageUIHandlerHost {

Powered by Google App Engine
This is Rietveld 408576698