aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmlselectelement.rs
diff options
context:
space:
mode:
authorPatrick Shaughnessy <pshaughn@comcast.net>2020-01-06 20:14:36 -0500
committerPatrick Shaughnessy <pshaughn@comcast.net>2020-01-07 11:05:31 -0500
commitc1b71fcc4d842aa1df38d6ed36b73dc331508703 (patch)
tree35f79b5ea3e2d723df2ac16a16007899c8c572ad /components/script/dom/htmlselectelement.rs
parent1d645f37418719a3f965f5729543c97c2d057d01 (diff)
downloadservo-c1b71fcc4d842aa1df38d6ed36b73dc331508703.tar.gz
servo-c1b71fcc4d842aa1df38d6ed36b73dc331508703.zip
Implement HTMLSelectElement.add() and indexed setter, fix test that was relying on add to be a stub
Diffstat (limited to 'components/script/dom/htmlselectelement.rs')
-rwxr-xr-xcomponents/script/dom/htmlselectelement.rs14
1 files changed, 10 insertions, 4 deletions
diff --git a/components/script/dom/htmlselectelement.rs b/components/script/dom/htmlselectelement.rs
index 0ef500ccb1a..f6330b9b65a 100755
--- a/components/script/dom/htmlselectelement.rs
+++ b/components/script/dom/htmlselectelement.rs
@@ -12,6 +12,7 @@ use crate::dom::bindings::codegen::Bindings::HTMLSelectElementBinding::HTMLSelec
use crate::dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use crate::dom::bindings::codegen::UnionTypes::HTMLElementOrLong;
use crate::dom::bindings::codegen::UnionTypes::HTMLOptionElementOrHTMLOptGroupElement;
+use crate::dom::bindings::error::ErrorResult;
use crate::dom::bindings::inheritance::Castable;
use crate::dom::bindings::root::{DomRoot, MutNullableDom};
use crate::dom::bindings::str::DOMString;
@@ -203,13 +204,13 @@ impl HTMLSelectElementMethods for HTMLSelectElement {
ValidityState::new(&window, self.upcast())
}
- // Note: this function currently only exists for union.html.
// https://html.spec.whatwg.org/multipage/#dom-select-add
fn Add(
&self,
- _element: HTMLOptionElementOrHTMLOptGroupElement,
- _before: Option<HTMLElementOrLong>,
- ) {
+ element: HTMLOptionElementOrHTMLOptGroupElement,
+ before: Option<HTMLElementOrLong>,
+ ) -> ErrorResult {
+ self.Options().Add(element, before)
}
// https://html.spec.whatwg.org/multipage/#dom-fe-disabled
@@ -281,6 +282,11 @@ impl HTMLSelectElementMethods for HTMLSelectElement {
self.Options().IndexedGetter(index)
}
+ // https://html.spec.whatwg.org/multipage/#dom-select-setter
+ fn IndexedSetter(&self, index: u32, value: Option<&HTMLOptionElement>) -> ErrorResult {
+ self.Options().IndexedSetter(index, value)
+ }
+
// https://html.spec.whatwg.org/multipage/#dom-select-nameditem
fn NamedItem(&self, name: DOMString) -> Option<DomRoot<HTMLOptionElement>> {
self.Options()