Index: third_party/WebKit/Source/core/dom/shadow/ShadowRoot.cpp |
diff --git a/third_party/WebKit/Source/core/dom/shadow/ShadowRoot.cpp b/third_party/WebKit/Source/core/dom/shadow/ShadowRoot.cpp |
index af3defa3ebec4c8926879ad994004671287d9e59..9e60a6188ced64e3c2eae38344d91d2d4a051b53 100644 |
--- a/third_party/WebKit/Source/core/dom/shadow/ShadowRoot.cpp |
+++ b/third_party/WebKit/Source/core/dom/shadow/ShadowRoot.cpp |
@@ -134,8 +134,13 @@ void ShadowRoot::recalcStyle(StyleRecalcChange change) |
StyleSharingDepthScope sharingScope(*this); |
- if (getStyleChangeType() >= SubtreeStyleChange) |
+ if (getStyleChangeType() >= SubtreeStyleChange) { |
change = Force; |
+ } else if (change == IndependentInherit) { |
+ // Independent inheritance can't continue through shadow roots, since we |
+ // assume inheritance from the parent element which isn't the case here. |
+ change = Inherit; |
sashab
2016/08/18 04:47:15
Fix for shadow roots problem - crbug.com/633859. I
rune
2016/08/18 08:06:49
I think I know what's happening. We traverse the f
sashab
2016/08/19 05:35:25
Thanks for the excellent summary Rune! You were ab
|
+ } |
// There's no style to update so just calling recalcStyle means we're updated. |
clearNeedsStyleRecalc(); |