Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(184)

Side by Side Diff: Source/core/loader/ImageLoader.h

Issue 1229743005: Fix virtual/override/final usage in Source/core/{fetch,loader,streams,xmlhttprequest}/. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebase Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/loader/FrameLoaderClient.h ('k') | Source/core/loader/LinkLoader.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * Copyright (C) 2004, 2009 Apple Inc. All rights reserved. 4 * Copyright (C) 2004, 2009 Apple Inc. All rights reserved.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 class Element; 54 class Element;
55 class ImageLoader; 55 class ImageLoader;
56 class LayoutImageResource; 56 class LayoutImageResource;
57 57
58 template<typename T> class EventSender; 58 template<typename T> class EventSender;
59 typedef EventSender<ImageLoader> ImageEventSender; 59 typedef EventSender<ImageLoader> ImageEventSender;
60 60
61 class CORE_EXPORT ImageLoader : public NoBaseWillBeGarbageCollectedFinalized<Ima geLoader>, public ImageResourceClient { 61 class CORE_EXPORT ImageLoader : public NoBaseWillBeGarbageCollectedFinalized<Ima geLoader>, public ImageResourceClient {
62 public: 62 public:
63 explicit ImageLoader(Element*); 63 explicit ImageLoader(Element*);
64 virtual ~ImageLoader(); 64 ~ImageLoader() override;
65 65
66 // We must run the destructor in the eager sweeping phase and call 66 // We must run the destructor in the eager sweeping phase and call
67 // m_image->removeClient(this). Otherwise, the ImageResource can invoke 67 // m_image->removeClient(this). Otherwise, the ImageResource can invoke
68 // didAddClient() for the ImageLoader that is about to die in the current 68 // didAddClient() for the ImageLoader that is about to die in the current
69 // lazy sweeping, and the didAddClient() can access on-heap objects that 69 // lazy sweeping, and the didAddClient() can access on-heap objects that
70 // have already been finalized in the current lazy sweeping. 70 // have already been finalized in the current lazy sweeping.
71 EAGERLY_FINALIZE(); 71 EAGERLY_FINALIZE();
72 DECLARE_TRACE(); 72 DECLARE_TRACE();
73 73
74 enum UpdateFromElementBehavior { 74 enum UpdateFromElementBehavior {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 } 111 }
112 112
113 void dispatchPendingEvent(ImageEventSender*); 113 void dispatchPendingEvent(ImageEventSender*);
114 114
115 static void dispatchPendingLoadEvents(); 115 static void dispatchPendingLoadEvents();
116 static void dispatchPendingErrorEvents(); 116 static void dispatchPendingErrorEvents();
117 117
118 void addClient(ImageLoaderClient*); 118 void addClient(ImageLoaderClient*);
119 void removeClient(ImageLoaderClient*); 119 void removeClient(ImageLoaderClient*);
120 120
121 virtual bool getImageAnimationPolicy(ImageResource*, ImageAnimationPolicy&) override final; 121 bool getImageAnimationPolicy(ImageResource*, ImageAnimationPolicy&) final;
122 protected: 122 protected:
123 virtual void notifyFinished(Resource*) override; 123 void notifyFinished(Resource*) override;
124 124
125 private: 125 private:
126 class Task; 126 class Task;
127 127
128 // Called from the task or from updateFromElement to initiate the load. 128 // Called from the task or from updateFromElement to initiate the load.
129 void doUpdateFromElement(BypassMainWorldBehavior, UpdateFromElementBehavior) ; 129 void doUpdateFromElement(BypassMainWorldBehavior, UpdateFromElementBehavior) ;
130 130
131 virtual void dispatchLoadEvent() = 0; 131 virtual void dispatchLoadEvent() = 0;
132 virtual void noImageResourceToLoad() { } 132 virtual void noImageResourceToLoad() { }
133 133
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 bool m_imageComplete : 1; 192 bool m_imageComplete : 1;
193 bool m_loadingImageDocument : 1; 193 bool m_loadingImageDocument : 1;
194 bool m_elementIsProtected : 1; 194 bool m_elementIsProtected : 1;
195 bool m_suppressErrorEvents : 1; 195 bool m_suppressErrorEvents : 1;
196 unsigned m_highPriorityClientCount; 196 unsigned m_highPriorityClientCount;
197 }; 197 };
198 198
199 } 199 }
200 200
201 #endif 201 #endif
OLDNEW
« no previous file with comments | « Source/core/loader/FrameLoaderClient.h ('k') | Source/core/loader/LinkLoader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698