implement HTMLOptionsCollection and add related items to HTMLSelectElement

This commit is contained in:
Alexandrov Sergey 2016-09-22 21:10:38 +03:00
parent 6bda471007
commit cf284cc035
6 changed files with 277 additions and 38 deletions

View file

@ -0,0 +1,19 @@
/* 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/. */
// https://html.spec.whatwg.org/multipage/#htmloptionscollection
[Exposed=(Window,Worker)]
interface HTMLOptionsCollection : HTMLCollection {
// inherits item(), namedItem()
attribute unsigned long length; // shadows inherited length
//[CEReactions]
[Throws]
setter void (unsigned long index, HTMLOptionElement? option);
//[CEReactions]
[Throws]
void add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null);
//[CEReactions]
void remove(long index);
//attribute long selectedIndex;
};

View file

@ -14,14 +14,14 @@ interface HTMLSelectElement : HTMLElement {
readonly attribute DOMString type;
//readonly attribute HTMLOptionsCollection options;
readonly attribute HTMLOptionsCollection options;
attribute unsigned long length;
getter Element? item(unsigned long index);
//HTMLOptionElement? namedItem(DOMString name);
HTMLOptionElement? namedItem(DOMString name);
// Note: this function currently only exists for union.html.
void add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null);
//void remove(); // ChildNode overload
//void remove(long index);
void remove(); // ChildNode overload
void remove(long index);
//setter void (unsigned long index, HTMLOptionElement? option);
//readonly attribute HTMLCollection selectedOptions;