#include "core/html/track/TextTrack.h"
#include "platform/Timer.h"
#include "platform/geometry/FloatPoint.h"
+#include "platform/heap/Handle.h"
#include "wtf/PassOwnPtr.h"
#include "wtf/RefCounted.h"
class VTTCueBox;
class VTTScanner;
-class VTTRegion : public RefCounted<VTTRegion> {
+class VTTRegion FINAL : public RefCountedWillBeGarbageCollectedFinalized<VTTRegion> {
public:
- static PassRefPtr<VTTRegion> create()
+ static PassRefPtrWillBeRawPtr<VTTRegion> create()
{
- return adoptRef(new VTTRegion());
+ return adoptRefWillBeNoop(new VTTRegion());
}
virtual ~VTTRegion();
PassRefPtr<HTMLDivElement> getDisplayTree(Document&);
- void appendVTTCueBox(PassRefPtr<VTTCueBox>);
+ void appendVTTCueBox(PassRefPtrWillBeRawPtr<VTTCueBox>);
void displayLastVTTCueBox();
void willRemoveVTTCueBox(VTTCueBox*);
+ void trace(Visitor*);
+
private:
VTTRegion();
// The cue container is the container that is scrolled up to obtain the
// effect of scrolling cues when this is enabled for the regions.
- RefPtr<HTMLDivElement> m_cueContainer;
- RefPtr<HTMLDivElement> m_regionDisplayTree;
+ RefPtrWillBeMember<HTMLDivElement> m_cueContainer;
+ RefPtrWillBeMember<HTMLDivElement> m_regionDisplayTree;
// The member variable track can be a raw pointer as it will never
// reference a destroyed TextTrack, as this member variable
// is cleared in the TextTrack destructor and it is generally
// set/reset within the addRegion and removeRegion methods.
- TextTrack* m_track;
+ RawPtrWillBeMember<TextTrack> m_track;
// Keep track of the current numeric value of the css "top" property.
double m_currentTop;