// Copyright © 2015 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 System.Collections.Generic; using Size = CefSharp.Structs.Size; namespace CefSharp { /// /// Handle events related to browser display state. /// public interface IDisplayHandler { /// /// Called when a frame's address has changed. /// /// the ChromiumWebBrowser control /// args void OnAddressChanged(IWebBrowser chromiumWebBrowser, AddressChangedEventArgs addressChangedArgs); /// /// Called when auto-resize is enabled via IBrowserHost.SetAutoResizeEnabled and the contents have auto-resized. /// /// the ChromiumWebBrowser control /// the browser object /// will be the desired size in view coordinates /// Return true if the resize was handled or false for default handling. bool OnAutoResize(IWebBrowser chromiumWebBrowser, IBrowser browser, Size newSize); /// /// Called when the page title changes. /// /// the ChromiumWebBrowser control /// args void OnTitleChanged(IWebBrowser chromiumWebBrowser, TitleChangedEventArgs titleChangedArgs); /// /// Called when the page icon changes. /// /// the ChromiumWebBrowser control /// the browser object /// list of urls where the favicons can be downloaded void OnFaviconUrlChange(IWebBrowser chromiumWebBrowser, IBrowser browser, IList urls); /// /// Called when web content in the page has toggled fullscreen mode. The client is /// responsible for resizing the browser if desired. /// /// The ChromiumWebBrowser control /// the browser object /// If true the content will automatically be sized to fill the browser content area. /// If false the content will automatically return to its original size and position. void OnFullscreenModeChange(IWebBrowser chromiumWebBrowser, IBrowser browser, bool fullscreen); /// /// Called when the overall page loading progress has changed /// /// The ChromiumWebBrowser control /// the browser object /// ranges from 0.0 to 1.0. void OnLoadingProgressChange(IWebBrowser chromiumWebBrowser, IBrowser browser, double progress); /// /// Called when the browser is about to display a tooltip. text contains the /// text that will be displayed in the tooltip. You can optionally modify text /// and then return false to allow the browser to display the tooltip. /// When window rendering is disabled the application is responsible for /// drawing tooltips and the return value is ignored. /// /// The ChromiumWebBrowser control /// the text that will be displayed in the tooltip /// To handle the display of the tooltip yourself return true otherwise return false /// to allow the browser to display the tooltip. /// Only called when using Off-screen rendering (WPF and OffScreen) bool OnTooltipChanged(IWebBrowser chromiumWebBrowser, ref string text); /// /// Called when the browser receives a status message. /// /// The control this popup is related to. /// args void OnStatusMessage(IWebBrowser chromiumWebBrowser, StatusMessageEventArgs statusMessageArgs); /// /// Called to display a console message. /// /// The ChromiumWebBrowser control /// args /// Return true to stop the message from being output to the console. bool OnConsoleMessage(IWebBrowser chromiumWebBrowser, ConsoleMessageEventArgs consoleMessageArgs); } }