1/* 2 * Copyright (C) 2009 Ericsson AB. All rights reserved. 3 * Copyright (C) 2010, 2011 Apple Inc. All Rights Reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 9 * 1. Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 2. Redistributions in binary form must reproduce the above copyright 12 * notice, this list of conditions and the following disclaimer 13 * in the documentation and/or other materials provided with the 14 * distribution. 15 * 3. Neither the name of Ericsson nor the names of its contributors 16 * may be used to endorse or promote products derived from this 17 * software without specific prior written permission. 18 * 19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 */ 31 32[ 33 GlobalContext=WindowAndWorker, 34 ActiveDOMObject, 35 Constructor(DOMString url, optional Dictionary eventSourceInit), 36 ConstructorCallWith=ScriptExecutionContext, 37 ConstructorRaisesException, 38 EventTarget, 39 JSNoStaticTables 40] interface EventSource { 41 42 readonly attribute DOMString URL; // Lowercased .url is the one in the spec, but leaving .URL for compatibility reasons. 43 readonly attribute DOMString url; 44 readonly attribute boolean withCredentials; 45 46 // ready state 47 const unsigned short CONNECTING = 0; 48 const unsigned short OPEN = 1; 49 const unsigned short CLOSED = 2; 50 readonly attribute unsigned short readyState; 51 52 // networking 53 attribute EventListener onopen; 54 attribute EventListener onmessage; 55 attribute EventListener onerror; 56 void close(); 57 58 // EventTarget interface 59 void addEventListener(DOMString type, 60 EventListener listener, 61 optional boolean useCapture); 62 void removeEventListener(DOMString type, 63 EventListener listener, 64 optional boolean useCapture); 65 [RaisesException] boolean dispatchEvent(Event evt); 66 67}; 68