зеркало из https://github.com/mozilla/gecko-dev.git
Backed out changeset 830cccc16bd9 (bug 882718)
This commit is contained in:
Родитель
96d0fa6dcf
Коммит
db844b8bcb
|
@ -22,8 +22,6 @@
|
|||
namespace mozilla {
|
||||
namespace dom {
|
||||
|
||||
NS_IMPL_ISUPPORTS(TextTrackManager::ShutdownObserverProxy, nsIObserver);
|
||||
|
||||
CompareTextTracks::CompareTextTracks(HTMLMediaElement* aMediaElement)
|
||||
{
|
||||
mMediaElement = aMediaElement;
|
||||
|
@ -96,7 +94,6 @@ TextTrackManager::TextTrackManager(HTMLMediaElement *aMediaElement)
|
|||
, mLastTimeMarchesOnCalled(0.0)
|
||||
, mTimeMarchesOnDispatched(false)
|
||||
, performedTrackSelection(false)
|
||||
, mShutdown(false)
|
||||
{
|
||||
nsISupports* parentObject =
|
||||
mMediaElement->OwnerDoc()->GetParentObject();
|
||||
|
@ -115,12 +112,10 @@ TextTrackManager::TextTrackManager(HTMLMediaElement *aMediaElement)
|
|||
sParserWrapper = parserWrapper;
|
||||
ClearOnShutdown(&sParserWrapper);
|
||||
}
|
||||
mShutdownProxy = new ShutdownObserverProxy(this);
|
||||
}
|
||||
|
||||
TextTrackManager::~TextTrackManager()
|
||||
{
|
||||
nsContentUtils::UnregisterShutdownObserver(mShutdownProxy);
|
||||
}
|
||||
|
||||
TextTrackList*
|
||||
|
@ -517,7 +512,7 @@ TextTrackManager::DispatchTimeMarchesOn()
|
|||
// enqueue the current playback position and whether only that changed
|
||||
// through its usual monotonic increase during normal playback; current
|
||||
// executing call upon completion will check queue for further 'work'.
|
||||
if (!mTimeMarchesOnDispatched && !mShutdown) {
|
||||
if (!mTimeMarchesOnDispatched) {
|
||||
NS_DispatchToMainThread(NewRunnableMethod(this, &TextTrackManager::TimeMarchesOn));
|
||||
mTimeMarchesOnDispatched = true;
|
||||
}
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
#include "mozilla/dom/TextTrackList.h"
|
||||
#include "mozilla/dom/TextTrackCueList.h"
|
||||
#include "mozilla/StaticPtr.h"
|
||||
#include "nsContentUtils.h"
|
||||
|
||||
class nsIWebVTTParserWrapper;
|
||||
|
||||
|
@ -98,11 +97,6 @@ public:
|
|||
|
||||
void DispatchTimeMarchesOn();
|
||||
|
||||
void NotifyShutdown()
|
||||
{
|
||||
mShutdown = true;
|
||||
}
|
||||
|
||||
private:
|
||||
void TimeMarchesOn();
|
||||
|
||||
|
@ -141,35 +135,6 @@ private:
|
|||
void GetTextTracksOfKind(TextTrackKind aTextTrackKind,
|
||||
nsTArray<TextTrack*>& aTextTracks);
|
||||
bool TrackIsDefault(TextTrack* aTextTrack);
|
||||
|
||||
class ShutdownObserverProxy final : public nsIObserver
|
||||
{
|
||||
NS_DECL_ISUPPORTS
|
||||
|
||||
public:
|
||||
explicit ShutdownObserverProxy(TextTrackManager* aManager)
|
||||
: mManager(aManager)
|
||||
{
|
||||
nsContentUtils::RegisterShutdownObserver(this);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP Observe(nsISupports *aSubject, const char *aTopic, const char16_t *aData) override
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
if (strcmp(aTopic, NS_XPCOM_SHUTDOWN_OBSERVER_ID) == 0) {
|
||||
nsContentUtils::UnregisterShutdownObserver(this);
|
||||
mManager->NotifyShutdown();
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
private:
|
||||
~ShutdownObserverProxy() {};
|
||||
TextTrackManager* mManager;
|
||||
};
|
||||
|
||||
RefPtr<ShutdownObserverProxy> mShutdownProxy;
|
||||
bool mShutdown;
|
||||
};
|
||||
|
||||
} // namespace dom
|
||||
|
|
Загрузка…
Ссылка в новой задаче