Closed Bug 814447 Opened 12 years ago Closed 12 years ago

Progressive update cancelling uses incorrect information

Categories

(Firefox for Android Graveyard :: Toolbar, defect)

All
Android
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Firefox 20

People

(Reporter: cwiiis, Assigned: cwiiis)

References

Details

Attachments

(1 file)

Progressive updates are only cancelled if we've sent a more recent displayport, and always when the resolution has changed.

We use the incorrect resolution when checking so that sometimes this would cause cancelling when it shouldn't (this was most prevalent in single-screen games).

Also, we don't re-check that the displayport is current in low-res drawing, meaning we can spend time drawing stale low-res content that could otherwise be spent drawing high-res content.
I use the zoomFactor from the viewport instead of the resolution from the displayport, as it's possible that the displayport resolution is out-of-date due to setFirstPaintViewport being called without any scrolling afterwards (so it'll be permanently out of date if the page isn't larger than the screen).

It's ok to carry on using the displayport below, as adjustViewport would be called on the new page load and the displayport will be at 0,0, so the viewport will definitely be inside it. Rotation will be ok, as that calls adjustViewport, which calculates a new displayport using up-to-date values.

It might be prudent to update the displayport resolution in setFirstPaintViewport, but I don't think the displayport is used anywhere else in this way, and setFirstPaintViewport is on the wrong thread to make such a change trivially.
Attachment #684449 - Flags: review?(bugmail.mozilla)
Comment on attachment 684449 [details] [diff] [review]
Fix progressive draw cancelling using incorrect values

Review of attachment 684449 [details] [diff] [review]:
-----------------------------------------------------------------

LGTM
Attachment #684449 - Flags: review?(bugmail.mozilla) → review+
https://hg.mozilla.org/mozilla-central/rev/13a335d277d9
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 20
Blocks: 817575
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: