Index: chrome/browser/dom_ui/new_tab_page_sync_handler.h |
=================================================================== |
--- chrome/browser/dom_ui/new_tab_page_sync_handler.h (revision 0) |
+++ chrome/browser/dom_ui/new_tab_page_sync_handler.h (revision 0) |
@@ -0,0 +1,61 @@ |
+// 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 |
+ |
+#ifndef CHROME_BROWSER_DOM_UI_NEW_TAB_PAGE_SYNC_HANDLER_H_ |
+#define CHROME_BROWSER_DOM_UI_NEW_TAB_PAGE_SYNC_HANDLER_H_ |
+ |
+#include <string> |
+ |
+#include "chrome/browser/dom_ui/dom_ui.h" |
+#include "chrome/browser/sync/profile_sync_service.h" |
+#include "chrome/browser/sync/sync_status_ui_helper.h" |
+ |
+class Value; |
+ |
+// Sends sync-state changes to the New Tab Page for UI updating and forwards |
+// link clicks on the page to the sync service. |
+class NewTabPageSyncHandler : public DOMMessageHandler, |
+ public ProfileSyncServiceObserver { |
+ public: |
+ NewTabPageSyncHandler(); |
+ virtual ~NewTabPageSyncHandler(); |
+ |
+ // DOMMessageHandler implementation. |
+ virtual DOMMessageHandler* Attach(DOMUI* dom_ui); |
+ virtual void RegisterMessages(); |
+ |
+ // Callback for "GetSyncMessage". |
+ void HandleGetSyncMessage(const Value* value); |
+ // Callback for "SyncLinkClicked". |
+ void HandleSyncLinkClicked(const Value* value); |
+ // Callback for "ResizeP13N" |
+ void HandleResizeP13N(const Value* value); |
+ |
+ // ProfileSyncServiceObserver |
+ virtual void OnStateChanged(); |
+ |
+ private: |
+ // Helper to invoke |renderSyncMessage| JS function on the new tab page. |
+ void SendSyncMessageToPage(SyncStatusUIHelper::MessageType type, |
+ std::string msg, const std::string& linktext); |
+ |
+ // Helper to query the sync service and figure out what to send to |
+ // the page, and send it via SendSyncMessageToPage. |
+ // NOTE: precondition: sync must be enabled. |
+ void BuildAndSendSyncStatus(); |
+ |
+ // Cached pointer to ProfileSyncService. |
+ ProfileSyncService* sync_service_; |
+ |
+ // Used to make sure we don't register ourselves twice if the user refreshes |
+ // the new tab page. |
+ bool waiting_for_initial_page_load_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(NewTabPageSyncHandler); |
+}; |
+ |
+#endif // CHROME_BROWSER_DOM_UI_NEW_TAB_PAGE_SYNC_HANDLER_H_ |
+#endif // CHROME_PERSONALIZATION |
Property changes on: chrome\browser\dom_ui\new_tab_page_sync_handler.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |