diff --git a/CefSharp.Core/ManagedCefBrowserAdapter.h b/CefSharp.Core/ManagedCefBrowserAdapter.h index 67f72ec31f..ff4b81f640 100644 --- a/CefSharp.Core/ManagedCefBrowserAdapter.h +++ b/CefSharp.Core/ManagedCefBrowserAdapter.h @@ -116,6 +116,16 @@ namespace CefSharp } } + void WasHidden(bool hidden) + { + auto cefHost = _renderClientAdapter->TryGetCefHost(); + + if (cefHost != nullptr) + { + cefHost->WasHidden(hidden); + } + } + void SendFocusEvent(bool isFocused) { auto cefHost = _renderClientAdapter->TryGetCefHost(); diff --git a/CefSharp.Wpf/ChromiumWebBrowser.cs b/CefSharp.Wpf/ChromiumWebBrowser.cs index 1bf851e207..c86224ea43 100644 --- a/CefSharp.Wpf/ChromiumWebBrowser.cs +++ b/CefSharp.Wpf/ChromiumWebBrowser.cs @@ -506,6 +506,9 @@ private void OnIsVisibleChanged(object sender, DependencyPropertyChangedEventArg // If the control was not rendered yet when we tried to set up the source hook, it may have failed (since it couldn't // lookup the HwndSource), so we need to retry it whenever visibility changes. AddSourceHookIfNotAlreadyPresent(); + + var isVisible = (bool)args.NewValue; + managedCefBrowserAdapter.WasHidden(!isVisible); } private static void OnApplicationExit(object sender, ExitEventArgs e)