From 0fc0dce1b8623d55e7e1d4bffec73d958936da45 Mon Sep 17 00:00:00 2001 From: ed Date: Fri, 19 Feb 2021 14:25:56 +0000 Subject: [PATCH] macOS: Don't call stop() in WebBrowserComponent::goToURL() when evaluating Javascript --- .../native/juce_mac_WebBrowserComponent.mm | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm b/modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm index 626aaa7ea3..d9e3a7b7f5 100644 --- a/modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm +++ b/modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm @@ -312,17 +312,18 @@ public: const StringArray* headers, const MemoryBlock* postData) { - stop(); - if (url.trimStart().startsWithIgnoreCase ("javascript:")) { [webView evaluateJavaScript: juceStringToNS (url.fromFirstOccurrenceOf (":", false, false)) completionHandler: nil]; + + return; } - else if (NSMutableURLRequest* request = getRequestForURL (url, headers, postData)) - { + + stop(); + + if (NSMutableURLRequest* request = getRequestForURL (url, headers, postData)) [webView loadRequest: request]; - } } void goBack() { [webView goBack]; } @@ -531,14 +532,15 @@ public: const StringArray* headers, const MemoryBlock* postData) { - stop(); - if (url.trimStart().startsWithIgnoreCase ("javascript:")) { - [webView stringByEvaluatingJavaScriptFromString: - juceStringToNS (url.fromFirstOccurrenceOf (":", false, false))]; + [webView stringByEvaluatingJavaScriptFromString: juceStringToNS (url.fromFirstOccurrenceOf (":", false, false))]; + return; } - else if (NSMutableURLRequest* request = getRequestForURL (url, headers, postData)) + + stop(); + + if (NSMutableURLRequest* request = getRequestForURL (url, headers, postData)) { #if JUCE_MAC [[webView mainFrame] loadRequest: request];