Index: Source/core/html/HTMLSelectElement.cpp |
diff --git a/Source/core/html/HTMLSelectElement.cpp b/Source/core/html/HTMLSelectElement.cpp |
index eaed769fd7c3b461c72fbcee405535bbd3b1f196..e05c7b801d98ad5e4418231d62e48c989be29774 100644 |
--- a/Source/core/html/HTMLSelectElement.cpp |
+++ b/Source/core/html/HTMLSelectElement.cpp |
@@ -203,13 +203,19 @@ void HTMLSelectElement::add(HTMLElement* element, HTMLElement* before, Exception |
// Make sure the element is ref'd and deref'd so we don't leak it. |
RefPtr<HTMLElement> protectNewChild(element); |
- if (!element || !(isHTMLOptionElement(element) || isHTMLHRElement(element))) |
+ if (!element || !(isHTMLOptionElement(element) || isHTMLOptGroupElement(element) || isHTMLHRElement(element))) |
return; |
insertBefore(element, before, exceptionState); |
setNeedsValidityCheck(); |
} |
+void HTMLSelectElement::addBeforeOptionAtIndex(HTMLElement* element, unsigned beforeIndex, ExceptionState& exceptionState) |
+{ |
+ HTMLElement* beforeElement = toHTMLElement(options()->item(beforeIndex)); |
+ add(element, beforeElement, exceptionState); |
+} |
+ |
void HTMLSelectElement::remove(int optionIndex) |
{ |
int listIndex = optionToListIndex(optionIndex); |