2012-05-21 15:12:37 +04:00
|
|
|
/* 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/. */
|
2002-09-02 04:14:20 +04:00
|
|
|
|
|
|
|
#include "nsISupports.idl"
|
2017-07-10 16:05:23 +03:00
|
|
|
#include "nsIContentPolicy.idl"
|
2002-09-02 04:14:20 +04:00
|
|
|
|
|
|
|
interface nsIURI;
|
2007-07-09 10:19:27 +04:00
|
|
|
interface nsISimpleEnumerator;
|
2019-07-19 14:42:09 +03:00
|
|
|
interface nsIReferrerInfo;
|
2002-09-02 04:14:20 +04:00
|
|
|
|
2018-05-30 05:58:48 +03:00
|
|
|
webidl Node;
|
|
|
|
|
2016-02-26 04:41:00 +03:00
|
|
|
[scriptable, uuid(422a1807-4e7f-463d-b8d7-ca2ceb9b5d53)]
|
2002-09-02 04:14:20 +04:00
|
|
|
interface nsIPrefetchService : nsISupports
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Enqueue a request to prefetch the specified URI.
|
2002-10-24 07:17:44 +04:00
|
|
|
*
|
|
|
|
* @param aURI the URI of the document to prefetch
|
2019-07-19 14:42:09 +03:00
|
|
|
* @param aReferrerInfo the referrerInfo of the request
|
2007-07-09 10:19:27 +04:00
|
|
|
* @param aSource the DOM node (such as a <link> tag) that requested this
|
|
|
|
* fetch, or null if the prefetch was not requested by a DOM node.
|
2003-03-07 00:37:09 +03:00
|
|
|
* @param aExplicit the link element has an explicit prefetch link type
|
2002-09-02 04:14:20 +04:00
|
|
|
*/
|
2007-07-09 10:19:27 +04:00
|
|
|
void prefetchURI(in nsIURI aURI,
|
2019-07-19 14:42:09 +03:00
|
|
|
in nsIReferrerInfo aReferrerInfo,
|
2018-05-30 05:58:48 +03:00
|
|
|
in Node aSource,
|
2007-07-09 10:19:27 +04:00
|
|
|
in boolean aExplicit);
|
2002-09-02 04:14:20 +04:00
|
|
|
|
2017-07-10 16:05:23 +03:00
|
|
|
/**
|
|
|
|
* Start a preload of the specified URI.
|
|
|
|
*
|
|
|
|
* @param aURI the URI of the document to preload
|
2019-07-19 14:42:09 +03:00
|
|
|
* @param aReferrerInfo the referrerInfo of the request
|
2017-07-10 16:05:23 +03:00
|
|
|
* @param aSource the DOM node (such as a <link> tag) that requested this
|
|
|
|
* fetch, or null if the prefetch was not requested by a DOM node.
|
|
|
|
* @param aPolicyType content policy to be used for this load.
|
|
|
|
*/
|
|
|
|
void preloadURI(in nsIURI aURI,
|
2019-07-19 14:42:09 +03:00
|
|
|
in nsIReferrerInfo aReferrerInfo,
|
2018-05-30 05:58:48 +03:00
|
|
|
in Node aSource,
|
2017-07-10 16:05:23 +03:00
|
|
|
in nsContentPolicyType aPolicyType);
|
|
|
|
|
2007-07-09 10:19:27 +04:00
|
|
|
/**
|
2015-10-19 22:46:57 +03:00
|
|
|
* Find out if there are any prefetches running or queued
|
2007-07-09 10:19:27 +04:00
|
|
|
*/
|
2015-10-19 22:46:57 +03:00
|
|
|
boolean hasMoreElements();
|
2007-07-09 10:19:27 +04:00
|
|
|
|
2016-02-26 04:41:00 +03:00
|
|
|
/**
|
2018-05-30 05:58:48 +03:00
|
|
|
* Cancel prefetch or preload for a Node.
|
2016-02-26 04:41:00 +03:00
|
|
|
*/
|
2018-05-30 05:58:48 +03:00
|
|
|
void cancelPrefetchPreloadURI(in nsIURI aURI, in Node aSource);
|
2002-09-02 04:14:20 +04:00
|
|
|
};
|