Bug 191980 - [GTK] Transparency breaks when using non-static element inside fixed container
Summary: [GTK] Transparency breaks when using non-static element inside fixed container
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: PC Linux
: P3 Normal
Assignee: Nobody
URL:
Keywords: Gtk
Depends on:
Blocks:
 
Reported: 2018-11-26 14:49 PST by Liam Martens
Modified: 2019-03-06 15:57 PST (History)
2 users (show)

See Also:


Attachments
Use in transparent Gtk/Webkit combo to reproduce transparency bug (1.63 KB, text/html)
2018-11-26 14:49 PST, Liam Martens
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Liam Martens 2018-11-26 14:49:23 PST
Created attachment 355677 [details]
Use in transparent Gtk/Webkit combo to reproduce transparency bug

When creating a fully transparent Gtk window and Webkit Web view the transparency goes opaque when using a non-static positioned element inside a fixed positioned element.

For reproduction, the fixed positioned element should be visible (thus should not have a width or height of 0) and the child element should be anything other than static.
For quick setup try using the hudkit sample (https://github.com/anko/hudkit) and load the attached html page. Then toggle #bb2 between static and relative (or absolute / fixed)
Comment 1 Michael Catanzaro 2018-11-27 01:48:18 PST
Is it a regression from 2.22.3?
Comment 2 Liam Martens 2018-11-27 02:27:34 PST
(In reply to Michael Catanzaro from comment #1)
> Is it a regression from 2.22.3?

I also tried using an older build such as 2.21.92. Same issue.
Comment 3 Michael Catanzaro 2018-11-28 06:50:22 PST
What was the last version where this was known to work?
Comment 4 Liam Martens 2018-11-28 13:06:56 PST
(In reply to Michael Catanzaro from comment #3)
> What was the last version where this was known to work?

Unsure, the issue goes back to at least v2.19.92 which was released March of this year. Not sure if it has ever worked can't test every version.
Comment 5 Liam Martens 2019-03-06 15:57:12 PST
So after doing some research on this topic it appears to be caused by the hardware acceleration policy. By default this is "ON_DEMAND" which causes the transparency to fail at times (it also fails when applying animation transforms for example). However when changing the hardware acceleration to either NEVER or ALWAYS the transparency works as expected.