Bug 212629

Summary: m_userActivatedMediaFinishedPlayingTimestamp is used uninitialized
Product: WebKit Reporter: Yoshiaki Jitsukawa <yoshiaki.jitsukawa>
Component: MediaAssignee: Yoshiaki Jitsukawa <yoshiaki.jitsukawa>
Status: NEW    
Severity: Normal CC: ahmad.saleem792, cdumez, esprehn+autocc, ews-watchlist, kangil.han, peng.liu6, youennf
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch yoshiaki.jitsukawa: review?, yoshiaki.jitsukawa: commit-queue?

Yoshiaki Jitsukawa
Reported 2020-06-02 01:03:32 PDT
In Document::processingUserGestureForMedia() m_userActivatedMediaFinishedPlayingTimestamp may be used before being set and in that case the function can return wrong result.
Attachments
Patch (1.85 KB, patch)
2020-06-02 01:14 PDT, Yoshiaki Jitsukawa
yoshiaki.jitsukawa: review?
yoshiaki.jitsukawa: commit-queue?
Yoshiaki Jitsukawa
Comment 1 2020-06-02 01:14:50 PDT
youenn fablet
Comment 2 2020-06-02 08:49:53 PDT
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.
Yoshiaki Jitsukawa
Comment 3 2020-07-07 18:35:38 PDT
(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?
Peng Liu
Comment 4 2020-08-24 10:31:13 PDT
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?
Ahmad Saleem
Comment 5 2023-09-20 03:13:28 PDT
Note You need to log in before you can comment on or make changes to this bug.