| 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;
|
| };
|
|
|
|
|