summaryrefslogtreecommitdiff
path: root/Source/WebCore/html/track/TrackListBase.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/html/track/TrackListBase.h')
-rw-r--r--Source/WebCore/html/track/TrackListBase.h35
1 files changed, 14 insertions, 21 deletions
diff --git a/Source/WebCore/html/track/TrackListBase.h b/Source/WebCore/html/track/TrackListBase.h
index 87c86a479..9573a2131 100644
--- a/Source/WebCore/html/track/TrackListBase.h
+++ b/Source/WebCore/html/track/TrackListBase.h
@@ -10,10 +10,10 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
@@ -23,8 +23,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef TrackListBase_h
-#define TrackListBase_h
+#pragma once
#if ENABLE(VIDEO_TRACK)
@@ -32,7 +31,6 @@
#include "EventTarget.h"
#include "GenericEventQueue.h"
#include "Timer.h"
-#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/Vector.h>
@@ -47,20 +45,16 @@ public:
virtual ~TrackListBase();
virtual unsigned length() const;
- virtual bool contains(TrackBase*) const;
- virtual void remove(TrackBase*);
+ virtual bool contains(TrackBase&) const;
+ virtual void remove(TrackBase&, bool scheduleEvent = true);
// EventTarget
- virtual EventTargetInterface eventTargetInterface() const = 0;
+ EventTargetInterface eventTargetInterface() const override = 0;
using RefCounted<TrackListBase>::ref;
using RefCounted<TrackListBase>::deref;
- virtual ScriptExecutionContext* scriptExecutionContext() const override final { return m_context; }
+ ScriptExecutionContext* scriptExecutionContext() const final { return m_context; }
- DEFINE_ATTRIBUTE_EVENT_LISTENER(addtrack);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(change);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(removetrack);
-
- void clearElement() { m_element = 0; }
+ virtual void clearElement();
Element* element() const;
HTMLMediaElement* mediaElement() const { return m_element; }
@@ -72,17 +66,17 @@ public:
protected:
TrackListBase(HTMLMediaElement*, ScriptExecutionContext*);
- void scheduleAddTrackEvent(PassRefPtr<TrackBase>);
- void scheduleRemoveTrackEvent(PassRefPtr<TrackBase>);
+ void scheduleAddTrackEvent(Ref<TrackBase>&&);
+ void scheduleRemoveTrackEvent(Ref<TrackBase>&&);
Vector<RefPtr<TrackBase>> m_inbandTracks;
private:
- void scheduleTrackEvent(const AtomicString& eventName, PassRefPtr<TrackBase>);
+ void scheduleTrackEvent(const AtomicString& eventName, Ref<TrackBase>&&);
// EventTarget
- virtual void refEventTarget() override final { ref(); }
- virtual void derefEventTarget() override final { deref(); }
+ void refEventTarget() final { ref(); }
+ void derefEventTarget() final { deref(); }
ScriptExecutionContext* m_context;
HTMLMediaElement* m_element;
@@ -92,5 +86,4 @@ private:
} // namespace WebCore
-#endif
-#endif
+#endif // ENABLE(VIDEO_TRACK)