Skip to content

Commit e9c8f53

Browse files
committed
Base64 encode then url encode html content in LoadHtml
1 parent 20edd9b commit e9c8f53

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

src/UnityWebBrowser.Engine.Cef/Shared/Browser/UwbCefClient.cs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
using System.Collections.Generic;
88
using System.Numerics;
99
using System.Runtime.CompilerServices;
10+
using System.Text;
1011
using Microsoft.Extensions.Logging;
1112
using UnityWebBrowser.Engine.Cef.Shared.Browser.Js;
1213
using UnityWebBrowser.Engine.Cef.Shared.Browser.Messages;
@@ -289,7 +290,7 @@ public void ProcessMouseScrollEvent(MouseScrollEvent mouseScrollEvent)
289290
/// <param name="url"></param>
290291
public void LoadUrl(string url)
291292
{
292-
browser.GetMainFrame()?.LoadUrl(url);
293+
browser.GetMainFrame()!.LoadUrl(url);
293294
}
294295

295296
/// <summary>
@@ -305,9 +306,12 @@ public Vector2 GetMouseScrollPosition()
305306
/// Loads HTML content
306307
/// </summary>
307308
/// <param name="html"></param>
308-
public void LoadHtml(string html)
309+
public unsafe void LoadHtml(string html)
309310
{
310-
browser.GetMainFrame()?.LoadUrl($"data:text/html,{html}");
311+
html = CefRuntime.Base64Encode(Encoding.UTF8.GetBytes(html));
312+
html = CefRuntime.UriEncode(html, false);
313+
314+
browser.GetMainFrame()!.LoadUrl($"data:text/html;base64,{html}");
311315
}
312316

313317
/// <summary>
@@ -316,7 +320,7 @@ public void LoadHtml(string html)
316320
/// <param name="js"></param>
317321
public void ExecuteJs(string js)
318322
{
319-
browser.GetMainFrame()?.ExecuteJavaScript(js, "", 0);
323+
browser.GetMainFrame()!.ExecuteJavaScript(js, "", 0);
320324
}
321325

322326
/// <summary>

0 commit comments

Comments
 (0)