Bug 1347892 part 1 - initialize a media element's mVisibilityState to be UNTRACKED; r=jwwang

MozReview-Commit-ID: Bkkh6hvCNu4
This commit is contained in:
Kaku Kuo
2017-03-16 19:26:49 +08:00
parent b737aee1fb
commit 80b5f843b7

View File

@@ -3724,7 +3724,7 @@ HTMLMediaElement::HTMLMediaElement(already_AddRefed<mozilla::dom::NodeInfo>& aNo
mIsAudioTrackAudible(false),
mHasSuspendTaint(false),
mMediaTracksConstructed(false),
mVisibilityState(Visibility::APPROXIMATELY_NONVISIBLE),
mVisibilityState(Visibility::UNTRACKED),
mErrorSink(new ErrorSink(this)),
mAudioChannelWrapper(new AudioChannelAgentCallback(this, mAudioChannel))
{
@@ -4546,6 +4546,7 @@ void HTMLMediaElement::UnbindFromTree(bool aDeep,
bool aNullParent)
{
mUnboundFromTree = true;
mVisibilityState = Visibility::UNTRACKED;
if (OwnerDoc()) {
OwnerDoc()->RemoveMediaContent(this);
}
@@ -7203,7 +7204,7 @@ HTMLMediaElement::NotifyCueDisplayStatesChanged()
void
HTMLMediaElement::MarkAsContentSource(CallerAPI aAPI)
{
const bool isVisible = mVisibilityState != Visibility::APPROXIMATELY_NONVISIBLE;
const bool isVisible = mVisibilityState == Visibility::APPROXIMATELY_VISIBLE;
if (isVisible) {
// 0 = ALL_VISIBLE