[webkit-dev] Transparency on GTK/DirectFB

Weber, Bernd BWEBE at dolby.com
Wed Oct 8 19:29:23 PDT 2008


Thanks Christian!

Well I digged a little deeper into these problems. Unfortunately, since
I'm not really a GTK programmer (yet...) I'm struggling with finding
correct solutions for these. Here my findings:

1. The default background for a FrameView is set to white by default in
WebCore/page/FrameView.cpp

2. Coming from 1., in the other ports, Qt and windows, there is a file
for the webframe which has a function called updateBackground. I think
this should be implemented somewhere in order to update the background
with the correct transparency setting and thereby overwriting the
default white background. I hardcoded it to transparent in my tree since
I always need transparency but that is certainly not the way to go...
;-)

3. When opening a new GTK window it is initialized with the GTK default
background before the webview even comes into existence and is shown.
This background seems to be white or grey. Anyway, normally you cannot
see this, but since I'm working on an embedded platform here the drawing
takes some time and you can actually see the white box for a moment. I
haven't really found a solution for this, just a workaround. I set the
window to zero opacity in GTK, gtk_window_set_opacity() before calling
gtk_widget_show_all(). Later after the page is loaded I reset the
opacity again to fully opaque. Not nice I know, but it works.

If anybody has more inputs for me on these items I'm all ears. Thanks so
far! At least I'm able to do what I wanted to. Kind of... :-)

-Bernd


-----Original Message-----
From: Christian Dywan [mailto:christian at twotoasts.de] 
Sent: Tuesday, October 07, 2008 7:33 AM
To: Weber, Bernd
Subject: Re: [webkit-dev] Transparency on GTK/DirectFB

Am Mon, 6 Oct 2008 18:45:47 -0700
schrieb "Weber, Bernd" <BWEBE at dolby.com>:

> Hey,
> 
> Is there a way to have all pages constantly being transparent? It
> seems I must always set the transparent property after I load a page.
> I'd rather have transparency for the webpages constantly enabled.
> Basically when it creates a webview the transparency should be active
> by default. I changed webkit_web_view_class_init(), when the property
> is installed to TRUE but it doesn't seem to make a difference. Is
> there another point in the code where I have to change this in order
> to have a default behavior with transparency enabled?! I'm probably
> missing something... :-/

Hey Bernd,

off the top of my head I remember the transparency may not be handled
properly, somewhere in webview. Normally setting the property value
once should indeed be sufficient.

ciao,
    Christian

-----------------------------------------
This message (including any attachments) may contain confidential
information intended for a specific individual and purpose.  If you
are not the intended recipient, delete this message.  If you are
not the intended recipient, disclosing, copying, distributing, or
taking any action based on this message is strictly prohibited.


More information about the webkit-dev mailing list