2008-04-17 Anders Carlsson <andersca@apple.com>
[WebKit-https.git] / WebCore / loader / appcache / DOMApplicationCache.idl
1 /*
2  * Copyright (C) 2008 Apple Inc. All Rights Reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
24  */
25  
26 module offline {
27  
28     interface [Conditional=OFFLINE_WEB_APPLICATIONS,
29                CustomMarkFunction] DOMApplicationCache {
30     
31         // update status
32         const unsigned short UNCACHED = 0;
33         const unsigned short IDLE = 1;
34         const unsigned short CHECKING = 2;
35         const unsigned short DOWNLOADING = 3;
36         const unsigned short UPDATEREADY = 4;
37         readonly attribute unsigned short status;
38
39         void update()
40             raises(DOMException);
41         void swapCache()
42             raises(DOMException);
43     
44         // dynamic entries
45         readonly attribute unsigned long length;
46         DOMString item(in [IsIndex] unsigned long index)
47             raises(DOMException);
48         [Custom] void add(in DOMString uri)
49             raises(DOMException);
50         [Custom] void remove(in DOMString uri)
51             raises(DOMException);
52     
53         // events
54         attribute [Custom] EventListener onchecking;
55         attribute [Custom] EventListener onerror;
56         attribute [Custom] EventListener onnoupdate;
57         attribute [Custom] EventListener ondownloading;
58         attribute [Custom] EventListener onprogress;
59         attribute [Custom] EventListener onupdateready;
60         attribute [Custom] EventListener oncached;
61     
62         // EventTarget interface
63         [Custom] void addEventListener(in DOMString type, 
64                                        in EventListener listener, 
65                                        in boolean useCapture);
66         [Custom] void removeEventListener(in DOMString type, 
67                                           in EventListener listener, 
68                                           in boolean useCapture);
69         [Custom] boolean dispatchEvent(in Event evt)
70             raises(EventException);
71 };
72
73 }