| Index: Source/core/dom/Element.cpp
|
| diff --git a/Source/core/dom/Element.cpp b/Source/core/dom/Element.cpp
|
| index f6e4dda538c64b121e6ec7c0e55b5b2aae0dd389..f3a28ba17abcdcc4a8623ce6d08fbfc361cf2035 100644
|
| --- a/Source/core/dom/Element.cpp
|
| +++ b/Source/core/dom/Element.cpp
|
| @@ -951,12 +951,14 @@ void Element::scrollFrameTo(const ScrollToOptions& scrollToOptions)
|
|
|
| void Element::incrementProxyCount()
|
| {
|
| - ensureElementRareData().incrementProxyCount();
|
| + if (ensureElementRareData().incrementProxyCount() == 1)
|
| + setNeedsStyleRecalc(LocalStyleChange, StyleChangeReasonForTracing::create(StyleChangeReason::CompositorProxy));
|
| }
|
|
|
| void Element::decrementProxyCount()
|
| {
|
| - ensureElementRareData().decrementProxyCount();
|
| + if (ensureElementRareData().decrementProxyCount() == 0)
|
| + setNeedsStyleRecalc(LocalStyleChange, StyleChangeReasonForTracing::create(StyleChangeReason::CompositorProxy));
|
| }
|
|
|
| IntRect Element::boundsInViewportSpace()
|
| @@ -1651,6 +1653,9 @@ PassRefPtr<ComputedStyle> Element::styleForLayoutObject()
|
| style->setHasInlineTransform(inlineStyle->hasProperty(CSSPropertyTransform) || inlineStyle->hasProperty(CSSPropertyWebkitTransform));
|
| }
|
|
|
| + if (hasRareData() && elementRareData()->proxyCount() > 0)
|
| + style->setHasCompositorProxy(true);
|
| +
|
| document().didRecalculateStyleForElement();
|
| return style.release();
|
| }
|
|
|