Closed Bug 786271 Opened 12 years ago Closed 7 years ago

Need to lock FrameMetrics between "before-first-paint" and first paint

Categories

(Core :: Graphics: Layers, defect)

defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: drs, Unassigned)

References

Details

We're running into a situation where, if "Viewport:Change" events are going through and setting the displayport/resolution/metrics between "before-first-paint" and actual first paint, we are clobbering the proper new metrics. This only happens while panning or zooming around the page, since that's the only time "Viewport:Change" events go through.

To help visualize this:
load a page -> wait for it to paint -> load a new page (click on a link, open from url bar, whatever) -> pan around while waiting for the new page to load -> observe random crap on the new page

I think the ideal solution is to not accept new FrameMetrics after we get a "before-first-paint", until the mScrollId field changes. However, this is more difficult than it sounds, because mScrollId doesn't change if it's a root layer, even if it's a new frame.

This is similar to bug 735029, but I'm not going to mark them as interdependent.
Blocks: 745136
Old B2G bug, no longer relevant.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.