Struct xpcom::interfaces::nsIDocShell [] [src]

#[repr(C)]
pub struct nsIDocShell { /* fields omitted */ }

interface nsIDocShell : nsIDocShellTreeItem

Methods

impl nsIDocShell
[src]

[src]

Cast this nsIDocShell to one of its base interfaces.

impl nsIDocShell
[src]

INTERNAL_LOAD_FLAGS_NONE: i64 = 0

INTERNAL_LOAD_FLAGS_INHERIT_PRINCIPAL: i64 = 1

INTERNAL_LOAD_FLAGS_DONT_SEND_REFERRER: i64 = 2

INTERNAL_LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP: i64 = 4

INTERNAL_LOAD_FLAGS_FIRST_LOAD: i64 = 8

INTERNAL_LOAD_FLAGS_BYPASS_CLASSIFIER: i64 = 16

INTERNAL_LOAD_FLAGS_FORCE_ALLOW_COOKIES: i64 = 32

INTERNAL_LOAD_FLAGS_IS_SRCDOC: i64 = 64

INTERNAL_LOAD_FLAGS_NO_OPENER: i64 = 256

INTERNAL_LOAD_FLAGS_FORCE_ALLOW_DATA_URI: i64 = 512

ENUMERATE_FORWARDS: i64 = 0
/**
   * Get an enumerator over this docShell and its children.
   *
   * @param aItemType  - Only include docShells of this type, or if typeAll,
   *                     include all child shells.
   *                     Uses types from nsIDocShellTreeItem.
   * @param aDirection - Whether to enumerate forwards or backwards.
   */

ENUMERATE_BACKWARDS: i64 = 1

APP_TYPE_UNKNOWN: i64 = 0
/**
   * The type of application that created this window
   */

APP_TYPE_MAIL: i64 = 1

APP_TYPE_EDITOR: i64 = 2

BUSY_FLAGS_NONE: i64 = 0
/**
   * Current busy state for DocShell
   */

BUSY_FLAGS_BUSY: i64 = 1

BUSY_FLAGS_BEFORE_PAGE_LOAD: i64 = 2

BUSY_FLAGS_PAGE_LOADING: i64 = 4

LOAD_CMD_NORMAL: i64 = 1
/**
   * Load commands for the document
   */

LOAD_CMD_RELOAD: i64 = 2

LOAD_CMD_HISTORY: i64 = 4

LOAD_CMD_PUSHSTATE: i64 = 8

FRAME_TYPE_REGULAR: i64 = 0
/**
   * The type of iframe that this docshell lives.
   */

FRAME_TYPE_BROWSER: i64 = 1

TOUCHEVENTS_OVERRIDE_DISABLED: i64 = 0
/**
   * Override platform/pref default behaviour and force-disable touch events.
   */

TOUCHEVENTS_OVERRIDE_ENABLED: i64 = 1
/**
   * Override platform/pref default behaviour and force-enable touch events.
   */

TOUCHEVENTS_OVERRIDE_NONE: i64 = 2
/**
   * Don't override the platform/pref default behaviour for touch events.
   */

DISPLAY_MODE_BROWSER: i64 = 0
/**
   * Allowed CSS display modes. This needs to be kept in
   * sync with similar values in nsStyleConsts.h
   */

DISPLAY_MODE_MINIMAL_UI: i64 = 1

DISPLAY_MODE_STANDALONE: i64 = 2

DISPLAY_MODE_FULLSCREEN: i64 = 3

[src]

/**
   * Loads a given URI.  This will give priority to loading the requested URI
   * in the object implementing this interface.  If it can't be loaded here
   * however, the URL dispatcher will go through its normal process of content
   * loading.
   *
   * @param uri        - The URI to load.
   * @param loadInfo   - This is the extended load info for this load.  This
   *                     most often will be null, but if you need to do
   *                     additional setup for this load you can get a loadInfo
   *                     object by calling createLoadInfo.  Once you have this
   *                     object you can set the needed properties on it and
   *                     then pass it to loadURI.
   * @param aLoadFlags - Flags to modify load behaviour. Flags are defined in
   *                     nsIWebNavigation.  Note that using flags outside
   *                     LOAD_FLAGS_MASK is only allowed if passing in a
   *                     non-null loadInfo.  And even some of those might not
   *                     be allowed.  Use at your own risk.
   */

[noscript] void loadURI (in nsIURI uri, in nsIDocShellLoadInfo loadInfo, in unsigned long aLoadFlags, in boolean firstParty);

[src]

/**
   * Loads a given stream. This will give priority to loading the requested
   * stream in the object implementing this interface. If it can't be loaded
   * here however, the URL dispatched will go through its normal process of
   * content loading.
   *
   * @param aStream         - The input stream that provides access to the data
   *                          to be loaded.  This must be a blocking, threadsafe
   *                          stream implementation.
   * @param aURI            - The URI representing the stream, or null.
   * @param aContentType    - The type (MIME) of data being loaded (empty if unknown).
   * @param aContentCharset - The charset of the data being loaded (empty if unknown).
   * @param aLoadInfo       - This is the extended load info for this load.  This
   *                          most often will be null, but if you need to do
   *                          additional setup for this load you can get a
   *                          loadInfo object by calling createLoadInfo.  Once
   *                          you have this object you can set the needed
   *                          properties on it and then pass it to loadStream.
   */

