OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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_CONTENT_BROWSER_DISTILLER_JAVASCRIPT_SERVICE_IM
PL_H_ | 5 #ifndef COMPONENTS_DOM_DISTILLER_CONTENT_BROWSER_DISTILLER_JAVASCRIPT_SERVICE_IM
PL_H_ |
6 #define COMPONENTS_DOM_DISTILLER_CONTENT_BROWSER_DISTILLER_JAVASCRIPT_SERVICE_IM
PL_H_ | 6 #define COMPONENTS_DOM_DISTILLER_CONTENT_BROWSER_DISTILLER_JAVASCRIPT_SERVICE_IM
PL_H_ |
7 | 7 |
8 #include "components/dom_distiller/content/browser/external_feedback_reporter.h" | 8 #include "components/dom_distiller/content/browser/distiller_ui_handle.h" |
9 #include "components/dom_distiller/content/common/distiller_javascript_service.m
ojom.h" | 9 #include "components/dom_distiller/content/common/distiller_javascript_service.m
ojom.h" |
10 #include "third_party/mojo/src/mojo/public/cpp/bindings/string.h" | 10 #include "third_party/mojo/src/mojo/public/cpp/bindings/string.h" |
11 #include "third_party/mojo/src/mojo/public/cpp/bindings/strong_binding.h" | 11 #include "third_party/mojo/src/mojo/public/cpp/bindings/strong_binding.h" |
12 | 12 |
13 namespace dom_distiller { | 13 namespace dom_distiller { |
14 | 14 |
15 // This is the receiving end of "distiller" JavaScript object calls. | 15 // This is the receiving end of "distiller" JavaScript object calls. |
16 class DistillerJavaScriptServiceImpl : public DistillerJavaScriptService { | 16 class DistillerJavaScriptServiceImpl : public DistillerJavaScriptService { |
17 public: | 17 public: |
18 DistillerJavaScriptServiceImpl( | 18 DistillerJavaScriptServiceImpl( |
19 content::RenderFrameHost* render_frame_host, | 19 content::RenderFrameHost* render_frame_host, |
20 ExternalFeedbackReporter* external_feedback_reporter, | 20 DistillerUIHandle* distiller_ui_handle, |
21 mojo::InterfaceRequest<DistillerJavaScriptService> request); | 21 mojo::InterfaceRequest<DistillerJavaScriptService> request); |
22 ~DistillerJavaScriptServiceImpl() override; | 22 ~DistillerJavaScriptServiceImpl() override; |
23 | 23 |
24 // Mojo DistillerJavaScriptService implementation. | 24 // Mojo DistillerJavaScriptService implementation. |
25 | 25 |
26 // Echo implementation, this call does not actually return as it would be | 26 // Echo implementation, this call does not actually return as it would be |
27 // blocking. | 27 // blocking. |
28 void HandleDistillerEchoCall(const mojo::String& message) override; | 28 void HandleDistillerEchoCall(const mojo::String& message) override; |
29 | 29 |
30 // Send UMA feedback and start the external feedback reporter if one exists. | 30 // Send UMA feedback and start the external feedback reporter if one exists. |
31 void HandleDistillerFeedbackCall(bool good) override; | 31 void HandleDistillerFeedbackCall(bool good) override; |
32 | 32 |
33 // Make a call into Android to close the overlay panel containing reader mode. | 33 // Make a call into Android to close the overlay panel containing reader mode. |
34 void HandleDistillerClosePanelCall() override; | 34 void HandleDistillerClosePanelCall() override; |
35 | 35 |
| 36 // Show the Android view containing Reader Mode settings. |
| 37 void HandleDistillerOpenSettingsCall() override; |
| 38 |
36 private: | 39 private: |
37 mojo::StrongBinding<DistillerJavaScriptService> binding_; | 40 mojo::StrongBinding<DistillerJavaScriptService> binding_; |
38 content::RenderFrameHost* render_frame_host_; | 41 content::RenderFrameHost* render_frame_host_; |
39 ExternalFeedbackReporter* external_feedback_reporter_; | 42 DistillerUIHandle* distiller_ui_handle_; |
40 }; | 43 }; |
41 | 44 |
42 // static | 45 // static |
43 void CreateDistillerJavaScriptService( | 46 void CreateDistillerJavaScriptService( |
44 content::RenderFrameHost* render_frame_host, | 47 content::RenderFrameHost* render_frame_host, |
45 ExternalFeedbackReporter* feedback_reporter, | 48 DistillerUIHandle* distiller_ui_handle, |
46 mojo::InterfaceRequest<DistillerJavaScriptService> request); | 49 mojo::InterfaceRequest<DistillerJavaScriptService> request); |
47 | 50 |
48 } // namespace dom_distiller | 51 } // namespace dom_distiller |
49 | 52 |
50 #endif // COMPONENTS_DOM_DISTILLER_CONTENT_BROWSER_DISTILLER_JAVASCRIPT_SERVICE
_IMPL_H_ | 53 #endif // COMPONENTS_DOM_DISTILLER_CONTENT_BROWSER_DISTILLER_JAVASCRIPT_SERVICE
_IMPL_H_ |
OLD | NEW |