Fix the way to check terminal field in interactive form

Originally the key "T" was checked which was not correct since that
key is optional. Now change to check "FT" as well as its parent's
key since this key is also inheritable.

BUG=chromium:440132

Review-Url: https://codereview.chromium.org/2554223002
diff --git a/DEPS b/DEPS
index 592f5b6..6f89773 100644
--- a/DEPS
+++ b/DEPS
@@ -15,7 +15,7 @@
   'gtest_revision': '8245545b6dc9c4703e6496d1efd19e975ad2b038',
   'icu_revision': '2341038bf72869a5683a893a2b319a48ffec7f62',
   'instrumented_lib_revision': '45f5814b1543e41ea0be54c771e3840ea52cca4a',
-  'pdfium_tests_revision': '943683e198317881f2111e9c55c0bae34b529a33',
+  'pdfium_tests_revision': '9d17ef47f310332ac64e78e636681d493482a409',
   'skia_revision': 'a9fd106d0c4dd5449c607add0716db7bbd81bc73',
   'tools_memory_revision': '427f10475e1a8d72424c29d00bf689122b738e5d',
   'trace_event_revision': '06294c8a4a6f744ef284cd63cfe54dbf61eea290',
diff --git a/core/fpdfdoc/cpdf_interform.cpp b/core/fpdfdoc/cpdf_interform.cpp
index c323986..e574e28 100644
--- a/core/fpdfdoc/cpdf_interform.cpp
+++ b/core/fpdfdoc/cpdf_interform.cpp
@@ -1079,8 +1079,12 @@
 }
 
 CPDF_FormField* CPDF_InterForm::AddTerminalField(CPDF_Dictionary* pFieldDict) {
-  if (!pFieldDict->KeyExist("T"))
-    return nullptr;
+  if (!pFieldDict->KeyExist("FT")) {
+    // Key "FT" is required for terminal fields, it is also inheritable.
+    CPDF_Dictionary* pParentDict = pFieldDict->GetDictFor("Parent");
+    if (!pParentDict || !pParentDict->KeyExist("FT"))
+      return nullptr;
+  }
 
   CPDF_Dictionary* pDict = pFieldDict;
   CFX_WideString csWName = FPDF_GetFullName(pFieldDict);
diff --git a/testing/SUPPRESSIONS b/testing/SUPPRESSIONS
index e9710e6..2d54247 100644
--- a/testing/SUPPRESSIONS
+++ b/testing/SUPPRESSIONS
@@ -290,6 +290,7 @@
 bug_0_width_line.pdf mac * *
 bug_434.pdf * * noxfa
 bug_434.pdf win * xfa
+bug_440132.pdf mac * *
 bug_white_space.pdf mac * *
 calcorderindex_test.pdf * * *
 calculate_average.pdf mac * *