From ad18d877ddd2a44d98fa12ccd3dbbcf4d0ac4299 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- dom/base/nsIFrameLoader.idl | 288 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 288 insertions(+) create mode 100644 dom/base/nsIFrameLoader.idl (limited to 'dom/base/nsIFrameLoader.idl') diff --git a/dom/base/nsIFrameLoader.idl b/dom/base/nsIFrameLoader.idl new file mode 100644 index 000000000..d840cdce6 --- /dev/null +++ b/dom/base/nsIFrameLoader.idl @@ -0,0 +1,288 @@ +/* -*- Mode: IDL; tab-width: 2; 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 mozIApplication; +interface nsFrameLoader; +interface nsIDocShell; +interface nsIURI; +interface nsIFrame; +interface nsSubDocumentFrame; +interface nsIMessageSender; +interface nsIVariant; +interface nsIDOMElement; +interface nsITabParent; +interface nsILoadContext; +interface nsIPrintSettings; +interface nsIWebProgressListener; +interface nsIGroupedSHistory; +interface nsIPartialSHistory; + +[scriptable, builtinclass, uuid(1645af04-1bc7-4363-8f2c-eb9679220ab1)] +interface nsIFrameLoader : nsISupports +{ + /** + * Get the docshell from the frame loader. + */ + readonly attribute nsIDocShell docShell; + + /** + * Get this frame loader's TabParent, if it has a remote frame. Otherwise, + * returns null. + */ + readonly attribute nsITabParent tabParent; + + /** + * Get an nsILoadContext for the top-level docshell. For remote + * frames, a shim is returned that contains private browsing and app + * information. + */ + readonly attribute nsILoadContext loadContext; + + /** + * Start loading the frame. This method figures out what to load + * from the owner content in the frame loader. + */ + void loadFrame(); + + /** + * Loads the specified URI in this frame. Behaves identically to loadFrame, + * except that this method allows specifying the URI to load. + */ + void loadURI(in nsIURI aURI); + + /** + * Puts the frameloader in prerendering mode. + */ + void setIsPrerendered(); + + /** + * Make the prerendered frameloader being active (and clear isPrerendered flag). + */ + void makePrerenderedLoaderActive(); + + /** + * Append partial session history from another frame loader. + */ + void appendPartialSessionHistoryAndSwap(in nsIFrameLoader aOther); + + /** + * If grouped session history is applied, use this function to navigate to + * an entry of session history object of another frameloader. + */ + void requestGroupedHistoryNavigation(in unsigned long aGlobalIndex); + + /** + * Destroy the frame loader and everything inside it. This will + * clear the weak owner content reference. + */ + void destroy(); + + /** + * Find out whether the loader's frame is at too great a depth in + * the frame tree. This can be used to decide what operations may + * or may not be allowed on the loader's docshell. + */ + readonly attribute boolean depthTooGreat; + + /** + * Updates the position and size of the subdocument loaded by this frameloader. + * + * @param aIFrame The nsIFrame for the content node that owns this frameloader + */ + [noscript] void updatePositionAndSize(in nsSubDocumentFrame aIFrame); + + /** + * Activate remote frame. + * Throws an exception with non-remote frames. + */ + void activateRemoteFrame(); + + /** + * Deactivate remote frame. + * Throws an exception with non-remote frames. + */ + void deactivateRemoteFrame(); + + /** + * @see nsIDOMWindowUtils sendMouseEvent. + */ + void sendCrossProcessMouseEvent(in AString aType, + in float aX, + in float aY, + in long aButton, + in long aClickCount, + in long aModifiers, + [optional] in boolean aIgnoreRootScrollFrame); + + /** + * Activate event forwarding from client (remote frame) to parent. + */ + void activateFrameEvent(in AString aType, in boolean capture); + + // Note, when frameloaders are swapped, also messageManagers are swapped. + readonly attribute nsIMessageSender messageManager; + + /** + * @see nsIDOMWindowUtils sendKeyEvent. + */ + void sendCrossProcessKeyEvent(in AString aType, + in long aKeyCode, + in long aCharCode, + in long aModifiers, + [optional] in boolean aPreventDefault); + + /** + * Request that the next time a remote layer transaction has been + * received by the Compositor, a MozAfterRemoteFrame event be sent + * to the window. + */ + void requestNotifyAfterRemotePaint(); + + /** + * Close the window through the ownerElement. + */ + void requestFrameLoaderClose(); + + /** + * Print the current document. + * + * @param aOuterWindowID the ID of the outer window to print + * @param aPrintSettings optional print settings to use; printSilent can be + * set to prevent prompting. + * @param aProgressListener optional print progress listener. + */ + void print(in unsigned long long aOuterWindowID, + in nsIPrintSettings aPrintSettings, + in nsIWebProgressListener aProgressListener); + + /** + * The default event mode automatically forwards the events + * handled in EventStateManager::HandleCrossProcessEvent to + * the child content process when these events are targeted to + * the remote browser element. + * + * Used primarly for input events (mouse, keyboard) + */ + const unsigned long EVENT_MODE_NORMAL_DISPATCH = 0x00000000; + + /** + * With this event mode, it's the application's responsability to + * convert and forward events to the content process + */ + const unsigned long EVENT_MODE_DONT_FORWARD_TO_CHILD = 0x00000001; + + attribute unsigned long eventMode; + + /** + * If false, then the subdocument is not clipped to its CSS viewport, and the + * subdocument's viewport scrollbar(s) are not rendered. + * Defaults to true. + */ + attribute boolean clipSubdocument; + + /** + * If false, then the subdocument's scroll coordinates will not be clamped + * to their scroll boundaries. + * Defaults to true. + */ + attribute boolean clampScrollPosition; + + /** + * The element which owns this frame loader. + * + * For example, if this is a frame loader for an