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 |