Use new JS wrapper with webkit2

This commit is contained in:
Tobias Taschner
2021-04-09 22:11:35 +02:00
parent 7aa1d84e4a
commit e1bd17d883

View File

@@ -1287,30 +1287,25 @@ bool wxWebViewWebKit::RunScriptSync(const wxString& javascript, wxString* output
bool wxWebViewWebKit::RunScript(const wxString& javascript, wxString* output) const
{
wxJSScriptWrapper wrapJS(javascript, &m_runScriptCount);
wxJSScriptWrapper wrapJS(javascript, wxJSScriptWrapper::JS_OUTPUT_STRING);
// This string is also used as an error indicator: it's cleared if there is
// no error or used in the warning message below if there is one.
bool success = false;
wxString result;
if ( RunScriptSync(wrapJS.GetWrappedCode(), &result)
&& result == wxS("true") )
{
if ( RunScriptSync(wrapJS.GetOutputCode(), &result) )
wxString scriptOutput;
if (RunScriptSync(wrapJS.GetWrappedCode(), &result))
{
success = wxJSScriptWrapper::ExtractOutput(result, &scriptOutput);
}
if (output)
*output = result;
result.clear();
}
output->assign(scriptOutput);
RunScriptSync(wrapJS.GetCleanUpCode());
}
if ( !result.empty() )
if (!success)
{
wxLogWarning(_("Error running JavaScript: %s"), result);
wxLogWarning(_("Error running JavaScript: %s"), scriptOutput);
return false;
}
else
return true;
}