[noscript] void loadStream (in nsIInputStream aStream, in nsIURI aURI, in ACString aContentType, in ACString aContentCharset, in nsIDocShellLoadInfo aLoadInfo);

[src]

/**
   * Creates a DocShellLoadInfo object that you can manipulate and then pass
   * to loadURI.
   */

void createLoadInfo (out nsIDocShellLoadInfo loadInfo);

[src]

/**
   * Reset state to a new content model within the current document and the document
   * viewer.  Called by the document before initiating an out of band document.write().
   */

void prepareForNewContentModel ();

[src]

/**
   * For editors and suchlike who wish to change the URI associated with the
   * document. Note if you want to get the current URI, use the read-only
   * property on nsIWebNavigation.
   */

void setCurrentURI (in nsIURI aURI);

[src]

/**
   * Notify the associated content viewer and all child docshells that they are
   * about to be hidden.  If |isUnload| is true, then the document is being
   * unloaded and all dynamic subframe history entries are removed as well.
   *
   * @param isUnload
   *        True to fire the unload event in addition to the pagehide event,
   *        and remove all dynamic subframe history entries.
   */

[noscript] void firePageHideNotification (in boolean isUnload);

[src]

/**
   * Content Viewer that is currently loaded for this DocShell.  This may
   * change as the underlying content changes.
   */

readonly attribute nsIContentViewer contentViewer;

[src]

/**
   * This attribute allows chrome to tie in to handle DOM events that may
   * be of interest to chrome.
   */

attribute nsIDOMEventTarget chromeEventHandler;

[src]

/**
   * This attribute allows chrome to tie in to handle DOM events that may
   * be of interest to chrome.
   */

attribute nsIDOMEventTarget chromeEventHandler;

[src]

/**
    * This allows chrome to set a custom User agent on a specific docshell
    */

attribute DOMString customUserAgent;

[src]

/**
    * This allows chrome to set a custom User agent on a specific docshell
    */

attribute DOMString customUserAgent;

[src]

/**
   * Whether to allow plugin execution
   */

attribute boolean allowPlugins;

[src]

/**
   * Whether to allow plugin execution
   */

attribute boolean allowPlugins;

[src]

/**
   * Whether to allow Javascript execution
   */

attribute boolean allowJavascript;

[src]

/**
   * Whether to allow Javascript execution
   */

attribute boolean allowJavascript;

[src]

/**
   * Attribute stating if refresh based redirects can be allowed
   */

attribute boolean allowMetaRedirects;

[src]

/**
   * Attribute stating if refresh based redirects can be allowed
   */

attribute boolean allowMetaRedirects;

[src]

/**
   * Attribute stating if it should allow subframes (framesets/iframes) or not
   */

attribute boolean allowSubframes;

[src]

/**
   * Attribute stating if it should allow subframes (framesets/iframes) or not
   */

attribute boolean allowSubframes;

[src]

/**
   * Attribute stating whether or not images should be loaded.
   */

attribute boolean allowImages;

[src]

/**
   * Attribute stating whether or not images should be loaded.
   */

attribute boolean allowImages;

[src]

/**
   * Attribute stating whether or not media (audio/video) should be loaded.
   */

[infallible] attribute boolean allowMedia;

[src]

/**
   * Attribute stating whether or not media (audio/video) should be loaded.
   */

[infallible] attribute boolean allowMedia;

[src]

/**
   * Attribute that determines whether DNS prefetch is allowed for this subtree
   * of the docshell tree.  Defaults to true.  Setting this will make it take
   * effect starting with the next document loaded in the docshell.
   */

attribute boolean allowDNSPrefetch;

[src]

/**
   * Attribute that determines whether DNS prefetch is allowed for this subtree
   * of the docshell tree.  Defaults to true.  Setting this will make it take
   * effect starting with the next document loaded in the docshell.
   */

attribute boolean allowDNSPrefetch;

[src]

/**
   * Attribute that determines whether window control (move/resize) is allowed.
   */

attribute boolean allowWindowControl;

[src]

/**
   * Attribute that determines whether window control (move/resize) is allowed.
   */

attribute boolean allowWindowControl;

[src]

/**
   * True if the docshell allows its content to be handled by a content listener
   * other than the docshell itself, including the external helper app service,
   * and false otherwise.  Defaults to true.
   */

[infallible] attribute boolean allowContentRetargeting;

[src]

/**
   * True if the docshell allows its content to be handled by a content listener
   * other than the docshell itself, including the external helper app service,
   * and false otherwise.  Defaults to true.
   */

[infallible] attribute boolean allowContentRetargeting;

[src]

/**
   * True if new child docshells should allow content retargeting.
   * Setting allowContentRetargeting also overwrites this value.
   */

[infallible] attribute boolean allowContentRetargetingOnChildren;

[src]

/**
   * True if new child docshells should allow content retargeting.
   * Setting allowContentRetargeting also overwrites this value.
   */

[infallible] attribute boolean allowContentRetargetingOnChildren;

[src]

/**
   * True if this docShell should inherit the private browsing ID from
   * its parent when reparented.
   *
   * NOTE: This should *not* be set false in new code, or for docShells
   * inserted anywhere other than as children of panels.
   */

[infallible] attribute boolean inheritPrivateBrowsingId;

[src]

/**
   * True if this docShell should inherit the private browsing ID from
   * its parent when reparented.
   *
   * NOTE: This should *not* be set false in new code, or for docShells
   * inserted anywhere other than as children of panels.
   */

