Bug 1022825 - Implement Asynchronous Smooth Scrolling on Compositor Thread. r=kats
- Extended nsIScrollableFrame and nsGfxScrollFrame to return destination of smooth scrolls which are to be animated on the compositor thread. - Added apz.smooth_scroll_repaint_interval preference. - Implemented AsyncPanZoomController::PanZoomState::SMOOTH_MSD_SCROLL state and AsyncPanZoomController::SmoothScrollAnimation class to animate smooth scroll animations on the compositor thread. - Extended FrameMetrics to report requests for smooth scrolls to be animated on the compositor thread and their corresponding destination positions. - AsyncPanZoomController now checks FrameMetrics for requests to perform smooth scrolling on the compositor thread. It will ensure that they are cancelled as needed by mousewheel, touchpanel, keyboard, and CSSOM-View instant scrolling DOM methods. - The layout/generic/test/test_scroll_behavior.html mochitest has been commented as depending on Bug 1062609 before being enabled for APZ.
This commit is contained in:
@@ -121,6 +121,9 @@ AppendToString(std::stringstream& aStream, const FrameMetrics& m,
|
||||
AppendToString(aStream, m.mCompositionBounds, "{ cb=");
|
||||
AppendToString(aStream, m.mScrollableRect, " sr=");
|
||||
AppendToString(aStream, m.GetScrollOffset(), " s=");
|
||||
if (m.GetDoSmoothScroll()) {
|
||||
AppendToString(aStream, m.GetSmoothScrollOffset(), " ss=");
|
||||
}
|
||||
AppendToString(aStream, m.mDisplayPort, " dp=");
|
||||
AppendToString(aStream, m.mCriticalDisplayPort, " cdp=");
|
||||
AppendToString(aStream, m.GetBackgroundColor(), " color=");
|
||||
@@ -139,8 +142,9 @@ AppendToString(std::stringstream& aStream, const FrameMetrics& m,
|
||||
m.mDevPixelsPerCSSPixel.scale, m.mResolution.scale,
|
||||
m.mCumulativeResolution.scale, m.GetZoom().scale,
|
||||
m.mTransformScale.scale).get();
|
||||
aStream << nsPrintfCString(" u=(%d %lu)",
|
||||
m.GetScrollOffsetUpdated(), m.GetScrollGeneration()).get();
|
||||
aStream << nsPrintfCString(" u=(%d %d %lu)",
|
||||
m.GetScrollOffsetUpdated(), m.GetDoSmoothScroll(),
|
||||
m.GetScrollGeneration()).get();
|
||||
AppendToString(aStream, m.GetScrollParentId(), " p=");
|
||||
aStream << nsPrintfCString(" i=(%ld %lld) }",
|
||||
m.GetPresShellId(), m.GetScrollId()).get();
|
||||
|
||||
Reference in New Issue
Block a user