Chromium Code Reviews| Index: components/dom_distiller/content/browser/distiller_javascript_service_impl.cc |
| diff --git a/components/dom_distiller/content/browser/distiller_javascript_service_impl.cc b/components/dom_distiller/content/browser/distiller_javascript_service_impl.cc |
| index 16601d2c96fbcd91dd57f19f630b0f03682a118f..6c13eff11e88279762e4012ac5acd5767e14ce7a 100644 |
| --- a/components/dom_distiller/content/browser/distiller_javascript_service_impl.cc |
| +++ b/components/dom_distiller/content/browser/distiller_javascript_service_impl.cc |
| @@ -3,23 +3,51 @@ |
| // found in the LICENSE file. |
| #include "components/dom_distiller/content/browser/distiller_javascript_service_impl.h" |
| +#include "components/dom_distiller/content/browser/external_feedback_reporter.h" |
| +#include "components/dom_distiller/core/feedback_reporter.h" |
| #include "third_party/mojo/src/mojo/public/cpp/bindings/string.h" |
| namespace dom_distiller { |
| DistillerJavaScriptServiceImpl::DistillerJavaScriptServiceImpl( |
| - mojo::InterfaceRequest<DistillerJavaScriptService> request) |
| - : binding_(this, request.Pass()) {} |
| + content::RenderFrameHost* render_frame_host, |
| + ExternalFeedbackReporter* external_feedback_reporter, |
| + mojo::InterfaceRequest<DistillerJavaScriptService> request) |
| + : binding_(this, request.Pass()), |
| + render_frame_host_(render_frame_host), |
| + external_feedback_reporter_(external_feedback_reporter) {} |
| DistillerJavaScriptServiceImpl::~DistillerJavaScriptServiceImpl() {} |
| void DistillerJavaScriptServiceImpl::HandleDistillerEchoCall( |
| const mojo::String& message) {} |
| +void DistillerJavaScriptServiceImpl::HandleDistillerFeedbackCall( |
| + bool good) { |
| + if (good) { |
| + FeedbackReporter::ReportQuality(true); |
| + return; |
| + } |
| + |
| + // If feedback is bad, report it and try to start up external feedback. |
| + FeedbackReporter::ReportQuality(false); |
|
nyquist
2015/09/10 19:04:13
Could we just do:
###
FeedbackReporter::ReportQual
mdjones
2015/09/11 16:50:13
Done.
|
| + if (!external_feedback_reporter_) { |
| + return; |
| + } |
| + content::WebContents* contents = |
| + content::WebContents::FromRenderFrameHost(render_frame_host_); |
| + external_feedback_reporter_->ReportExternalFeedback( |
| + contents, contents->GetURL(), false); |
| + return; |
| +} |
| + |
| void CreateDistillerJavaScriptService( |
| + content::RenderFrameHost* render_frame_host, |
| + ExternalFeedbackReporter* feedback_reporter, |
| mojo::InterfaceRequest<DistillerJavaScriptService> request) { |
| // This is strongly bound and owned by the pipe. |
| - new DistillerJavaScriptServiceImpl(request.Pass()); |
| + new DistillerJavaScriptServiceImpl(render_frame_host, feedback_reporter, |
| + request.Pass()); |
| } |
| } // namespace dom_distiller |