[infallible] attribute boolean inheritPrivateBrowsingId;

[src]

nsISimpleEnumerator getDocShellEnumerator (in long aItemType, in long aDirection);

[src]

attribute unsigned long appType;

[src]

attribute unsigned long appType;

[src]

/**
   * certain dochshells (like the message pane)
   * should not throw up auth dialogs
   * because it can act as a password trojan
   */

attribute boolean allowAuth;

[src]

/**
   * certain dochshells (like the message pane)
   * should not throw up auth dialogs
   * because it can act as a password trojan
   */

attribute boolean allowAuth;

[src]

/**
   * Set/Get the document scale factor.  When setting this attribute, a
   * NS_ERROR_NOT_IMPLEMENTED error may be returned by implementations
   * not supporting zoom.  Implementations not supporting zoom should return
   * 1.0 all the time for the Get operation.  1.0 by the way is the default
   * of zoom.  This means 100% of normal scaling or in other words normal size
   * no zoom.
   */

attribute float zoom;

[src]

/**
   * Set/Get the document scale factor.  When setting this attribute, a
   * NS_ERROR_NOT_IMPLEMENTED error may be returned by implementations
   * not supporting zoom.  Implementations not supporting zoom should return
   * 1.0 all the time for the Get operation.  1.0 by the way is the default
   * of zoom.  This means 100% of normal scaling or in other words normal size
   * no zoom.
   */

attribute float zoom;

[src]

attribute long marginWidth;

[src]

attribute long marginWidth;

[src]

attribute long marginHeight;

[src]

attribute long marginHeight;

[src]

bool tabToTreeOwner (in boolean forward, in boolean forDocumentNavigation);

[src]

readonly attribute unsigned long busyFlags;

[src]

attribute unsigned long loadType;

[src]

attribute unsigned long loadType;

[src]

attribute nsLoadFlags defaultLoadFlags;

[src]

attribute nsLoadFlags defaultLoadFlags;

[src]

boolean isBeingDestroyed ();

[src]

readonly attribute boolean isExecutingOnLoadHandler;

[src]

attribute nsILayoutHistoryState layoutHistoryState;

[src]

attribute nsILayoutHistoryState layoutHistoryState;

[src]

readonly attribute boolean shouldSaveLayoutState;

[src]

/**
   * The SecureBrowserUI object for this docshell.  This is set by XUL
   * <browser> or nsWebBrowser for their root docshell.
   */

attribute nsISecureBrowserUI securityUI;

[src]

/**
   * The SecureBrowserUI object for this docshell.  This is set by XUL
   * <browser> or nsWebBrowser for their root docshell.
   */

attribute nsISecureBrowserUI securityUI;

[src]

/**
   * Object used to delegate URI loading to an upper context.
   * Currently only set for GeckoView to allow handling of load requests
   * at the application level.
   */

attribute nsILoadURIDelegate loadURIDelegate;

[src]

/**
   * Object used to delegate URI loading to an upper context.
   * Currently only set for GeckoView to allow handling of load requests
   * at the application level.
   */

attribute nsILoadURIDelegate loadURIDelegate;

[src]

/**
   * Cancel the XPCOM timers for each meta-refresh URI in this docshell,
   * and this docshell's children, recursively. The meta-refresh timers can be
   * restarted using resumeRefreshURIs().  If the timers are already suspended,
   * this has no effect.
   */

void suspendRefreshURIs ();

[src]

/**
   * Restart the XPCOM timers for each meta-refresh URI in this docshell,
   * and this docshell's children, recursively.  If the timers are already
   * running, this has no effect.
   */

void resumeRefreshURIs ();

[src]

/**
   * Begin firing WebProgressListener notifications for restoring a page
   * presentation. |viewer| is the content viewer whose document we are
   * starting to load.  If null, it defaults to the docshell's current content
   * viewer, creating one if necessary.  |top| should be true for the toplevel
   * docshell that is being restored; it will be set to false when this method
   * is called for child docshells.  This method will post an event to
   * complete the simulated load after returning to the event loop.
   */

void beginRestore (in nsIContentViewer viewer, in boolean top);

[src]

/**
   * Finish firing WebProgressListener notifications and DOM events for
   * restoring a page presentation.  This should only be called via
   * beginRestore().
   */

void finishRestore ();

[src]

readonly attribute boolean restoringDocument;

[src]

attribute boolean useErrorPages;

[src]

attribute boolean useErrorPages;

[src]

/**
   * Display a load error in a frame while keeping that frame's currentURI
   * pointing correctly to the page where the error ocurred, rather than to
   * the error document page. You must provide either the aURI or aURL parameter.
   *
   * @param  aError         The error code to be displayed
   * @param  aURI           nsIURI of the page where the error happened
   * @param  aURL           wstring of the page where the error happened
   * @param  aFailedChannel The channel related to this error
   *
   * Returns whether or not we displayed an error page (note: will always
   * return false if in-content error pages are disabled!)
   */

boolean displayLoadError (in nsresult aError, in nsIURI aURI, in wstring aURL, [optional] in nsIChannel aFailedChannel);

[src]

/**
   * The channel that failed to load and resulted in an error page.
   * May be null. Relevant only to error pages.
   */

readonly attribute nsIChannel failedChannel;

[src]

