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

Side by Side Diff: components/dom_distiller/webui/dom_distiller_handler.h

Issue 151003006: Add support for distilling arbitrary URLs in DOM Distiller Viewer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added new strings to iOS whitelist Created 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef COMPONENTS_DOM_DISTILLER_WEBUI_DOM_DISTILLER_HANDLER_H_ 5 #ifndef COMPONENTS_DOM_DISTILLER_WEBUI_DOM_DISTILLER_HANDLER_H_
6 #define COMPONENTS_DOM_DISTILLER_WEBUI_DOM_DISTILLER_HANDLER_H_ 6 #define COMPONENTS_DOM_DISTILLER_WEBUI_DOM_DISTILLER_HANDLER_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/memory/weak_ptr.h" 10 #include "base/memory/weak_ptr.h"
11 #include "base/values.h" 11 #include "base/values.h"
12 #include "content/public/browser/web_ui_message_handler.h" 12 #include "content/public/browser/web_ui_message_handler.h"
13 13
14 namespace dom_distiller { 14 namespace dom_distiller {
15 15
16 class DomDistillerService; 16 class DomDistillerService;
17 17
18 // Handler class for DOM Distiller list operations. 18 // Handler class for DOM Distiller list operations.
19 class DomDistillerHandler : public content::WebUIMessageHandler { 19 class DomDistillerHandler : public content::WebUIMessageHandler {
20 public: 20 public:
21 // The lifetime of |service| has to outlive this handler. 21 // The lifetime of |service| has to outlive this handler.
22 DomDistillerHandler(DomDistillerService* service, 22 DomDistillerHandler(DomDistillerService* service, const std::string& scheme);
23 const std::string& scheme);
24 virtual ~DomDistillerHandler(); 23 virtual ~DomDistillerHandler();
25 24
26 // content::WebUIMessageHandler implementation. 25 // content::WebUIMessageHandler implementation.
27 virtual void RegisterMessages() OVERRIDE; 26 virtual void RegisterMessages() OVERRIDE;
28 27
29 // Callback from JavaScript for the "requestEntries" message. This 28 // Callback from JavaScript for the "requestEntries" message. This
30 // requests the list of entries and returns it to the front end by calling 29 // requests the list of entries and returns it to the front end by calling
31 // "onReceivedEntries". There are no JavaScript arguments to this method. 30 // "onReceivedEntries". There are no JavaScript arguments to this method.
32 void HandleRequestEntries(const base::ListValue* args); 31 void HandleRequestEntries(const base::ListValue* args);
33 32
34 // Callback from JavaScript for when an article should be added. The first 33 // Callback from JavaScript for when an article should be added. The first
35 // element in |args| should be a string representing the URL to be added. 34 // element in |args| should be a string representing the URL to be added.
36 void HandleAddArticle(const base::ListValue* args); 35 void HandleAddArticle(const base::ListValue* args);
37 36
38 // Callback from JavaScript for when an article is selected. The first element 37 // Callback from JavaScript for when an article is selected. The first element
39 // in |args| should be a string representing the ID of the entry to be 38 // in |args| should be a string representing the ID of the entry to be
40 // selected. 39 // selected.
41 void HandleSelectArticle(const base::ListValue* args); 40 void HandleSelectArticle(const base::ListValue* args);
42 41
42 // Callback from JavaScript for when viewing a URL is requested. The first
43 // element in |args| should be a string representing the URL to be viewed.
44 void HandleViewUrl(const base::ListValue* args);
45
43 private: 46 private:
44 // Callback from DomDistillerService when an article is available. 47 // Callback from DomDistillerService when an article is available.
45 void OnArticleAdded(bool article_available); 48 void OnArticleAdded(bool article_available);
46 49
47 // The DomDistillerService. 50 // The DomDistillerService.
48 DomDistillerService* service_; 51 DomDistillerService* service_;
49 52
50 // The scheme for DOM distiller articles. 53 // The scheme for DOM distiller articles.
51 std::string article_scheme_; 54 std::string article_scheme_;
52 55
53 // Factory for the creating refs in callbacks. 56 // Factory for the creating refs in callbacks.
54 base::WeakPtrFactory<DomDistillerHandler> weak_ptr_factory_; 57 base::WeakPtrFactory<DomDistillerHandler> weak_ptr_factory_;
55 58
56 DISALLOW_COPY_AND_ASSIGN(DomDistillerHandler); 59 DISALLOW_COPY_AND_ASSIGN(DomDistillerHandler);
57 }; 60 };
58 61
59 } // namespace dom_distiller 62 } // namespace dom_distiller
60 63
61 #endif // COMPONENTS_DOM_DISTILLER_WEBUI_DOM_DISTILLER_HANDLER_H_ 64 #endif // COMPONENTS_DOM_DISTILLER_WEBUI_DOM_DISTILLER_HANDLER_H_
OLDNEW
« no previous file with comments | « components/dom_distiller/webui/DEPS ('k') | components/dom_distiller/webui/dom_distiller_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698