Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. | 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. |
| 5 * | 5 * |
| 6 * Other contributors: | 6 * Other contributors: |
| 7 * Robert O'Callahan <roc+@cs.cmu.edu> | 7 * Robert O'Callahan <roc+@cs.cmu.edu> |
| 8 * David Baron <dbaron@fas.harvard.edu> | 8 * David Baron <dbaron@fas.harvard.edu> |
| 9 * Christian Biesinger <cbiesinger@web.de> | 9 * Christian Biesinger <cbiesinger@web.de> |
| 10 * Randall Jesup <rjesup@wgate.com> | 10 * Randall Jesup <rjesup@wgate.com> |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 68 #include "core/page/Page.h" | 68 #include "core/page/Page.h" |
| 69 #include "core/page/scrolling/ScrollingCoordinator.h" | 69 #include "core/page/scrolling/ScrollingCoordinator.h" |
| 70 #include "core/paint/PaintLayerFragment.h" | 70 #include "core/paint/PaintLayerFragment.h" |
| 71 #include "platform/PlatformGestureEvent.h" | 71 #include "platform/PlatformGestureEvent.h" |
| 72 #include "platform/PlatformMouseEvent.h" | 72 #include "platform/PlatformMouseEvent.h" |
| 73 #include "platform/graphics/GraphicsLayer.h" | 73 #include "platform/graphics/GraphicsLayer.h" |
| 74 #include "platform/graphics/paint/DrawingRecorder.h" | 74 #include "platform/graphics/paint/DrawingRecorder.h" |
| 75 #include "platform/scroll/ScrollAnimatorBase.h" | 75 #include "platform/scroll/ScrollAnimatorBase.h" |
| 76 #include "platform/scroll/ScrollbarTheme.h" | 76 #include "platform/scroll/ScrollbarTheme.h" |
| 77 #include "public/platform/Platform.h" | 77 #include "public/platform/Platform.h" |
| 78 #include "public/platform/WebCompositorMutableProperties.h" | |
| 78 | 79 |
| 79 namespace blink { | 80 namespace blink { |
| 80 | 81 |
| 81 const int ResizerControlExpandRatioForTouch = 2; | 82 const int ResizerControlExpandRatioForTouch = 2; |
| 82 | 83 |
| 83 PaintLayerScrollableArea::PaintLayerScrollableArea(PaintLayer& layer) | 84 PaintLayerScrollableArea::PaintLayerScrollableArea(PaintLayer& layer) |
| 84 : m_layer(layer) | 85 : m_layer(layer) |
| 85 , m_inResizeMode(false) | 86 , m_inResizeMode(false) |
| 86 , m_scrollsOverflow(false) | 87 , m_scrollsOverflow(false) |
| 87 , m_inOverflowRelayout(false) | 88 , m_inOverflowRelayout(false) |
| (...skipping 1286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1374 if (box().isIntrinsicallyScrollable(VerticalScrollbar) || box().isIntrinsica llyScrollable(HorizontalScrollbar)) | 1375 if (box().isIntrinsicallyScrollable(VerticalScrollbar) || box().isIntrinsica llyScrollable(HorizontalScrollbar)) |
| 1375 return false; | 1376 return false; |
| 1376 | 1377 |
| 1377 // See https://codereview.chromium.org/176633003/ for the tests that fail wi thout this disabler. | 1378 // See https://codereview.chromium.org/176633003/ for the tests that fail wi thout this disabler. |
| 1378 DisableCompositingQueryAsserts disabler; | 1379 DisableCompositingQueryAsserts disabler; |
| 1379 return layer()->hasCompositedLayerMapping() && layer()->compositedLayerMappi ng()->scrollingLayer(); | 1380 return layer()->hasCompositedLayerMapping() && layer()->compositedLayerMappi ng()->scrollingLayer(); |
| 1380 } | 1381 } |
| 1381 | 1382 |
| 1382 static bool layerNeedsCompositedScrolling(PaintLayerScrollableArea::LCDTextMode mode, const PaintLayer* layer) | 1383 static bool layerNeedsCompositedScrolling(PaintLayerScrollableArea::LCDTextMode mode, const PaintLayer* layer) |
| 1383 { | 1384 { |
| 1385 if (!layer->scrollsOverflow()) | |
| 1386 return false; | |
| 1387 | |
| 1388 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
| |
| 1389 if (node && node->isElementNode() && (toElement(node)->compositorMutableProp erties() & (WebCompositorMutablePropertyScrollTop | WebCompositorMutableProperty ScrollLeft))) | |
| 1390 return true; | |
| 1391 | |
| 1384 if (mode == PaintLayerScrollableArea::ConsiderLCDText && !layer->compositor( )->preferCompositingToLCDTextEnabled()) | 1392 if (mode == PaintLayerScrollableArea::ConsiderLCDText && !layer->compositor( )->preferCompositingToLCDTextEnabled()) |
| 1385 return false; | 1393 return false; |
| 1386 | 1394 |
| 1387 return layer->scrollsOverflow() | 1395 return !layer->hasDescendantWithClipPath() |
| 1388 && !layer->hasDescendantWithClipPath() | |
| 1389 && !layer->hasAncestorWithClipPath() | 1396 && !layer->hasAncestorWithClipPath() |
| 1390 && !layer->layoutObject()->style()->hasBorderRadius(); | 1397 && !layer->layoutObject()->style()->hasBorderRadius(); |
| 1391 } | 1398 } |
| 1392 | 1399 |
| 1393 void PaintLayerScrollableArea::updateNeedsCompositedScrolling(LCDTextMode mode) | 1400 void PaintLayerScrollableArea::updateNeedsCompositedScrolling(LCDTextMode mode) |
| 1394 { | 1401 { |
| 1395 const bool needsCompositedScrolling = layerNeedsCompositedScrolling(mode, la yer()); | 1402 const bool needsCompositedScrolling = layerNeedsCompositedScrolling(mode, la yer()); |
| 1396 if (static_cast<bool>(m_needsCompositedScrolling) != needsCompositedScrollin g) { | 1403 if (static_cast<bool>(m_needsCompositedScrolling) != needsCompositedScrollin g) { |
| 1397 m_needsCompositedScrolling = needsCompositedScrolling; | 1404 m_needsCompositedScrolling = needsCompositedScrolling; |
| 1398 layer()->didUpdateNeedsCompositedScrolling(); | 1405 layer()->didUpdateNeedsCompositedScrolling(); |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1518 } | 1525 } |
| 1519 | 1526 |
| 1520 DEFINE_TRACE(PaintLayerScrollableArea::ScrollbarManager) | 1527 DEFINE_TRACE(PaintLayerScrollableArea::ScrollbarManager) |
| 1521 { | 1528 { |
| 1522 visitor->trace(m_scrollableArea); | 1529 visitor->trace(m_scrollableArea); |
| 1523 visitor->trace(m_hBar); | 1530 visitor->trace(m_hBar); |
| 1524 visitor->trace(m_vBar); | 1531 visitor->trace(m_vBar); |
| 1525 } | 1532 } |
| 1526 | 1533 |
| 1527 } // namespace blink | 1534 } // namespace blink |
| OLD | NEW |