Index: third_party/WebKit/Source/core/style/ComputedStyle.cpp |
diff --git a/third_party/WebKit/Source/core/style/ComputedStyle.cpp b/third_party/WebKit/Source/core/style/ComputedStyle.cpp |
index bc38abc13cb784e065807157793231de423cbf34..60b10b21eafceb1e646e8b403750898d03b61cd6 100644 |
--- a/third_party/WebKit/Source/core/style/ComputedStyle.cpp |
+++ b/third_party/WebKit/Source/core/style/ComputedStyle.cpp |
@@ -572,6 +572,8 @@ StyleDifference ComputedStyle::visualInvalidationDiff( |
diff.setNeedsPaintInvalidationSubtree(); |
else if (diffNeedsPaintInvalidationObject(other)) |
diff.setNeedsPaintInvalidationObject(); |
+ else if (diffNeedsPaintInvalidationSelection(other)) |
+ diff.setNeedsPaintInvalidationSelection(); |
updatePropertySpecificDifferences(other, diff); |
@@ -1020,6 +1022,12 @@ bool ComputedStyle::diffNeedsPaintInvalidationObjectForPaintImage( |
return false; |
} |
+bool ComputedStyle::diffNeedsPaintInvalidationSelection( |
+ const ComputedStyle& other) const { |
+ return hasPseudoStyle(PseudoIdSelection) || |
+ other.hasPseudoStyle(PseudoIdSelection); |
+} |
+ |
void ComputedStyle::updatePropertySpecificDifferences( |
const ComputedStyle& other, |
StyleDifference& diff) const { |