Pass ByteStrings to Form Fill Env actions.

Bug: pdfium:1706
Change-Id: If1ae0dc74b589503e37bbd75464fbdb5dd74d076
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/83564
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/fpdfsdk/cpdfsdk_actionhandler.cpp b/fpdfsdk/cpdfsdk_actionhandler.cpp
index bbca1bc..c3693ac 100644
--- a/fpdfsdk/cpdfsdk_actionhandler.cpp
+++ b/fpdfsdk/cpdfsdk_actionhandler.cpp
@@ -308,18 +308,15 @@
     const CPDF_Action& action,
     int modifiers) {
   DCHECK(action.GetDict());
-
-  ByteString sURI = action.GetURI(pFormFillEnv->GetPDFDocument());
-  pFormFillEnv->DoURIAction(sURI.c_str(), modifiers);
+  pFormFillEnv->DoURIAction(action.GetURI(pFormFillEnv->GetPDFDocument()),
+                            modifiers);
 }
 
 void CPDFSDK_ActionHandler::DoAction_Named(
     CPDFSDK_FormFillEnvironment* pFormFillEnv,
     const CPDF_Action& action) {
   DCHECK(action.GetDict());
-
-  ByteString csName = action.GetNamedAction();
-  pFormFillEnv->ExecuteNamedAction(csName.c_str());
+  pFormFillEnv->ExecuteNamedAction(action.GetNamedAction());
 }
 
 void CPDFSDK_ActionHandler::RunFieldJavaScript(
diff --git a/fpdfsdk/cpdfsdk_formfillenvironment.cpp b/fpdfsdk/cpdfsdk_formfillenvironment.cpp
index d166826..572e1fa 100644
--- a/fpdfsdk/cpdfsdk_formfillenvironment.cpp
+++ b/fpdfsdk/cpdfsdk_formfillenvironment.cpp
@@ -388,9 +388,10 @@
     m_pInfo->FFI_OnChange(m_pInfo);
 }
 
-void CPDFSDK_FormFillEnvironment::ExecuteNamedAction(const char* namedAction) {
+void CPDFSDK_FormFillEnvironment::ExecuteNamedAction(
+    const ByteString& namedAction) {
   if (m_pInfo && m_pInfo->FFI_ExecuteNamedAction)
-    m_pInfo->FFI_ExecuteNamedAction(m_pInfo, namedAction);
+    m_pInfo->FFI_ExecuteNamedAction(m_pInfo, namedAction.c_str());
 }
 
 void CPDFSDK_FormFillEnvironment::OnSetFieldInputFocus(
@@ -401,18 +402,19 @@
     m_pInfo->FFI_SetTextFieldFocus(m_pInfo, focusText, nTextLen, bFocus);
 }
 
-void CPDFSDK_FormFillEnvironment::DoURIAction(const char* bsURI,
+void CPDFSDK_FormFillEnvironment::DoURIAction(const ByteString& bsURI,
                                               uint32_t modifiers) {
   if (!m_pInfo)
     return;
 
   if (m_pInfo->version >= 2 && m_pInfo->FFI_DoURIActionWithKeyboardModifier) {
-    m_pInfo->FFI_DoURIActionWithKeyboardModifier(m_pInfo, bsURI, modifiers);
+    m_pInfo->FFI_DoURIActionWithKeyboardModifier(m_pInfo, bsURI.c_str(),
+                                                 modifiers);
     return;
   }
 
   if (m_pInfo->FFI_DoURIAction)
-    m_pInfo->FFI_DoURIAction(m_pInfo, bsURI);
+    m_pInfo->FFI_DoURIAction(m_pInfo, bsURI.c_str());
 }
 
 void CPDFSDK_FormFillEnvironment::DoGoToAction(int nPageIndex,
diff --git a/fpdfsdk/cpdfsdk_formfillenvironment.h b/fpdfsdk/cpdfsdk_formfillenvironment.h
index d713eed..bedbc37 100644
--- a/fpdfsdk/cpdfsdk_formfillenvironment.h
+++ b/fpdfsdk/cpdfsdk_formfillenvironment.h
@@ -92,11 +92,11 @@
   void Invalidate(IPDF_Page* page, const FX_RECT& rect);
 
   void OnChange();
-  void ExecuteNamedAction(const char* namedAction);
+  void ExecuteNamedAction(const ByteString& namedAction);
   void OnSetFieldInputFocus(FPDF_WIDESTRING focusText,
                             FPDF_DWORD nTextLen,
                             bool bFocus);
-  void DoURIAction(const char* bsURI, uint32_t modifiers);
+  void DoURIAction(const ByteString& bsURI, uint32_t modifiers);
   void DoGoToAction(int nPageIndex,
                     int zoomMode,
                     float* fPosArray,