Title: [294664] trunk/Source/WebCore/html
- Revision
- 294664
- Author
- [email protected]
- Date
- 2022-05-23 12:21:57 -0700 (Mon, 23 May 2022)
Log Message
MediaController should be an ContextDestructionObserver
https://bugs.webkit.org/show_bug.cgi?id=240749
<rdar://93525670>
Reviewed by Youenn Fablet.
* html/MediaController.cpp:
(WebCore::MediaController::MediaController):
* html/MediaController.h:
Canonical link: https://commits.webkit.org/250882@main
Modified Paths
Diff
Modified: trunk/Source/WebCore/html/MediaController.cpp (294663 => 294664)
--- trunk/Source/WebCore/html/MediaController.cpp 2022-05-23 19:11:53 UTC (rev 294663)
+++ trunk/Source/WebCore/html/MediaController.cpp 2022-05-23 19:21:57 UTC (rev 294664)
@@ -47,7 +47,8 @@
}
MediaController::MediaController(ScriptExecutionContext& context)
- : m_paused(false)
+ : ContextDestructionObserver(&context)
+ , m_paused(false)
, m_defaultPlaybackRate(1)
, m_volume(1)
, m_position(MediaPlayer::invalidTime())
@@ -58,7 +59,6 @@
, m_clearPositionTimer(*this, &MediaController::clearPositionTimerFired)
, m_closedCaptionsVisible(false)
, m_clock(PAL::Clock::create())
- , m_scriptExecutionContext(context)
, m_timeupdateTimer(*this, &MediaController::scheduleTimeupdateEvent)
{
}
Modified: trunk/Source/WebCore/html/MediaController.h (294663 => 294664)
--- trunk/Source/WebCore/html/MediaController.h 2022-05-23 19:11:53 UTC (rev 294663)
+++ trunk/Source/WebCore/html/MediaController.h 2022-05-23 19:21:57 UTC (rev 294664)
@@ -27,6 +27,7 @@
#if ENABLE(VIDEO)
+#include "ContextDestructionObserver.h"
#include "Event.h"
#include "EventTarget.h"
#include "MediaControllerInterface.h"
@@ -41,7 +42,11 @@
class HTMLMediaElement;
-class MediaController final : public RefCounted<MediaController>, public MediaControllerInterface, public EventTargetWithInlineData {
+class MediaController final
+ : public RefCounted<MediaController>
+ , public MediaControllerInterface
+ , public ContextDestructionObserver
+ , public EventTargetWithInlineData {
WTF_MAKE_ISO_ALLOCATED(MediaController);
public:
static Ref<MediaController> create(ScriptExecutionContext&);
@@ -95,7 +100,7 @@
void refEventTarget() final { ref(); }
void derefEventTarget() final { deref(); }
EventTargetInterface eventTargetInterface() const final { return MediaControllerEventTargetInterfaceType; }
- ScriptExecutionContext* scriptExecutionContext() const final { return &m_scriptExecutionContext; };
+ ScriptExecutionContext* scriptExecutionContext() const final { return ContextDestructionObserver::scriptExecutionContext(); };
void addMediaElement(HTMLMediaElement&);
void removeMediaElement(HTMLMediaElement&);
@@ -147,7 +152,6 @@
String m_mediaGroup;
bool m_closedCaptionsVisible;
std::unique_ptr<PAL::Clock> m_clock;
- ScriptExecutionContext& m_scriptExecutionContext;
Timer m_timeupdateTimer;
MonotonicTime m_previousTimeupdateTime;
bool m_resetCurrentTimeInNextPlay { false };
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes