=============== LIBRARY RULES =============== From library maintainers: - Use sub-pages to access documentation for specific DotNetBrowser versions, the main page enumerates the links to the available sub-pages. ### Example: Create Engine with Custom User Data Directory Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Engine.EngineFactory.CreateAsync Demonstrates how to create an IEngine instance with custom EngineOptions, specifically setting the UserDataDirectory. This example shows the setup required before calling the CreateAsync(EngineOptions) method. ```csharp string dataDir = TestUtil.GenerateCustomFolderPath(); Debug.WriteLine($"Data directory: {dataDir}"); Directory.CreateDirectory(dataDir); EngineOptions engineOptions = new EngineOptions.Builder { UserDataDirectory = dataDir } .Build(); IEngine engine = await EngineFactory.CreateAsync(engineOptions); ``` -------------------------------- ### Start Presentation Response Creation (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Cast.Handlers.StartPresentationResponse.Start This C# code snippet demonstrates how to create a StartPresentationResponse using the Start method. It takes an IMediaReceiver as input and returns a StartPresentationResponse instance, which is used within the StartPresentationHandler implementation. ```csharp public static StartPresentationResponse Start(IMediaReceiver mediaReceiver) ``` -------------------------------- ### Start Presentation Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Cast.Handlers.StartPresentationResponse.Start Initiates a presentation on a specified media receiver by creating a StartPresentationResponse. ```APIDOC ## POST /websites/api_dotnetbrowser_dev_3_4_0/StartPresentation ### Description Creates a StartPresentationResponse that notifies the browser that the presentation should be started on the IMediaReceiver receiver. ### Method POST ### Endpoint /websites/api_dotnetbrowser_dev_3_4_0/StartPresentation ### Parameters #### Request Body - **mediaReceiver** (IMediaReceiver) - Required - The media receiver on which to start the presentation. ### Request Example ```json { "mediaReceiver": { "id": "receiver-123", "name": "Living Room TV" } } ``` ### Response #### Success Response (200) - **presentationId** (string) - The unique identifier for the started presentation. - **status** (string) - The status of the presentation start request (e.g., "Success"). #### Response Example ```json { "presentationId": "pres-abc-789", "status": "Success" } ``` ``` -------------------------------- ### Extension Installation Exception Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Extensions Details about exceptions that occur during the extension installation process. ```APIDOC ## ExtensionInstallationException ### Description Thrown when the extension installation has failed for some reason. ### Class DotNetBrowser.Extensions.ExtensionInstallationException ### Usage This exception is typically caught when attempting to install an extension using the `IExtensions` service and the installation process encounters an error. ``` -------------------------------- ### Install Extension from CRX File (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Extensions.IExtensions.Install Installs an extension from a local CRX3 package file. This method returns a Task that completes with an IExtension instance upon successful installation or an ExtensionInstallationException on failure. It handles existing installations by returning the installed extension or replacing it if a newer version is provided. Extensions can be installed for incognito profiles. ```csharp Task Install(string path) ``` -------------------------------- ### Handle Download Start Event (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.WinForms.Dialogs.DefaultStartDownloadHandler.Handle The Handle method is invoked when the Chromium engine requires a decision on whether to start a download. It accepts StartDownloadParameters and returns a StartDownloadResponse to dictate the download's fate. ```csharp public StartDownloadResponse Handle(StartDownloadParameters startDownloadParameters) ``` -------------------------------- ### Navigation Handlers - Start() Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Navigation.Handlers.StartNavigationResponse.Start The Start() method creates a StartNavigationResponse object. This response is used within a StartNavigationHandler to signal that the browser should proceed with loading a given URL. ```APIDOC ## Start() ### Description Creates a StartNavigationResponse that notifies the browser that it should continue loading the URL. ### Method static ### Endpoint N/A (This is a static method call within the DotNetBrowser library) ### Parameters None ### Request Example ```csharp // Example usage within a StartNavigationHandler: public bool Handle(NavigationInfo navigationInfo) { // ... other logic ... return true; // Indicate that the navigation should proceed } // The Start() method is used to get the response object: StartNavigationResponse response = DotNetBrowser.Navigation.Handlers.StartNavigationResponse.Start(); ``` ### Response #### Success Response - **StartNavigationResponse** (object) - The StartNavigationResponse instance that can be used as a return value in StartNavigationHandler implementation. #### Response Example ```json { "__type": "StartNavigationResponse" } ``` ``` -------------------------------- ### Create StartNavigationResponse with Start() in C# Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Navigation.Handlers.StartNavigationResponse.Start The Start() method creates a StartNavigationResponse object. This object is used to signal to the DotNetBrowser that it should proceed with loading a requested URL. It is typically returned from a StartNavigationHandler implementation. ```csharp public static StartNavigationResponse Start() ``` -------------------------------- ### Field Install Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Extensions.Handlers.InstallExtensionResponse.Install The InstallExtensionResponse notifies the engine that the extension should be installed. It is used as a return value in the InstallExtensionHandler implementation. ```APIDOC ## Field Install ### Description Notifies the engine that the extension should be installed. This response is used as a return value in the InstallExtensionHandler implementation. ### Method Not Applicable (This appears to be a class or method signature, not a REST endpoint) ### Endpoint Not Applicable ### Parameters Not Applicable ### Request Example Not Applicable ### Response #### Success Response - **InstallExtensionResponse** (Type) - The InstallExtensionResponse instance that can be used as a return value in InstallExtensionHandler implementation. #### Response Example ```csharp // Example of how InstallExtensionResponse might be used: InstallExtensionResponse response = new InstallExtensionResponse(); // ... further configuration if needed return response; ``` ``` -------------------------------- ### Install Extension Response for Field Install Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Extensions.Handlers.InstallExtensionResponse.Install The InstallExtensionResponse class notifies the engine that an extension should be installed. It is used as a return value in the InstallExtensionHandler implementation. ```csharp public static InstallExtensionResponse Install__ ``` -------------------------------- ### InstallExtensionResponse Fields (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Extensions.Handlers.InstallExtensionResponse Details the static fields of the InstallExtensionResponse class: 'Cancel' and 'Install'. 'Cancel' indicates that the extension installation should be aborted, while 'Install' signals that the extension should proceed with installation. These fields provide predefined response objects for common scenarios. ```csharp // The InstallExtensionResponse that notifies the engine that the extension installation should be canceled. public static readonly InstallExtensionResponse Cancel; // The InstallExtensionResponse that notifies the engine that the extension should be installed. public static readonly InstallExtensionResponse Install; ``` -------------------------------- ### InstallExtensionHandler Property (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Extensions.IExtensions.InstallExtensionHandler This C# property allows you to get or set a handler for managing the installation of extensions from the Chrome Web Store. It utilizes the IHandler interface with InstallExtensionParameters and InstallExtensionResponse types. The handler can be used to explicitly install or cancel an extension, with default behavior applied if exceptions occur. ```csharp IHandler InstallExtensionHandler { get; set; } ``` -------------------------------- ### Install Extension Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Extensions.IExtensions.Install Installs an extension from a local CRX file using its path. This method supports installing extensions for incognito profiles and handles cases where the extension is already installed or a newer version is available. ```APIDOC ## POST /websites/api_dotnetbrowser_dev_3_4_0/extensions/install ### Description Installs an extension from the local CRX file by the given `path`. ### Method POST ### Endpoint /websites/api_dotnetbrowser_dev_3_4_0/extensions/install ### Parameters #### Query Parameters - **path** (string) - Required - The path to the extension CRX3 package. ### Request Example ```json { "path": "/path/to/your/extension.crx" } ``` ### Response #### Success Response (200) - **IExtension** (object) - An IExtension instance corresponding to the installed extension. #### Response Example ```json { "extensionId": "some_extension_id", "version": "1.0.0" } ``` #### Error Handling - **ObjectDisposedException**: The IExtensions has already been disposed. - **ConnectionClosedException**: The connection to the Chromium engine is closed. - **ExtensionInstallationException**: An error occurred during extension installation. ``` -------------------------------- ### Start Presentation Response with Receiver (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Cast.Handlers.StartPresentationResponse Creates a StartPresentationResponse object that instructs the browser to start the presentation on a specified IMediaReceiver. This method is part of the StartPresentationResponse class. ```csharp Start(IMediaReceiver) Creates a StartPresentationResponse that notifies the browser that the presentation should be started on the IMediaReceiver receiver. ``` -------------------------------- ### Touch Started Event Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Input.Touch.ITouch.Started This section describes the 'Started' property, which provides an event that occurs when a touch interaction begins. ```APIDOC ## Property Started ### Description Occurs when the touch has been started. ### Method GET ### Endpoint /websites/api_dotnetbrowser_dev_3_4_0/DotNetBrowser/Input/Touch/Started ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```json { "example": "No request body needed for this event." } ``` ### Response #### Success Response (200) - **Started** (IInterceptableInputEvent) - An event that fires when a touch gesture begins. #### Response Example ```json { "Started": { "__type": "IInterceptableInputEvent" } } ``` #### Exceptions - **ObjectDisposedException**: Thrown if the IBrowser object has already been disposed. ``` -------------------------------- ### Handle Load Started Event (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Navigation.INavigation An event that occurs when the content loading process for a page begins. This is signaled by the tab's loading spinner starting to spin. ```csharp LoadStarted ``` -------------------------------- ### Continue Method Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Net.Handlers.StartTransactionResponse.Continue Creates a StartTransactionResponse that starts the transaction with the original headers. ```APIDOC ## Continue() ### Description Creates a StartTransactionResponse that starts the transaction with the original headers. ### Method N/A (This is a static method call, not an HTTP endpoint) ### Endpoint N/A ### Parameters None ### Request Example ```csharp // Example usage within a handler implementation DotNetBrowser.Net.Handlers.StartTransactionResponse response = DotNetBrowser.Net.Handlers.Continue(); ``` ### Response #### Success Response - **StartTransactionResponse** (object) - The StartTransactionResponse instance that can be used as a return value in StartTransactionHandler implementation. #### Response Example ```json { "example": "StartTransactionResponse object" } ``` ``` -------------------------------- ### Get All Installed Extensions Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Extensions.IExtensions.All Retrieves a read-only collection of all extensions currently installed for the active browser profile. ```APIDOC ## GET /extensions/all ### Description Gets all extensions that are currently installed for the profile. ### Method GET ### Endpoint /extensions/all ### Parameters #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **extensions** (IReadOnlyCollection) - A collection of installed extensions. #### Response Example ```json { "extensions": [ { "name": "Example Extension", "version": "1.0.0", "id": "example-extension-id" } ] } ``` #### Error Response - **ObjectDisposedException**: The IExtensions has already been disposed. - **ConnectionClosedException**: The connection to the Chromium engine is closed. ``` -------------------------------- ### Start Browser Rendering with Show() in C# Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Browser.IOffScreenRenderProvider.Show The Show() method initiates the rendering of the browser's content, simulating its display on a screen. It is part of the DotNetBrowser.Browser namespace and requires the IBrowser object to be in a valid state. Calling this method on a disposed IBrowser instance will result in an ObjectDisposedException. ```csharp void Show() ``` -------------------------------- ### Get All Installed Extensions - DotNetBrowser API Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Extensions.IExtensions.All Retrieves a read-only collection of all extensions currently installed for the DotNetBrowser profile. This property may throw exceptions if the IExtensions object has been disposed or if the connection to the Chromium engine is closed. ```csharp IReadOnlyCollection All { get; } ``` -------------------------------- ### Handle Method Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Wpf.Dialogs.DefaultStartDownloadHandler.Handle Handles the event when a download is about to start, allowing for custom responses based on provided parameters. ```APIDOC ## Handle(StartDownloadParameters) ### Description This method is called when the Chromium callback needs a response that may be determined based on the provided parameters. ### Method `public StartDownloadResponse Handle(StartDownloadParameters startDownloadParameters)` ### Endpoint N/A (This is a method call within the DotNetBrowser library) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```csharp // Example of calling the Handle method (within the context of DotNetBrowser) StartDownloadResponse response = dialogHandler.Handle(startDownloadParameters); ``` ### Response #### Success Response - **StartDownloadResponse** (StartDownloadResponse) - An object that represents the response that should be determined based on the provided parameters. #### Response Example ```json { "someField": "someValue" } ``` ``` -------------------------------- ### Property ExtensionName Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Extensions.Handlers.InstallExtensionParameters.ExtensionName This section details the ExtensionName property, which is used to get the name of the extension that will be installed. ```APIDOC ## Property ExtensionName ### Description Gets the name of the extension to install. ### Method GET ### Endpoint /websites/api_dotnetbrowser_dev_3_4_0/ExtensionName ### Parameters #### Query Parameters None #### Request Body None ### Request Example ```json { "example": "No request body needed for this property retrieval." } ``` ### Response #### Success Response (200) - **ExtensionName** (string) - The name of the extension to install. #### Response Example ```json { "ExtensionName": "exampleExtensionName" } ``` ``` -------------------------------- ### Initialize PacProxySettings with PAC URL (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Net.Proxy.PacProxySettings.-ctor Constructs a new PacProxySettings instance using a PAC file URL. The URL must be valid and can point to a local file system path. Throws ArgumentException if the URL is null, empty, or whitespace. ```csharp public PacProxySettings(string pacUrl) ``` -------------------------------- ### Get Certificate Validity Start Time (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Net.Certificates.Certificate.NotBefore Retrieves the DateTime from which a certificate is valid. This property is part of the DotNetBrowser.Net.Certificates namespace and is available in DotNetBrowser.dll. It returns a DateTime object representing the start of the certificate's validity period. ```csharp public DateTime NotBefore { get; } ``` -------------------------------- ### Get Extension Name (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Extensions.Handlers.InstallExtensionParameters.ExtensionName Retrieves the name of the extension to be installed. This property is part of the DotNetBrowser.Extensions.Handlers namespace and is available in DotNetBrowser.dll. ```csharp public string ExtensionName { get; } ``` -------------------------------- ### StartDownloadHandler Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.AvaloniaUi.BrowserView.StartDownloadHandler This handler is used when the browser is about to start downloading the file, if a different handler was not configured for the browser. ```APIDOC ## Property StartDownloadHandler ### Description This handler is used when the browser is about to start downloading the file, if a different handler was not configured for the browser. ### Method GET ### Endpoint /websites/api_dotnetbrowser_dev_3_4_0/StartDownloadHandler ### Parameters #### Query Parameters - **handlerType** (string) - Optional - Specifies the type of handler to retrieve. ### Response #### Success Response (200) - **handler** (IHandler) - The StartDownloadHandler instance. #### Response Example ```json { "handler": { "parameters": { "url": "http://example.com/file.zip", "suggestedFileName": "file.zip" }, "response": { "allow": true, "destinationPath": "/downloads/file.zip" } } } ``` ``` -------------------------------- ### PacProxySettings Constructor Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Net.Proxy.PacProxySettings Initializes a new instance of the PacProxySettings class with the specified PAC file URL. ```APIDOC ## PacProxySettings(string pacUrl) ### Description Constructs a new PacProxySettings instance initiated with the pacUrl URL address where PAC file with proxy settings is located. The address of the PAC file must be a valid URL address. The address can contain a path to the PAC file on local file system. ### Method Constructor ### Parameters #### Path Parameters - **pacUrl** (string) - Required - The URL address where the PAC file is located. ### Request Example ```csharp var proxySettings = new PacProxySettings("http://example.com/proxy.pac"); ``` ### Response #### Success Response (Instance Created) - **PacProxySettings** (PacProxySettings) - The newly created PacProxySettings instance. #### Response Example ```json { "instance": "PacProxySettings object" } ``` ``` -------------------------------- ### BrowserView Initialization and Usage Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Wpf.BrowserView Demonstrates how to initialize and use the BrowserView component within a WPF application, including setting up the browser engine and loading a URL. ```APIDOC ## BrowserView Initialization and Usage ### Description This section provides examples of how to integrate and use the `BrowserView` component in a WPF application. It covers the necessary setup for the `IEngine` and `IBrowser`, and demonstrates binding the `BrowserView` to an `IBrowser` instance. ### Method N/A (Code examples) ### Endpoint N/A (Code examples) ### Parameters N/A (Code examples) ### Request Example ```xml ``` ```csharp public partial class MainWindow : Window { private IEngine engine; private IBrowser browser; public MainWindow() { try { Task.Run(() => { engine = EngineFactory.Create(new EngineOptions.Builder() { RenderingMode = RenderingMode.HardwareAccelerated }.Build()); browser = engine.CreateBrowser(); }).ContinueWith((t) => { BrowserView.InitializeFrom(browser); browser.Navigation.LoadUrl("https://www.teamdev.com/"); }, TaskScheduler.FromCurrentSynchronizationContext()); InitializeComponent(); } catch (Exception exception) { Debug.WriteLine(exception); } } private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { engine.Dispose(); } } ``` ### Response N/A (Code examples) ### Response Example N/A (Code examples) ``` -------------------------------- ### StartTransactionHandler Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Net.INetwork.StartTransactionHandler Gets or sets a handler used when a request is about to start the transaction process. This handler allows for adding, modifying, and deleting HTTP request headers. ```APIDOC ## Property StartTransactionHandler ### Description Gets or sets a handler that is used when the request is about to start the transaction process. It allows adding, modifying, and deleting HTTP request headers. ### Method Property Access (Get/Set) ### Endpoint N/A (This is a property within a class) ### Parameters N/A (This is a property) ### Request Example N/A (This is a property) ### Response #### Property Type `IHandler` #### Remarks Use the `OverrideHeaders(IEnumerable)` method to override headers. Use the `Continue()` method to continue with original headers. If an exception occurs inside the handler, the default behavior will be applied - the `Continue()` method will be used. #### Exceptions - **ObjectDisposedException** The `INetwork` object has already been disposed. ``` -------------------------------- ### Get Extension Version (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Extensions.Handlers.InstallExtensionParameters.ExtensionVersion Retrieves the version of the extension that needs to be installed. This property is part of the DotNetBrowser.Extensions.Handlers namespace and is accessible via the DotNetBrowser.dll assembly. ```csharp public string ExtensionVersion { get; } ``` -------------------------------- ### CastSessionStartFailedException ResultCode Property (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Cast.CastSessionStartFailedException Gets the error code obtained from Chromium that caused the cast session start to fail. This property provides specific information about the failure. ```csharp ResultCode ResultCode { get; } ``` -------------------------------- ### PacProxySettings Constructor (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Net.Proxy.PacProxySettings Initializes a new PacProxySettings instance with the URL of the PAC file. The PAC file URL must be valid and can point to a local file system path. ```csharp public sealed class PacProxySettings : ProxySettings { public PacProxySettings(string pacUrl); } ``` -------------------------------- ### Get Supported Receivers (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Cast.Handlers.StartPresentationParameters.SupportedReceivers Retrieves a read-only list of media receivers that can start a presentation from a PresentationRequest. This property is part of the DotNetBrowser.Cast.Handlers namespace and returns an IReadOnlyList. ```csharp public IReadOnlyList SupportedReceivers { get; } ``` -------------------------------- ### InstallExtensionParameters Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Extensions.Handlers.InstallExtensionParameters Defines the parameters required for the InstallExtensionHandler to install an extension. ```APIDOC ## Class InstallExtensionParameters ### Description Represents the parameters needed for installing a browser extension using the DotNetBrowser API. This class holds information such as the extension file path, ID, name, version, and requested host permissions. ### Method N/A (This is a parameter class, not an endpoint) ### Endpoint N/A ### Parameters #### Properties - **ExtensionCrxFile** (string) - Required - Gets the absolute path to the CRX file the extension is about to be installed from. - **ExtensionId** (string) - Required - Gets the ID of the extension to install. - **ExtensionName** (string) - Required - Gets the name of the extension to install. - **ExtensionVersion** (string) - Required - Gets the version of the extension to install. - **Hosts** (string[]) - Required - Gets the hosts that the extension requests access to. - **Permissions** (string[]) - Required - Gets the required extension permissions. ### Request Example ```json { "extensionCrxFile": "/path/to/your/extension.crx", "extensionId": "abcdefghijklmnopabcdefghijklmnop", "extensionName": "My Awesome Extension", "extensionVersion": "1.0.0", "hosts": ["*://*.example.com/*"], "permissions": ["tabs", "storage"] } ``` ### Response #### Success Response (N/A - This is a parameter class) #### Response Example N/A ``` -------------------------------- ### Get Property Location - C# Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.SpellCheck.SpellCheckingResult.Location Retrieves the starting index (location) of the first character of a misspelled word within the text being spell-checked. This property is read-only and returns an unsigned integer. ```csharp public uint Location { get; } ``` -------------------------------- ### StartSessionHandler Property Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Capture.ICapture.StartSessionHandler Gets or sets a handler that is used when the browser is about to start capturing sessions. This handler allows customization of the session capture process, including selecting sources, audio modes, and notifications. ```APIDOC ## Property: StartSessionHandler ### Description Gets or sets a handler that is used when the browser is about to start capturing sessions. This handler allows customization of the session capture process, including selecting sources, audio modes, and notifications. ### Method Property (Get/Set) ### Endpoint N/A (This is a property within a class) ### Parameters N/A (This is a property, not an endpoint) ### Request Example N/A ### Response #### Property Type `IHandler` #### Remarks - Use the `ShowSelectSourceDialog()` method to display the default dialog for choosing the capture source. - Use the `SelectSource(Source, AudioMode, NotificationVisibility)` method to use the given capture source. - Use the `SelectSource(IBrowser, AudioMode, NotificationVisibility)` method to use the given browser as the capture source. - Use the `Cancel()` method if the capture session request should be canceled. - If an exception occurs inside the handler implementation, the default behavior will be applied - the method `Cancel()` will be used. #### Exceptions - `ObjectDisposedException`: The `IBrowser` has already been disposed. ``` -------------------------------- ### ExtensionInstallationException Constructor Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Extensions.ExtensionInstallationException.-ctor Details about the constructor for the ExtensionInstallationException class, used when an error occurs during extension installation. ```APIDOC ## ExtensionInstallationException Constructor ### Description Initializes a new instance of the `ExtensionInstallationException` class with a specified error message. ### Method `public` ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body N/A ### Request Example N/A ### Response #### Success Response (N/A) N/A #### Response Example N/A ### Exception Details #### Parameters - **message** (string) - Required - The error message that explains the reason for the exception. ``` -------------------------------- ### C# Code for Browser Initialization and Navigation Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Wpf.BrowserView This C# code illustrates the initialization of the DotNetBrowser engine and a browser instance, followed by binding the BrowserView and loading a URL. It includes error handling and ensures UI thread updates. ```csharp public partial class MainWindow : Window { private IEngine engine; private IBrowser browser; public MainWindow() { try { Task.Run(() => { engine = EngineFactory.Create(new EngineOptions.Builder() { RenderingMode = RenderingMode.HardwareAccelerated }.Build()); browser = engine.CreateBrowser(); }).ContinueWith((t) => { BrowserView.InitializeFrom(browser); browser.Navigation.LoadUrl("https://www.teamdev.com/"); }, TaskScheduler.FromCurrentSynchronizationContext()); InitializeComponent(); } catch (Exception exception) { Debug.WriteLine(exception); } } private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { engine.Dispose(); } } ``` -------------------------------- ### Get Available Chromium Plugins (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Plugins.IPlugins.AvailablePlugins Retrieves the collection of installed and available Chromium plugins using the AvailablePlugins property. This property returns an IEnumerable. The collection will be empty if no plugins are found. An ObjectDisposedException may be thrown if the IPlugins object has been disposed. ```csharp IEnumerable AvailablePlugins { get; } ``` -------------------------------- ### Get Session Description (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Cast.ICastSession.Description Retrieves the description of the current casting session. This string can indicate the content being mirrored or cast, such as a website URL or media type. The description might be empty initially if the session has just started and Chromium has not yet determined the cast content. ```csharp string Description { get; } ``` -------------------------------- ### Set Browser FullVersion Property (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Browser.UserAgentMetadata.Builder.FullVersion The FullVersion property in the DotNetBrowser.Browser namespace allows you to get or set the complete version string used for the user agent. This string can represent a browser version or a brand identifier. Example values include '72.0.3245.12', '3.14159', and '297.70E04154A'. ```csharp public string FullVersion { get; set; } ``` -------------------------------- ### InstallExtensionResponse Class Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Extensions.Handlers.InstallExtensionResponse Provides details about the InstallExtensionResponse class, which is used to signal the outcome of an extension installation attempt. ```APIDOC ## Class InstallExtensionResponse ### Description The response to the InstallExtensionHandler. This class provides signals to the engine regarding the extension installation process. ### Namespace DotNetBrowser.Extensions.Handlers ### Assembly DotNetBrowser.dll ### Fields #### Cancel - **Type**: `InstallExtensionResponse` - **Description**: The `InstallExtensionResponse` that notifies the engine that the extension installation should be canceled. #### Install - **Type**: `InstallExtensionResponse` - **Description**: The `InstallExtensionResponse` that notifies the engine that the extension should be installed. ``` -------------------------------- ### Handle Method for Download Events Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.WinForms.Dialogs.DefaultStartDownloadHandler.Handle This section details the Handle method used to respond to download start events in DotNetBrowser. It allows developers to provide a response based on the download parameters. ```APIDOC ## Handle Method ### Description This method is called when the Chromium callback needs a response that may be determined based on the provided parameters. It allows for custom handling of download start events. ### Method `Handle` ### Endpoint N/A (This is a method within a class, not a REST endpoint) ### Parameters #### Parameters - **startDownloadParameters** (StartDownloadParameters) - Required - The item for which the download is about to be started. ### Request Example ```csharp // Example usage within a handler StartDownloadResponse response = handler.Handle(new StartDownloadParameters(...)); ``` ### Response #### Success Response - **StartDownloadResponse** - An object that represents the response that should be determined based on the provided parameters. #### Response Example ```json { "Allow": true, "DestinationPath": "/path/to/save/file" } ``` ``` -------------------------------- ### Get Browser Brand Name (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Browser.UserAgentBrandVersion.Brand Retrieves the commercial name of the user agent or brand. This property returns a string representing the brand name, which must be shorter than 32 ASCII characters. Example values include 'Chromium', 'Google Chrome', or 'Edge'. ```csharp public string Brand { get; } ``` -------------------------------- ### Browser Initialization API Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Browser.BrowserViewExtensions.InitializeFrom Provides methods for initializing and managing IBrowserView instances with IBrowser. ```APIDOC ## InitializeFrom IBrowserView, IBrowser ### Description Initialize a browser view from this particular IBrowser instance. If there is another browser view bound to this browser instance, that view will be de-initialized. ### Method `public static void InitializeFrom(this IBrowserView browserView, IBrowser browser)` ### Endpoint N/A (This is a static extension method, not a REST endpoint) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example N/A ### Response #### Success Response None (void method) #### Response Example N/A #### Parameters `browserView` (IBrowserView) - Required - The browser view to initialize. `browser` (IBrowser) - Required - The browser instance to initialize from. ``` -------------------------------- ### Start Resource Download with DownloadResource (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Browser.IBrowser.DownloadResource Initiates the download of a resource from a specified URL. This method requires a valid URL string. The download process can be managed using StartDownloadHandler. It handles invalid URLs or non-downloadable resources gracefully by doing nothing. ```csharp void DownloadResource(string url) ``` -------------------------------- ### Initialize Builder with UserAgentBrandVersion Instance Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Browser.UserAgentBrandVersion.Builder.-ctor Initializes a new instance of UserAgentBrandVersion.Builder with an existing UserAgentBrandVersion instance. This allows for the builder to be pre-configured with specific brand version details. ```csharp public Builder(UserAgentBrandVersion brandVersion) ``` -------------------------------- ### CreateBrowser Method Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Profile.IProfile.CreateBrowser Creates a new IBrowser instance with the initial 'about:blank' web page. ```APIDOC ## CreateBrowser() ### Description Creates a new IBrowser instance with the initial "about:blank" web page. ### Method N/A (This is a method call, not an HTTP endpoint) ### Endpoint N/A ### Parameters None ### Request Example N/A ### Response #### Success Response - **IBrowser** (object) - A new IBrowser instance. ``` -------------------------------- ### Build UserAgentBrandVersion Instance Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Browser.UserAgentBrandVersion.Builder.Build The Build() method creates a new UserAgentBrandVersion instance. It initializes the instance based on the current state of the builder. This method is part of the DotNetBrowser.Browser namespace and returns a UserAgentBrandVersion object. ```csharp public UserAgentBrandVersion Build() ``` -------------------------------- ### Initialize FindOptions with Case Sensitivity and Direction (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Search.FindOptions Demonstrates the constructor for the FindOptions class, which initializes a new instance with specified case sensitivity and search direction. This is crucial for controlling how text searches are performed. ```csharp public FindOptions(bool matchCase, Direction direction); ``` -------------------------------- ### Access Touch Started Event (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Input.Touch.ITouch.Started This C# code snippet demonstrates how to access the 'Started' event, which is triggered when a touch interaction begins. It returns an IInterceptableInputEvent object that can be used to intercept and handle touch start events. Ensure the IBrowser object is not disposed before accessing this event. ```csharp IInterceptableInputEvent Started { get; } ``` -------------------------------- ### Create SelectMediaDeviceResponse with Proceed() in C# Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Media.Handlers.SelectMediaDeviceResponse.Proceed The Proceed() method creates a SelectMediaDeviceResponse, signaling to the engine that it can list available media input devices. This response is used within the SelectMediaDeviceHandler. All media input devices of the requested type will be visible to JavaScript. ```csharp public static SelectMediaDeviceResponse Proceed() ``` -------------------------------- ### Create Engine with Default Options Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Engine.EngineFactory.Create Creates and returns an IEngine instance with default configuration. ```APIDOC ## POST /websites/api_dotnetbrowser_dev_3_4_0/EngineFactory/Create ### Description Creates and returns an IEngine instance with default configuration. This is equivalent to calling `Create(EngineOptions)` with default options. ### Method POST ### Endpoint /websites/api_dotnetbrowser_dev_3_4_0/EngineFactory/Create ### Parameters No parameters required. ### Request Example ```json {} ``` ### Response #### Success Response (200) - **engine** (IEngine) - A completely initialized Chromium engine. #### Response Example ```json { "engine": { "status": "initialized" } } ``` #### Exceptions - **EngineInitializationException** - The IEngine initialization has failed for some reason. ``` -------------------------------- ### TouchStart Event Type Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Dom.Events.EventType.TouchStart This section details the TouchStart event type, which is part of the DotNetBrowser.Dom.Events namespace and is available in DotNetBrowser.dll. It represents the 'touchstart' event. ```APIDOC ## TouchStart Event Type ### Description Represents the 'touchstart' event type within the DotNetBrowser.Dom.Events namespace. ### Method N/A (This is a static readonly field representing an event type, not an endpoint with a method). ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response #### Success Response (N/A) - **EventType** (EventType) - The 'touchstart' event type. #### Response Example ```csharp public static readonly EventType TouchStart__ ``` ``` -------------------------------- ### Access Extension CRX File Path (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Extensions.Handlers.InstallExtensionParameters.ExtensionCrxFile Retrieves the absolute path to the CRX file from which an extension is being installed. This property is read-only and the file is temporary, being deleted after installation or cancellation. Developers can copy this file for later use, such as programmatic installation. ```csharp public string ExtensionCrxFile { get; } ``` -------------------------------- ### Create IEngine with Default Options in C# Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Engine.EngineFactory.Create Initializes and returns an IEngine instance using default configuration options. This is the simplest way to create an engine, equivalent to calling Create with default EngineOptions. It requires the DotNetBrowser.Core.dll assembly and may throw an EngineInitializationException. ```csharp IEngine engine = EngineFactory.Create(); ``` -------------------------------- ### ICapture Service Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Capture.ICapture Provides access to capture sessions and handlers for starting capture sessions. It also includes events for session start notifications. ```APIDOC ## Interface ICapture ### Description A service that can be used for listening and handling capturing sessions. ### Namespace DotNetBrowser.Capture ### Assembly DotNetBrowser.dll ## Properties ### Sessions Gets all active capture sessions of the current browser. ### StartSessionHandler Gets or sets a handler that is used when the browser is about to start capturing sessions. ## Events ### SessionStarted Occurs when a capture session is started for this browser instance. ``` -------------------------------- ### Event LoadStarted Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Navigation.INavigation.LoadStarted This event occurs when the content loading has been started, indicated by the tab's spinner starting to spin. ```APIDOC ## Event LoadStarted ### Description Occurs when the content loading has been started. This event corresponds to the moment when the spinner of the tab starts spinning. ### Namespace DotNetBrowser.Navigation ### Assembly DotNetBrowser.dll ### Event Signature ```csharp event EventHandler LoadStarted ``` ### Returns EventHandler Occurs when the content loading has been started. This event corresponds to the moment when the spinner of the tab starts spinning. ``` -------------------------------- ### LicenseException Constructor Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Engine.LicenseException Initializes a new instance of the LicenseException with a specified message. ```APIDOC ## LicenseException Constructor ### Description Initializes a new instance of the EngineInitializationException with the specified `message`. ### Method Constructor ### Endpoint N/A ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```csharp throw new LicenseException("License validation failed."); ``` ### Response #### Success Response (N/A) This is a constructor, not an endpoint that returns data. #### Response Example N/A ``` -------------------------------- ### UserAgentMetadata.Builder Methods Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Browser.UserAgentMetadata.Builder Information about the methods available on the UserAgentMetadata.Builder class, including the method to build the UserAgentMetadata instance. ```APIDOC ## UserAgentMetadata.Builder Methods ### Build() Creates a UserAgentMetadata instance. ``` -------------------------------- ### IExtensions Interface Definition (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Extensions.IExtensions Defines the IExtensions interface, a service for managing browser extensions. It inherits from IAutoDisposable, indicating resource management capabilities. This interface outlines properties for accessing installed extensions, handlers for installation and uninstallation, and methods for installing extensions from local files. ```csharp public interface IExtensions : IAutoDisposable__ ``` -------------------------------- ### Set and Get Password (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Passwords.PasswordRecord.Builder.Password This C# code snippet demonstrates how to get or set the password property. It is a public string property within the DotNetBrowser.Passwords namespace. ```csharp public string Password { get; set; } ``` -------------------------------- ### Initialize BrowserView and Load URL in C# Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.WinForms.BrowserView This C# code snippet demonstrates how to initialize a BrowserView, create an engine and browser instance, and load a URL. It handles asynchronous operations using Task.Run and ensures proper disposal of browser and engine resources upon form closing. Dependencies include the DotNetBrowser library. ```csharp public partial class Form1 : Form { BrowserView webView; private IEngine engine; private IBrowser browser; public Form1() { webView = new BrowserView() { Dock = DockStyle.Fill }; InitializeComponent(); try { Task.Run(() => { engine = EngineFactory.Create(new EngineOptions.Builder() { RenderingMode = RenderingMode.HardwareAccelerated }.Build()); browser = engine.CreateBrowser(); }).ContinueWith((t) => { webView.InitializeFrom(browser); browser.Navigation.LoadUrl("https://google.com"); }, TaskScheduler.FromCurrentSynchronizationContext()); } catch (Exception exception) { Debug.WriteLine(exception); } FormClosing += Form1_FormClosing; Controls.Add(webView); } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { browser?.Dispose(); engine?.Dispose(); } } ``` -------------------------------- ### Start Casting Browser Content to Media Receiver (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Cast.ICast.CastContent Starts casting the browser content to an IMediaReceiver. This asynchronous operation returns a Task. The task may complete with CastSessionStartFailedException if the session fails to start, or be canceled if the browser closes during the process. Ensure the MediaRoutingException is handled if the media routing switch is not set. ```csharp Task CastContent(IMediaReceiver receiver) ``` -------------------------------- ### Initialize Builder with Existing Metadata (.NET) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Browser.UserAgentMetadata.Builder.-ctor Initializes a new instance of UserAgentMetadata.Builder using an existing UserAgentMetadata instance. This allows for the pre-population of builder settings from a provided metadata object. ```csharp public Builder(UserAgentMetadata metadata) ``` -------------------------------- ### Handle Navigation Started Event (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Navigation.INavigation An event that fires when a navigation operation begins. This event is also triggered for same-document navigations (e.g., fragment changes). Use the IsSameDocument property to filter these if necessary. ```csharp NavigationStarted ``` -------------------------------- ### Initialize Builder with Default Constructor Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Browser.UserAgentBrandVersion.Builder.-ctor Initializes a new instance of UserAgentBrandVersion.Builder using the default constructor. This method requires no parameters and sets up a default builder instance. ```csharp public Builder() ``` -------------------------------- ### Get IJsArray Element Count (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Js.Collections.IJsArray Demonstrates how to get the number of elements contained in an IJsArray. This property is essential for understanding the size of the JavaScript array accessible from .NET. ```csharp int count = jsArray.Count; ``` -------------------------------- ### Initialize and Dispose IEngine Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Engine.IEngine Demonstrates how to create an IEngine instance with custom user data directory options and then properly dispose of it to release native resources. This is crucial for managing memory and system resources effectively. ```csharp string dataDir = TestUtil.GenerateCustomFolderPath(); Debug.WriteLine($"Data directory: {dataDir}"); Directory.CreateDirectory(dataDir); EngineOptions engineOptions = new EngineOptions.Builder { UserDataDirectory = dataDir } .Build(); IEngine engine = EngineFactory.Create(engineOptions); // ... operations with the engine ... engine.Dispose(); ``` -------------------------------- ### Get Ellipse Orientation Angle (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Geometry.Ellipse.RotationAngle This C# code snippet demonstrates how to access the RotationAngle property to get the orientation angle of an ellipse. This property is read-only and returns a float value. ```csharp public float RotationAngle { get; } ``` -------------------------------- ### Create Download Response with Specific Path (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Downloads.Handlers.StartDownloadResponse.DownloadTo The DownloadTo method creates a StartDownloadResponse to inform the engine about the desired download location. It takes an absolute file path as input and returns a StartDownloadResponse instance. An ArgumentException is thrown if the provided filePath is invalid. ```csharp public static StartDownloadResponse DownloadTo(string filePath) ``` -------------------------------- ### Get and Set Key Modifiers - C# Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Dom.Events.UiEventModifierParameters.KeyModifiers This C# code snippet demonstrates how to get or set the key modifiers using the KeyModifiers property. It is part of the DotNetBrowser.Dom.Events namespace and resides within the DotNetBrowser.dll assembly. ```csharp public KeyModifiers KeyModifiers { get; set; } ``` -------------------------------- ### ScreenCastOptions Class Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Cast Configuration options for screen casting. ```APIDOC ## ScreenCastOptions Class ### Description Configuration options for screen casting. ### Method Not applicable (Class definition) ### Endpoint Not applicable (Class definition) ### Parameters None ### Request Example None ### Response None ``` -------------------------------- ### Get Session Mode - C# Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Cast.ICastSession.Mode This C# code snippet demonstrates how to access the 'Mode' property to get the current session mode. The property returns a value of type 'CastMode'. ```csharp CastMode Mode { get; } ``` -------------------------------- ### StartPresentationResponse Class Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Cast.Handlers.StartPresentationResponse Documentation for the StartPresentationResponse class, which is a response to the StartPresentationHandler. It provides methods to control the presentation flow. ```APIDOC ## Class StartPresentationResponse ### Description A response to the StartPresentationHandler. This class is used to signal whether a presentation should start or be canceled. ### Namespace DotNetBrowser.Cast.Handlers ### Assembly DotNetBrowser.dll ### Methods #### Cancel() ##### Description Creates a StartPresentationResponse that notifies the browser that the presentation should be canceled. ##### Method void ##### Endpoint N/A (Class Method) #### Start(IMediaReceiver) ##### Description Creates a StartPresentationResponse that notifies the browser that the presentation should be started on the IMediaReceiver receiver. ##### Method void ##### Endpoint N/A (Class Method) ##### Parameters ###### Path Parameters None ###### Query Parameters None ###### Request Body None ### Request Example ```json { "example": "No direct request body for class methods, but Start method takes IMediaReceiver" } ``` ### Response #### Success Response (N/A for class methods) N/A #### Response Example ```json { "example": "N/A" } ``` ``` -------------------------------- ### Get and Set KeyContainerName Property in C# Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Browser.CspParameters.KeyContainerName The KeyContainerName property in the DotNetBrowser.Browser namespace allows you to get or set the key container name. This property is of type string and is part of the DotNetBrowser.dll assembly. ```csharp public string KeyContainerName { get; set; } ``` -------------------------------- ### Create IEngine with EngineOptions in C# Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Engine.EngineFactory.Create Initializes and returns an IEngine instance using the provided EngineOptions. This method allows for custom configuration of the Chromium engine, such as specifying the user data directory. It requires the DotNetBrowser.Core.dll assembly and may throw an EngineInitializationException. ```csharp string dataDir = TestUtil.GenerateCustomFolderPath(); Debug.WriteLine($"Data directory: {dataDir}"); Directory.CreateDirectory(dataDir); EngineOptions engineOptions = new EngineOptions.Builder { UserDataDirectory = dataDir } .Build(); IEngine engine = EngineFactory.Create(engineOptions); ``` -------------------------------- ### Implement StartNavigationHandler in C# Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Navigation.INavigation.StartNavigationHandler The StartNavigationHandler property allows you to define custom logic executed before the browser navigates to a resource. You can use the Start() method to permit navigation or Ignore() to block it. The handler's execution is synchronous and blocks the browser until it returns. It is not permissible to call browser methods within the handler. ```csharp IHandler StartNavigationHandler { get; set; } ``` -------------------------------- ### Set and Get User's Phone Number (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.UserData.UserDataProfile.Builder.PhoneNumber The PhoneNumber property is a string that allows you to get or set the phone number entered by the user. It is a public property within the DotNetBrowser.UserData namespace. ```csharp public string PhoneNumber { get; set; } ``` -------------------------------- ### Build EngineOptions Instance using C# Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Engine.EngineOptions.Builder.Build The Build() method creates a new EngineOptions instance. This instance is initialized based on the current state of the builder. It is part of the DotNetBrowser.Engine namespace and is found in the DotNetBrowser.dll assembly. ```csharp public EngineOptions Build() ``` -------------------------------- ### Get and Set Property State in C# Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.UserData.Address.Builder.State This C# code snippet demonstrates how to get or set the 'State' property. This property is part of the DotNetBrowser.UserData namespace and is used to manage the state name. ```csharp public string State { get; set; } ``` -------------------------------- ### Set and Get HTTP Status Code (C#) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Net.Handlers.UrlRequestJobOptions.HttpStatusCode This snippet demonstrates how to get or set the HTTP status code for a response. It is a property of the HttpStatusCode class within the DotNetBrowser.Net.Handlers namespace. The default value is HttpStatusCode.OK. ```csharp public HttpStatusCode HttpStatusCode { get; set; } ``` -------------------------------- ### Create Engine Asynchronously (No Options) Source: https://api.dotnetbrowser.dev/api/DotNetBrowser.Engine.EngineFactory.CreateAsync Asynchronously creates and returns an IEngine instance using default initialization settings. This is equivalent to calling CreateAsync with default EngineOptions. It returns a Task that resolves to an initialized Chromium engine. ```csharp public static Task CreateAsync() { // Implementation details... return Task.FromResult(null); // Placeholder } ```