/**
   * Keeps track of the previous SHTransaction index and the current
   * SHTransaction index at the time that the doc shell begins to load.
   * Used for ContentViewer eviction.
   */

readonly attribute long previousTransIndex;

[src]

readonly attribute long loadedTransIndex;

[src]

/**
   * Notification that entries have been removed from the beginning of a
   * nsSHistory which has this as its rootDocShell.
   *
   * @param numEntries - The number of entries removed
   */

void historyPurged (in long numEntries);

[src]

/**
   * Gets the channel for the currently loaded document, if any.
   * For a new document load, this will be the channel of the previous document
   * until after OnLocationChange fires.
   */

readonly attribute nsIChannel currentDocumentChannel;

[src]

/**
   * The original offset of this child in its container. This property is -1 for
   * dynamically added docShells.
   */

[noscript] attribute long childOffset;

[src]

/**
   * The original offset of this child in its container. This property is -1 for
   * dynamically added docShells.
   */

[noscript] attribute long childOffset;

[src]

/**
   * Find out whether the docshell is currently in the middle of a page
   * transition. This is set just before the pagehide/unload events fire.
   */

readonly attribute boolean isInUnload;

[src]

/**
   * Find out if the currently loaded document came from a suspicious channel
   * (such as a JAR channel where the server-returned content type isn't a
   * known JAR type).
   */

readonly attribute boolean channelIsUnsafe;

[src]

/**
   * This attribute determines whether Mixed Active Content is loaded on the
   * document. When it is true, mixed active content was not blocked and has
   * loaded (or is about to load) on the page. When it is false, mixed active content
   * has not loaded on the page, either because there was no mixed active content
   * requests on the page or such requests were blocked by nsMixedContentBlocker.
   * This boolean is set to true in nsMixedContentBlocker if Mixed Active Content
   * is allowed (either explicitly on the page by the user or when the about:config
   * setting security.mixed_content.block_active_content is set to false).
   */

[infallible] readonly attribute boolean hasMixedActiveContentLoaded;

[src]

/**
   * This attribute determines whether a document has Mixed Active Content
   * that has been blocked from loading. When it is true, there is definitely
   * mixed active content on a page that has been blocked by
   * nsMixedContentBlocker.  When it is false, there may or may not be mixed
   * active content on a page, but if there is, it will load. Note that if the
   * about:config setting security.mixed_content.block_active_content is set
   * false, this boolean will be false, since blocking active content has been
   * disabled.
   */

[infallible] readonly attribute boolean hasMixedActiveContentBlocked;

[src]

/**
   * This attribute determines whether Mixed Display Content is loaded on the
   * document. When it is true, mixed display content was not blocked and has
   * loaded (or is about to load) on the page. Similar behavior to
   * hasMixedActiveContentLoaded.
   */

[infallible] readonly attribute boolean hasMixedDisplayContentLoaded;

[src]

/**
   * This attribute determines whether a document has Mixed Display Content
   * that has been blocked from loading. Similar behavior to
   * hasMixedActiveContentBlocked.
   */

[infallible] readonly attribute boolean hasMixedDisplayContentBlocked;

[src]

/**
   * This attribute determines whether a document has Tracking Content
   * that has been blocked from loading.
   */

[infallible] readonly attribute boolean hasTrackingContentBlocked;

[src]

/**
   * This attribute determines whether Tracking Content is loaded on the
   * document. When it is true, tracking content was not blocked and has
   * loaded (or is about to load) on the page.
   */

[infallible] readonly attribute boolean hasTrackingContentLoaded;

[src]

/**
   * Disconnects this docshell's editor from its window, and stores the
   * editor data in the open document's session history entry.  This
   * should be called only during page transitions.
   */

[noscript,notxpcom] void DetachEditorFromWindow ();

[src]

/**
   * If true, this browser is not visible in the traditional sense, but
   * is actively being rendered to the screen (ex. painted on a canvas)
   * and should be treated accordingly.
   **/

attribute boolean isOffScreenBrowser;

[src]

/**
   * If true, this browser is not visible in the traditional sense, but
   * is actively being rendered to the screen (ex. painted on a canvas)
   * and should be treated accordingly.
   **/

attribute boolean isOffScreenBrowser;

[src]

/**
   * If the current content viewer isn't initialized for print preview,
   * it is replaced with one which is and to which an about:blank document
   * is loaded.
   */

readonly attribute nsIWebBrowserPrint printPreview;

[src]

/**
   * Whether this docshell can execute scripts based on its hierarchy.
   * The rule of thumb here is that we disable js if this docshell or any
   * of its parents disallow scripting.
   */

[infallible] readonly attribute boolean canExecuteScripts;

[src]

/**
   * Sets whether a docshell is active. An active docshell is one that is
   * visible, and thus is not a good candidate for certain optimizations
   * like image frame discarding. Docshells are active unless told otherwise.
   */

attribute boolean isActive;

[src]

/**
   * Sets whether a docshell is active. An active docshell is one that is
   * visible, and thus is not a good candidate for certain optimizations
   * like image frame discarding. Docshells are active unless told otherwise.
   */

attribute boolean isActive;

[src]

/**
   * Puts the docshell in prerendering mode. noscript because we want only
   * native code to be able to put a docshell in prerendering.
   */

[noscript] void SetIsPrerendered ();

[src]

/**
   * Whether this docshell is in prerender mode.
   */

