123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- /* -*- 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"
- /**
- * The nsIDocShellLoadInfo interface defines an interface for specifying
- * setup information used in a nsIDocShell::loadURI call.
- */
-
- interface nsIURI;
- interface nsIInputStream;
- interface nsISHEntry;
- interface nsIDocShell;
- interface nsIPrincipal;
- typedef long nsDocShellInfoLoadType;
- typedef unsigned long nsDocShellInfoReferrerPolicy;
- [scriptable, uuid(e7570e5a-f1d6-452d-b4f8-b35fdc63aa03)]
- interface nsIDocShellLoadInfo : nsISupports
- {
- /** This is the referrer for the load. */
- attribute nsIURI referrer;
- /**
- * The originalURI to be passed to nsIDocShell.internalLoad. May be null.
- */
- attribute nsIURI originalURI;
- /**
- * loadReplace flag to be passed to nsIDocShell.internalLoad.
- */
- attribute boolean loadReplace;
- /** The principal of the load, that is, the entity responsible for
- * causing the load to occur. In most cases the referrer and
- * the triggeringPrincipal's URI will be identical.
- */
- attribute nsIPrincipal triggeringPrincipal;
- /** If this attribute is true and no triggeringPrincipal is specified,
- * copy the principal from the referring document.
- */
- attribute boolean inheritPrincipal;
- /** If this attribute is true only ever use the principal specified
- * by the triggeringPrincipal and inheritPrincipal attributes.
- * If there are security reasons for why this is unsafe, such
- * as trying to use a systemprincipal as the triggeringPrincipal
- * for a content docshell the load fails.
- */
- attribute boolean principalIsExplicit;
- /**
- * If this attribute is true, then a top-level navigation
- * to a data URI will be allowed.
- */
- attribute boolean forceAllowDataURI;
- /* these are load type enums... */
- const long loadNormal = 0; // Normal Load
- const long loadNormalReplace = 1; // Normal Load but replaces current history slot
- const long loadHistory = 2; // Load from history
- const long loadReloadNormal = 3; // Reload
- const long loadReloadBypassCache = 4;
- const long loadReloadBypassProxy = 5;
- const long loadReloadBypassProxyAndCache = 6;
- const long loadLink = 7;
- const long loadRefresh = 8;
- const long loadReloadCharsetChange = 9;
- const long loadBypassHistory = 10;
- const long loadStopContent = 11;
- const long loadStopContentAndReplace = 12;
- const long loadNormalExternal = 13;
- const long loadNormalBypassCache = 14;
- const long loadNormalBypassProxy = 15;
- const long loadNormalBypassProxyAndCache = 16;
- const long loadPushState = 17; // history.pushState or replaceState
- const long loadReplaceBypassCache = 18;
- const long loadReloadMixedContent = 19;
- const long loadNormalAllowMixedContent = 20;
- /** Contains a load type as specified by the load* constants */
- attribute nsDocShellInfoLoadType loadType;
- /** SHEntry for this page */
- attribute nsISHEntry SHEntry;
- /** Target for load, like _content, _blank etc. */
- attribute wstring target;
- /** Post data */
- attribute nsIInputStream postDataStream;
- /** Additional headers */
- attribute nsIInputStream headersStream;
- /** True if the referrer should be sent, false if it shouldn't be
- * sent, even if it's available. This attribute defaults to true.
- */
- attribute boolean sendReferrer;
- /** Referrer policy for the load. This attribute holds one of
- * the values (REFERRER_POLICY_*) defined in nsIHttpChannel.
- */
- attribute nsDocShellInfoReferrerPolicy referrerPolicy;
- /** True if the docshell has been created to load an iframe where the
- * srcdoc attribute has been set. Set when srcdocData is specified.
- */
- readonly attribute boolean isSrcdocLoad;
- /** When set, the load will be interpreted as a srcdoc load, where contents
- * of this string will be loaded instead of the URI. Setting srcdocData
- * sets isSrcdocLoad to true
- */
- attribute AString srcdocData;
- /** When set, this is the Source Browsing Context for the navigation. */
- attribute nsIDocShell sourceDocShell;
- /**
- * Used for srcdoc loads to give view-source knowledge of the load's base
- * URI as this information isn't embedded in the load's URI.
- */
- attribute nsIURI baseURI;
- /**
- * This will be true if this load is triggered by attribute changes.
- * See nsILoadInfo.isFromProcessingFrameAttributes
- */
- attribute boolean isFromProcessingFrameAttributes;
- };
|