Backed out changeset 830cccc16bd9 (bug 882718)

This commit is contained in:
Sebastian Hengst 2016-05-31 18:54:41 +02:00
Родитель 96d0fa6dcf
Коммит db844b8bcb
2 изменённых файлов: 1 добавлений и 41 удалений

Просмотреть файл

@ -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