Bug 85450

Summary: unbounded growth of JSDOMWindowShells loading pages in the same window
Product: WebKit Reporter: Stephanie Lewis <slewis>
Component: WebKit2Assignee: Stephanie Lewis <slewis>
Status: RESOLVED FIXED    
Severity: Normal CC: beidson, jberlin, msaboff, oliver, slewis
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
patch beidson: review+

Description Stephanie Lewis 2012-05-02 20:16:56 PDT
We have unbounded growth of JSDOMWindowShells loading pages in the same window.  This is regression from http://trac.webkit.org/changeset/115081.
The API didCreateGlobalObjectForFrame was getting a global object for every isolated world.  Even one's that didn't need to access it.  This had the side effect of creating a JSDOMWindowShell that the world may not have known to clean up.  

Solution: change the API to not create and pass around the globalObject, just to notify the client that the object is available.  That way only clients that need the object will access it.

<rdar://problem/11320059> REGRESSION (r115083): PLT3 shows linear memory growth and gets slower with each run
Comment 1 Stephanie Lewis 2012-05-02 20:37:10 PDT
Created attachment 139942 [details]
patch
Comment 2 Brady Eidson 2012-05-02 21:30:02 PDT
Comment on attachment 139942 [details]
patch

Looks good.
Comment 3 Stephanie Lewis 2012-05-03 03:30:40 PDT
committed http://trac.webkit.org/projects/webkit/changeset/115952