Skip to content

Commit 9e5ba6b

Browse files
chylexamaitland
authored andcommitted
Fix bool, number culture, and string escaping in ExecuteScriptAsync with parameters (#1731)
1 parent 737b9ad commit 9e5ba6b

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

CefSharp/WebBrowserExtensions.cs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using System.Text;
77
using System.Linq;
88
using System.Threading.Tasks;
9+
using System.Globalization;
910
using CefSharp.Internals;
1011

1112
namespace CefSharp
@@ -202,24 +203,23 @@ public static void ExecuteScriptAsync(this IWebBrowser browser, string methodNam
202203
for (int i = 0; i < args.Length; i++)
203204
{
204205
var obj = args[i];
205-
if(obj == null)
206+
if (obj == null)
206207
{
207208
stringBuilder.Append("null");
208209
}
210+
else if (numberTypes.Contains(obj.GetType()))
211+
{
212+
stringBuilder.Append(Convert.ToString(args[i],CultureInfo.InvariantCulture));
213+
}
214+
else if (obj is bool)
215+
{
216+
stringBuilder.Append(args[i].ToString().ToLowerInvariant());
217+
}
209218
else
210219
{
211-
var encapsulateInSingleQuotes = !numberTypes.Contains(obj.GetType());
212-
if(encapsulateInSingleQuotes)
213-
{
214-
stringBuilder.Append("'");
215-
}
216-
217-
stringBuilder.Append(args[i].ToString());
218-
219-
if (encapsulateInSingleQuotes)
220-
{
221-
stringBuilder.Append("'");
222-
}
220+
stringBuilder.Append("'");
221+
stringBuilder.Append(args[i].ToString().Replace("'","\\'"));
222+
stringBuilder.Append("'");
223223
}
224224

225225
stringBuilder.Append(", ");

0 commit comments

Comments
 (0)