diff options
Diffstat (limited to 'Source/WebCore/html/track/TrackListBase.h')
-rw-r--r-- | Source/WebCore/html/track/TrackListBase.h | 35 |
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) |