summaryrefslogtreecommitdiffstats
path: root/chrome/browser/dom_ui/tips_handler.h
diff options
context:
space:
mode:
authormirandac@chromium.org <mirandac@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-25 23:32:48 +0000
committermirandac@chromium.org <mirandac@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-25 23:32:48 +0000
commit6a3d3e6c7511c586128b11901310b0475b2b982a (patch)
treef67617b0098c3fe64d7c9683cae8d1dc9858dfa8 /chrome/browser/dom_ui/tips_handler.h
parent8411ad62509db62b1bb5a1e4d4a3488e8c48f037 (diff)
downloadchromium_src-6a3d3e6c7511c586128b11901310b0475b2b982a.zip
chromium_src-6a3d3e6c7511c586128b11901310b0475b2b982a.tar.gz
chromium_src-6a3d3e6c7511c586128b11901310b0475b2b982a.tar.bz2
Hooks backend tip service into new tab page. Also changes tip service to load tips from popgadget, at http://www.google.com/labs/popgadget/world.
BUG= http://crbug.com/14962 TEST= Enable new tab page. See welcome message. On reload afterwards (and always after that, as long as preferences file isn't removed), see browsing recommendations appear in bottom right corner. Review URL: http://codereview.chromium.org/147109 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19306 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/dom_ui/tips_handler.h')
-rw-r--r--chrome/browser/dom_ui/tips_handler.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/chrome/browser/dom_ui/tips_handler.h b/chrome/browser/dom_ui/tips_handler.h
new file mode 100644
index 0000000..a218e09
--- /dev/null
+++ b/chrome/browser/dom_ui/tips_handler.h
@@ -0,0 +1,56 @@
+// Copyright (c) 2009 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.
+
+// This class pulls data from a web resource (such as a JSON feed) which
+// has been stored in the user's preferences file. Used mainly
+// by the suggestions and tips area of the new tab page.
+
+// Current sketch of tip cache format, hardcoded for popgadget data in
+// basic text form:
+
+// "tip_cache": {
+// "0": {
+// "index": should become time field (or not)
+// "snippet": the text of the item
+// "source": text describing source (i.e., "New York Post")
+// "thumbnail": URL of thumbnail on popgadget server
+// "title": text giving title of item
+// "url": link to item's page
+// },
+// [up to number of items in kMaxWebResourceCacheSize]
+
+#ifndef CHROME_BROWSER_DOM_UI_TIPS_HANDLER_H_
+#define CHROME_BROWSER_DOM_UI_TIPS_HANDLER_H_
+
+#include "chrome/browser/dom_ui/dom_ui.h"
+
+class DictionaryValue;
+class DOMUI;
+class PrefService;
+class Value;
+
+class TipsHandler : public DOMMessageHandler {
+ public:
+ explicit TipsHandler(DOMUI* dom_ui);
+
+ TipsHandler();
+
+ // Callback which pulls tips data from the preferences.
+ void HandleGetTips(const Value* content);
+
+ // Register tips cache with pref service.
+ static void RegisterUserPrefs(PrefService* prefs);
+
+ private:
+ // So we can push data out to the page that has called this handler.
+ DOMUI* dom_ui_;
+
+ // Filled with data from cache in preferences.
+ const DictionaryValue* tips_cache_;
+
+ DISALLOW_COPY_AND_ASSIGN(TipsHandler);
+};
+
+#endif // CHROME_BROWSER_DOM_UI_TIPS_HANDLER_H_
+