Bug 1302006. Part 2 - Let ShutdownState handle dormant request.
MozReview-Commit-ID: 1uw7YjQps0i
--- a/dom/media/MediaDecoderStateMachine.cpp
+++ b/dom/media/MediaDecoderStateMachine.cpp
@@ -534,16 +534,21 @@ public:
{
MOZ_DIAGNOSTIC_ASSERT(false, "Shouldn't escape the SHUTDOWN state.");
}
State GetState() const override
{
return DECODER_STATE_SHUTDOWN;
}
+
+ bool HandleDormant(bool aDormant) override
+ {
+ return true;
+ }
};
#define INIT_WATCHABLE(name, val) \
name(val, "MediaDecoderStateMachine::" #name)
#define INIT_MIRROR(name, val) \
name(mTaskQueue, val, "MediaDecoderStateMachine::" #name " (Mirror)")
#define INIT_CANONICAL(name, val) \
name(mTaskQueue, val, "MediaDecoderStateMachine::" #name " (Canonical)")
@@ -1493,20 +1498,16 @@ MediaDecoderStateMachine::DispatchSetDor
OwnerThread()->Dispatch(r.forget());
}
void
MediaDecoderStateMachine::SetDormant(bool aDormant)
{
MOZ_ASSERT(OnTaskQueue());
- if (IsShutdown()) {
- return;
- }
-
if (mStateObj->HandleDormant(aDormant)) {
return;
}
// |mState == DECODER_STATE_DORMANT| is already
// handled by |mStateObj->HandleDormant| above.
MOZ_ASSERT(mState != DECODER_STATE_DORMANT);