JSHTMLImageElement (and associated Node) is abandoned when image load is canceled
In the JSC bindings, we use HTMLImageElement::hasPendingActivity() (which in turn calls HTMLImageLoader::haveFiredLoadEvent()) to reason about the liveness of JSHTMLImageElements. In the case that an image load is canceled, the haveFiredLoadEvent never true, so the JSHTMLImageElement is kept alive forever (and since it references the global object, it keeps the entire graph alive as well).
Created attachment 105015 [details] Patch
<rdar://problem/9925630>
Committed r93717: <http://trac.webkit.org/changeset/93717>