summaryrefslogtreecommitdiffstats
path: root/dom/interfaces/html/nsIDOMHTMLOptionsCollection.idl
diff options
context:
space:
mode:
Diffstat (limited to 'dom/interfaces/html/nsIDOMHTMLOptionsCollection.idl')
-rw-r--r--dom/interfaces/html/nsIDOMHTMLOptionsCollection.idl52
1 files changed, 52 insertions, 0 deletions
diff --git a/dom/interfaces/html/nsIDOMHTMLOptionsCollection.idl b/dom/interfaces/html/nsIDOMHTMLOptionsCollection.idl
new file mode 100644
index 000000000..04592656f
--- /dev/null
+++ b/dom/interfaces/html/nsIDOMHTMLOptionsCollection.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* 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/. */
+
+#include "nsIDOMHTMLElement.idl"
+#include "nsIDOMHTMLCollection.idl"
+
+interface nsIDOMHTMLOptionElement;
+interface nsIDOMHTMLSelectElement;
+
+/**
+ * The nsIDOMHTMLOptionsCollection interface is the interface to a
+ * collection of [X]HTML option elements.
+ *
+ * This interface is trying to follow the DOM Level 2 HTML specification:
+ * http://www.w3.org/TR/DOM-Level-2-HTML/
+ *
+ * with changes from the work-in-progress WHATWG HTML specification:
+ * http://www.whatwg.org/specs/web-apps/current-work/
+ */
+
+// Introduced in DOM Level 2:
+[uuid(4173cc53-30f6-4d12-a770-981ba53164e2)]
+interface nsIDOMHTMLOptionsCollection : nsISupports
+{
+ attribute unsigned long length;
+ // raises(DOMException) on setting
+
+ // FIXME item should just be inherited from nsIDOMHTMLCollection
+ nsIDOMNode item(in unsigned long index);
+
+ // FIXME namedItem (and getNamedItem) should return a NodeList if there are
+ // multiple matching items
+ nsIDOMNode namedItem(in DOMString name);
+
+ attribute long selectedIndex;
+
+ [noscript] void setOption(in unsigned long index,
+ in nsIDOMHTMLOptionElement option);
+
+ [noscript] readonly attribute nsIDOMHTMLSelectElement select;
+
+ // This add method implementation means the following
+ // since IDL doesn't support overloading.
+ // void add(in nsIDOMHTMLOptionElement,
+ // [optional] in nsIDOMHTMLOptionElement)
+ // void add(in nsIDOMHTMLOptionElement, in long)
+ void add(in nsIDOMHTMLOptionElement option,
+ [optional] in nsIVariant before);
+ void remove(in long index);
+};