summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/pepper
diff options
context:
space:
mode:
authoravi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-13 18:29:13 +0000
committeravi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-13 18:29:13 +0000
commitb32505712071c25688fddd89d2226964c6f6b9cd (patch)
treee3efe231dd9d0462fc14e780b11cccae7cf8dfa3 /chrome/renderer/pepper
parent9077e3b40f26b784949926f9c6e30a2c44c33024 (diff)
downloadchromium_src-b32505712071c25688fddd89d2226964c6f6b9cd.zip
chromium_src-b32505712071c25688fddd89d2226964c6f6b9cd.tar.gz
chromium_src-b32505712071c25688fddd89d2226964c6f6b9cd.tar.bz2
Adds a PPAPI interface to request a password. For the Mac it opens a tab-modal password box; for other platforms it falls back to a JavaScript dialog (which is no change from the current behavior).
BUG=54748 TEST=load a password-protected PDF on the Mac, see fancy new UI R=raymes@chromium.org, sail@chromium.org, thestig@chromium.org, tsepez@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=223074 Review URL: https://codereview.chromium.org/23447025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223085 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/pepper')
-rw-r--r--chrome/renderer/pepper/ppb_pdf_impl.cc23
1 files changed, 22 insertions, 1 deletions
diff --git a/chrome/renderer/pepper/ppb_pdf_impl.cc b/chrome/renderer/pepper/ppb_pdf_impl.cc
index a49455e..95bca9f 100644
--- a/chrome/renderer/pepper/ppb_pdf_impl.cc
+++ b/chrome/renderer/pepper/ppb_pdf_impl.cc
@@ -398,6 +398,26 @@ PP_Resource GetResourceImage(PP_Instance instance_id,
return GetResourceImageForScale(instance_id, image_id, 1.0f);
}
+PP_Var ModalPromptForPassword(PP_Instance instance_id,
+ PP_Var message) {
+ content::PepperPluginInstance* instance =
+ content::PepperPluginInstance::Get(instance_id);
+ if (!instance)
+ return PP_MakeUndefined();
+
+ std::string actual_value;
+ scoped_refptr<ppapi::StringVar> message_string(
+ ppapi::StringVar::FromPPVar(message));
+
+ instance->GetRenderView()->Send(
+ new ChromeViewHostMsg_PDFModalPromptForPassword(
+ instance->GetRenderView()->GetRoutingID(),
+ message_string->value(),
+ &actual_value));
+
+ return ppapi::StringVar::StringToPPVar(actual_value);
+}
+
const PPB_PDF ppb_pdf = {
&GetLocalizedString,
&GetResourceImage,
@@ -413,7 +433,8 @@ const PPB_PDF ppb_pdf = {
&SaveAs,
&PPB_PDF_Impl::InvokePrintingForInstance,
&IsFeatureEnabled,
- &GetResourceImageForScale
+ &GetResourceImageForScale,
+ &ModalPromptForPassword,
};
} // namespace