summaryrefslogtreecommitdiffstats
path: root/dom/interfaces/offline
diff options
context:
space:
mode:
Diffstat (limited to 'dom/interfaces/offline')
-rw-r--r--dom/interfaces/offline/moz.build12
-rw-r--r--dom/interfaces/offline/nsIDOMOfflineResourceList.idl101
2 files changed, 113 insertions, 0 deletions
diff --git a/dom/interfaces/offline/moz.build b/dom/interfaces/offline/moz.build
new file mode 100644
index 000000000..1589c31d5
--- /dev/null
+++ b/dom/interfaces/offline/moz.build
@@ -0,0 +1,12 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+XPIDL_SOURCES += [
+ 'nsIDOMOfflineResourceList.idl',
+]
+
+XPIDL_MODULE = 'dom_offline'
+
diff --git a/dom/interfaces/offline/nsIDOMOfflineResourceList.idl b/dom/interfaces/offline/nsIDOMOfflineResourceList.idl
new file mode 100644
index 000000000..dc7637640
--- /dev/null
+++ b/dom/interfaces/offline/nsIDOMOfflineResourceList.idl
@@ -0,0 +1,101 @@
+/* -*- Mode: IDL; tab-width: 2; 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 "domstubs.idl"
+
+[uuid(6044702d-e4a9-420c-b711-558b7d6a3b9f)]
+interface nsIDOMOfflineResourceList : nsISupports
+{
+ /**
+ * Get the list of dynamically-managed entries.
+ */
+ readonly attribute nsISupports mozItems;
+
+ /**
+ * Check that an entry exists in the list of dynamically-managed entries.
+ *
+ * @param uri
+ * The resource to check.
+ */
+ boolean mozHasItem(in DOMString uri);
+
+ /**
+ * Get the number of dynamically-managed entries.
+ * @status DEPRECATED
+ * Clients should use the "items" attribute.
+ */
+ readonly attribute unsigned long mozLength;
+
+ /**
+ * Get the URI of a dynamically-managed entry.
+ * @status DEPRECATED
+ * Clients should use the "items" attribute.
+ */
+ DOMString mozItem(in unsigned long index);
+
+ /**
+ * Add an item to the list of dynamically-managed entries. The resource
+ * will be fetched into the application cache.
+ *
+ * @param uri
+ * The resource to add.
+ */
+ void mozAdd(in DOMString uri);
+
+ /**
+ * Remove an item from the list of dynamically-managed entries. If this
+ * was the last reference to a URI in the application cache, the cache
+ * entry will be removed.
+ *
+ * @param uri
+ * The resource to remove.
+ */
+ void mozRemove(in DOMString uri);
+
+ /**
+ * State of the application cache this object is associated with.
+ */
+
+ /* This object is not associated with an application cache. */
+ const unsigned short UNCACHED = 0;
+
+ /* The application cache is not being updated. */
+ const unsigned short IDLE = 1;
+
+ /* The manifest is being fetched and checked for updates */
+ const unsigned short CHECKING = 2;
+
+ /* Resources are being downloaded to be added to the cache */
+ const unsigned short DOWNLOADING = 3;
+
+ /* There is a new version of the application cache available */
+ const unsigned short UPDATEREADY = 4;
+
+ /* The application cache group is now obsolete. */
+ const unsigned short OBSOLETE = 5;
+
+ readonly attribute unsigned short status;
+
+ /**
+ * Begin the application update process on the associated application cache.
+ */
+ void update();
+
+ /**
+ * Swap in the newest version of the application cache, or disassociate
+ * from the cache if the cache group is obsolete.
+ */
+ void swapCache();
+
+ /* Events */
+ [implicit_jscontext] attribute jsval onchecking;
+ [implicit_jscontext] attribute jsval onerror;
+ [implicit_jscontext] attribute jsval onnoupdate;
+ [implicit_jscontext] attribute jsval ondownloading;
+ [implicit_jscontext] attribute jsval onprogress;
+ [implicit_jscontext] attribute jsval onupdateready;
+ [implicit_jscontext] attribute jsval oncached;
+ [implicit_jscontext] attribute jsval onobsolete;
+};