In Document::processingUserGestureForMedia() m_userActivatedMediaFinishedPlayingTimestamp may be used before being set and in that case the function can return wrong result.
Created attachment 400793 [details] Patch
Comment on attachment 400793 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=400793&action=review > Source/WebCore/dom/Document.cpp:6826 > + if (m_userActivatedMediaFinishedPlayingTimestamp && (m_userActivatedMediaFinishedPlayingTimestamp + maxIntervalForUserGestureForwardingAfterMediaFinishesPlaying >= MonotonicTime::now())) Can you explain the issue? Is it that MonotonicTime::now might return a value close to 0 on the playstation? I would expect in general MonotonicTime::now() to have a high value so that, if m_userActivatedMediaFinishedPlayingTimestamp is zero, we always fail the if check.
(In reply to youenn fablet from comment #2) > Comment on attachment 400793 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=400793&action=review > > > Source/WebCore/dom/Document.cpp:6826 > > + if (m_userActivatedMediaFinishedPlayingTimestamp && (m_userActivatedMediaFinishedPlayingTimestamp + maxIntervalForUserGestureForwardingAfterMediaFinishesPlaying >= MonotonicTime::now())) > > Can you explain the issue? Is it that MonotonicTime::now might return a > value close to 0 on the playstation? > I would expect in general MonotonicTime::now() to have a high value so that, > if m_userActivatedMediaFinishedPlayingTimestamp is zero, we always fail the > if check. Sorry for late reply. Yes, on the playstation port MonotonicTime::now() may return such a value. If m_userActivatedMediaFinishedPlayingTimestamp is zero, it implies that nobody has set it, correct?
Comment on attachment 400793 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=400793&action=review >>> Source/WebCore/dom/Document.cpp:6826 >>> + if (m_userActivatedMediaFinishedPlayingTimestamp && (m_userActivatedMediaFinishedPlayingTimestamp + maxIntervalForUserGestureForwardingAfterMediaFinishesPlaying >= MonotonicTime::now())) >> >> Can you explain the issue? Is it that MonotonicTime::now might return a value close to 0 on the playstation? >> I would expect in general MonotonicTime::now() to have a high value so that, if m_userActivatedMediaFinishedPlayingTimestamp is zero, we always fail the if check. > > Sorry for late reply. > Yes, on the playstation port MonotonicTime::now() may return such a value. > > If m_userActivatedMediaFinishedPlayingTimestamp is zero, it implies that nobody has set it, correct? Sounds like MonotonicTime::now() has some issue on the playstation port?
This didn't landed: https://searchfox.org/wubkat/source/Source/WebCore/dom/Document.cpp#7621 Do we need this?