Skip to content

Commit 96e44aa

Browse files
authored
Merge pull request r0x0r#1419 from huan1936/master
feat: implement initialization of WebView2 environment 
2 parents e6b249f + cdc88c3 commit 96e44aa

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

webview/platforms/edgechromium.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
clr.AddReference(interop_dll_path('Microsoft.Web.WebView2.Core.dll'))
2828
clr.AddReference(interop_dll_path('Microsoft.Web.WebView2.WinForms.dll'))
2929

30-
from Microsoft.Web.WebView2.Core import CoreWebView2Cookie, CoreWebView2ServerCertificateErrorAction
30+
from Microsoft.Web.WebView2.Core import CoreWebView2Cookie, CoreWebView2ServerCertificateErrorAction, CoreWebView2Environment
3131
from Microsoft.Web.WebView2.WinForms import CoreWebView2CreationProperties, WebView2
3232

3333
for platform in ('win-arm64', 'win-x64', 'win-x86'):
@@ -71,7 +71,17 @@ def __init__(self, form, window, cache_dir):
7171
self.url = None
7272
self.ishtml = False
7373
self.html = DEFAULT_HTML
74-
self.web_view.EnsureCoreWebView2Async(None)
74+
self.setup_webview2_environment()
75+
76+
def setup_webview2_environment(self):
77+
def _callback(task):
78+
self.web_view.EnsureCoreWebView2Async(task.Result)
79+
80+
environment = CoreWebView2Environment.CreateAsync()
81+
environment.ContinueWith(
82+
Action[Task[CoreWebView2Environment]](_callback),
83+
self.syncContextTaskScheduler,
84+
)
7585

7686
def evaluate_js(self, script, semaphore, js_result, callback=None):
7787
def _callback(result):

0 commit comments

Comments
 (0)