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)
Tracking
()
RESOLVED
FIXED
mozilla44
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.
Reporter | ||
Comment 1•10 years ago
|
||
Reporter | ||
Updated•10 years ago
|
tracking-e10s:
--- → ?
Reporter | ||
Comment 2•10 years ago
|
||
This bug does not reproduce on the latest Aurora 41
Comment 3•10 years ago
|
||
Can you test this with and without APZC enabled please?
Flags: needinfo?(vdjeric)
Reporter | ||
Comment 4•10 years ago
|
||
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)
Reporter | ||
Updated•10 years ago
|
Summary: [e10s] GMail folder list does not repaint → [e10s] GMail folder list does not repaint when APZC is enabled
Comment 5•10 years ago
|
||
CC'ing me is sufficient :)
I can't repro this on OS X but it looks bad, so making it block all-aboard-apz.
Blocks: all-aboard-apz
Flags: needinfo?(bugmail.mozilla)
Updated•10 years ago
|
OS: Unspecified → Windows 7
Version: unspecified → Trunk
Updated•10 years ago
|
Comment 7•10 years ago
|
||
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
![]() |
Assignee | |
Comment 8•10 years ago
|
||
I can reproduce this on Linux, but only with BasicCompositor. Repros on corporate gmail.
Assignee: nobody → dvander
Status: NEW → ASSIGNED
![]() |
Assignee | |
Comment 9•10 years ago
|
||
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.
![]() |
Assignee | |
Comment 10•10 years ago
|
||
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.
![]() |
Assignee | |
Comment 11•10 years ago
|
||
Attachment #8676407 -
Flags: review?(matt.woodrow)
Updated•10 years ago
|
Attachment #8676407 -
Flags: review?(matt.woodrow) → review+
Comment 12•10 years ago
|
||
This appears to have caused m-e10s(1) permafail on linux: https://treeherder.mozilla.org/logviewer.html#?job_id=16050110&repo=mozilla-inbound
Backed out in https://hg.mozilla.org/integration/mozilla-inbound/rev/59164fa9fe90
Flags: needinfo?(dvander)
Comment 14•10 years ago
|
||
![]() |
Assignee | |
Comment 15•10 years ago
|
||
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)
Comment 16•10 years ago
|
||
Comment 17•10 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
status-firefox44:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla44
You need to log in
before you can comment on or make changes to this bug.
Description
•