mirror of
				https://github.com/mozilla/gecko-dev.git
				synced 2025-11-04 02:09:05 +02:00 
			
		
		
		
	It's only implemented by BrowserChild, we can do this more directly. Differential Revision: https://phabricator.services.mozilla.com/D209534
		
			
				
	
	
		
			79 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
/* -*- 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 <I>each</I> 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 <CODE>nsIBaseWindow</CODE> interface.
 | 
						|
     *
 | 
						|
     * The chrome may optionally implement <CODE>nsIInterfaceRequestor</CODE>,
 | 
						|
     * <CODE>nsIContextMenuListener</CODE> and
 | 
						|
     * <CODE>nsITooltipListener</CODE> to receive additional notifications
 | 
						|
     * from the browser object.
 | 
						|
     *
 | 
						|
     * The chrome object may optionally implement
 | 
						|
     * <CODE>nsIWebProgressListener</CODE> to register a progress listener
 | 
						|
     * object. If the implementation does this, it must also implement
 | 
						|
     * <CODE>nsIWeakReference</CODE>.
 | 
						|
     *
 | 
						|
     * @note The implementation should not refcount the supplied chrome
 | 
						|
     *       object; it should assume that a non <CODE>nullptr</CODE> 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 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);
 | 
						|
};
 |