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

Side by Side Diff: components/dom_distiller/content/browser/distiller_javascript_service_impl.cc

Issue 1386043002: Open distiller UI setting through JavaScript (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comment nits Created 5 years, 2 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
OLDNEW
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 #include "components/dom_distiller/content/browser/distiller_javascript_service_ impl.h" 5 #include "components/dom_distiller/content/browser/distiller_javascript_service_ impl.h"
6 #include "components/dom_distiller/content/browser/external_feedback_reporter.h" 6 #include "components/dom_distiller/content/browser/distiller_ui_handle.h"
7 #include "components/dom_distiller/core/feedback_reporter.h" 7 #include "components/dom_distiller/core/feedback_reporter.h"
8 #include "content/public/browser/user_metrics.h" 8 #include "content/public/browser/user_metrics.h"
9 #include "third_party/mojo/src/mojo/public/cpp/bindings/string.h" 9 #include "third_party/mojo/src/mojo/public/cpp/bindings/string.h"
10 10
11 namespace dom_distiller { 11 namespace dom_distiller {
12 12
13 DistillerJavaScriptServiceImpl::DistillerJavaScriptServiceImpl( 13 DistillerJavaScriptServiceImpl::DistillerJavaScriptServiceImpl(
14 content::RenderFrameHost* render_frame_host, 14 content::RenderFrameHost* render_frame_host,
15 ExternalFeedbackReporter* external_feedback_reporter, 15 DistillerUIHandle* distiller_ui_handle,
16 mojo::InterfaceRequest<DistillerJavaScriptService> request) 16 mojo::InterfaceRequest<DistillerJavaScriptService> request)
17 : binding_(this, request.Pass()), 17 : binding_(this, request.Pass()),
18 render_frame_host_(render_frame_host), 18 render_frame_host_(render_frame_host),
19 external_feedback_reporter_(external_feedback_reporter) {} 19 distiller_ui_handle_(distiller_ui_handle) {}
20 20
21 DistillerJavaScriptServiceImpl::~DistillerJavaScriptServiceImpl() {} 21 DistillerJavaScriptServiceImpl::~DistillerJavaScriptServiceImpl() {}
22 22
23 void DistillerJavaScriptServiceImpl::HandleDistillerEchoCall( 23 void DistillerJavaScriptServiceImpl::HandleDistillerEchoCall(
24 const mojo::String& message) {} 24 const mojo::String& message) {}
25 25
26 void DistillerJavaScriptServiceImpl::HandleDistillerFeedbackCall( 26 void DistillerJavaScriptServiceImpl::HandleDistillerFeedbackCall(
27 bool good) { 27 bool good) {
28 FeedbackReporter::ReportQuality(good); 28 FeedbackReporter::ReportQuality(good);
29 if (good) { 29 if (good) {
30 return; 30 return;
31 } 31 }
32 32
33 // If feedback is bad try to start up external feedback. 33 // If feedback is bad try to start up external feedback.
34 if (!external_feedback_reporter_) { 34 if (!distiller_ui_handle_) {
35 return; 35 return;
36 } 36 }
37 content::WebContents* contents = 37 content::WebContents* contents =
38 content::WebContents::FromRenderFrameHost(render_frame_host_); 38 content::WebContents::FromRenderFrameHost(render_frame_host_);
39 external_feedback_reporter_->ReportExternalFeedback( 39 distiller_ui_handle_->ReportExternalFeedback(
40 contents, contents->GetURL(), false); 40 contents, contents->GetURL(), false);
41 return; 41 return;
42 } 42 }
43 43
44 void DistillerJavaScriptServiceImpl::HandleDistillerClosePanelCall() { 44 void DistillerJavaScriptServiceImpl::HandleDistillerClosePanelCall() {
45 content::RecordAction(base::UserMetricsAction("DomDistiller_ViewOriginal")); 45 content::RecordAction(base::UserMetricsAction("DomDistiller_ViewOriginal"));
46 } 46 }
47 47
48 void DistillerJavaScriptServiceImpl::HandleDistillerOpenSettingsCall() {
49 if (!distiller_ui_handle_) {
50 return;
51 }
52 content::WebContents* contents =
53 content::WebContents::FromRenderFrameHost(render_frame_host_);
54 distiller_ui_handle_->OpenSettings(contents);
55 }
56
48 void CreateDistillerJavaScriptService( 57 void CreateDistillerJavaScriptService(
49 content::RenderFrameHost* render_frame_host, 58 content::RenderFrameHost* render_frame_host,
50 ExternalFeedbackReporter* feedback_reporter, 59 DistillerUIHandle* distiller_ui_handle,
51 mojo::InterfaceRequest<DistillerJavaScriptService> request) { 60 mojo::InterfaceRequest<DistillerJavaScriptService> request) {
52 // This is strongly bound and owned by the pipe. 61 // This is strongly bound and owned by the pipe.
53 new DistillerJavaScriptServiceImpl(render_frame_host, feedback_reporter, 62 new DistillerJavaScriptServiceImpl(render_frame_host, distiller_ui_handle,
54 request.Pass()); 63 request.Pass());
55 } 64 }
56 65
57 } // namespace dom_distiller 66 } // namespace dom_distiller
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698