| Index: Source/core/loader/ImageLoader.h
|
| diff --git a/Source/core/loader/ImageLoader.h b/Source/core/loader/ImageLoader.h
|
| index 9ab71e6b77e164952294926d71122f5ff50858a4..abe2c34a3657cdfd4e6ae693ad555f9bc394f9a0 100644
|
| --- a/Source/core/loader/ImageLoader.h
|
| +++ b/Source/core/loader/ImageLoader.h
|
| @@ -138,7 +138,7 @@ private:
|
| ResourcePtr<ImageResource> m_image;
|
| // FIXME: Oilpan: We might be able to remove this Persistent hack when
|
| // ImageResourceClient is traceable.
|
| - GC_PLUGIN_IGNORE("http://crbug.com/353083")
|
| + GC_PLUGIN_IGNORE("http://crbug.com/383741")
|
| RefPtrWillBePersistent<Element> m_keepAlive;
|
| #if ENABLE(OILPAN)
|
| class ImageLoaderClientRemover {
|
| @@ -152,8 +152,11 @@ private:
|
| };
|
| friend class ImageLoaderClientRemover;
|
| // Oilpan: This ImageLoader object must outlive its clients because they
|
| - // need to call ImageLoader::willRemoveClient before they die.
|
| - GC_PLUGIN_IGNORE("http://crbug.com/353083")
|
| + // need to call ImageLoader::willRemoveClient before they
|
| + // die. Non-Persistent HeapHashMap doesn't work well because weak processing
|
| + // for HeapHashMap is not triggered when both of ImageLoader and
|
| + // ImageLoaderClient are unreachable.
|
| + GC_PLUGIN_IGNORE("http://crbug.com/383742")
|
| PersistentHeapHashMap<WeakMember<ImageLoaderClient>, OwnPtr<ImageLoaderClientRemover> > m_clients;
|
| #else
|
| HashSet<ImageLoaderClient*> m_clients;
|
|
|