From 0ae0e68ba1ec53126b261e1757a07ed99e77953f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bjarte=20Skog=C3=B8y?= Date: Wed, 3 Dec 2014 09:35:25 +0100 Subject: [PATCH 1/2] Implemented WasHidden for the WPF ChromiumWebBrowser --- CefSharp.Core/ManagedCefBrowserAdapter.h | 10 ++++++++++ CefSharp.Wpf/ChromiumWebBrowser.cs | 3 +++ 2 files changed, 13 insertions(+) diff --git a/CefSharp.Core/ManagedCefBrowserAdapter.h b/CefSharp.Core/ManagedCefBrowserAdapter.h index 67f72ec31f..0a1914ec2e 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) From c425dd12e0f7ab69250ad4eb52040568ce22cdaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bjarte=20Skog=C3=B8y?= Date: Wed, 3 Dec 2014 20:25:20 +0100 Subject: [PATCH 2/2] Formatting --- CefSharp.Core/ManagedCefBrowserAdapter.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CefSharp.Core/ManagedCefBrowserAdapter.h b/CefSharp.Core/ManagedCefBrowserAdapter.h index 0a1914ec2e..ff4b81f640 100644 --- a/CefSharp.Core/ManagedCefBrowserAdapter.h +++ b/CefSharp.Core/ManagedCefBrowserAdapter.h @@ -122,7 +122,7 @@ namespace CefSharp if (cefHost != nullptr) { - cefHost->WasHidden(hidden); + cefHost->WasHidden(hidden); } }