Index: chrome/browser/sync/personalization.h |
=================================================================== |
--- chrome/browser/sync/personalization.h (revision 0) |
+++ chrome/browser/sync/personalization.h (revision 0) |
@@ -0,0 +1,109 @@ |
+// Copyright (c) 2006-2008 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. |
+ |
+#ifdef CHROME_PERSONALIZATION |
+ |
+// TODO(timsteele): Remove this file by finding proper homes for everything in |
+// trunk. |
+#ifndef CHROME_BROWSER_SYNC_PERSONALIZATION_H_ |
+#define CHROME_BROWSER_SYNC_PERSONALIZATION_H_ |
+ |
+#include <string> |
+#include "base/basictypes.h" |
+#include "chrome/browser/dom_ui/chrome_url_data_manager.h" |
+ |
+class Browser; |
+class DOMUI; |
+class DOMMessageHandler; |
+class Profile; |
+class RenderView; |
+class RenderViewHost; |
+class WebFrame; |
+class WebView; |
+ |
+class ProfileSyncService; |
+class ProfileSyncServiceObserver; |
+ |
+namespace views { class View; } |
+ |
+// TODO(ncarter): Move these switches into chrome_switches. They are here |
+// now because we want to keep them secret during early development. |
+namespace switches { |
+extern const wchar_t kSyncServiceURL[]; |
+extern const wchar_t kSyncServicePort[]; |
+extern const wchar_t kSyncUserForTest[]; |
+extern const wchar_t kSyncPasswordForTest[]; |
+} |
+ |
+// Names of various preferences. |
+// TODO(munjal): Move these preferences to common/pref_names.h. |
+namespace prefs { |
+extern const wchar_t kSyncPath[]; |
+extern const wchar_t kSyncLastSyncedTime[]; |
+extern const wchar_t kSyncUserName[]; |
+extern const wchar_t kSyncHasSetupCompleted[]; |
+} |
+ |
+// Contains a profile sync service, which is initialized at profile creation. |
+// A pointer to this class is passed as a handle. |
+class ProfilePersonalization { |
+ public: |
+ ProfilePersonalization() {} |
+ virtual ~ProfilePersonalization() {} |
+ |
+ virtual ProfileSyncService* sync_service() = 0; |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(ProfilePersonalization); |
+}; |
+ |
+// Contains methods to perform Personalization-related tasks on behalf of the |
+// caller. |
+namespace Personalization { |
+ |
+// Checks if P13N is globally disabled or not, and that |profile| has a valid |
+// ProfilePersonalization member (it can be NULL for TestingProfiles). |
+bool IsP13NDisabled(Profile* profile); |
+ |
+// Returns whether |url| should be loaded in a DOMUI. |
+bool NeedsDOMUI(const GURL& url); |
+ |
+// Construct a new ProfilePersonalization and return it so the caller can take |
+// ownership. |
+ProfilePersonalization* CreateProfilePersonalization(Profile* p); |
+ |
+// The caller of Create...() above should call this when the returned |
+// ProfilePersonalization object should be deleted. |
+void CleanupProfilePersonalization(ProfilePersonalization* p); |
+ |
+// Handler for "cloudy:stats" |
+std::string MakeCloudyStats(); |
+ |
+// Construct a new DOMMessageHandler for the new tab page |dom_ui|. |
+DOMMessageHandler* CreateNewTabPageHandler(DOMUI* dom_ui); |
+ |
+// Get HTML for the Personalization iframe in the New Tab Page. |
+std::string GetNewTabSource(); |
+ |
+// Returns the text for personalization info menu item and sets its enabled |
+// state. |
+std::wstring GetMenuItemInfoText(Browser* browser); |
+ |
+// Performs appropriate action when the sync menu item is clicked. |
+void HandleMenuItemClick(Profile* p); |
+} // namespace Personalization |
+ |
+// The internal scheme used to retrieve HTML resources for personalization |
+// related code (e.g cloudy:stats, GAIA login page). |
+// We need to ensure the GAIA login HTML is loaded into an HTMLDialogContents. |
+// Outside of p13n (for the time being) only "gears://" gives this (see |
+// HtmlDialogContents::IsHtmlDialogUrl) for the application shortcut dialog. |
+// TODO(timsteele): We should have a robust way to handle this to allow more |
+// reuse of our HTML dialog code, perhaps by using a dedicated "dialog-resource" |
+// scheme (chrome-resource is coupled to DOM_UI). Figure out if that is the best |
+// course of action / pitch this idea to chromium-dev. |
+static const char kPersonalizationScheme[] = "cloudy"; |
+ |
+#endif // CHROME_BROWSER_SYNC_PERSONALIZATION_H_ |
+#endif // CHROME_PERSONALIZATION |
Property changes on: chrome\browser\sync\personalization.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |