Index: Source/core/html/HTMLOptGroupElement.cpp |
diff --git a/Source/core/html/HTMLOptGroupElement.cpp b/Source/core/html/HTMLOptGroupElement.cpp |
index d9f835b0faf0c1bed924df7183c59ed7dc6dc81b..8725226c8a996c4f7b75e7df904d4e99b0279fe3 100644 |
--- a/Source/core/html/HTMLOptGroupElement.cpp |
+++ b/Source/core/html/HTMLOptGroupElement.cpp |
@@ -96,7 +96,12 @@ void HTMLOptGroupElement::detach(const AttachContext& context) |
void HTMLOptGroupElement::updateNonRenderStyle() |
{ |
+ bool oldDisplayNoneStatus = isDisplayNone(); |
m_style = originalStyleForRenderer(); |
+ if (oldDisplayNoneStatus != isDisplayNone()) { |
+ if (HTMLSelectElement* select = ownerSelectElement()) |
+ select->updateListOnRenderer(); |
+ } |
} |
RenderStyle* HTMLOptGroupElement::nonRendererStyle() const |
@@ -135,4 +140,10 @@ void HTMLOptGroupElement::accessKeyAction(bool) |
select->accessKeyAction(false); |
} |
+bool HTMLOptGroupElement::isDisplayNone() const |
+{ |
+ RenderStyle* style = nonRendererStyle(); |
+ return style && style->display() == NONE; |
+} |
+ |
} // namespace |