[M130 Migration] Fix opacity css style will make video invisible 97/324797/1
authorJi Qiang <qiang.ji@samsung.com>
Tue, 27 May 2025 02:28:43 +0000 (10:28 +0800)
committerJi Qiang <qiang.ji@samsung.com>
Tue, 27 May 2025 02:31:20 +0000 (10:31 +0800)
opacity css style will flag a graphiclayer as stacking
context, which will create a render surface. As blend is
not disable for render pass quad, it will mix will background
of webbrowser, so render surface will covered
on video element.

test website: amazon.com

refs:
https://archive.tizen.org/gerrit/#/c/platform/framework/web/chromium-efl/+/314237/
https://archive.tizen.org/gerrit/#/c/platform/framework/web/chromium-efl/+/315788/

Change-Id: I11ade31c8a2dbcf9244182494c42c2db4439599b
Signed-off-by: Ji Qiang <qiang.ji@samsung.com>
cc/trees/draw_property_utils.cc

index f819f0817a2788508060e1db4bac3d98ae03326f..f03ca3c48ab92f7c3f9a316f720eb17763626db5 100644 (file)
@@ -626,6 +626,10 @@ void SetSurfaceDrawOpacity(const EffectTree& tree,
 float LayerDrawOpacity(const LayerImpl* layer, const EffectTree& tree) {
   if (!layer->render_target())
     return 0.f;
+#if defined(TIZEN_VIDEO_HOLE)
+  if (!layer->is_surface_layer() && layer->may_contain_video())
+    return 1.f;
+#endif
 
   const EffectNode* target_node =
       tree.Node(layer->render_target()->EffectTreeIndex());