 Chromium Code Reviews
 Chromium Code Reviews Issue 1405993008:
  compositor-worker: plumb element id and mutable properties  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master
    
  
    Issue 1405993008:
  compositor-worker: plumb element id and mutable properties  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master| Index: third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp | 
| diff --git a/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp b/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp | 
| index 29ab883ec348664c08b3a50d519bcd217cdea14f..12973f21307941c0d0f9db9ea99c55999efa9366 100644 | 
| --- a/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp | 
| +++ b/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp | 
| @@ -75,6 +75,7 @@ | 
| #include "platform/scroll/ScrollAnimatorBase.h" | 
| #include "platform/scroll/ScrollbarTheme.h" | 
| #include "public/platform/Platform.h" | 
| +#include "public/platform/WebCompositorMutableProperties.h" | 
| namespace blink { | 
| @@ -1381,11 +1382,17 @@ bool PaintLayerScrollableArea::usesCompositedScrolling() const | 
| static bool layerNeedsCompositedScrolling(PaintLayerScrollableArea::LCDTextMode mode, const PaintLayer* layer) | 
| { | 
| + if (!layer->scrollsOverflow()) | 
| + return false; | 
| + | 
| + Node* node = layer->enclosingElement(); | 
| 
esprehn
2015/12/02 03:28:49
heh, enclosingElement needs to be renamed enclosin
 
Ian Vollick
2015/12/03 17:54:43
Sounds good. Here's a cleanup cl for that: https:/
 
Ian Vollick
2015/12/03 22:33:02
enclosingNode been landed and I've rebased this ch
 | 
| + if (node && node->isElementNode() && (toElement(node)->compositorMutableProperties() & (WebCompositorMutablePropertyScrollTop | WebCompositorMutablePropertyScrollLeft))) | 
| + return true; | 
| + | 
| if (mode == PaintLayerScrollableArea::ConsiderLCDText && !layer->compositor()->preferCompositingToLCDTextEnabled()) | 
| return false; | 
| - return layer->scrollsOverflow() | 
| - && !layer->hasDescendantWithClipPath() | 
| + return !layer->hasDescendantWithClipPath() | 
| && !layer->hasAncestorWithClipPath() | 
| && !layer->layoutObject()->style()->hasBorderRadius(); | 
| } |