Closed Bug 1189159 Opened 10 years ago Closed 10 years ago

[e10s] GMail folder list does not repaint when APZC is enabled

Categories

(Core :: Layout, defect)

Unspecified
Windows
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla44
Tracking Status
e10s - ---
firefox44 --- fixed

People

(Reporter: vladan, Assigned: dvander)

References

Details

Attachments

(3 files)

STR 1. Log into GMail 2. Expand the "More" label from the sidebar to see a list of additional GMail folders in the sidebar Actual: The expanded list of folders (e.g. Chats/All Mail/Receipts/Work) is only partially repainted. Collapsing and expanding the folders again using "More" and "Less" produces the same artifacts. This is 100% reproducible with e10s Nightly from 20150729 on my Windows 7 machine. The bug does not reproduce with e10s disabled.
Attached file about:support
tracking-e10s: --- → ?
This bug does not reproduce on the latest Aurora 41
Can you test this with and without APZC enabled please?
Flags: needinfo?(vdjeric)
The bug goes away with APZC disabled, needinfo-ing kats Btw, I was able to reproduce this on second machine (a recent i3 with HD5000 gfx), but not on an older Optimus i7 with Quadro 1000M & HD 3000)
Flags: needinfo?(vdjeric) → needinfo?(bugmail.mozilla)
Summary: [e10s] GMail folder list does not repaint → [e10s] GMail folder list does not repaint when APZC is enabled
CC'ing me is sufficient :) I can't repro this on OS X but it looks bad, so making it block all-aboard-apz.
Flags: needinfo?(bugmail.mozilla)
OS: Unspecified → Windows 7
Version: unspecified → Trunk
(Vladan said it repro's on Win 8.1 also)
OS: Windows 7 → Windows
I can repro this on my personal gmail account but not the mozilla google apps account (on windows but not on OSX). It seems to be some sort of invalidation bug; mousing over the items in the expanded box makes them repaint properly.
Component: Graphics → Layout
I can reproduce this on Linux, but only with BasicCompositor. Repros on corporate gmail.
Assignee: nobody → dvander
Status: NEW → ASSIGNED
Okay, I think I finally found the problem here. The navigation box and contact list are both scrollable divs, and both have displayports. Clicking "More" in the navbox expands its scrollport, revealing the rest of the displayport, pushing the contact list down. This is animated. As the contact list moves down, portions of the text it should be revealing appear to not be painted. However, this text is rendered into a displayport, so it *is* painted. It hasn't changed so its display item doesn't need to be invalidated. The problem is that the compositor's update region doesn't include the rect where the text should be visible, so we may not necessarily composite it. Normally a scrollport change would invalidate its contents, but APZ explicitly avoids that with displayports. Instead we would expect that the layer's clip would change, and then we'd invalidate the clip difference: but with APZ, the clip is on the FrameMetrics, which isn't checked in LayerTreeInvalidation. So I think all we have to do to fix this is compare the clip rects in the old and new FrameMetrics. I'll try this tomorrow.
Matt pointed out that we should actually just be using the shadow clip instead, since invalidation happens after async composition. Tested locally and that seems to fix the problem.
Attached patch bug1213324.patchSplinter Review
Attachment #8676407 - Flags: review?(matt.woodrow)
Attachment #8676407 - Flags: review?(matt.woodrow) → review+
Depends on: 1217057
It seems extremely unlikely that this failure could be related to a change in compositor clipping, so I'm not sure what that's about. But Matt pointed out that this patch could lead to over-invalidation if we receive a layers update in between composites with no clip rect. The best way to address this is to only compute invalidation on composites, so I'll file an additional bug for that.
Flags: needinfo?(dvander)
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla44
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: