Remove unreachable null checks for CXFA_Document::GetScriptContext().

It asserts that it never returns NULL, so caller's checks are
unreachable. Also kill some needless asserts when immediately
followed by de-ref (since segvs are free).

Change-Id: I1bac6122fb3922c9547d7223c01c4611907e268e
Reviewed-on: https://pdfium-review.googlesource.com/c/49191
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/fxjs/xfa/cfxjse_formcalc_context.cpp b/fxjs/xfa/cfxjse_formcalc_context.cpp
index ae4d096..00ae76f 100644
--- a/fxjs/xfa/cfxjse_formcalc_context.cpp
+++ b/fxjs/xfa/cfxjse_formcalc_context.cpp
@@ -420,7 +420,6 @@
     return pMgr->GetLocaleByName(WideString::FromUTF8(szLocale));
 
   CXFA_Node* pThisNode = ToNode(pDoc->GetScriptContext()->GetThisObject());
-  ASSERT(pThisNode);
   return pThisNode->GetLocale();
 }
 
@@ -2372,7 +2371,6 @@
   LocaleIface* pLocale = nullptr;
   if (localString.IsEmpty()) {
     CXFA_Node* pThisNode = ToNode(pDoc->GetScriptContext()->GetThisObject());
-    ASSERT(pThisNode);
     pLocale = pThisNode->GetLocale();
   } else {
     pLocale =
@@ -3686,8 +3684,6 @@
   CXFA_Document* pDoc = pContext->GetDocument();
   CXFA_LocaleMgr* pMgr = pDoc->GetLocaleMgr();
   CXFA_Node* pThisNode = ToNode(pDoc->GetScriptContext()->GetThisObject());
-  ASSERT(pThisNode);
-
   LocaleIface* pLocale = pThisNode->GetLocale();
   WideString wsPattern = WideString::FromUTF8(szPattern.AsStringView());
   WideString wsValue = WideString::FromUTF8(szValue.AsStringView());
@@ -3865,8 +3861,6 @@
   CXFA_Document* pDoc = pContext->GetDocument();
   CXFA_LocaleMgr* pMgr = pDoc->GetLocaleMgr();
   CXFA_Node* pThisNode = ToNode(pDoc->GetScriptContext()->GetThisObject());
-  ASSERT(pThisNode);
-
   LocaleIface* pLocale = pThisNode->GetLocale();
   WideString wsPattern = WideString::FromUTF8(szPattern.AsStringView());
   WideString wsValue = WideString::FromUTF8(szValue.AsStringView());
diff --git a/fxjs/xfa/cjx_eventpseudomodel.cpp b/fxjs/xfa/cjx_eventpseudomodel.cpp
index 99c155e..4c744f7 100644
--- a/fxjs/xfa/cjx_eventpseudomodel.cpp
+++ b/fxjs/xfa/cjx_eventpseudomodel.cpp
@@ -109,9 +109,6 @@
     return;
 
   CFXJSE_Engine* pScriptContext = GetDocument()->GetScriptContext();
-  if (!pScriptContext)
-    return;
-
   CXFA_EventParam* pEventParam = pScriptContext->GetEventParam();
   if (!pEventParam)
     return;
@@ -177,9 +174,6 @@
     CFX_V8* runtime,
     const std::vector<v8::Local<v8::Value>>& params) {
   CFXJSE_Engine* pScriptContext = GetDocument()->GetScriptContext();
-  if (!pScriptContext)
-    return CJS_Result::Success();
-
   CXFA_EventParam* pEventParam = pScriptContext->GetEventParam();
   if (!pEventParam)
     return CJS_Result::Success();
@@ -200,9 +194,6 @@
     CFX_V8* runtime,
     const std::vector<v8::Local<v8::Value>>& params) {
   CFXJSE_Engine* pScriptContext = GetDocument()->GetScriptContext();
-  if (!pScriptContext)
-    return CJS_Result::Success();
-
   CXFA_EventParam* pEventParam = pScriptContext->GetEventParam();
   if (pEventParam)
     *pEventParam = CXFA_EventParam();
@@ -221,9 +212,6 @@
   }
 
   CFXJSE_Engine* pScriptContext = GetDocument()->GetScriptContext();
-  if (!pScriptContext)
-    return;
-
   CXFA_EventParam* pEventParam = pScriptContext->GetEventParam();
   if (!pEventParam)
     return;
diff --git a/fxjs/xfa/cjx_hostpseudomodel.cpp b/fxjs/xfa/cjx_hostpseudomodel.cpp
index 2e7d137..ab132b5 100644
--- a/fxjs/xfa/cjx_hostpseudomodel.cpp
+++ b/fxjs/xfa/cjx_hostpseudomodel.cpp
@@ -281,9 +281,6 @@
         ToNode(static_cast<CFXJSE_Engine*>(runtime)->ToXFAObject(params[0]));
   } else if (params[0]->IsString()) {
     CFXJSE_Engine* pScriptContext = GetDocument()->GetScriptContext();
-    if (!pScriptContext)
-      return CJS_Result::Success();
-
     CXFA_Object* pObject = pScriptContext->GetThisObject();
     if (!pObject)
       return CJS_Result::Success();
@@ -379,9 +376,6 @@
   while (iStart < iExpLength) {
     iStart = FilterName(expression.AsStringView(), iStart, wsName);
     CFXJSE_Engine* pScriptContext = GetDocument()->GetScriptContext();
-    if (!pScriptContext)
-      return CJS_Result::Success();
-
     CXFA_Object* pObject = pScriptContext->GetThisObject();
     if (!pObject)
       return CJS_Result::Success();
@@ -444,9 +438,6 @@
           ToNode(static_cast<CFXJSE_Engine*>(runtime)->ToXFAObject(params[0]));
     } else if (params[0]->IsString()) {
       CFXJSE_Engine* pScriptContext = GetDocument()->GetScriptContext();
-      if (!pScriptContext)
-        return CJS_Result::Success();
-
       CXFA_Object* pObject = pScriptContext->GetThisObject();
       if (!pObject)
         return CJS_Result::Success();
diff --git a/fxjs/xfa/cjx_object.cpp b/fxjs/xfa/cjx_object.cpp
index 654e588..08656ab 100644
--- a/fxjs/xfa/cjx_object.cpp
+++ b/fxjs/xfa/cjx_object.cpp
@@ -774,9 +774,7 @@
   if (pNode) {
     if (bScriptModify) {
       CFXJSE_Engine* pScriptContext = GetDocument()->GetScriptContext();
-      if (pScriptContext)
-        GetDocument()->GetScriptContext()->AddNodesOfRunScript(
-            ToNode(GetXFAObject()));
+      pScriptContext->AddNodesOfRunScript(ToNode(GetXFAObject()));
     }
     return TryCData(XFA_Attribute::Value, false);
   }
diff --git a/fxjs/xfa/cjx_tree.cpp b/fxjs/xfa/cjx_tree.cpp
index 50c90cb..b01a147 100644
--- a/fxjs/xfa/cjx_tree.cpp
+++ b/fxjs/xfa/cjx_tree.cpp
@@ -41,9 +41,6 @@
 
   WideString expression = runtime->ToWideString(params[0]);
   CFXJSE_Engine* pScriptContext = GetDocument()->GetScriptContext();
-  if (!pScriptContext)
-    return CJS_Result::Success();
-
   CXFA_Object* refNode = GetXFAObject();
   if (refNode->GetElementType() == XFA_Element::Xfa)
     refNode = pScriptContext->GetThisObject();
@@ -93,9 +90,6 @@
     refNode = GetDocument()->GetScriptContext()->GetThisObject();
 
   CFXJSE_Engine* pScriptContext = GetDocument()->GetScriptContext();
-  if (!pScriptContext)
-    return CJS_Result::Success();
-
   auto pValue = pdfium::MakeUnique<CFXJSE_Value>(pScriptContext->GetIsolate());
   ResolveNodeList(pValue.get(), runtime->ToWideString(params[0]),
                   XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Attributes |
@@ -136,16 +130,13 @@
 void CJX_Tree::nodes(CFXJSE_Value* pValue,
                      bool bSetting,
                      XFA_Attribute eAttribute) {
-  CFXJSE_Engine* pScriptContext = GetDocument()->GetScriptContext();
-  if (!pScriptContext)
-    return;
-
   if (bSetting) {
     WideString wsMessage = L"Unable to set ";
     FXJSE_ThrowMessage(wsMessage.ToUTF8().AsStringView());
     return;
   }
 
+  CFXJSE_Engine* pScriptContext = GetDocument()->GetScriptContext();
   CXFA_AttachNodeList* pNodeList =
       new CXFA_AttachNodeList(GetDocument(), ToNode(GetXFAObject()));
   pValue->SetObject(pNodeList, pScriptContext->GetJseNormalClass());
@@ -177,10 +168,6 @@
   }
 
   CFXJSE_Engine* pScriptContext = GetDocument()->GetScriptContext();
-  if (!pScriptContext) {
-    pValue->SetInteger(-1);
-    return;
-  }
   pValue->SetInteger(pScriptContext->GetIndexByName(ToNode(GetXFAObject())));
 }
 
@@ -193,10 +180,6 @@
   }
 
   CFXJSE_Engine* pScriptContext = GetDocument()->GetScriptContext();
-  if (!pScriptContext) {
-    pValue->SetInteger(-1);
-    return;
-  }
   pValue->SetInteger(
       pScriptContext->GetIndexByClassName(ToNode(GetXFAObject())));
 }