[infallible] readonly attribute boolean isPrerendered;

[src]

/**
   * The ID of the docshell in the session history.
   */

readonly attribute nsIDPtr historyID;

[src]

/**
   * Helper method for accessing this value from C++
   */

[noscript,notxpcom] nsID HistoryID ();

[src]

/**
   * Sets whether a docshell is an app tab. An app tab docshell may behave
   * differently than a non-app tab docshell in some cases, such as when
   * handling link clicks. Docshells are not app tabs unless told otherwise.
   */

attribute boolean isAppTab;

[src]

/**
   * Sets whether a docshell is an app tab. An app tab docshell may behave
   * differently than a non-app tab docshell in some cases, such as when
   * handling link clicks. Docshells are not app tabs unless told otherwise.
   */

attribute boolean isAppTab;

[src]

/**
   * Create a new about:blank document and content viewer.
   * @param aPrincipal the principal to use for the new document.
   */

void createAboutBlankContentViewer (in nsIPrincipal aPrincipal);

[src]

/**
   * Like createAboutBlankContentViewer, but don't check for permit unload.
   * Only used by special session history operation.
   * @param aPrincipal the principal to use for the new document.
   */

[noscript] void forceCreateAboutBlankContentViewer (in nsIPrincipal aPrincipal);

[src]

/**
   * Upon getting, returns the canonical encoding label of the document
   * currently loaded into this docshell.
   *
   * Upon setting, sets forcedCharset for compatibility with legacy callers.
   */

attribute ACString charset;

[src]

/**
   * Upon getting, returns the canonical encoding label of the document
   * currently loaded into this docshell.
   *
   * Upon setting, sets forcedCharset for compatibility with legacy callers.
   */

attribute ACString charset;

[src]

/**
   * Called when the user chose an encoding override from the character
   * encoding menu. Separate from the setter for the charset property to avoid
   * extensions adding noise to the data.
   */

void gatherCharsetMenuTelemetry ();

[src]

/**
   * The charset forced by the user.
   */

attribute ACString forcedCharset;

[src]

/**
   * The charset forced by the user.
   */

attribute ACString forcedCharset;

[src]

/**
   * Whether the docShell records profile timeline markers at the moment
   */

[infallible] attribute boolean recordProfileTimelineMarkers;

[src]

/**
   * Whether the docShell records profile timeline markers at the moment
   */

[infallible] attribute boolean recordProfileTimelineMarkers;

[src]

/**
   * Return a DOMHighResTimeStamp representing the number of
   * milliseconds from an arbitrary point in time.  The reference
   * point is shared by all DocShells and is also used by timestamps
   * on markers.
   */

DOMHighResTimeStamp now ();

[src]

/**
   * Add an observer to the list of parties to be notified when this docshell's
   * private browsing status is changed. |obs| must support weak references.
   */

void addWeakPrivacyTransitionObserver (in nsIPrivacyTransitionObserver obs);

[src]

/**
   * Add an observer to the list of parties to be notified when reflows are
   * occurring. |obs| must support weak references.
   */

void addWeakReflowObserver (in nsIReflowObserver obs);

[src]

/**
   * Remove an observer from the list of parties to be notified about reflows.
   */

void removeWeakReflowObserver (in nsIReflowObserver obs);

[src]

/**
   * Notify all attached observers that a reflow has just occurred.
   *
   * @param interruptible if true, the reflow was interruptible.
   * @param start         timestamp when reflow started, in milliseconds since
   *                      navigationStart (accurate to 1/1000 of a ms)
   * @param end           timestamp when reflow ended, in milliseconds since
   *                      navigationStart (accurate to 1/1000 of a ms)
   */

[noscript] void notifyReflowObservers (in bool interruptible, in DOMHighResTimeStamp start, in DOMHighResTimeStamp end);

[src]

/**
   * Add an observer to the list of parties to be notified when scroll position
   * of some elements is changed.
   */

[noscript] void addWeakScrollObserver (in nsIScrollObserver obs);

[src]

/**
   * Add an observer to the list of parties to be notified when scroll position
   * of some elements is changed.
   */

[noscript] void removeWeakScrollObserver (in nsIScrollObserver obs);

[src]

/**
   * Notify all attached observers that the scroll position of some element
   * has changed.
   */

[noscript] void notifyScrollObservers ();

[src]

[infallible] attribute unsigned long frameType;

[src]

[infallible] attribute unsigned long frameType;

[src]

/**
   * Returns true if this docshell corresponds to an <iframe mozbrowser>.
   * <xul:browser> returns false here.
   */

[infallible] readonly attribute boolean isMozBrowser;

[src]

/**
   * Returns true if this docshell corresponds to an isolated <iframe
   * mozbrowser>.
   *
   * <xul:browser> is not considered to be a mozbrowser element.
   * <iframe mozbrowser noisolation> does not count as isolated since
   * isolation is disabled.  Isolation can only be disabled if the
   * containing document is chrome.
   */

[infallible] readonly attribute boolean isIsolatedMozBrowserElement;

[src]

/**
   * Returns true if this docshell corresponds to an isolated <iframe
   * mozbrowser> or if the docshell is contained in an isolated <iframe
   * mozbrowser>.
   *
   * <xul:browser> is not considered to be a mozbrowser element. <iframe
   * mozbrowser noisolation> does not count as isolated since isolation is
   * disabled.  Isolation can only be disabled if the containing document is
   * chrome.
   *
   * Our notion here of "contained in" means: Walk up the docshell hierarchy in
   * this process until we hit an <iframe mozbrowser> (or until the hierarchy
   * ends).  Return true iff the docshell we stopped on has
   * isIsolatedMozBrowserElement == true.
   */

