2008-11-04 02:20:27 -08:00
|
|
|
/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
|
|
|
*
|
2012-05-21 04:12:37 -07: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/. */
|
2008-11-04 02:20:27 -08:00
|
|
|
|
|
|
|
#include "nsISupports.idl"
|
|
|
|
#include "nsIApplicationCacheContainer.idl"
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Interface implemented by channels that support application caches.
|
|
|
|
*/
|
2012-07-11 11:20:17 -07:00
|
|
|
[scriptable, uuid(6FA816B1-6D5F-4380-9704-054D0908CFA3)]
|
2008-11-04 02:20:27 -08:00
|
|
|
interface nsIApplicationCacheChannel : nsIApplicationCacheContainer
|
|
|
|
{
|
2008-11-05 16:01:08 -08:00
|
|
|
/**
|
|
|
|
* TRUE when the resource came from the application cache. This
|
|
|
|
* might be false even there is assigned an application cache
|
|
|
|
* e.g. in case of fallback of load of an entry matching bypass
|
|
|
|
* namespace.
|
|
|
|
*/
|
2011-08-06 22:03:32 -07:00
|
|
|
readonly attribute boolean loadedFromApplicationCache;
|
2008-11-05 16:01:08 -08:00
|
|
|
|
2008-11-04 02:20:27 -08:00
|
|
|
/**
|
|
|
|
* When true, the channel will ask its notification callbacks for
|
|
|
|
* an application cache if one is not explicitly provided. Default
|
|
|
|
* value is true.
|
|
|
|
*
|
|
|
|
* NS_ERROR_ALREADY_OPENED will be thrown if set after AsyncOpen()
|
|
|
|
* is called.
|
|
|
|
*/
|
|
|
|
attribute boolean inheritApplicationCache;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* When true, the channel will choose an application cache if one
|
|
|
|
* was not explicitly provided and none is available from the
|
|
|
|
* notification callbacks. Default value is false.
|
|
|
|
*
|
|
|
|
* This attribute will not be transferred through a redirect.
|
|
|
|
*
|
|
|
|
* NS_ERROR_ALREADY_OPENED will be thrown if set after AsyncOpen()
|
|
|
|
* is called.
|
|
|
|
*/
|
|
|
|
attribute boolean chooseApplicationCache;
|
2010-10-20 10:12:32 -07:00
|
|
|
|
|
|
|
/**
|
|
|
|
* A shortcut method to mark the cache item of this channel as 'foreign'.
|
|
|
|
* See the 'cache selection algorithm' and CACHE_SELECTION_RELOAD
|
|
|
|
* action handling in nsContentSink.
|
|
|
|
*/
|
|
|
|
void markOfflineCacheEntryAsForeign();
|
2012-07-11 11:20:17 -07:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Set offline application cache object to instruct the channel
|
|
|
|
* to cache for offline use using this application cache.
|
|
|
|
*/
|
|
|
|
attribute nsIApplicationCache applicationCacheForWrite;
|
2008-11-04 02:20:27 -08:00
|
|
|
};
|