1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00
Commit graph

20 commits

Author SHA1 Message Date
reuk
83e5264c86
Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
Anthony Nicholls
e68627c9ed Smart Pointers: Add a new enum for indicating if a smart point should increment a reference count or not 2025-09-25 14:56:34 +01:00
attila
90e72dbd98 Windows: Fix faulty mechanism for creating multiple WebView2 instances serially
Prior to this commit it was possible for the WebBrowserComponent
implementation on Windows to end up in an infinite loop if multiple
WebBrowserComponent objects were being created at the same time.

When an instance was already being created, the createWebView() call for
the second would place it in a queue and return without initiating its
creation. When the first WebView finishes creation, it calls the
handleAsyncUpdate() function of the second. However handleAsyncUdpate()
would see that the webViewBeingCreated helper variable was already true
and not call createWebView(), hence the second WebView would never be
created.

If, in the meantime, the scriptsWaitingForExecution variable wasn't
empty, handleAsyncUpdate() would endlessly call triggerAsyncUpdate().
2025-01-17 16:29:42 +01:00
reuk
8be78e9f7f
WebBrowserComponent: Avoid nullptr dereference when WebView2 loader library is not present 2025-01-07 11:21:14 +00:00
reuk
9092182605
WebBrowserComponent: Fix leak on Windows
Co-authored-by: Aid Vllasaliu <vllasaliu.aid@gmail.com>
2025-01-07 11:21:05 +00:00
attila
46eed81aae Windows: WebBrowserComponent: Avoid infinite loops caused by CONNECTION_ABORTED errors
WebView2 can emit COREWEBVIEW2_WEB_ERROR_STATUS_CONNECTION_ABORTED
errors during page navigation, even if the page navigation would happen
correctly afterwards. In such situations our internal error handler can
recursively encounter this error when trying to navigate to the error
handler page.

Prior to this commit the implementation could end up in an infinite loop
receiving the error and then navigating to the error handler page.
2024-10-03 16:56:34 +02:00
attila
5b98066a48 Windows: WebBrowserComponent: Fix visibility of initially not visible component
Prior to this commit a WebBrowserComponent created with
setVisible (false) would still be visible.
2024-09-05 16:41:25 +02:00
attila
a34bd74133 Windows: WebBrowserComponent: Fix state handling when the component is invisible
The handling of two state variables had to be adjusted. One is
responsible for signalling that we navigated to a blank page due to the
WebBrowserComponent becoming invisible. The other variable in the
WebView2 implementation stores the URL that we should be navigating to
once the WebView2 instance has been created.

Prior to this commit navigating to the URL requested by goToURL could
fail for two reasons: either because it was called before the underlying
WebView2 instance was created, or because the WebBrowserComponent was
not yet visible.
2024-08-22 17:04:55 +02:00
attila
ae23783f63 Windows: Fix rare crash when creating and destroying WebBrowserComponent instances 2024-07-15 14:37:13 +02:00
attila
7ead20d575 WebBrowserComponent: Windows: Avoid flash to default JUCE background colour
The default background colour of the WebBrowserComponent is white on all
platforms. Before the first page finishes loading this is the colour
that should fill the WebBrowserComponent's area.

Prior to this change however, on Windows a sudden flash to the default
JUCE background colour would occur, before the default white background
could take effect.

At the time of this commit there is a known issue with the
icorewebview2controller2, where a white flash is inevitable, unless the
WEBVIEW2_DEFAULT_BACKGROUND_COLOR environment variable is set. Using
a white background behind the WebView avoids this issue.
2024-07-11 13:36:07 +02:00
attila
e86e7fca9e WebBrowserComponent: Fix Windows compilation issue 2024-04-18 17:16:57 +02:00
attila
5f638157f7 WebBrowserComponent: Improve native integrations 2024-04-16 17:43:21 +01:00
Tom Poole
94d98a2b10 Update licensing information 2024-04-16 11:39:35 +01:00
attila
06855ed05d WebBrowserComponent: Windows: Trigger resized event on DPI change when using WebView2
This fixes a bug where moving a window between displays with different
scaling settings makes the embedded WebView misaligned.
2023-12-05 21:18:44 +01:00
Tom Poole
6bf9bb9a2e Add final specifiers in implementation files 2023-10-10 16:12:38 +01:00
Anthony Nicholls
90c458d92e Includes: Move some miscellaneous includes into module header and source files 2023-10-09 14:49:18 +01:00
Tom Poole
4153d59e39 Formatting 2023-10-02 15:42:20 +01:00
attila
aceef4f5a2 Windows WebView2: Fix build on C++17 2023-06-14 12:47:17 +00:00
attila
7657efd227 WebBrowserComponent: Windows: Add accessibility integration 2023-06-08 16:07:11 +00:00
Anthony Nicholls
05d5c94990
Native: Rename all native files for improved consistency 2023-04-04 19:54:29 +01:00
Renamed from modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp (Browse further)