diff options
Diffstat (limited to 'Source/WebCore/loader/ImageLoader.h')
-rw-r--r-- | Source/WebCore/loader/ImageLoader.h | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/Source/WebCore/loader/ImageLoader.h b/Source/WebCore/loader/ImageLoader.h index d76fa3a85..7717667f6 100644 --- a/Source/WebCore/loader/ImageLoader.h +++ b/Source/WebCore/loader/ImageLoader.h @@ -20,8 +20,7 @@ * */ -#ifndef ImageLoader_h -#define ImageLoader_h +#pragma once #include "CachedImageClient.h" #include "CachedResourceHandle.h" @@ -38,8 +37,8 @@ template<typename T> class EventSender; typedef EventSender<ImageLoader> ImageEventSender; class ImageLoader : public CachedImageClient { + WTF_MAKE_FAST_ALLOCATED; public: - explicit ImageLoader(Element*); virtual ~ImageLoader(); // This function should be called when the element is attached to a document; starts @@ -52,11 +51,13 @@ public: void elementDidMoveToNewDocument(); - Element* element() const { return m_element; } + Element& element() { return m_element; } + const Element& element() const { return m_element; } + bool imageComplete() const { return m_imageComplete; } CachedImage* image() const { return m_image.get(); } - void setImage(CachedImage*); // Cancels pending beforeload and load events, and doesn't dispatch new ones. + void clearImage(); // Cancels pending beforeload and load events, and doesn't dispatch new ones. void setLoadManually(bool loadManually) { m_loadManually = loadManually; } @@ -70,7 +71,8 @@ public: static void dispatchPendingErrorEvents(); protected: - virtual void notifyFinished(CachedResource*) override; + explicit ImageLoader(Element&); + void notifyFinished(CachedResource&) override; private: virtual void dispatchLoadEvent() = 0; @@ -85,14 +87,15 @@ private: RenderImageResource* renderImageResource(); void updateRenderer(); - void setImageWithoutConsideringPendingLoadEvent(CachedImage*); + void clearImageWithoutConsideringPendingLoadEvent(); void clearFailedLoadURL(); - void timerFired(Timer<ImageLoader>&); + void timerFired(); - Element* m_element; + Element& m_element; CachedResourceHandle<CachedImage> m_image; - Timer<ImageLoader> m_derefElementTimer; + Timer m_derefElementTimer; + RefPtr<Element> m_protectedElement; AtomicString m_failedLoadURL; bool m_hasPendingBeforeLoadEvent : 1; bool m_hasPendingLoadEvent : 1; @@ -103,5 +106,3 @@ private: }; } - -#endif |