From 1baaddb1156401643e2fefe930ae1057b4f60768 Mon Sep 17 00:00:00 2001 From: hogliux Date: Thu, 12 Jan 2017 15:27:35 +0000 Subject: [PATCH] Added code to properly escape non-ascii characters in URLs passed to the WebBrowserComponent on macOS/iOS --- .../native/juce_mac_WebBrowserComponent.mm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm b/modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm index 1b8a8b223d..855d820297 100644 --- a/modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm +++ b/modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm @@ -231,8 +231,15 @@ public: } else { + NSString* urlString = juceStringToNS (url); + + #if (JUCE_MAC && (defined (__MAC_OS_X_VERSION_MIN_REQUIRED) && defined (__MAC_10_9) && __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_9)) || (JUCE_IOS && (defined (__IPHONE_OS_VERSION_MIN_REQUIRED) && defined (__IPHONE_7_0) && __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_7_0)) + urlString = [urlString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]; + #else + urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; + #endif NSMutableURLRequest* r - = [NSMutableURLRequest requestWithURL: [NSURL URLWithString: juceStringToNS (url)] + = [NSMutableURLRequest requestWithURL: [NSURL URLWithString: urlString] cachePolicy: NSURLRequestUseProtocolCachePolicy timeoutInterval: 30.0];