From 84b9af5c22484087685d3af2540172805edbcb88 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Tue, 13 Oct 2020 14:17:34 -0700 Subject: [PATCH] Add code to test which backends are available, and show which one was selected. --- demo/HTML2_WebView.py | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/demo/HTML2_WebView.py b/demo/HTML2_WebView.py index 73b40d89..4adb2cf6 100644 --- a/demo/HTML2_WebView.py +++ b/demo/HTML2_WebView.py @@ -1,8 +1,17 @@ #!/usr/bin/env python +import os import wx import wx.html2 as webview +# WebView Backends +backends = [ + (webview.WebViewBackendEdge, 'WebViewBackendEdge'), + (webview.WebViewBackendIE, 'WebViewBackendIE'), + (webview.WebViewBackendWebKit, 'WebViewBackendWebKit'), + (webview.WebViewBackendDefault, 'WebViewBackendDefault'), +] + #---------------------------------------------------------------------- class TestPanel(wx.Panel): @@ -18,18 +27,29 @@ class TestPanel(wx.Panel): sizer = wx.BoxSizer(wx.VERTICAL) btnSizer = wx.BoxSizer(wx.HORIZONTAL) - # The emulation level is a persistent per-user per-application value. + # The Internet Explorer emulation level is a persistent per-user and + # per-application value. webview.WebView.MSWSetEmulationLevel(webview.WEBVIEWIE_EMU_IE11) - self.wv = webview.WebView.New(self) # If you would like to reset it back to the default (no-emulation) then # it can be done by calling this: # webview.WebView.MSWSetEmulationLevel(webview.WEBVIEWIE_EMU_DEFAULT) + # Find an available backend + backend = None + for id, name in backends: + available = webview.WebView.IsBackendAvailable(id) + log.write("Backend 'wx.html2.{}' availability: {}\n".format(name, available)) + if available and backend is None: + backend = id + log.write("Using backend: '{}'\n".format(str(backend, 'ascii'))) + + # Create the WebView + self.wv = webview.WebView.New(self, backend=backend) + self.Bind(webview.EVT_WEBVIEW_NAVIGATING, self.OnWebViewNavigating, self.wv) self.Bind(webview.EVT_WEBVIEW_LOADED, self.OnWebViewLoaded, self.wv) - btn = wx.Button(self, -1, "Open", style=wx.BU_EXACTFIT) self.Bind(wx.EVT_BUTTON, self.OnOpenButton, btn) btnSizer.Add(btn, 0, wx.EXPAND|wx.ALL, 2)