Skip to content

Commit

Permalink
[EdgeChromium] Fix platform detection
Browse files Browse the repository at this point in the history
  • Loading branch information
r0x0r committed Nov 12, 2022
1 parent d6638cd commit 99ca9d4
Showing 1 changed file with 24 additions and 27 deletions.
51 changes: 24 additions & 27 deletions webview/platforms/edgechromium.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
import json
import webbrowser
from threading import Semaphore
from platform import architecture, processor

from webview import _debug, _user_agent
from webview.util import parse_api_js, interop_dll_path, default_html, js_bridge_call
Expand All @@ -31,17 +30,14 @@
from System.Threading.Tasks import Task, TaskScheduler
from System.Drawing import Color

if 'ARM' in processor():
archpath = 'arm64'
else:
archpath = 'x64' if architecture()[0] == '64bit' else 'x86'

os.environ['Path'] = interop_dll_path(archpath) + ';' + os.environ['Path']
clr.AddReference(interop_dll_path('Microsoft.Web.WebView2.Core.dll'))
clr.AddReference(interop_dll_path('Microsoft.Web.WebView2.WinForms.dll'))

from Microsoft.Web.WebView2.WinForms import WebView2, CoreWebView2CreationProperties
from Microsoft.Web.WebView2.Core import CoreWebView2Environment


for platform in ('arm64', 'x64', 'x86'):
os.environ['Path'] += ';' + interop_dll_path(platform)


logger = logging.getLogger('pywebview')
Expand Down Expand Up @@ -137,25 +133,26 @@ def on_new_window_request(self, _, args):
webbrowser.open(str(args.get_Uri()))

def on_webview_ready(self, sender, args):
try:
sender.CoreWebView2.NewWindowRequested += self.on_new_window_request
settings = sender.CoreWebView2.Settings
settings.AreDefaultContextMenusEnabled = _debug['mode']
settings.AreDefaultScriptDialogsEnabled = True
settings.AreDevToolsEnabled = _debug['mode']
settings.IsBuiltInErrorPageEnabled = True
settings.IsScriptEnabled = True
settings.IsWebMessageEnabled = True
settings.IsStatusBarEnabled = _debug['mode']
settings.IsZoomControlEnabled = True

if _user_agent:
settings.UserAgent = _user_agent

if self.html:
sender.CoreWebView2.NavigateToString(self.html)
except Exception as e:
logger.exception('Edge Chromium DLLs cannot be loaded.')
if not args.IsSuccess:
logger.error('WebView2 initialization failed with exception:\n ' + str(args.InitializationException))
return

sender.CoreWebView2.NewWindowRequested += self.on_new_window_request
settings = sender.CoreWebView2.Settings
settings.AreDefaultContextMenusEnabled = _debug['mode']
settings.AreDefaultScriptDialogsEnabled = True
settings.AreDevToolsEnabled = _debug['mode']
settings.IsBuiltInErrorPageEnabled = True
settings.IsScriptEnabled = True
settings.IsWebMessageEnabled = True
settings.IsStatusBarEnabled = _debug['mode']
settings.IsZoomControlEnabled = True

if _user_agent:
settings.UserAgent = _user_agent

if self.html:
sender.CoreWebView2.NavigateToString(self.html)


def on_navigation_start(self, sender, args):
Expand Down

0 comments on commit 99ca9d4

Please sign in to comment.