[Webkit-unassigned] [Bug 90350] New: Widget painting on systems without Alpha channel support broken

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Jul 1 12:35:16 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=90350

           Summary: Widget painting on systems without Alpha channel
                    support broken
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P2
         Component: WebKit Gtk
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: beau.adkins at lightpointsecurity.com


This bug was introduced here: http://trac.webkit.org/changeset/98827

The root cause is the removal of the line:

gc.setGdkExposeEvent(event); 

from webkitwebview.cpp

Without this line being set, it breaks the widget rendering in WidgetRenderingContext.cpp. The WidgetRenderingContext class can function in 2 ways:

If transparency is supported, a pixmap is created that is a little larger than needed to hold the rendered widget. The widget is then rendered onto the pixmap. The excess area of the pixmap is assumed to be transparent. The whole pixmap is then drawn onto the cairo surface.

If transparency is not supported, it is assumed that there is a reference to the window that is being drawn to. In this case, the widget is rendered right to the window.

With this change, there is no longer a reference to the window. The code in WidgetRenderingContext.cpp then flows through as if transparency were supported. The result is a large black border around all widgets.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list