Commit c54044ec authored by Tom Sepez's avatar Tom Sepez Committed by Chromium LUCI CQ

Fix PDF plugin when built using PDF_ENABLE_XFA

Broken at
  https://chromium-review.googlesource.com/c/chromium/src/+/2417091

The build configuration that provides the PDF_ENABLE_XFA symbol does
not appear to be present for files at the pdf/ directory level, only
for those at the pdf/pdfium/ directory level. To avoid requiring these
definitions at a higher level (since this minimizes recompilation when
the value changes), add a helper function in pdf/pdfium/ to return this
information.

Change-Id: I2499816aa9e5ac08c7064a961d2ed4f70c7772f1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2575042
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: default avatarK. Moon <kmoon@chromium.org>
Reviewed-by: default avatarDaniel Hosseinian <dhoss@chromium.org>
Cr-Commit-Position: refs/heads/master@{#833832}
parent ee495053
......@@ -469,14 +469,6 @@ bool IsSaveDataSizeValid(size_t size) {
return size > 0 && size <= kMaximumSavedFileSize;
}
PDFiumFormFiller::ScriptOption DefaultScriptOption() {
#if defined(PDF_ENABLE_XFA)
return PDFiumFormFiller::ScriptOption::kJavaScriptAndXFA;
#else // defined(PDF_ENABLE_XFA)
return PDFiumFormFiller::ScriptOption::kJavaScript;
#endif // defined(PDF_ENABLE_XFA)
}
PP_PrivateAccessibilityPageInfo
PrivateAccessibilityPageInfoFromAccessibilityPageInfo(
const AccessibilityPageInfo& page_info) {
......@@ -586,7 +578,8 @@ bool OutOfProcessInstance::Init(uint32_t argc,
text_input_ = std::make_unique<pp::TextInput_Dev>(this);
PDFiumFormFiller::ScriptOption script_option = DefaultScriptOption();
PDFiumFormFiller::ScriptOption script_option =
PDFiumFormFiller::DefaultScriptOption();
bool has_edits = false;
const char* stream_url = nullptr;
const char* original_url = nullptr;
......
......@@ -28,6 +28,15 @@ std::string WideStringToString(FPDF_WIDESTRING wide_string) {
} // namespace
// static
PDFiumFormFiller::ScriptOption PDFiumFormFiller::DefaultScriptOption() {
#if defined(PDF_ENABLE_XFA)
return ScriptOption::kJavaScriptAndXFA;
#else // defined(PDF_ENABLE_XFA)
return ScriptOption::kJavaScript;
#endif // defined(PDF_ENABLE_XFA)
}
PDFiumFormFiller::PDFiumFormFiller(PDFiumEngine* engine,
ScriptOption script_option)
: engine_(engine), script_option_(script_option) {
......
......@@ -20,6 +20,7 @@ class PDFiumEngine;
class PDFiumFormFiller : public FPDF_FORMFILLINFO, public IPDF_JSPLATFORM {
public:
enum class ScriptOption { kNoJavaScript, kJavaScript, kJavaScriptAndXFA };
static PDFiumFormFiller::ScriptOption DefaultScriptOption();
// NOTE: |script_option| is ignored when PDF_ENABLE_V8 is not defined.
PDFiumFormFiller(PDFiumEngine* engine, ScriptOption script_option);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment