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 384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
395 && !layer()->hasVisibleNonLayerContent() | 395 && !layer()->hasVisibleNonLayerContent() |
396 && !layer()->hasNonCompositedChild() | 396 && !layer()->hasNonCompositedChild() |
397 && !layer()->hasBlockSelectionGapBounds() | 397 && !layer()->hasBlockSelectionGapBounds() |
398 && box().style()->backgroundLayers().attachment() != LocalBackground
Attachment; | 398 && box().style()->backgroundLayers().attachment() != LocalBackground
Attachment; |
399 | 399 |
400 if (usesCompositedScrolling() || onlyScrolledCompositedLayers) | 400 if (usesCompositedScrolling() || onlyScrolledCompositedLayers) |
401 requiresPaintInvalidation = false; | 401 requiresPaintInvalidation = false; |
402 } | 402 } |
403 | 403 |
404 // Just schedule a full paint invalidation of our object. | 404 // Just schedule a full paint invalidation of our object. |
405 if (requiresPaintInvalidation) { | 405 if (requiresPaintInvalidation) |
406 // For querying RenderLayer::compositingState() | 406 box().setShouldDoFullPaintInvalidation(true); |
407 // This code appears correct, since scrolling outside of layout happens
during activities that do not dirty compositing state. | |
408 DisableCompositingQueryAsserts disabler; | |
409 if (box().frameView()->isInPerformLayout()) | |
410 box().setShouldDoFullPaintInvalidation(true); | |
411 else | |
412 box().invalidatePaintUsingContainer(paintInvalidationContainer, laye
r()->renderer()->previousPaintInvalidationRect(), InvalidationScroll); | |
413 } | |
414 | 407 |
415 // Schedule the scroll DOM event. | 408 // Schedule the scroll DOM event. |
416 if (box().node()) | 409 if (box().node()) |
417 box().node()->document().enqueueScrollEventForNode(box().node()); | 410 box().node()->document().enqueueScrollEventForNode(box().node()); |
418 | 411 |
419 if (AXObjectCache* cache = box().document().existingAXObjectCache()) | 412 if (AXObjectCache* cache = box().document().existingAXObjectCache()) |
420 cache->handleScrollPositionChanged(&box()); | 413 cache->handleScrollPositionChanged(&box()); |
421 | 414 |
422 InspectorInstrumentation::didScrollLayer(&box()); | 415 InspectorInstrumentation::didScrollLayer(&box()); |
423 } | 416 } |
(...skipping 1052 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1476 void RenderLayerScrollableArea::setTopmostScrollChild(RenderLayer* scrollChild) | 1469 void RenderLayerScrollableArea::setTopmostScrollChild(RenderLayer* scrollChild) |
1477 { | 1470 { |
1478 // We only want to track the topmost scroll child for scrollable areas with | 1471 // We only want to track the topmost scroll child for scrollable areas with |
1479 // overlay scrollbars. | 1472 // overlay scrollbars. |
1480 if (!hasOverlayScrollbars()) | 1473 if (!hasOverlayScrollbars()) |
1481 return; | 1474 return; |
1482 m_nextTopmostScrollChild = scrollChild; | 1475 m_nextTopmostScrollChild = scrollChild; |
1483 } | 1476 } |
1484 | 1477 |
1485 } // namespace blink | 1478 } // namespace blink |
OLD | NEW |