| 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 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 359 const RenderLayerModelObject* paintInvalidationContainer = box().containerFo
rPaintInvalidation(); | 359 const RenderLayerModelObject* paintInvalidationContainer = box().containerFo
rPaintInvalidation(); |
| 360 | 360 |
| 361 // Update the positions of our child layers (if needed as only fixed layers
should be impacted by a scroll). | 361 // Update the positions of our child layers (if needed as only fixed layers
should be impacted by a scroll). |
| 362 // We don't update compositing layers, because we need to do a deep update f
rom the compositing ancestor. | 362 // We don't update compositing layers, because we need to do a deep update f
rom the compositing ancestor. |
| 363 if (!frameView->isInPerformLayout()) { | 363 if (!frameView->isInPerformLayout()) { |
| 364 // If we're in the middle of layout, we'll just update layers once layou
t has finished. | 364 // If we're in the middle of layout, we'll just update layers once layou
t has finished. |
| 365 layer()->clipper().clearClipRectsIncludingDescendants(); | 365 layer()->clipper().clearClipRectsIncludingDescendants(); |
| 366 box().setPreviousPaintInvalidationRect(box().boundsRectForPaintInvalidat
ion(paintInvalidationContainer)); | 366 box().setPreviousPaintInvalidationRect(box().boundsRectForPaintInvalidat
ion(paintInvalidationContainer)); |
| 367 // Update regions, scrolling may change the clip of a particular region. | 367 // Update regions, scrolling may change the clip of a particular region. |
| 368 frameView->updateAnnotatedRegions(); | 368 frameView->updateAnnotatedRegions(); |
| 369 // FIXME: We shouldn't call updateWidgetPositions() here since it might
tear down the render tree, | 369 frameView->setNeedsUpdateWidgetPositions(); |
| 370 // for now we just crash to avoid allowing an attacker to use after free
. | |
| 371 frameView->updateWidgetPositions(); | |
| 372 RELEASE_ASSERT(frameView->renderView()); | |
| 373 updateCompositingLayersAfterScroll(); | 370 updateCompositingLayersAfterScroll(); |
| 374 } | 371 } |
| 375 | 372 |
| 376 // The caret rect needs to be invalidated after scrolling | 373 // The caret rect needs to be invalidated after scrolling |
| 377 frame->selection().setCaretRectNeedsUpdate(); | 374 frame->selection().setCaretRectNeedsUpdate(); |
| 378 | 375 |
| 379 FloatQuad quadForFakeMouseMoveEvent = FloatQuad(layer()->renderer()->previou
sPaintInvalidationRect()); | 376 FloatQuad quadForFakeMouseMoveEvent = FloatQuad(layer()->renderer()->previou
sPaintInvalidationRect()); |
| 380 | 377 |
| 381 quadForFakeMouseMoveEvent = paintInvalidationContainer->localToAbsoluteQuad(
quadForFakeMouseMoveEvent); | 378 quadForFakeMouseMoveEvent = paintInvalidationContainer->localToAbsoluteQuad(
quadForFakeMouseMoveEvent); |
| 382 frame->eventHandler().dispatchFakeMouseMoveEventSoonInQuad(quadForFakeMouseM
oveEvent); | 379 frame->eventHandler().dispatchFakeMouseMoveEventSoonInQuad(quadForFakeMouseM
oveEvent); |
| (...skipping 1085 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1468 void RenderLayerScrollableArea::setTopmostScrollChild(RenderLayer* scrollChild) | 1465 void RenderLayerScrollableArea::setTopmostScrollChild(RenderLayer* scrollChild) |
| 1469 { | 1466 { |
| 1470 // We only want to track the topmost scroll child for scrollable areas with | 1467 // We only want to track the topmost scroll child for scrollable areas with |
| 1471 // overlay scrollbars. | 1468 // overlay scrollbars. |
| 1472 if (!hasOverlayScrollbars()) | 1469 if (!hasOverlayScrollbars()) |
| 1473 return; | 1470 return; |
| 1474 m_nextTopmostScrollChild = scrollChild; | 1471 m_nextTopmostScrollChild = scrollChild; |
| 1475 } | 1472 } |
| 1476 | 1473 |
| 1477 } // namespace blink | 1474 } // namespace blink |
| OLD | NEW |