Implement CPDFSDK_XFAWidgetHandler::OnKillFocus.

This makes XFA widgets lose focus when a click is performed outside
their area.

Bug: chromium:820256
Change-Id: I7b70fafdc625089f3340a3494bfd51e5c8d0446d
Reviewed-on: https://pdfium-review.googlesource.com/29860
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
diff --git a/fpdfsdk/cpdfsdk_xfawidgethandler.cpp b/fpdfsdk/cpdfsdk_xfawidgethandler.cpp
index 7eb5657..e39f8ce 100644
--- a/fpdfsdk/cpdfsdk_xfawidgethandler.cpp
+++ b/fpdfsdk/cpdfsdk_xfawidgethandler.cpp
@@ -302,6 +302,15 @@
 
 bool CPDFSDK_XFAWidgetHandler::OnKillFocus(CPDFSDK_Annot::ObservedPtr* pAnnot,
                                            uint32_t nFlag) {
+  CXFA_FFWidget* hWidget = *pAnnot ? (*pAnnot)->GetXFAWidget() : nullptr;
+  if (!hWidget)
+    return true;
+
+  CXFA_FFPageView* pXFAPageView = hWidget->GetPageView();
+  if (!pXFAPageView)
+    return true;
+
+  pXFAPageView->GetDocView()->SetFocus(nullptr);
   return true;
 }