//private ScriptableObjectProvider _provider;

        //private ScriptableObjectProvider Provider
        //{
        //	get
        //	{
        //		if (_provider == null && BrowserObject != null)
        //			_provider = new ScriptableObjectProvider(BrowserObject.GetMainFrame());
        //		return _provider;
        //	}
        //}


        //public Window GetWindow()
        //{
        //	return new Window(Provider.GetGlobal(), Provider);
        //}


        /// <summary>
        /// Send a notification to the browser that the screen info has changed.<para/>
        /// This function is only used when window rendering is disabled.
        /// </summary>
        /// <remarks>
        /// The browser will then call <see cref="CefRenderHandler.GetScreenInfo"/>
        /// to update the screen information with the new values. This simulates moving
        /// the webview window from one display to another, or changing the properties
        /// of the current display.
        /// </remarks>
        public void NotifyScreenInfoChanged()
        {
            CefBrowserHost browserHost = this.BrowserObject?.Host;

            if (browserHost is null || !browserHost.IsWindowRenderingDisabled)
            {
                return;
            }

            browserHost.NotifyScreenInfoChanged();
        }
        /// <summary>
        /// Sends a notification to the browser that the root window has been moved or resized.<para/>
        /// This function is only used when window rendering is disabled.
        /// </summary>
        public void NotifyRootMovedOrResized()
        {
            CefBrowserHost browserHost = this.BrowserObject?.Host;

            if (browserHost is null || !browserHost.IsWindowRenderingDisabled)
            {
                return;
            }

            browserHost.NotifyMoveOrResizeStarted();
            UpdateOffscreenViewLocation();
            browserHost.NotifyScreenInfoChanged();
        }