[infallible] readonly attribute boolean isInIsolatedMozBrowserElement;

[src]

/**
   * Returns true if this docshell corresponds to an <iframe mozbrowser>, or
   * if this docshell is contained in an <iframe mozbrowser>. <xul:browser>
   * returns false here.
   *
   * To compute this value, we walk up the docshell hierarchy.  If we encounter
   * a docshell with isMozBrowser before we hit the end of the hierarchy,
   * we return true.  Otherwise, we return false.
   */

[infallible] readonly attribute boolean isInMozBrowser;

[src]

/**
   * Returns true if this docshell is the top level content docshell.
   */

[infallible] readonly attribute boolean isTopLevelContentDocShell;

[src]

/**
   * Like nsIDocShellTreeItem::GetSameTypeParent, except this ignores <iframe
   * mozbrowser> boundaries.
   */

nsIDocShell getSameTypeParentIgnoreBrowserBoundaries ();

[src]

/**
   * Like nsIDocShellTreeItem::GetSameTypeRootTreeItem, except this ignores
   * <iframe mozbrowser> boundaries.
   */

nsIDocShell getSameTypeRootTreeItemIgnoreBrowserBoundaries ();

[src]

/**
   * True iff asynchronous panning and zooming is enabled for this
   * docshell.
   */

readonly attribute bool asyncPanZoomEnabled;

[src]

/**
   * The sandbox flags on the docshell. These reflect the value of the sandbox
   * attribute of the associated IFRAME or CSP-protectable content, if
   * existent. See the HTML5 spec for more details.
   * These flags on the docshell reflect the current state of the sandbox
   * attribute, which is modifiable. They are only used when loading new
   * content, sandbox flags are also immutably set on the document when it is
   * loaded.
   * The sandbox flags of a document depend on the sandbox flags on its
   * docshell and of its parent document, if any.
   * See nsSandboxFlags.h for the possible flags.
   */

attribute unsigned long sandboxFlags;

[src]

/**
   * The sandbox flags on the docshell. These reflect the value of the sandbox
   * attribute of the associated IFRAME or CSP-protectable content, if
   * existent. See the HTML5 spec for more details.
   * These flags on the docshell reflect the current state of the sandbox
   * attribute, which is modifiable. They are only used when loading new
   * content, sandbox flags are also immutably set on the document when it is
   * loaded.
   * The sandbox flags of a document depend on the sandbox flags on its
   * docshell and of its parent document, if any.
   * See nsSandboxFlags.h for the possible flags.
   */

attribute unsigned long sandboxFlags;

[src]

/**
   * When a new browsing context is opened by a sandboxed document, it needs to
   * keep track of the browsing context that opened it, so that it can be
   * navigated by it.  This is the "one permitted sandboxed navigator".
   */

attribute nsIDocShell onePermittedSandboxedNavigator;

[src]

/**
   * When a new browsing context is opened by a sandboxed document, it needs to
   * keep track of the browsing context that opened it, so that it can be
   * navigated by it.  This is the "one permitted sandboxed navigator".
   */

attribute nsIDocShell onePermittedSandboxedNavigator;

[src]

/**
   * This member variable determines whether a document has Mixed Active Content that
   * was initially blocked from loading, but the user has choosen to override the
   * block and allow the content to load. mMixedContentChannel is set to the document's
   * channel when the user allows mixed content. The nsMixedContentBlocker content policy
   * checks if the document's root channel matches the mMixedContentChannel.  If it matches,
   * then Mixed Content is loaded.  If it does match, mixed content is blocked.
   *
   * A match implies that there is definitely mixed active content on a page that was
   * initially blocked by nsMixedContentBlocker and then allowed and loaded by the user.
   * A miss imples that IF there is mixed active content on the page AND it was
   * blocked by nsMixedContentBlocker.cpp, the user has not choosen to override
   * the block. Note that if the about:config setting
   * security.mixed_content.block_active_content is set to false, this boolean
   * will be false, mMixedContentChannel will remain null since blocking active content has
   * been disabled and hence mMixedContentChannel will never be set.
   */

attribute nsIChannel mixedContentChannel;

[src]

/**
   * This member variable determines whether a document has Mixed Active Content that
   * was initially blocked from loading, but the user has choosen to override the
   * block and allow the content to load. mMixedContentChannel is set to the document's
   * channel when the user allows mixed content. The nsMixedContentBlocker content policy
   * checks if the document's root channel matches the mMixedContentChannel.  If it matches,
   * then Mixed Content is loaded.  If it does match, mixed content is blocked.
   *
   * A match implies that there is definitely mixed active content on a page that was
   * initially blocked by nsMixedContentBlocker and then allowed and loaded by the user.
   * A miss imples that IF there is mixed active content on the page AND it was
   * blocked by nsMixedContentBlocker.cpp, the user has not choosen to override
   * the block. Note that if the about:config setting
   * security.mixed_content.block_active_content is set to false, this boolean
   * will be false, mMixedContentChannel will remain null since blocking active content has
   * been disabled and hence mMixedContentChannel will never be set.
   */

