This repository has been archived on 2025-03-23. You can view files and clone it, but cannot push or open issues or pull requests.
xerobrowser/packages/CefSharp.Common.87.1.132/src/CefSharp/IBrowser.cs
2023-02-20 23:24:10 +13:00

149 lines
4.9 KiB
C#

// 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;
using System.Collections.Generic;
namespace CefSharp
{
/// <summary>
/// CefSharp interface for CefBrowser.
/// </summary>
public interface IBrowser : IDisposable
{
/// <summary>
/// Returns the browser host object. This method can only be called in the browser process.
/// </summary>
/// <returns>the browser host object</returns>
IBrowserHost GetHost();
/// <summary>
/// Returns true if the browser can navigate backwards.
/// </summary>
bool CanGoBack { get; }
/// <summary>
/// Navigate backwards.
/// </summary>
void GoBack();
/// <summary>
/// Returns true if the browser can navigate forwards.
/// </summary>
bool CanGoForward { get; }
/// <summary>
/// Navigate forwards.
/// </summary>
void GoForward();
/// <summary>
/// Returns true if the browser is currently loading.
/// </summary>
bool IsLoading { get; }
/// <summary>
/// Request that the browser close. The JavaScript 'onbeforeunload' event will be fired.
/// </summary>
/// <param name="forceClose">
/// If forceClose is false the event handler, if any, will be allowed to prompt the user and the
/// user can optionally cancel the close. If forceClose is true the prompt will not be displayed
/// and the close will proceed. Results in a call to <see cref="ILifeSpanHandler.DoClose"/> if
/// the event handler allows the close or if forceClose is true
/// See <see cref="ILifeSpanHandler.DoClose"/> documentation for additional usage information.
/// </param>
void CloseBrowser(bool forceClose);
/// <summary>
/// Reload the current page.
/// </summary>
/// <param name="ignoreCache">
/// <c>true</c> a reload is performed ignoring browser cache; <c>false</c> a reload is
/// performed using files from the browser cache, if available.
/// </param>
void Reload(bool ignoreCache = false);
/// <summary>
/// Stop loading the page.
/// </summary>
void StopLoad();
/// <summary>
/// Returns the globally unique identifier for this browser.
/// </summary>
int Identifier { get; }
/// <summary>
/// Returns true if this object is pointing to the same handle as that object.
/// </summary>
/// <param name="that">compare browser instances</param>
/// <returns>returns true if the same instance</returns>
bool IsSame(IBrowser that);
/// <summary>
/// Returns true if the window is a popup window.
/// </summary>
bool IsPopup { get; }
/// <summary>
/// Returns true if a document has been loaded in the browser.
/// </summary>
bool HasDocument { get; }
/// <summary>
/// Returns the main (top-level) frame for the browser window.
/// </summary>
IFrame MainFrame { get; }
/// <summary>
/// Returns the focused frame for the browser window.
/// </summary>
IFrame FocusedFrame { get; }
/// <summary>
/// Returns the frame with the specified identifier, or NULL if not found.
/// </summary>
/// <param name="identifier">identifier</param>
/// <returns>frame or null</returns>
IFrame GetFrame(Int64 identifier);
/// <summary>
/// Returns the frame with the specified name, or NULL if not found.
/// </summary>
/// <param name="name">name of frame</param>
/// <returns>frame or null</returns>
IFrame GetFrame(string name);
/// <summary>
/// Returns the number of frames that currently exist.
/// </summary>
/// <returns>the number of frames</returns>
int GetFrameCount();
/// <summary>
/// Returns the identifiers of all existing frames.
/// </summary>
/// <returns>list of frame identifiers</returns>
List<Int64> GetFrameIdentifiers();
/// <summary>
/// Returns the names of all existing frames.
/// </summary>
/// <returns>frame names</returns>
List<string> GetFrameNames();
/// <summary>
/// Gets a value indicating whether the browser has been disposed of.
/// </summary>
bool IsDisposed { get; }
//
// Send a message to the specified |target_process|. Returns true if the
// message was sent successfully.
//
/*--cef()--*/
//virtual bool SendProcessMessage(CefProcessId target_process,
// CefRefPtr<CefProcessMessage> message) =0;
}
}