From d047bf2beb78e9ca3e390a7edf83ba81aa69f2b0 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 22 Oct 2017 00:20:54 +0200 Subject: [PATCH] Make CallEval() simpler to use by taking a string in it Don't force the caller to convert the string to wxVariant when we can perfectly well do it ourselves. --- src/msw/webview_ie.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/msw/webview_ie.cpp b/src/msw/webview_ie.cpp index 0dcdd16385..642aff1245 100644 --- a/src/msw/webview_ie.cpp +++ b/src/msw/webview_ie.cpp @@ -880,10 +880,12 @@ bool wxWebViewIE::MSWSetModernEmulationLevel(bool modernLevel) } static -bool CallEval(wxVariant varJavascript, wxAutomationObject& scriptAO, - wxVariant* varResult) +bool CallEval(const wxString& code, + wxAutomationObject& scriptAO, + wxVariant* varResult) { - if ( !scriptAO.Invoke("eval", DISPATCH_METHOD, *varResult, 1, &varJavascript) ) + wxVariant varCode(code); + if ( !scriptAO.Invoke("eval", DISPATCH_METHOD, *varResult, 1, &varCode) ) { wxLogWarning(_("Can't run JavaScript")); return false; @@ -912,23 +914,20 @@ bool wxWebViewIE::RunScript(const wxString& javascript, wxString* output) wxJSScriptWrapper wrapJS(javascript, &m_runScriptCount); wxAutomationObject scriptAO(scriptDispatch); - wxVariant varJavascript(wrapJS.GetWrappedCode()); wxVariant varResult; - if ( !CallEval(varJavascript, scriptAO, &varResult) ) + if ( !CallEval(wrapJS.GetWrappedCode(), scriptAO, &varResult) ) return false; if ( varResult.IsType("bool") && varResult.GetBool() ) { - varJavascript = wrapJS.GetOutputCode(); - if ( !CallEval(varJavascript, scriptAO, &varResult) ) + if ( !CallEval(wrapJS.GetOutputCode(), scriptAO, &varResult) ) return false; if ( output != NULL ) *output = varResult.MakeString(); - varJavascript = wrapJS.GetCleanUpCode(); - if ( !CallEval(varJavascript, scriptAO, &varResult) ) + if ( !CallEval(wrapJS.GetCleanUpCode(), scriptAO, &varResult) ) return false; return true; }