Index: chrome/browser/ui/webui/options2/personal_options_handler.h |
diff --git a/chrome/browser/ui/webui/options2/personal_options_handler.h b/chrome/browser/ui/webui/options2/personal_options_handler.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..4ffe0b6f95d47d3afab54b353aa9ddd1abb02ced |
--- /dev/null |
+++ b/chrome/browser/ui/webui/options2/personal_options_handler.h |
@@ -0,0 +1,70 @@ |
+// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS2_PERSONAL_OPTIONS_HANDLER_H_ |
+#define CHROME_BROWSER_UI_WEBUI_OPTIONS2_PERSONAL_OPTIONS_HANDLER_H_ |
+#pragma once |
+ |
+#include "base/basictypes.h" |
+#include "chrome/browser/sync/profile_sync_service.h" |
+#include "chrome/browser/ui/webui/options2/options_ui2.h" |
+#if defined(OS_CHROMEOS) |
+#include "content/public/browser/notification_registrar.h" |
+#endif |
+ |
+// Chrome personal options page UI handler. |
+class PersonalOptionsHandler : public OptionsPage2UIHandler, |
+ public ProfileSyncServiceObserver { |
+ public: |
+ PersonalOptionsHandler(); |
+ virtual ~PersonalOptionsHandler(); |
+ |
+ // OptionsPage2UIHandler implementation. |
+ virtual void GetLocalizedValues(DictionaryValue* localized_strings) OVERRIDE; |
+ virtual void Initialize() OVERRIDE; |
+ |
+ // WebUIMessageHandler implementation. |
+ virtual void RegisterMessages() OVERRIDE; |
+ |
+ // content::NotificationObserver implementation. |
+ virtual void Observe(int type, |
+ const content::NotificationSource& source, |
+ const content::NotificationDetails& details) OVERRIDE; |
+ |
+ // ProfileSyncServiceObserver implementation. |
+ virtual void OnStateChanged() OVERRIDE; |
+ |
+ private: |
+ void ObserveThemeChanged(); |
+ void ThemesReset(const ListValue* args); |
+#if defined(TOOLKIT_GTK) |
+ void ThemesSetGTK(const ListValue* args); |
+#endif |
+ |
+#if defined(OS_CHROMEOS) |
+ void UpdateAccountPicture(); |
+ content::NotificationRegistrar registrar_; |
+#endif |
+ |
+ // Sends an array of Profile objects to javascript. |
+ // Each object is of the form: |
+ // profileInfo = { |
+ // name: "Profile Name", |
+ // iconURL: "chrome://path/to/icon/image", |
+ // filePath: "/path/to/profile/data/on/disk", |
+ // isCurrentProfile: false |
+ // }; |
+ void SendProfilesInfo(); |
+ |
+ // Asynchronously opens a new browser window to create a new profile. |
+ // |args| is not used. |
+ void CreateProfile(const ListValue* args); |
+ |
+ // True if the multiprofiles switch is enabled. |
+ bool multiprofile_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(PersonalOptionsHandler); |
+}; |
+ |
+#endif // CHROME_BROWSER_UI_WEBUI_OPTIONS2_PERSONAL_OPTIONS_HANDLER_H_ |