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 1473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1484 void RenderLayerScrollableArea::updateCompositingLayersAfterScroll() | 1484 void RenderLayerScrollableArea::updateCompositingLayersAfterScroll() |
1485 { | 1485 { |
1486 RenderLayerCompositor* compositor = box().view()->compositor(); | 1486 RenderLayerCompositor* compositor = box().view()->compositor(); |
1487 if (compositor->inCompositingMode()) { | 1487 if (compositor->inCompositingMode()) { |
1488 if (usesCompositedScrolling()) { | 1488 if (usesCompositedScrolling()) { |
1489 DisableCompositingQueryAsserts disabler; | 1489 DisableCompositingQueryAsserts disabler; |
1490 ASSERT(box().hasCompositedLayerMapping()); | 1490 ASSERT(box().hasCompositedLayerMapping()); |
1491 box().compositedLayerMapping()->setNeedsGraphicsLayerUpdate(); | 1491 box().compositedLayerMapping()->setNeedsGraphicsLayerUpdate(); |
1492 compositor->setNeedsCompositingUpdate(CompositingUpdateOnCompositedS
croll); | 1492 compositor->setNeedsCompositingUpdate(CompositingUpdateOnCompositedS
croll); |
1493 } else { | 1493 } else { |
1494 compositor->setNeedsCompositingUpdate(CompositingUpdateOnScroll); | 1494 layer()->setNeedsToUpdateAncestorDependentProperties(); |
| 1495 compositor->setNeedsCompositingUpdate(CompositingUpdateAfterComposit
ingInputChange); |
1495 } | 1496 } |
1496 } | 1497 } |
1497 } | 1498 } |
1498 | 1499 |
1499 bool RenderLayerScrollableArea::usesCompositedScrolling() const | 1500 bool RenderLayerScrollableArea::usesCompositedScrolling() const |
1500 { | 1501 { |
1501 // Scroll form controls on the main thread so they exhibit correct touch scr
oll event bubbling | 1502 // Scroll form controls on the main thread so they exhibit correct touch scr
oll event bubbling |
1502 if (box().isIntristicallyScrollable(VerticalScrollbar) || box().isIntristica
llyScrollable(HorizontalScrollbar)) | 1503 if (box().isIntristicallyScrollable(VerticalScrollbar) || box().isIntristica
llyScrollable(HorizontalScrollbar)) |
1503 return false; | 1504 return false; |
1504 | 1505 |
1505 // See https://codereview.chromium.org/176633003/ for the tests that fail wi
thout this disabler. | 1506 // See https://codereview.chromium.org/176633003/ for the tests that fail wi
thout this disabler. |
1506 DisableCompositingQueryAsserts disabler; | 1507 DisableCompositingQueryAsserts disabler; |
1507 return box().hasCompositedLayerMapping() && box().compositedLayerMapping()->
scrollingLayer(); | 1508 return box().hasCompositedLayerMapping() && box().compositedLayerMapping()->
scrollingLayer(); |
1508 } | 1509 } |
1509 | 1510 |
1510 bool RenderLayerScrollableArea::needsCompositedScrolling() const | 1511 bool RenderLayerScrollableArea::needsCompositedScrolling() const |
1511 { | 1512 { |
1512 return scrollsOverflow() && box().view()->compositor()->acceleratedCompositi
ngForOverflowScrollEnabled(); | 1513 return scrollsOverflow() && box().view()->compositor()->acceleratedCompositi
ngForOverflowScrollEnabled(); |
1513 } | 1514 } |
1514 | 1515 |
1515 } // Namespace WebCore | 1516 } // Namespace WebCore |
OLD | NEW |