attribute nsIChannel mixedContentChannel;

[src]

/**
   * Checks whether the channel associated with the root docShell is equal to
   * mMixedContentChannel. If they are the same, allowMixedContent is set to true.
   * Checks if the root document has a secure connection. If it is, sets
   * rootHasSecureConnection to true. If the docShell is the root doc shell,
   * isRootDocShell is set to true.
   */

void GetAllowMixedContentAndConnectionData (out boolean rootHasSecureConnection, out boolean allowMixedContent, out boolean isRootDocShell);

[src]

/**
   * Are plugins allowed in the current document loaded in this docshell ?
   * (if there is one). This depends on whether plugins are allowed by this
   * docshell itself or if the document is sandboxed and hence plugins should
   * not be allowed.
   */

[noscript,notxpcom] bool pluginsAllowedInCurrentDoc ();

[src]

/**
   * Attribute that determines whether fullscreen is allowed to be entered for
   * this subtree of the docshell tree. This is true when all iframes containing
   * this docshell have their "allowfullscreen" attribute set to "true".
   * fullscreenAllowed is only writable at content boundaries, where it is used
   * to propagate the value of the cross process parent's iframe's
   * "allowfullscreen" attribute to the child process. Setting
   * fullscreenAllowed on docshells which aren't content boundaries throws an
   * exception.
   */

[infallible] readonly attribute boolean fullscreenAllowed;

[src]

void setFullscreenAllowed (in boolean allowed);

[src]

[notxpcom] uint32_t orientationLock ();

[src]

[notxpcom] void setOrientationLock (in uint32_t orientationLock);

[src]

[infallible,noscript] attribute boolean affectPrivateSessionLifetime;

[src]

[infallible,noscript] attribute boolean affectPrivateSessionLifetime;

[src]

/**
   * Indicates whether the UI may enable the character encoding menu. The UI
   * must disable the menu when this property is false.
   */

[infallible] readonly attribute boolean mayEnableCharacterEncodingMenu;

[src]

attribute nsIEditor editor;

[src]

attribute nsIEditor editor;

[src]

readonly attribute boolean editable;

[src]

readonly attribute boolean hasEditingSession;

[src]

/**
   * Make this docShell editable, setting a flag that causes
   * an editor to get created, either immediately, or after
   * a url has been loaded.
   *      @param  inWaitForUriLoad    true to wait for a URI before
   *                                  creating the editor.
   */

void makeEditable (in boolean inWaitForUriLoad);

[src]

/**
   * Get the SHEntry associated with a child docshell
   */

nsISHEntry getChildSHEntry (in long aChildOffset);

[src]

/**
   * Add a Child SHEntry for a frameset page, given the child's loadtype.
   * If aCloneChildren is true, then aCloneReference's children will be
   * cloned onto aHistoryEntry.
   */

void addChildSHEntry (in nsISHEntry aCloneReference, in nsISHEntry aHistoryEntry, in long aChildOffset, in unsigned long aLoadType, in boolean aCloneChilden);

[src]

/**
   * Whether this docshell should save entries in global history.
   */

attribute boolean useGlobalHistory;

[src]

/**
   * Whether this docshell should save entries in global history.
   */

attribute boolean useGlobalHistory;

[src]

/**
   * Removes nsISHEntry objects related to this docshell from session history.
   * Use this only with subdocuments, like iframes.
   */

void removeFromSessionHistory ();

[src]

/**
   * Set when an iframe/frame is added dynamically.
   */

attribute boolean createdDynamically;

[src]

/**
   * Set when an iframe/frame is added dynamically.
   */

attribute boolean createdDynamically;

[src]

/**
   * Returns false for mLSHE, true for mOSHE
   */

boolean getCurrentSHEntry (out nsISHEntry aEntry);

[src]

/**
    * Cherry picked parts of nsIController.
    * They are here, because we want to call these functions
    * from JS.
    */

boolean isCommandEnabled (in string command);

[src]

void doCommand (in string command);

[src]

void doCommandWithParams (in string command, in nsICommandParams aParams);

[src]

/**
   * Invisible DocShell are dummy construct to simulate DOM windows
   * without any actual visual representation. They have to be marked
   * at construction time, to avoid any painting activity.
   */

[noscript,notxpcom] bool IsInvisible ();

[src]

[noscript,notxpcom] void SetInvisible (in bool aIsInvisibleDochsell);

[src]

/**
   * If deviceSizeIsPageSize is set to true, device-width/height media queries
   * will be calculated from the page size, not the device size.
   *
   * Used by the Responsive Design Mode and B2G Simulator.
   *
   * Default is False.
   * Default value can be overriden with
   * docshell.device_size_is_page_size pref.
   */

[infallible] attribute boolean deviceSizeIsPageSize;

[src]

/**
   * If deviceSizeIsPageSize is set to true, device-width/height media queries
   * will be calculated from the page size, not the device size.
   *
   * Used by the Responsive Design Mode and B2G Simulator.
   *
   * Default is False.
   * Default value can be overriden with
   * docshell.device_size_is_page_size pref.
   */

[infallible] attribute boolean deviceSizeIsPageSize;

[src]

/**
   * This attribute determines whether a document which is not about:blank has
   * already be loaded by this docShell.
   */

[infallible] readonly attribute boolean hasLoadedNonBlankURI;

[src]

