diff options
author | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-13 18:29:13 +0000 |
---|---|---|
committer | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-13 18:29:13 +0000 |
commit | b32505712071c25688fddd89d2226964c6f6b9cd (patch) | |
tree | e3efe231dd9d0462fc14e780b11cccae7cf8dfa3 /chrome/renderer/pepper | |
parent | 9077e3b40f26b784949926f9c6e30a2c44c33024 (diff) | |
download | chromium_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.cc | 23 |
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 |