summaryrefslogtreecommitdiff
path: root/Source/WebCore/loader/ImageLoader.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/loader/ImageLoader.h
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WebCore/loader/ImageLoader.h')
-rw-r--r--Source/WebCore/loader/ImageLoader.h25
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