/**
   * Allow usage of -moz-window-dragging:drag for content docshells.
   * True for top level chrome docshells. Throws if set to false with
   * top level chrome docshell.
   */

attribute boolean windowDraggingAllowed;

[src]

/**
   * Allow usage of -moz-window-dragging:drag for content docshells.
   * True for top level chrome docshells. Throws if set to false with
   * top level chrome docshell.
   */

attribute boolean windowDraggingAllowed;

[src]

/**
   * Sets/gets the current scroll restoration mode.
   * @see https://html.spec.whatwg.org/#dom-history-scroll-restoration
   */

attribute boolean currentScrollRestorationIsManual;

[src]

/**
   * Sets/gets the current scroll restoration mode.
   * @see https://html.spec.whatwg.org/#dom-history-scroll-restoration
   */

attribute boolean currentScrollRestorationIsManual;

[src]

/**
   * The editing session for this docshell.
   */

readonly attribute nsIEditingSession editingSession;

[src]

/**
   * The tab child for this docshell.
   */

[binaryname(ScriptableTabChild)] readonly attribute nsITabChild tabChild;

[src]

/**
   * This allows chrome to override the default choice of whether touch events
   * are available on a specific docshell. Possible values are listed below.
   */

attribute unsigned long touchEventsOverride;

[src]

/**
   * This allows chrome to override the default choice of whether touch events
   * are available on a specific docshell. Possible values are listed below.
   */

attribute unsigned long touchEventsOverride;

[src]

/**
   * This value is `true` if its corresponding unit of related browsing contexts
   * (TabGroup) contains only 1 toplevel window, and that window is the outer
   * window corresponding to this docshell.
   *
   * The value is `false` otherwise. This is the case if the docshell is an
   * iframe, has window.opener set, or another window with window.opener
   * referring to this window exists.
   *
   * If this value is `false`, it would be web content visible for a load
   * occuring in this docshell to be performed within a different docshell.
   */

[infallible] readonly attribute boolean isOnlyToplevelInTabGroup;

[src]

/**
   * Returns `true` if this docshell was created due to a Large-Allocation
   * header, and has not seen the initiating load yet.
   */

[infallible] readonly attribute boolean awaitingLargeAlloc;

[src]

/**
   * Attribute that determines whether tracking protection is enabled.
   */

attribute boolean useTrackingProtection;

[src]

/**
   * Attribute that determines whether tracking protection is enabled.
   */

attribute boolean useTrackingProtection;

[src]

/**
  * Fire a dummy location change event asynchronously.
  */

[noscript] void dispatchLocationChangeEvent ();

[src]

/**
   * Display mode for this docshell. Defaults to DISPLAY_MODE_BROWSER.
   * Media queries only look at the value in the top-most docshell.
   */

attribute unsigned long displayMode;

[src]

/**
   * Display mode for this docshell. Defaults to DISPLAY_MODE_BROWSER.
   * Media queries only look at the value in the top-most docshell.
   */

attribute unsigned long displayMode;

Methods from Deref<Target = nsIDocShellTreeItem>

[src]

Cast this nsIDocShellTreeItem to one of its base interfaces.

[src]

attribute AString name;

[src]

attribute AString name;

[src]

/**
         * Compares the provided name against the item's name and
         * returns the appropriate result.
         *
         * @return <CODE>PR_TRUE</CODE> if names match;
         *         <CODE>PR_FALSE</CODE> otherwise.
         */

boolean nameEquals (in AString name);

[src]

attribute long itemType;

[src]

attribute long itemType;

[src]

readonly attribute nsIDocShellTreeItem parent;

[src]

readonly attribute nsIDocShellTreeItem sameTypeParent;

[src]

readonly attribute nsIDocShellTreeItem rootTreeItem;

[src]

readonly attribute nsIDocShellTreeItem sameTypeRootTreeItem;

[src]

nsIDocShellTreeItem findItemWithName (in AString name, in nsIDocShellTreeItem aRequestor, in nsIDocShellTreeItem aOriginalRequestor, in bool aSkipTabGroup);

[src]

readonly attribute nsIDocShellTreeOwner treeOwner;

[src]

[noscript] void setTreeOwner (in nsIDocShellTreeOwner treeOwner);

[src]

readonly attribute long childCount;

[src]

void addChild (in nsIDocShellTreeItem child);

[src]

void removeChild (in nsIDocShellTreeItem child);

[src]

/**
     * Return the child at the index requested.  This is 0-based.
     *
     * @throws NS_ERROR_UNEXPECTED if the index is out of range
     */

nsIDocShellTreeItem getChildAt (in long index);

[src]

nsIDocShellTreeItem findChildWithName (in AString aName, in boolean aRecurse, in boolean aSameType, in nsIDocShellTreeItem aRequestor, in nsIDocShellTreeItem aOriginalRequestor);

Trait Implementations

impl XpCom for nsIDocShell
[src]

IID: nsIID = nsID(76690686, 55824, 18315, [188, 93, 188, 111, 154, 27, 166, 61])

[src]

Perform a QueryInterface call on this object, attempting to dynamically cast it to the requested interface type. Returns Some(RefPtr) if the cast succeeded, and None otherwise. Read more

impl RefCounted for nsIDocShell
[src]

[src]

Increment the reference count.

[src]

Decrement the reference count, potentially freeing backing memory.

impl Deref for nsIDocShell
[src]

The resulting type after dereferencing.

[src]

Dereferences the value.