// Copyright © 2021 The CefSharp Authors. All rights reserved. // // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. using CefSharp.WinForms.Host; namespace CefSharp.WinForms.Handler { /// /// A WinForms Specific implementation that simplifies /// the process of hosting a Popup as a Control/Tab. Use this implementation as a base /// for your own custom implementation if you are using /// public class DisplayHandler : CefSharp.Handler.DisplayHandler { /// protected override void OnAddressChanged(IWebBrowser chromiumWebBrowser, AddressChangedEventArgs args) { var browser = args.Browser; if(browser.IsPopup) { var control = ChromiumHostControl.FromBrowser(browser); control?.OnAddressChanged(args); } base.OnAddressChanged(chromiumWebBrowser, args); } /// protected override bool OnConsoleMessage(IWebBrowser chromiumWebBrowser, ConsoleMessageEventArgs args) { var browser = args.Browser; if (browser.IsPopup) { var control = ChromiumHostControl.FromBrowser(browser); control?.OnConsoleMessage(args); } return base.OnConsoleMessage(chromiumWebBrowser, args); } /// protected override void OnTitleChanged(IWebBrowser chromiumWebBrowser, TitleChangedEventArgs args) { var browser = args.Browser; if (browser.IsPopup) { var control = ChromiumHostControl.FromBrowser(browser); control?.OnTitleChanged(args); } base.OnTitleChanged(chromiumWebBrowser, args); } /// protected override void OnStatusMessage(IWebBrowser chromiumWebBrowser, StatusMessageEventArgs args) { var browser = args.Browser; if (browser.IsPopup) { var control = ChromiumHostControl.FromBrowser(browser); control?.OnStatusMessage(args); } base.OnStatusMessage(chromiumWebBrowser, args); } } }