| Index: Source/core/rendering/RenderListBox.cpp
|
| diff --git a/Source/core/rendering/RenderListBox.cpp b/Source/core/rendering/RenderListBox.cpp
|
| index 2e8b3be39cafffe3b4205f1174e05cb6d9c08203..8293870ba54ecb9d43c5019640df2e646504fd99 100644
|
| --- a/Source/core/rendering/RenderListBox.cpp
|
| +++ b/Source/core/rendering/RenderListBox.cpp
|
| @@ -426,7 +426,7 @@ void RenderListBox::paintItemForeground(PaintInfo& paintInfo, const LayoutPoint&
|
| applyTextTransform(style(), itemText, ' ');
|
|
|
| Color textColor = element->renderStyle() ? resolveColor(element->renderStyle(), CSSPropertyColor) : resolveColor(CSSPropertyColor);
|
| - if (isOptionElement && toHTMLOptionElement(element)->selected()) {
|
| + if (isOptionElement && ((toHTMLOptionElement(element)->selected() && select->suggestedIndex() < 0) || listIndex == select->suggestedIndex())) {
|
| if (frame()->selection().isFocusedAndActive() && document().focusedElement() == node())
|
| textColor = RenderTheme::theme().activeListBoxSelectionForegroundColor();
|
| // Honor the foreground color for disabled items
|
| @@ -460,7 +460,7 @@ void RenderListBox::paintItemBackground(PaintInfo& paintInfo, const LayoutPoint&
|
| HTMLElement* element = listItems[listIndex];
|
|
|
| Color backColor;
|
| - if (element->hasTagName(optionTag) && toHTMLOptionElement(element)->selected()) {
|
| + if (element->hasTagName(optionTag) && ((toHTMLOptionElement(element)->selected() && selectElement()->suggestedIndex() < 0) || listIndex == selectElement()->suggestedIndex())) {
|
| if (frame()->selection().isFocusedAndActive() && document().focusedElement() == node())
|
| backColor = RenderTheme::theme().activeListBoxSelectionBackgroundColor();
|
| else
|
|
|