Index: Source/core/html/HTMLCollection.cpp |
diff --git a/Source/core/html/HTMLCollection.cpp b/Source/core/html/HTMLCollection.cpp |
index f42ae7098827d9584b9764e99962f1c14d778345..6a249b3c174566a080dc1f5440857b17cf873659 100644 |
--- a/Source/core/html/HTMLCollection.cpp |
+++ b/Source/core/html/HTMLCollection.cpp |
@@ -29,6 +29,7 @@ |
#include "core/dom/ElementTraversal.h" |
#include "core/dom/NodeRareData.h" |
#include "core/html/DocumentNameCollection.h" |
+#include "core/html/HTMLDataListOptionsCollection.h" |
#include "core/html/HTMLElement.h" |
#include "core/html/HTMLObjectElement.h" |
#include "core/html/HTMLOptionElement.h" |
@@ -221,12 +222,7 @@ static inline bool isMatchingHTMLElement(const HTMLCollection& htmlCollection, c |
case SelectedOptions: |
return isHTMLOptionElement(element) && toHTMLOptionElement(element).selected(); |
case DataListOptions: |
- if (isHTMLOptionElement(element)) { |
- const HTMLOptionElement& option = toHTMLOptionElement(element); |
- if (!option.isDisabledFormControl() && !option.value().isEmpty()) |
- return true; |
- } |
- return false; |
+ return toHTMLDataListOptionsCollection(htmlCollection).elementMatches(element); |
case MapAreas: |
return element.hasTagName(areaTag); |
case DocApplets: |