Closed Bug 1410583 Opened 3 years ago Closed 3 years ago

blob-images: video player controls on zdf.de are only completely shown when hovering them

Categories

(Core :: Graphics: WebRender, defect, P1)

x86_64
All
defect

Tracking

()

VERIFIED FIXED
mozilla58
Tracking Status
firefox-esr52 --- unaffected
firefox56 --- unaffected
firefox57 --- unaffected
firefox58 --- unaffected

People

(Reporter: darkspirit, Assigned: ethlin)

References

()

Details

(Keywords: nightly-community, Whiteboard: [wr-mvp])

Attachments

(3 files)

Attached video 2017-10-21_05-09-15.mp4
Nightly 58 x64 20171020221129 de_DE @ Debian Testing (KDE, Radeon RX480)
fresh profile: layers force accel + webrender + webrendest + blob-images

This bug does not happen when blob-images is disabled.
See attached video.

Please decide if this bug has a connection to bug 1401603 (See also / Depends on / Duplicate of).
I should not forget to re-test in the future.
Whiteboard: [wr-mvp] [triage]
Assignee: nobody → ethlin
It's because display items normally use the clipped bounds as the visible region[1]. But we use the non-clipped bounds for blob image. The easiest way to fix it is to use the clipped bounds for blob image too, or we may have to modify the bounds in nsDisplayItem::RecomputeVisibility. I know we use the non-clipped bounds was due to the performance issue. I suppose if we pass the dirty region to blob image, then we don't need to paint the whole items. So I want to take the easiest approach to fix it.

[1] http://searchfox.org/mozilla-central/rev/8a6a6bef7c54425970aa4fb039cc6463a19c0b7f/layout/painting/nsDisplayList.cpp#2741
I think we still can create a buffer for the whole item and paint partially afterward. But for the invalidation region, we should use the clipped bounds.
Status: NEW → ASSIGNED
Priority: -- → P1
Whiteboard: [wr-mvp] [triage] → [wr-mvp]
note to me: Check whether these broken file menus in Owncloud were the same problem.
See Also: → 1411204
I just created bug 1411204 to do the partial update. I think that can address some performance problems.
I still need to think about this, but I don't really like this solution. I'll try to think more about it tomorrow.
(In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #4)
> note to me: Check whether these broken file menus in Owncloud were the same problem.
filed bug 1411464
Nightly 58 x64 20171024100135 de_DE @ Windows 10 1703 (Radeon RX480)
fresh profile: gfx.webrender.enabled + gfx.webrendest.enabled + gfx.webrender.blob-images
It looks broken the same way.
Has STR: --- → yes
OS: Linux → All
Maybe this way is better? I keep the original bounds for blob image and just make sure we paint the whole item. I'm still working on the bug 1411204. I think we could have some other improvement in that bug.
Attachment #8921820 - Flags: review?(jmuizelaar)
Comment on attachment 8921820 [details] [diff] [review]
Make sure we paint the whole item for blob image

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

This seems fine.
Attachment #8921820 - Flags: review?(jmuizelaar) → review+
Attachment #8920951 - Flags: review?(jmuizelaar) → review-
Pushed by ethlin@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/b6eccc50ace7
Make sure we paint the whole item for blob image. r=jrmuizel
> Make sure we paint the whole item for blob image. r=jrmuizel
See Also: → 1401603
https://hg.mozilla.org/mozilla-central/rev/b6eccc50ace7
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
(In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #0)
> Nightly 58 x64 20171020221129 de_DE @ Debian Testing (KDE, Radeon RX480)
> fresh profile: layers force accel + webrender + webrendest + blob-images

Verified fixed in Nightly 58 x64 20171109100107 de_DE @ Debian Testing (KDE, Radeon RX480). Thank you!
fresh profile: layers.acceleration.force-enabled, gfx.webrender.enabled, gfx.webrender.blob-images
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.