Index: Source/core/html/HTMLSelectElement.cpp |
diff --git a/Source/core/html/HTMLSelectElement.cpp b/Source/core/html/HTMLSelectElement.cpp |
index f6ecf4f839dcf973bdfd7731b2e537ae8f922f4f..4c5912ebe506342dc1fb009125e0644c41a929d8 100644 |
--- a/Source/core/html/HTMLSelectElement.cpp |
+++ b/Source/core/html/HTMLSelectElement.cpp |
@@ -36,6 +36,7 @@ |
#include "core/dom/Attribute.h" |
#include "core/dom/ElementTraversal.h" |
#include "core/dom/NodeListsNodeData.h" |
+#include "core/dom/NodeRenderStyle.h" |
#include "core/dom/NodeTraversal.h" |
#include "core/events/GestureEvent.h" |
#include "core/events/KeyboardEvent.h" |
@@ -536,6 +537,10 @@ int HTMLSelectElement::nextValidIndex(int listIndex, SkipDirection direction, in |
HTMLElement* element = listItems[listIndex]; |
if (!isHTMLOptionElement(*element)) |
continue; |
+ if (RenderStyle* style = element->renderStyle() ? element->renderStyle() : element->computedStyle()) { |
+ if (style->display() == NONE) |
+ continue; |
+ } |
if (element->isDisabledFormControl()) |
continue; |
if (!usesMenuList() && !element->renderer()) |