diff options
Diffstat (limited to 'dom/interfaces/offline')
-rw-r--r-- | dom/interfaces/offline/moz.build | 12 | ||||
-rw-r--r-- | dom/interfaces/offline/nsIDOMOfflineResourceList.idl | 101 |
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; +}; |