| Index: third_party/WebKit/Source/core/loader/ImageLoader.cpp
|
| diff --git a/third_party/WebKit/Source/core/loader/ImageLoader.cpp b/third_party/WebKit/Source/core/loader/ImageLoader.cpp
|
| index 94ba386124afa45fe0aa71ff48e95444b5916242..7266759fdd76a27b184e5f16796f7e801dc8a2dc 100644
|
| --- a/third_party/WebKit/Source/core/loader/ImageLoader.cpp
|
| +++ b/third_party/WebKit/Source/core/loader/ImageLoader.cpp
|
| @@ -142,7 +142,6 @@ private:
|
|
|
| ImageLoader::ImageLoader(Element* element)
|
| : m_element(element)
|
| - , m_image(0)
|
| , m_derefElementTimer(this, &ImageLoader::timerFired)
|
| , m_hasPendingLoadEvent(false)
|
| , m_hasPendingErrorEvent(false)
|
| @@ -180,8 +179,10 @@ void ImageLoader::dispose()
|
| willRemoveClient(*client);
|
| #endif
|
|
|
| - if (m_image)
|
| + if (m_image) {
|
| m_image->removeClient(this);
|
| + m_image = nullptr;
|
| + }
|
|
|
| #if !ENABLE(OILPAN)
|
| ASSERT(m_hasPendingLoadEvent || !loadEventSender().hasPendingEvents(this));
|
| @@ -211,6 +212,7 @@ void ImageLoader::clearWeakMembers(Visitor* visitor)
|
|
|
| DEFINE_TRACE(ImageLoader)
|
| {
|
| + visitor->trace(m_image);
|
| visitor->trace(m_element);
|
| #if ENABLE(OILPAN)
|
| visitor->template registerWeakMembers<ImageLoader, &ImageLoader::clearWeakMembers>(this);
|
| @@ -310,7 +312,7 @@ void ImageLoader::doUpdateFromElement(BypassMainWorldBehavior bypassBehavior, Up
|
|
|
| AtomicString imageSourceURL = m_element->imageSourceURL();
|
| KURL url = imageSourceToKURL(imageSourceURL);
|
| - ResourcePtr<ImageResource> newImage = 0;
|
| + RefPtrWillBeRawPtr<ImageResource> newImage = nullptr;
|
| RefPtrWillBeRawPtr<Element> protectElement(m_element.get());
|
| if (!url.isNull()) {
|
| // Unlike raw <img>, we block mixed content inside of <picture> or <img srcset>.
|
| @@ -360,7 +362,7 @@ void ImageLoader::doUpdateFromElement(BypassMainWorldBehavior bypassBehavior, Up
|
| noImageResourceToLoad();
|
| }
|
|
|
| - ImageResource* oldImage = m_image.get();
|
| + RefPtrWillBeRawPtr<ImageResource> oldImage = m_image.get();
|
| if (updateBehavior == UpdateSizeChanged && m_element->layoutObject() && m_element->layoutObject()->isImage() && newImage == oldImage) {
|
| toLayoutImage(m_element->layoutObject())->intrinsicSizeChanged();
|
| } else {
|
|
|