Index: Source/core/xml/XMLHttpRequestProgressEventThrottle.h |
diff --git a/Source/core/xml/XMLHttpRequestProgressEventThrottle.h b/Source/core/xml/XMLHttpRequestProgressEventThrottle.h |
index 06681ebd42157489ef6b239137872eee440b344d..1ba3db4317a44ff984a0de5d93cb1d36d3b10b22 100644 |
--- a/Source/core/xml/XMLHttpRequestProgressEventThrottle.h |
+++ b/Source/core/xml/XMLHttpRequestProgressEventThrottle.h |
@@ -27,6 +27,7 @@ |
#ifndef XMLHttpRequestProgressEventThrottle_h |
#define XMLHttpRequestProgressEventThrottle_h |
+#include "heap/Handle.h" |
#include "platform/Timer.h" |
#include "wtf/PassRefPtr.h" |
#include "wtf/Vector.h" |
@@ -46,18 +47,21 @@ enum ProgressEventAction { |
// This implements the XHR2 progress event dispatching: "dispatch a progress event called progress |
// about every 50ms or for every byte received, whichever is least frequent". |
class XMLHttpRequestProgressEventThrottle FINAL : public TimerBase { |
+ DISALLOW_ALLOCATION(); |
public: |
explicit XMLHttpRequestProgressEventThrottle(EventTarget*); |
virtual ~XMLHttpRequestProgressEventThrottle(); |
void dispatchProgressEvent(bool lengthComputable, unsigned long long loaded, unsigned long long total); |
- void dispatchReadyStateChangeEvent(PassRefPtr<Event>, ProgressEventAction = DoNotFlushProgressEvent); |
- void dispatchEvent(PassRefPtr<Event>); |
+ void dispatchReadyStateChangeEvent(PassRefPtrWillBeRawPtr<Event>, ProgressEventAction = DoNotFlushProgressEvent); |
+ void dispatchEvent(PassRefPtrWillBeRawPtr<Event>); |
void dispatchEventAndLoadEnd(const AtomicString&, bool, unsigned long long, unsigned long long); |
void suspend(); |
void resume(); |
+ void trace(Visitor*); |
+ |
private: |
static const double minimumProgressEventDispatchingIntervalInSeconds; |
@@ -76,8 +80,8 @@ private: |
unsigned long long m_total; |
bool m_deferEvents; |
- RefPtr<Event> m_deferredProgressEvent; |
- Vector<RefPtr<Event> > m_deferredEvents; |
+ RefPtrWillBeMember<Event> m_deferredProgressEvent; |
+ WillBeHeapVector<RefPtrWillBeMember<Event> > m_deferredEvents; |
Timer<XMLHttpRequestProgressEventThrottle> m_dispatchDeferredEventsTimer; |
}; |