Index: Source/core/css/resolver/SharedStyleFinder.cpp |
diff --git a/Source/core/css/resolver/SharedStyleFinder.cpp b/Source/core/css/resolver/SharedStyleFinder.cpp |
index 4589e71bf6fdefbf4994106432cec0dcfe0eb9b5..84e9f94d8366d9aed6310287faaf1cdcfd3998f6 100644 |
--- a/Source/core/css/resolver/SharedStyleFinder.cpp |
+++ b/Source/core/css/resolver/SharedStyleFinder.cpp |
@@ -241,6 +241,11 @@ bool SharedStyleFinder::canShareStyleWithElement(Element& candidate) const |
if (isControl && !canShareStyleWithControl(candidate)) |
return false; |
+ if (isHTMLOptionElement(candidate) && isHTMLOptionElement(element()) |
+ && (toHTMLOptionElement(candidate).selected() != toHTMLOptionElement(element()).selected() |
+ || toHTMLOptionElement(candidate).spatialNavigationFocused() != toHTMLOptionElement(element()).spatialNavigationFocused())) |
+ return false; |
+ |
// FIXME: This line is surprisingly hot, we may wish to inline hasDirectionAuto into StyleResolver. |
if (candidate.isHTMLElement() && toHTMLElement(candidate).hasDirectionAuto()) |
return false; |