From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- toolkit/components/browser/nsIWebBrowser.idl | 81 ++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 toolkit/components/browser/nsIWebBrowser.idl (limited to 'toolkit/components/browser/nsIWebBrowser.idl') diff --git a/toolkit/components/browser/nsIWebBrowser.idl b/toolkit/components/browser/nsIWebBrowser.idl new file mode 100644 index 0000000000..a644dcd31e --- /dev/null +++ b/toolkit/components/browser/nsIWebBrowser.idl @@ -0,0 +1,81 @@ +/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsISupports.idl" + +interface nsIInterfaceRequestor; +interface nsIWebBrowserChrome; +interface nsIURIContentListener; +interface mozIDOMWindowProxy; +interface nsIWeakReference; + +%{C++ +namespace mozilla { +class OriginAttributes; +} +%} + +[ref] native const_OriginAttributesRef(const mozilla::OriginAttributes); + +/** + * The nsIWebBrowser interface is implemented by web browser objects. + * Embedders use this interface during initialisation to associate + * the new web browser instance with the embedders chrome and + * to register any listeners. The interface may also be used at runtime + * to obtain the content DOM window and from that the rest of the DOM. + */ +[scriptable, builtinclass, uuid(4052b6da-4faa-4646-b3a1-7e16a01c2dc2)] +interface nsIWebBrowser : nsISupports +{ + /** + * The chrome object associated with the browser instance. The embedder + * must create one chrome object for each browser object + * that is instantiated. The embedder must associate the two by setting + * this property to point to the chrome object before creating the browser + * window via the browser's nsIBaseWindow interface. + * + * The chrome may optionally implement nsIInterfaceRequestor, + * nsIWebBrowserChromeFocus, + * nsIContextMenuListener and + * nsITooltipListener to receive additional notifications + * from the browser object. + * + * The chrome object may optionally implement + * nsIWebProgressListener to register a progress listener + * object. If the implementation does this, it must also implement + * nsIWeakReference. + * + * @note The implementation should not refcount the supplied chrome + * object; it should assume that a non nullptr value is + * always valid. The embedder must explicitly set this value back + * to nullptr if the chrome object is destroyed before the browser + * object. + * + * @see nsIBaseWindow + * @see nsIWebBrowserChrome + * @see nsIInterfaceRequestor + * @see nsIWebBrowserChromeFocus + * @see nsIContextMenuListener + * @see nsITooltipListener + * @see nsIWeakReference + * @see nsIWebProgressListener + */ + attribute nsIWebBrowserChrome containerWindow; + + /** + * The top-level DOM window. The embedder may walk the entire + * DOM starting from this value. + */ + readonly attribute mozIDOMWindowProxy contentDOMWindow; + + /** + * Set Origin Attributes on the nsIWebBrowser. + * The Origin Attributes will be passed to the docshell once it has been + * created + */ + [noscript, notxpcom, nostdcall, binaryname(SetOriginAttributes)] + void binarySetOriginAttributes(in const_OriginAttributesRef aOriginAttrs); +}; -- cgit v1.2.3