// Note: may be called via Terminated() void GMPDecryptorParent::Close() { MOZ_ASSERT(mPlugin->GMPThread() == NS_GetCurrentThread()); // Consumer is done with us; we can shut down. No more callbacks should // be made to mCallback. Note: do this before Shutdown()! mCallback = nullptr; // Let Shutdown mark us as dead so it knows if we had been alive // In case this is the last reference nsRefPtr<GMPDecryptorParent> kungfudeathgrip(this); NS_RELEASE(kungfudeathgrip); Shutdown(); }
// Note: may be called via Terminated() void GMPVideoDecoderParent::Close() { LOGD(("%s: %p", __FUNCTION__, this)); MOZ_ASSERT(mPlugin->GMPThread() == NS_GetCurrentThread()); // Consumer is done with us; we can shut down. No more callbacks should // be made to mCallback. Note: do this before Shutdown()! mCallback = nullptr; // Let Shutdown mark us as dead so it knows if we had been alive // In case this is the last reference nsRefPtr<GMPVideoDecoderParent> kungfudeathgrip(this); Release(); Shutdown(); }
// Note: may be called via Terminated() void GMPDecryptorParent::Close() { LOGD(("GMPDecryptorParent[%p]::Close()", this)); MOZ_ASSERT(mGMPThread == NS_GetCurrentThread()); // Consumer is done with us; we can shut down. No more callbacks should // be made to mCallback. Note: do this before Shutdown()! mCallback = nullptr; // Let Shutdown mark us as dead so it knows if we had been alive // In case this is the last reference RefPtr<GMPDecryptorParent> kungfudeathgrip(this); this->Release(); Shutdown(); }
// Note: may be called via Terminated() void GMPVideoDecoderParent::Close() { LOGD(("GMPVideoDecoderParent[%p]::Close()", this)); MOZ_ASSERT(!mPlugin || mPlugin->GMPThread() == NS_GetCurrentThread()); // Ensure if we've received a Close while waiting for a ResetComplete // or DrainComplete notification, we'll unblock the caller before processing // the close. This seems unlikely to happen, but better to be careful. UnblockResetAndDrain(); // Consumer is done with us; we can shut down. No more callbacks should // be made to mCallback. Note: do this before Shutdown()! mCallback = nullptr; // Let Shutdown mark us as dead so it knows if we had been alive // In case this is the last reference RefPtr<GMPVideoDecoderParent> kungfudeathgrip(this); Release(); Shutdown(); }