summaryrefslogtreecommitdiff
path: root/testing/xfa_js_embedder_test.cpp
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2018-04-23 18:02:57 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-04-23 18:02:57 +0000
commit0784c7317e3aaa2c65d098cf2593b6b49986307d (patch)
treea264d06dcd9fd0d914324d5bd0a96430cc543b87 /testing/xfa_js_embedder_test.cpp
parent9f71afb882a9d1294f8a4392b8553e2c285f51c7 (diff)
downloadpdfium-0784c7317e3aaa2c65d098cf2593b6b49986307d.tar.xz
Disable JavaScript entirely if no JSPlatform passed by embedder.
Allows run-time selection of whether to permit JS inside PDF. Previously, this was a link-time decision only. This requires a little more caution before we decide that we have the CJS_Runtime, and not the CJS_RuntimeStub in a few casts. Adds a kDisableJavaScript option to the form fill embeddertests. Adds a --disable-javascript flag to the pdfium_test executable. Also adds a --disable-xfa flag while we're at it. Change-Id: I8d8ac95f6474459cadba9a60572fbb342e984646 Reviewed-on: https://pdfium-review.googlesource.com/31090 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'testing/xfa_js_embedder_test.cpp')
-rw-r--r--testing/xfa_js_embedder_test.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/testing/xfa_js_embedder_test.cpp b/testing/xfa_js_embedder_test.cpp
index 0fe4b7a624..995c0ed1d5 100644
--- a/testing/xfa_js_embedder_test.cpp
+++ b/testing/xfa_js_embedder_test.cpp
@@ -47,21 +47,24 @@ CXFA_Document* XFAJSEmbedderTest::GetXFADocument() {
return UnderlyingFromFPDFDocument(document())->GetXFADoc()->GetXFADoc();
}
-bool XFAJSEmbedderTest::OpenDocumentWithOptions(const std::string& filename,
- const char* password,
- bool must_linearize) {
- if (!EmbedderTest::OpenDocumentWithOptions(filename, password,
- must_linearize))
+bool XFAJSEmbedderTest::OpenDocumentWithOptions(
+ const std::string& filename,
+ const char* password,
+ LinearizeOption linearize_option,
+ JavaScriptOption javascript_option) {
+ // JS required for XFA.
+ ASSERT(javascript_option == JavaScriptOption::kEnableJavaScript);
+ if (!EmbedderTest::OpenDocumentWithOptions(
+ filename, password, linearize_option, javascript_option)) {
return false;
-
+ }
script_context_ = GetXFADocument()->GetScriptContext();
return true;
}
bool XFAJSEmbedderTest::Execute(const ByteStringView& input) {
- if (ExecuteHelper(input)) {
+ if (ExecuteHelper(input))
return true;
- }
CFXJSE_Value msg(GetIsolate());
value_->GetObjectPropertyByIdx(1, &msg);