Fennec/NativeUI/Viewport: Difference between revisions

Jump to navigation Jump to search
(Created page with "= Viewport handling = == Definitions == The list of viewport properties are as follows, along with the coordinate system they are represented in in Java. * offset - This is the ...")
 
Line 26: Line 26:
* When the user performs pan/zoom actions, Java should send updated properties (offset, zoom, display port margins) to browser.js. (These may be throttled, such as when we know the newly visible area is still inside the previously-painted region, or in the middle of a pinch zoom.)
* When the user performs pan/zoom actions, Java should send updated properties (offset, zoom, display port margins) to browser.js. (These may be throttled, such as when we know the newly visible area is still inside the previously-painted region, or in the middle of a pinch zoom.)
* browser.js must ignore viewport-dependent events (including clicks, double-taps, and viewport updates) from java during the period where the browser content document is different from the browser displayed document. Java may still update its own viewport properties for the compositor's benefit.
* browser.js must ignore viewport-dependent events (including clicks, double-taps, and viewport updates) from java during the period where the browser content document is different from the browser displayed document. Java may still update its own viewport properties for the compositor's benefit.
* If the viewport size changes, Java must first send a resize notification. browser.js must, upon processing the resize, synchronously notify Java of receiving this event, along with any updated properties (offset, zoom, page size). While processing this event (still on the gecko thread), Java may recalculate properties (offset, zoom, display port margins) and queue an event back on the gecko thread with the new properties. (Question: will this result in two draws? If so, we will need to suppress one of them somehow.)
* If the viewport size changes, Java must first send a resize notification. browser.js must, upon processing the resize, synchronously notify Java of receiving this event, along with any updated properties (offset, zoom, page size). While processing this event (still on the gecko thread), Java may recalculate properties (offset, zoom, display port margins) and must queue an event back on the gecko thread with the new properties. Drawing must be suppressed between the handling of the initial resize notification and handling of the final property update event.
Confirmed users
586

edits

Navigation menu