summaryrefslogtreecommitdiff
path: root/fpdfsdk/fpdf_formfill_embeddertest.cpp
diff options
context:
space:
mode:
authorHenrique Nakashima <hnakashima@chromium.org>2018-09-20 21:32:36 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-09-20 21:32:36 +0000
commit9d784c291714b703b16185e69860a3797de85b6c (patch)
tree82de4d7b2b0692be0362b189eb231a7e14a33dca /fpdfsdk/fpdf_formfill_embeddertest.cpp
parente65756725f82456fced473d444961673ad7b3edb (diff)
downloadpdfium-9d784c291714b703b16185e69860a3797de85b6c.tar.xz
Make potentially dangerous Actions require a user click.
URI and SubmitForm actions are only handled if the event was ButtonUp or ButtonDown. Bug: 851821 Change-Id: If6eb0ff44f6d62ac6df50b552c0bdc582885ab5d Reviewed-on: https://pdfium-review.googlesource.com/42731 Commit-Queue: Henrique Nakashima <hnakashima@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Diffstat (limited to 'fpdfsdk/fpdf_formfill_embeddertest.cpp')
-rw-r--r--fpdfsdk/fpdf_formfill_embeddertest.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/fpdfsdk/fpdf_formfill_embeddertest.cpp b/fpdfsdk/fpdf_formfill_embeddertest.cpp
index 8ff3a84291..3e53753b48 100644
--- a/fpdfsdk/fpdf_formfill_embeddertest.cpp
+++ b/fpdfsdk/fpdf_formfill_embeddertest.cpp
@@ -379,6 +379,25 @@ TEST_F(FPDFFormFillEmbeddertest, BUG_514690) {
UnloadPage(page);
}
+class DoURIActionBlockedDelegate final : public EmbedderTest::Delegate {
+ public:
+ void DoURIAction(FPDF_BYTESTRING uri) override {
+ FAIL() << "Navigated to " << uri;
+ }
+};
+
+TEST_F(FPDFFormFillEmbeddertest, BUG_851821) {
+ DoURIActionBlockedDelegate delegate;
+ SetDelegate(&delegate);
+
+ EXPECT_TRUE(OpenDocument("redirect.pdf"));
+ FPDF_PAGE page = LoadPage(0);
+ EXPECT_TRUE(page);
+ DoOpenActions();
+
+ UnloadPage(page);
+}
+
#ifdef PDF_ENABLE_V8
TEST_F(FPDFFormFillEmbeddertest, DisableJavaScript) {
// Test that timers and intervals can't fire without JS.