Files
roytam1 91fbf2967a import changes from tenfourfox-history:
- some additional minor optimizations (886b2ce51)
- #465: gc, jsobj, RegExp (07bfa6ed5)
- #465: dom/media/webm, MDSM (2a306d565)
- #477: reorganize and optimize font URL blacklist (51fffd909)
- #469: yep dose hosts for dat adblock yo (233b4e53e)
- whitespace cleanup (29ba7f68c)
- #478: M1434580 M1261175 M1426087 M1426988 (d3411e70e)
- #478: update certs and pins (b89b0fe92)
- whitespace removal (f3c3705fb)
- #478: M1375217 (with M1350752, fixes M1348955) (33ba64fc0)
- closes #479: suppress bogus assert (cafee7fa3)
- #479: mark for future reference (e699487e9)
- values were not endian dependent (crash) (9ed7fdacb)
- further endianness work for font tags (3f509d76d)
- #478: M1416307 M1430557 M1416529 M1324042 M1428947 M1437087 M1440926 M1425520 (8b45eb124)
- #478: M1437507 M1437450 (fccda54f3)
- #478: update certs and pins (033c49d99)
- #478: M1443865 (for our Intel friends if they ever get it working) (82c63992b)
- #469: super duper more hosts for super duper basic adblock (17bae42e3)
2018-05-31 20:47:15 +08:00

89 lines
3.5 KiB
Plaintext

/* -*- 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 nsIChannel;
interface nsIPrincipal;
interface nsIURI;
[scriptable, uuid(a5e61a3c-51bd-45be-ac0c-e87b71860656)]
interface nsIRefreshURI : nsISupports {
/**
* Load a uri after waiting for aMillis milliseconds. If the docshell
* is busy loading a page currently, the refresh request will be
* queued and executed when the current load finishes.
*
* @param aUri The uri to refresh.
* @param aPrincipal The triggeringPrincipal for the refresh load
* May be null, in which case the principal of current document will be
* applied.
* @param aMillis The number of milliseconds to wait.
* @param aRepeat Flag to indicate if the uri is to be
* repeatedly refreshed every aMillis milliseconds.
* @param aMetaRefresh Flag to indicate if this is a Meta refresh.
*/
void refreshURI(in nsIURI aURI,
in long aMillis, in boolean aRepeat,
in boolean aMetaRefresh,
[optional] in nsIPrincipal aPrincipal);
/**
* Loads a URI immediately as if it were a refresh.
*
* @param aURI The URI to refresh.
* @param aPrincipal The triggeringPrincipal for the refresh load
* May be null, in which case the principal of current document will be
* applied.
* @param aMillis The number of milliseconds by which this refresh would
* be delayed if it were not being forced.
* @param aMetaRefresh Flag to indicate if this is a meta refresh.
*/
void forceRefreshURI(in nsIURI aURI,
in long aMillis, in boolean aMetaRefresh,
[optional] in nsIPrincipal aPrincipal);
/**
* Checks the passed in channel to see if there is a refresh header,
* if there is, will setup a timer to refresh the uri found
* in the header. If docshell is busy loading a page currently, the
* request will be queued and executed when the current page
* finishes loading.
*
* Returns the NS_REFRESHURI_HEADER_FOUND success code if a refresh
* header was found and successfully setup.
*
* @param aChannel The channel to be parsed.
*/
void setupRefreshURI(in nsIChannel aChannel);
/**
* Parses the passed in header string and sets up a refreshURI if
* a "refresh" header is found. If docshell is busy loading a page
* currently, the request will be queued and executed when
* the current page finishes loading.
*
* @param aBaseURI base URI to resolve refresh uri with.
* @param aPrincipal The triggeringPrincipal for the refresh load
* May be null, in which case the principal of current document will be
* applied.
* @param aHeader The meta refresh header string.
*/
void setupRefreshURIFromHeader(in nsIURI aBaseURI,
in nsIPrincipal principal,
in ACString aHeader);
/**
* Cancels all timer loads.
*/
void cancelRefreshURITimers();
/**
* True when there are pending refreshes, false otherwise.
*/
readonly attribute boolean refreshPending;
};