@@ -217,13 +200,11 @@
                                WideString wsExpression,
                                uint32_t dwFlag,
                                CXFA_Node* refNode) {
-  CFXJSE_Engine* pScriptContext = GetDocument()->GetScriptContext();
-  if (!pScriptContext)
-    return;
   if (!refNode)
     refNode = ToNode(GetXFAObject());
 
   XFA_RESOLVENODE_RS resolveNodeRS;
+  CFXJSE_Engine* pScriptContext = GetDocument()->GetScriptContext();
   pScriptContext->ResolveObjects(refNode, wsExpression.AsStringView(),
                                  &resolveNodeRS, dwFlag, nullptr);
   CXFA_ArrayNodeList* pNodeList = new CXFA_ArrayNodeList(GetDocument());
diff --git a/xfa/fxfa/cxfa_ffdocview.cpp b/xfa/fxfa/cxfa_ffdocview.cpp
index 985e4ce..87835bb 100644
--- a/xfa/fxfa/cxfa_ffdocview.cpp
+++ b/xfa/fxfa/cxfa_ffdocview.cpp
@@ -405,9 +405,6 @@
 CXFA_FFWidget* CXFA_FFDocView::GetWidgetByName(const WideString& wsName,
                                                CXFA_FFWidget* pRefWidget) {
   CFXJSE_Engine* pScriptContext = m_pDoc->GetXFADoc()->GetScriptContext();
-  if (!pScriptContext)
-    return nullptr;
-
   CXFA_Node* pRefNode = nullptr;
   if (pRefWidget) {
     CXFA_Node* node = pRefWidget->GetNode();
diff --git a/xfa/fxfa/parser/cxfa_object.cpp b/xfa/fxfa/parser/cxfa_object.cpp
index 38cc41d..e69d060 100644
--- a/xfa/fxfa/parser/cxfa_object.cpp
+++ b/xfa/fxfa/parser/cxfa_object.cpp
@@ -38,9 +38,6 @@
 
 WideString CXFA_Object::GetSOMExpression() {
   CFXJSE_Engine* pScriptContext = m_pDocument->GetScriptContext();
-  if (!pScriptContext)
-    return WideString();
-
   return pScriptContext->GetSomExpression(ToNode(this));
 }