With multi-FrameMetrics, layer border for inner scrollable frame lags while outer frame is async-scrolled

RESOLVED FIXED in Firefox 39

Status

()

defect
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: botond, Assigned: botond)

Tracking

Trunk
mozilla39
ARM
Gonk (Firefox OS)
Points:
---

Firefox Tracking Flags

(firefox39 fixed)

Details

Attachments

(1 attachment, 1 obsolete attachment)

STR:
  1. Turn on layer borders in the developer settings.
  2. Load http://people.mozilla.org/~bballo/clip.html in the B2G browser.
  3. Scroll the inner (purple) frame to layerize it.
  4. Scroll the outer frame.

Expected results:
  As the outer frame is scrolled, the purple layer border around the
  inner frame moves in sync with the inner frame.

Actual results:
  The layer border lags behind the inner frame.

The issue here is basically the same as in bug 1130982: with multi-FrameMetrics, the composition bounds of scroll frames lower in the metrics stack need to be transformed by the async transform of scroll frames higher in the metrics stack. In bug 1130982, this caused a rendering problem due to the composition bounds being used as the clip rect. Here, it's causing a problem due to the composition bounds being used as the layer border.
Assignee: nobody → botond
Posted patch Fix (obsolete) — Splinter Review
Attachment #8569503 - Flags: review?(bugmail.mozilla)
Comment on attachment 8569503 [details] [diff] [review]
Fix

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

Nice catch!
Attachment #8569503 - Flags: review?(bugmail.mozilla) → review+
Doh - Layer::GetAsyncPanZoomController() will be null on Android.
Flags: needinfo?(botond)
Posted patch FixSplinter Review
Updated to add null check. Carrying r+.

Will wait for a Try push this time. Here's one that includes this patch, and includes Android tests:

https://treeherder.mozilla.org/#/jobs?repo=try&revision=866de5c9fcdc
Attachment #8569503 - Attachment is obsolete: true
Attachment #8570726 - Flags: review+
(In reply to Botond Ballo [:botond] from comment #6)
> https://treeherder.mozilla.org/#/jobs?repo=try&revision=866de5c9fcdc

Try push is green. Setting checkin-needed as m-i is closed.
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/e04b01edb944
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
You need to log in before you can comment on or make changes to this bug.