diff options
Diffstat (limited to 'WebCore/html/HTMLCollection.cpp')
-rw-r--r-- | WebCore/html/HTMLCollection.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/WebCore/html/HTMLCollection.cpp b/WebCore/html/HTMLCollection.cpp index de4c424..76de60a 100644 --- a/WebCore/html/HTMLCollection.cpp +++ b/WebCore/html/HTMLCollection.cpp @@ -27,6 +27,7 @@ #include "HTMLElement.h" #include "HTMLNames.h" #include "HTMLObjectElement.h" +#include "HTMLOptionElement.h" #include "NodeList.h" #include <utility> @@ -104,6 +105,7 @@ Element* HTMLCollection::itemAfter(Element* previous) const case MapAreas: case OtherCollection: case SelectOptions: + case DataListOptions: case WindowNamedItems: break; case NodeChildren: @@ -153,6 +155,13 @@ Element* HTMLCollection::itemAfter(Element* previous) const if (e->hasLocalName(optionTag)) return e; break; + case DataListOptions: + if (e->hasLocalName(optionTag)) { + HTMLOptionElement* option = static_cast<HTMLOptionElement*>(e); + if (!option->disabled() && !option->value().isEmpty()) + return e; + } + break; case MapAreas: if (e->hasLocalName(areaTag)) return e; |