diff --git a/modules/juce_gui_extra/embedding/juce_NSViewComponent.h b/modules/juce_gui_extra/embedding/juce_NSViewComponent.h index 98760295e7..a935de7503 100644 --- a/modules/juce_gui_extra/embedding/juce_NSViewComponent.h +++ b/modules/juce_gui_extra/embedding/juce_NSViewComponent.h @@ -71,6 +71,12 @@ public: /** Resizes this component to fit the view that it contains. */ void resizeToFitView(); + /** Resizes the NSView to match the bounds of this component. + + Most of the time, this will be done for you automatically. + */ + void resizeViewToFit(); + //============================================================================== /** @internal */ void paint (Graphics&) override; diff --git a/modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm b/modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm index 7c85aef6da..762e747c46 100644 --- a/modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm +++ b/modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm @@ -164,6 +164,12 @@ void NSViewComponent::resizeToFitView() } } +void NSViewComponent::resizeViewToFit() +{ + if (attachment != nullptr) + static_cast (attachment.get())->componentMovedOrResized (true, true); +} + void NSViewComponent::paint (Graphics&) {} void NSViewComponent::alphaChanged() diff --git a/modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm b/modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm index 8f3c3701bd..574aa1655b 100644 --- a/modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm +++ b/modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm @@ -499,20 +499,24 @@ class API_AVAILABLE (macos (10.11)) WKWebViewImpl : public WebViewBase public: WKWebViewImpl (WebBrowserComponent* owner) { - #if JUCE_MAC - static WebViewKeyEquivalentResponder webviewClass; + #if JUCE_MAC + static WebViewKeyEquivalentResponder webviewClass; - webView.reset ([webviewClass.createInstance() initWithFrame: NSMakeRect (0, 0, 100.0f, 100.0f)]); - #else - webView.reset ([[WKWebView alloc] initWithFrame: CGRectMake (0, 0, 100.0f, 100.0f)]); - #endif + webView.reset ([webviewClass.createInstance() initWithFrame: NSMakeRect (0, 0, 100.0f, 100.0f)]); + #else + webView.reset ([[WKWebView alloc] initWithFrame: CGRectMake (0, 0, 100.0f, 100.0f)]); + #endif - static WebViewDelegateClass cls; - webViewDelegate.reset ([cls.createInstance() init]); - WebViewDelegateClass::setOwner (webViewDelegate.get(), owner); + static WebViewDelegateClass cls; + webViewDelegate.reset ([cls.createInstance() init]); + WebViewDelegateClass::setOwner (webViewDelegate.get(), owner); - [webView.get() setNavigationDelegate: webViewDelegate.get()]; - [webView.get() setUIDelegate: webViewDelegate.get()]; + [webView.get() setNavigationDelegate: webViewDelegate.get()]; + [webView.get() setUIDelegate: webViewDelegate.get()]; + + #if JUCE_DEBUG + [[[webView.get() configuration] preferences] setValue: @(true) forKey: @"developerExtrasEnabled"]; + #endif } ~WKWebViewImpl() override @@ -584,7 +588,7 @@ public: setView (webView->getWebView()); } - ~Pimpl() + ~Pimpl() override { webView = nullptr; setView (nil);