| Index: Source/core/rendering/RenderObject.cpp
|
| diff --git a/Source/core/rendering/RenderObject.cpp b/Source/core/rendering/RenderObject.cpp
|
| index da52773b9c681e0a141c09e87d073e96df4c1b23..e9ade48f2e0cde8cd7ec91413c10b854986005b7 100644
|
| --- a/Source/core/rendering/RenderObject.cpp
|
| +++ b/Source/core/rendering/RenderObject.cpp
|
| @@ -1647,13 +1647,15 @@ Color RenderObject::selectionBackgroundColor() const
|
| {
|
| Color color;
|
| if (style()->userSelect() != SELECT_NONE) {
|
| - RefPtr<RenderStyle> pseudoStyle = getUncachedPseudoStyle(PseudoStyleRequest(SELECTION));
|
| - if (pseudoStyle && pseudoStyle->visitedDependentColor(CSSPropertyBackgroundColor).isValid())
|
| - color = pseudoStyle->visitedDependentColor(CSSPropertyBackgroundColor).blendWithWhite();
|
| - else
|
| - color = frame()->selection()->isFocusedAndActive() ?
|
| - theme()->activeSelectionBackgroundColor() :
|
| - theme()->inactiveSelectionBackgroundColor();
|
| + if (frame()->selection()->shouldShowBlockCursor() && frame()->selection()->isCaret()) {
|
| + color = style()->visitedDependentColor(CSSPropertyColor).blendWithWhite();
|
| + } else {
|
| + RefPtr<RenderStyle> pseudoStyle = getUncachedPseudoStyle(PseudoStyleRequest(SELECTION));
|
| + if (pseudoStyle && pseudoStyle->visitedDependentColor(CSSPropertyBackgroundColor).isValid())
|
| + color = pseudoStyle->visitedDependentColor(CSSPropertyBackgroundColor).blendWithWhite();
|
| + else
|
| + color = frame()->selection()->isFocusedAndActive() ? theme()->activeSelectionBackgroundColor() : theme()->inactiveSelectionBackgroundColor();
|
| + }
|
| }
|
|
|
| return color;
|
|
|