[Webkit-unassigned] [Bug 97092] New: [GTK] REGRESSION(r128907): it broke several WebKit2 API tests

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Sep 19 03:03:33 PDT 2012


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

           Summary: [GTK] REGRESSION(r128907): it broke several WebKit2
                    API tests
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebKit2
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: cgarcia at igalia.com
                CC: alex at igalia.com


The problem is in RedirectedXCompositeWindow implementation. Every WebView creates a RedirectedXCompositeWindow of size 1,1. At the end of the constructor resize and resizeLater function are called:

resize(size);
resizeLater(); // Force update of the usable area.

resize always schedules a resizeLater call because m_usableSize is uninitialized (0, 0) and is always smaller than size (1, 1). The first resizeLater, called right after resize() resets the m_pendingResizeSourceId. If the window is destroyed before the second resizeLater is called (called from the main loop), the destructor won't remove the source, because it has been reset by the first resizeLater and after the objects is freed, the second resizeLater will be called by the main loop with an already freed RedirectedXCompositeWindow. This happens often in unit tests where web view are created and destroyed quickly. 
Instead of calling resizeLater from the constructor to initialize m_usableSize, we could just initialize it to the given size.

-- 
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