summaryrefslogtreecommitdiff
path: root/samples
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2018-10-18 22:54:02 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-10-18 22:54:02 +0000
commit1f120c74ea2e0217dbb8a825bc7d495da805fc50 (patch)
tree614897f6488cad09c947b7ae318a9da4d66f3794 /samples
parent4c1ced59a6752f21fa857556a845ffad5919fbae (diff)
downloadpdfium-1f120c74ea2e0217dbb8a825bc7d495da805fc50.tar.xz
Fully populate JS platform callbacks in pdfium_test
Adjust expected results accordingly. Order functions to match platform member order. Change-Id: I3d5f8e3ef8f532af0891b7fbbc1a8305d1922a75 Reviewed-on: https://pdfium-review.googlesource.com/c/44311 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
Diffstat (limited to 'samples')
-rw-r--r--samples/pdfium_test.cc42
1 files changed, 34 insertions, 8 deletions
diff --git a/samples/pdfium_test.cc b/samples/pdfium_test.cc
index c5c298d23e..ac24bcc326 100644
--- a/samples/pdfium_test.cc
+++ b/samples/pdfium_test.cc
@@ -174,6 +174,10 @@ int ExampleAppAlert(IPDF_JSPLATFORM*,
return 0;
}
+void ExampleAppBeep(IPDF_JSPLATFORM*, int type) {
+ printf("BEEP!!! %d\n", type);
+}
+
int ExampleAppResponse(IPDF_JSPLATFORM*,
FPDF_WIDESTRING question,
FPDF_WIDESTRING title,
@@ -197,12 +201,12 @@ int ExampleAppResponse(IPDF_JSPLATFORM*,
return 4;
}
-void ExampleAppBeep(IPDF_JSPLATFORM*, int type) {
- printf("BEEP!!! %d\n", type);
-}
-
-void ExampleDocGotoPage(IPDF_JSPLATFORM*, int page_number) {
- printf("Goto Page: %d\n", page_number);
+int ExampleDocGetFilePath(IPDF_JSPLATFORM*, void* file_path, int length) {
+ static const char kPath[] = "myfile.pdf";
+ constexpr int kRequired = static_cast<int>(sizeof(kPath));
+ if (file_path && length >= kRequired)
+ memcpy(file_path, kPath, kRequired);
+ return kRequired;
}
void ExampleDocMail(IPDF_JSPLATFORM*,
@@ -232,6 +236,25 @@ void ExampleDocPrint(IPDF_JSPLATFORM*,
printf("Doc Print: %d, %d, %d, %d, %d, %d, %d, %d\n", bUI, nStart, nEnd,
bSilent, bShrinkToFit, bPrintAsImage, bReverse, bAnnotations);
}
+
+void ExampleDocSubmitForm(IPDF_JSPLATFORM*,
+ void* formData,
+ int length,
+ FPDF_WIDESTRING url) {
+ printf("Doc Submit Form: url=%ls\n", GetPlatformWString(url).c_str());
+}
+
+void ExampleDocGotoPage(IPDF_JSPLATFORM*, int page_number) {
+ printf("Goto Page: %d\n", page_number);
+}
+
+int ExampleFieldBrowse(IPDF_JSPLATFORM*, void* file_path, int length) {
+ static const char kPath[] = "selected.txt";
+ constexpr int kRequired = static_cast<int>(sizeof(kPath));
+ if (file_path && length >= kRequired)
+ memcpy(file_path, kPath, kRequired);
+ return kRequired;
+}
#endif // PDF_ENABLE_V8
void ExampleUnsupportedHandler(UNSUPPORT_INFO*, int type) {
@@ -733,11 +756,14 @@ void RenderPdf(const std::string& name,
IPDF_JSPLATFORM platform_callbacks = {};
platform_callbacks.version = 3;
platform_callbacks.app_alert = ExampleAppAlert;
- platform_callbacks.app_response = ExampleAppResponse;
platform_callbacks.app_beep = ExampleAppBeep;
- platform_callbacks.Doc_gotoPage = ExampleDocGotoPage;
+ platform_callbacks.app_response = ExampleAppResponse;
+ platform_callbacks.Doc_getFilePath = ExampleDocGetFilePath;
platform_callbacks.Doc_mail = ExampleDocMail;
platform_callbacks.Doc_print = ExampleDocPrint;
+ platform_callbacks.Doc_submitForm = ExampleDocSubmitForm;
+ platform_callbacks.Doc_gotoPage = ExampleDocGotoPage;
+ platform_callbacks.Field_browse = ExampleFieldBrowse;
#endif // PDF_ENABLE_V8
FPDF_FORMFILLINFO_PDFiumTest form_callbacks = {};