Index: components/pdf/renderer/pepper_pdf_host.cc |
diff --git a/components/pdf/renderer/pepper_pdf_host.cc b/components/pdf/renderer/pepper_pdf_host.cc |
index af5469363a0f1487833bbabc8790333decf1ef1a..08e80e6341e38785b5470b928528bb433232c3bd 100644 |
--- a/components/pdf/renderer/pepper_pdf_host.cc |
+++ b/components/pdf/renderer/pepper_pdf_host.cc |
@@ -5,8 +5,8 @@ |
#include "components/pdf/renderer/pepper_pdf_host.h" |
#include "base/memory/ptr_util.h" |
-#include "components/pdf/common/pdf_messages.h" |
#include "components/pdf/renderer/pdf_accessibility_tree.h" |
+#include "content/public/common/associated_interface_provider.h" |
#include "content/public/common/referrer.h" |
#include "content/public/renderer/pepper_plugin_instance.h" |
#include "content/public/renderer/render_frame.h" |
@@ -118,12 +118,11 @@ int32_t PepperPDFHost::OnHostMsgDidStopLoading( |
int32_t PepperPDFHost::OnHostMsgSetContentRestriction( |
ppapi::host::HostMessageContext* context, |
int restrictions) { |
- content::RenderFrame* render_frame = GetRenderFrame(); |
- if (!render_frame) |
+ mojom::PdfService* service = GetRemotePdfService(); |
+ if (!service) |
return PP_ERROR_FAILED; |
- render_frame->Send(new PDFHostMsg_PDFUpdateContentRestrictions( |
- render_frame->GetRoutingID(), restrictions)); |
+ service->UpdateContentRestrictions(restrictions); |
return PP_OK; |
} |
@@ -138,12 +137,11 @@ int32_t PepperPDFHost::OnHostMsgUserMetricsRecordAction( |
int32_t PepperPDFHost::OnHostMsgHasUnsupportedFeature( |
ppapi::host::HostMessageContext* context) { |
- content::RenderFrame* render_frame = GetRenderFrame(); |
- if (!render_frame) |
+ mojom::PdfService* service = GetRemotePdfService(); |
+ if (!service) |
return PP_ERROR_FAILED; |
- render_frame->Send( |
- new PDFHostMsg_PDFHasUnsupportedFeature(render_frame->GetRoutingID())); |
+ service->HasUnsupportedFeature(); |
return PP_OK; |
} |
@@ -159,17 +157,17 @@ int32_t PepperPDFHost::OnHostMsgSaveAs( |
if (!instance) |
return PP_ERROR_FAILED; |
- content::RenderFrame* render_frame = instance->GetRenderFrame(); |
- if (!render_frame) |
- return PP_ERROR_FAILED; |
- |
GURL url = instance->GetPluginURL(); |
content::Referrer referrer; |
referrer.url = url; |
referrer.policy = blink::WebReferrerPolicyDefault; |
referrer = content::Referrer::SanitizeForRequest(url, referrer); |
- render_frame->Send( |
- new PDFHostMsg_PDFSaveURLAs(render_frame->GetRoutingID(), url, referrer)); |
+ |
+ mojom::PdfService* service = GetRemotePdfService(); |
+ if (!service) |
+ return PP_ERROR_FAILED; |
+ |
+ service->SaveUrlAs(url, referrer); |
return PP_OK; |
} |
@@ -241,4 +239,16 @@ content::RenderFrame* PepperPDFHost::GetRenderFrame() { |
return instance ? instance->GetRenderFrame() : nullptr; |
} |
+mojom::PdfService* PepperPDFHost::GetRemotePdfService() { |
+ content::RenderFrame* render_frame = GetRenderFrame(); |
+ if (!render_frame) |
+ return nullptr; |
+ |
+ if (!remote_pdf_service_) { |
+ render_frame->GetRemoteAssociatedInterfaces()->GetInterface( |
+ &remote_pdf_service_); |
+ } |
+ return remote_pdf_service_.get(); |
+} |
+ |
} // namespace pdf |