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 COMPUTER, 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 COMPUTER, 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 27module threads { 28 29 interface [ 30 Conditional=WORKERS, 31 CustomMarkFunction, 32 DelegatingGetOwnPropertySlot, 33 ExtendsDOMGlobalObject, 34 IsWorkerContext, 35 LegacyParent=JSWorkerContextBase, 36 NoStaticTables 37 ] WorkerContext { 38 39 // WorkerGlobalScope 40#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT 41 attribute [Replaceable] WorkerContext self; 42#endif 43 attribute [Replaceable] WorkerLocation location; 44 void close(); 45 attribute EventListener onerror; 46 47 // WorkerUtils 48 [Custom] void importScripts(/*[Variadic] in DOMString urls */); 49 attribute [Replaceable] WorkerNavigator navigator; 50 // Database openDatabase(in DOMString name, in DOMString version, in DOMString displayName, in unsigned long estimatedSize); 51 // DatabaseSync openDatabaseSync(in DOMString name, in DOMString version, in DOMString displayName, in unsigned long estimatedSize); 52 53 // Timers 54 [Custom] long setTimeout(in TimeoutHandler handler, in long timeout); 55 // [Custom] long setTimeout(in DOMString code, in long timeout); 56 void clearTimeout(in long handle); 57 [Custom] long setInterval(in TimeoutHandler handler, in long timeout); 58 // [Custom] long setInterval(in DOMString code, in long timeout); 59 void clearInterval(in long handle); 60 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 boolean dispatchEvent(in Event evt) 70 raises(EventException); 71 72 73 // Constructors 74 attribute MessageEventConstructor MessageEvent; 75 attribute WorkerLocationConstructor WorkerLocation; 76 77#if ENABLE_CHANNEL_MESSAGING 78 attribute [JSCCustomGetter] MessageChannelConstructor MessageChannel; 79#endif 80 attribute [JSCCustomGetter] XMLHttpRequestConstructor XMLHttpRequest; 81 }; 82 83} 84