summaryrefslogtreecommitdiffstats
path: root/netwerk/base/nsIApplicationCacheChannel.idl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--netwerk/base/nsIApplicationCacheChannel.idl57
1 files changed, 57 insertions, 0 deletions
diff --git a/netwerk/base/nsIApplicationCacheChannel.idl b/netwerk/base/nsIApplicationCacheChannel.idl
new file mode 100644
index 0000000000..410e2946d8
--- /dev/null
+++ b/netwerk/base/nsIApplicationCacheChannel.idl
@@ -0,0 +1,57 @@
+/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+ *
+ * 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 "nsIApplicationCacheContainer.idl"
+
+/**
+ * Interface implemented by channels that support application caches.
+ */
+[scriptable, uuid(6FA816B1-6D5F-4380-9704-054D0908CFA3)]
+interface nsIApplicationCacheChannel : nsIApplicationCacheContainer
+{
+ /**
+ * 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.
+ */
+ readonly attribute boolean loadedFromApplicationCache;
+
+ /**
+ * 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;
+
+ /**
+ * 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();
+
+ /**
+ * Set offline application cache object to instruct the channel
+ * to cache for offline use using this application cache.
+ */
+ attribute nsIApplicationCache applicationCacheForWrite;
+};