Bug 24027

Summary: Do not send loader callbacks during CSS styling
Product: WebKit Reporter: Cameron Zwarich (cpst) <zwarich>
Component: Page LoadingAssignee: mitz
Status: RESOLVED FIXED    
Severity: Normal CC: ddkilzer, koivisto
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
Suspend memory client callbacks during attach() and recalcStyle() sam: review+

Description Cameron Zwarich (cpst) 2009-02-19 10:15:16 PST
Currently loader callbacks are sent during CSS styling, e.g. if a CSS background image is loaded from the cache. Since styling is not reentrant and loader callbacks may provoke CSS styling from the WebKit client, this is not safe. The fix is to delay sending the callbacks until styling has completed. See the discussion in bug 22521 for more details.

This caused crashes with iChat, which were fixed by Mitz with a workaround in r41071. I assigned this bug to him because he has the best idea of how to make the correct fix.
Comment 1 mitz 2009-02-19 11:02:30 PST
Created attachment 27798 [details]
Suspend memory client callbacks during attach() and recalcStyle()
Comment 2 mitz 2009-02-19 11:05:20 PST
I intend to change Reenable to ReEnable.
Comment 3 mitz 2009-02-19 17:42:48 PST
Fixed in <http://trac.webkit.org/projects/webkit/changeset/41096>.