OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. |
3 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> | 3 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> |
4 * Copyright (C) 2013, 2014 Samsung Electronics. All rights reserved. | 4 * Copyright (C) 2013, 2014 Samsung Electronics. All rights reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
11 * This library is distributed in the hope that it will be useful, | 11 * This library is distributed in the hope that it will be useful, |
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
14 * Library General Public License for more details. | 14 * Library General Public License for more details. |
15 * | 15 * |
16 * You should have received a copy of the GNU Library General Public License | 16 * You should have received a copy of the GNU Library General Public License |
17 * along with this library; see the file COPYING.LIB. If not, write to | 17 * along with this library; see the file COPYING.LIB. If not, write to |
18 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 18 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
19 * Boston, MA 02110-1301, USA. | 19 * Boston, MA 02110-1301, USA. |
20 */ | 20 */ |
21 | 21 |
| 22 // https://html.spec.whatwg.org/#the-htmloptionscollection-interface |
| 23 |
22 [ | 24 [ |
23 DependentLifetime, | 25 DependentLifetime, |
24 SetWrapperReferenceFrom=ownerNode, | 26 SetWrapperReferenceFrom=ownerNode, |
25 ] interface HTMLOptionsCollection : HTMLCollection { | 27 ] interface HTMLOptionsCollection : HTMLCollection { |
| 28 // inherits item() |
| 29 [Custom=Setter, RaisesException=Setter] attribute unsigned long length; // s
hadows inherited length |
| 30 // FIXME: The spec has a legacycaller HTMLOptionElement? (DOMString name); |
| 31 [RaisesException, TypeChecking=Interface] setter void (unsigned long index,
HTMLOptionElement? option); |
| 32 [RaisesException, TypeChecking=Interface] void add((HTMLOptionElement or HTM
LOptGroupElement) element, optional (HTMLElement or long)? before = null); |
| 33 // FIXME: the index argument should be long, not unsigned long. |
| 34 void remove(unsigned long index); |
26 attribute long selectedIndex; | 35 attribute long selectedIndex; |
27 [Custom=Setter, RaisesException=Setter] attribute unsigned long length; | 36 // FIXME: Neither of these getters are in the spec, and the |
| 37 // getters inherited from HTMLCollection always return an Element. |
28 [ImplementedAs=item] getter Node (unsigned long index); | 38 [ImplementedAs=item] getter Node (unsigned long index); |
29 [RaisesException, TypeChecking=Interface] setter HTMLOptionElement (unsigned
long index, HTMLOptionElement? value); | |
30 | |
31 // FIXME: The spec and firefox return an Element (the first matching Element
). | |
32 [ImplementedAs=namedGetter] getter (NodeList or Element)? namedItem(DOMStrin
g name); | 39 [ImplementedAs=namedGetter] getter (NodeList or Element)? namedItem(DOMStrin
g name); |
33 | |
34 [RaisesException, TypeChecking=Interface] void add((HTMLOptionElement or HTM
LOptGroupElement) element, | |
35 optional (HTMLElement or
long)? before = null); | |
36 void remove(unsigned long index); | |
37 }; | 40 }; |
OLD | NEW |