| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> | 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> |
| 3 * 1999 Lars Knoll <knoll@kde.org> | 3 * 1999 Lars Knoll <knoll@kde.org> |
| 4 * 1999 Antti Koivisto <koivisto@kde.org> | 4 * 1999 Antti Koivisto <koivisto@kde.org> |
| 5 * 2000 Dirk Mueller <mueller@kde.org> | 5 * 2000 Dirk Mueller <mueller@kde.org> |
| 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. |
| 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) | 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) |
| 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
| 9 * Copyright (C) 2009 Google Inc. All rights reserved. | 9 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 10 * | 10 * |
| (...skipping 1269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1280 // Fixed items should always have layers. | 1280 // Fixed items should always have layers. |
| 1281 ASSERT(renderer->hasLayer()); | 1281 ASSERT(renderer->hasLayer()); |
| 1282 RenderLayer* layer = toRenderBoxModelObject(renderer)->layer(); | 1282 RenderLayer* layer = toRenderBoxModelObject(renderer)->layer(); |
| 1283 | 1283 |
| 1284 // Layers that paint into their ancestor or into a grouped backing will
still need | 1284 // Layers that paint into their ancestor or into a grouped backing will
still need |
| 1285 // to apply a paint invalidation. If the layer paints into its own backi
ng, then | 1285 // to apply a paint invalidation. If the layer paints into its own backi
ng, then |
| 1286 // it does not need paint invalidation just to scroll. | 1286 // it does not need paint invalidation just to scroll. |
| 1287 if (layer->compositingState() == PaintsIntoOwnBacking) | 1287 if (layer->compositingState() == PaintsIntoOwnBacking) |
| 1288 continue; | 1288 continue; |
| 1289 | 1289 |
| 1290 if (layer->viewportConstrainedNotCompositedReason() == RenderLayer::NotC
ompositedForBoundsOutOfView | |
| 1291 || layer->viewportConstrainedNotCompositedReason() == RenderLayer::N
otCompositedForNoVisibleContent) { | |
| 1292 // Don't invalidate for invisible fixed layers. | |
| 1293 continue; | |
| 1294 } | |
| 1295 | |
| 1296 if (layer->hasAncestorWithFilterOutsets()) { | 1290 if (layer->hasAncestorWithFilterOutsets()) { |
| 1297 // If the fixed layer has a blur/drop-shadow filter applied on at le
ast one of its parents, we cannot | 1291 // If the fixed layer has a blur/drop-shadow filter applied on at le
ast one of its parents, we cannot |
| 1298 // scroll using the fast path, otherwise the outsets of the filter w
ill be moved around the page. | 1292 // scroll using the fast path, otherwise the outsets of the filter w
ill be moved around the page. |
| 1299 return false; | 1293 return false; |
| 1300 } | 1294 } |
| 1301 | 1295 |
| 1302 IntRect updateRect = pixelSnappedIntRect(layer->repainter().repaintRectI
ncludingNonCompositingDescendants()); | 1296 IntRect updateRect = pixelSnappedIntRect(layer->repainter().repaintRectI
ncludingNonCompositingDescendants()); |
| 1303 | 1297 |
| 1304 const RenderLayerModelObject* repaintContainer = layer->renderer()->cont
ainerForPaintInvalidation(); | 1298 const RenderLayerModelObject* repaintContainer = layer->renderer()->cont
ainerForPaintInvalidation(); |
| 1305 if (repaintContainer && !repaintContainer->isRenderView()) { | 1299 if (repaintContainer && !repaintContainer->isRenderView()) { |
| (...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1588 | 1582 |
| 1589 // Fixed items should always have layers. | 1583 // Fixed items should always have layers. |
| 1590 ASSERT(renderer->hasLayer()); | 1584 ASSERT(renderer->hasLayer()); |
| 1591 | 1585 |
| 1592 RenderLayer* layer = toRenderBoxModelObject(renderer)->layer(); | 1586 RenderLayer* layer = toRenderBoxModelObject(renderer)->layer(); |
| 1593 | 1587 |
| 1594 // Don't need to do this for composited fixed items. | 1588 // Don't need to do this for composited fixed items. |
| 1595 if (layer->compositingState() == PaintsIntoOwnBacking) | 1589 if (layer->compositingState() == PaintsIntoOwnBacking) |
| 1596 continue; | 1590 continue; |
| 1597 | 1591 |
| 1598 // Also don't need to do this for invisible items. | |
| 1599 if (layer->viewportConstrainedNotCompositedReason() == RenderLayer::NotC
ompositedForBoundsOutOfView | |
| 1600 || layer->viewportConstrainedNotCompositedReason() == RenderLayer::N
otCompositedForNoVisibleContent) | |
| 1601 continue; | |
| 1602 | |
| 1603 layer->repainter().computeRepaintRectsIncludingNonCompositingDescendants
(); | 1592 layer->repainter().computeRepaintRectsIncludingNonCompositingDescendants
(); |
| 1604 } | 1593 } |
| 1605 } | 1594 } |
| 1606 | 1595 |
| 1607 void FrameView::updateCompositedSelectionBoundsIfNeeded() | 1596 void FrameView::updateCompositedSelectionBoundsIfNeeded() |
| 1608 { | 1597 { |
| 1609 if (!RuntimeEnabledFeatures::compositedSelectionUpdatesEnabled()) | 1598 if (!RuntimeEnabledFeatures::compositedSelectionUpdatesEnabled()) |
| 1610 return; | 1599 return; |
| 1611 | 1600 |
| 1612 Page* page = frame().page(); | 1601 Page* page = frame().page(); |
| (...skipping 1583 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3196 void FrameView::willRemoveScrollbar(Scrollbar* scrollbar, ScrollbarOrientation o
rientation) | 3185 void FrameView::willRemoveScrollbar(Scrollbar* scrollbar, ScrollbarOrientation o
rientation) |
| 3197 { | 3186 { |
| 3198 ScrollableArea::willRemoveScrollbar(scrollbar, orientation); | 3187 ScrollableArea::willRemoveScrollbar(scrollbar, orientation); |
| 3199 if (AXObjectCache* cache = axObjectCache()) { | 3188 if (AXObjectCache* cache = axObjectCache()) { |
| 3200 cache->remove(scrollbar); | 3189 cache->remove(scrollbar); |
| 3201 cache->handleScrollbarUpdate(this); | 3190 cache->handleScrollbarUpdate(this); |
| 3202 } | 3191 } |
| 3203 } | 3192 } |
| 3204 | 3193 |
| 3205 } // namespace blink | 3194 } // namespace blink |
| OLD | NEW |