While the bug was originally filed for the Java-compositor version of fennec,
the same symptoms also occur in Maple. This patch removes the vbox that browsers
were put in, as it's no longer necessary.
Zooming in caused the right and bottom edges of the page to be clipped. This
was because we would try to scroll to coordinates that, untransformed, would be
invalid. The document has no knowledge of the zoom, and so the scroll position
needs to be forced somehow.
Java compositor accomplished this using a CSS translation transformation, this
accomplishes it by turning off scroll position clamping (a technique that the
Java compositor should also employ, if the patch this relies on passes review).
This reduces the paint rate on things like runfield
so that we only paint at the rate that we're invalidating.
We do so by not requesting render in endTransaction
It looks like endTransaction is only called by endDrawing
on the gecko thread and only on VirtualLayers. We don't
need the extra requestRender call because we've already
done the rendering.
Zooming in caused the right and bottom edges of the page to be clipped. This
was because we would try to scroll to coordinates that, untransformed, would be
invalid. The document has no knowledge of the zoom, and so the scroll position
needs to be forced somehow.
Java compositor accomplished this using a CSS translation transformation, this
accomplishes it by turning off scroll position clamping (a technique that the
Java compositor should also employ, if the patch this relies on passes review).
Realised I made a mistake with the nsIFrameLoaderOwner.clampScrollPosition
patch and I want this to go in as a single commit and not break building of
Maple.
Zooming in caused the right and bottom edges of the page to be clipped. This
was because we would try to scroll to coordinates that, untransformed, would be
invalid. The document has no knowledge of the zoom, and so the scroll position
needs to be forced somehow.
Java compositor accomplished this using a CSS translation transformation, this
accomplishes it by turning off scroll position clamping (a technique that the
Java compositor should also employ, if the patch this relies on passes review).
--HG--
extra : rebase_source : a13403d53fed39e1f042da3611147da1c0420cf0
Add an attribute to nsIFrameLoaderOwner that allows the clamping of set scroll
positions to be toggled.
--HG--
extra : rebase_source : db24645ff2fb04bb0ffa5ffb01a8d35a79274126
Window size was being treated as equivalent to screen size, which it isn't.
Make sure to send the size-changed event when either the window size or the
screen size change, and to properly differentiate between the two.