Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(39)

Issue 1865933002: Fix race when HTMLMediaElement.play() is called just after pause(). (Closed)

Created:
4 years, 8 months ago by mlamouri (slow - plz ping)
Modified:
4 years, 6 months ago
Reviewers:
whywhat, fs
CC:
blink-reviews, blink-reviews-html_chromium.org, chromium-reviews, dglazkov+blink, eric.carlson_apple.com, feature-media-reviews_chromium.org, fs, gasubic, mlamouri+watch-blink_chromium.org, philipj_slow, nessy, vcarbune.chromium
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix race when HTMLMediaElement.play() is called just after pause(). The consequence is that the Promise returned by play() is rejected by the task created by pause(). The fix is to associate the tasks with a list of promises. BUG=593273 Committed: https://crrev.com/3a82d82079ca79cddd932eb77f924db5428885b9 Cr-Commit-Position: refs/heads/master@{#398370}

Patch Set 1 #

Patch Set 2 : update expectations #

Total comments: 8

Patch Set 3 : review comments #

Patch Set 4 : fix tests suffering from this issue #

Patch Set 5 : async reject from load algorithm #

Patch Set 6 : rebase and match spec #

Total comments: 9

Patch Set 7 : review comments #

Patch Set 8 : fix #

Messages

Total messages: 36 (15 generated)
mlamouri (slow - plz ping)
Philip, PTAL. Two things to note: - things are becoming a bit messy. It would ...
4 years, 8 months ago (2016-04-06 13:52:44 UTC) #2
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1865933002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1865933002/1
4 years, 8 months ago (2016-04-06 13:53:19 UTC) #4
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1865933002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1865933002/20001
4 years, 8 months ago (2016-04-06 13:54:11 UTC) #6
philipj_slow
https://codereview.chromium.org/1865933002/diff/20001/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp File third_party/WebKit/Source/core/html/HTMLMediaElement.cpp (right): https://codereview.chromium.org/1865933002/diff/20001/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp#newcode795 third_party/WebKit/Source/core/html/HTMLMediaElement.cpp:795: m_playPromiseRejectList.append(resolver); m_playPromiseRejectList.append(m_playPromiseResolvers) instead of loop? https://codereview.chromium.org/1865933002/diff/20001/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp#newcode2019 third_party/WebKit/Source/core/html/HTMLMediaElement.cpp:2019: // is ...
4 years, 8 months ago (2016-04-06 14:12:59 UTC) #7
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/207886)
4 years, 8 months ago (2016-04-06 14:55:30 UTC) #9
mlamouri (slow - plz ping)
PTAL. https://codereview.chromium.org/1865933002/diff/20001/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp File third_party/WebKit/Source/core/html/HTMLMediaElement.cpp (right): https://codereview.chromium.org/1865933002/diff/20001/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp#newcode795 third_party/WebKit/Source/core/html/HTMLMediaElement.cpp:795: m_playPromiseRejectList.append(resolver); On 2016/04/06 at 14:12:59, philipj wrote: > ...
4 years, 8 months ago (2016-04-12 14:36:20 UTC) #10
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1865933002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1865933002/60001
4 years, 8 months ago (2016-04-12 14:40:40 UTC) #12
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 8 months ago (2016-04-12 15:59:01 UTC) #14
mlamouri (slow - plz ping)
I've updated the CL to asynchronously reject play promises from the load algorithm too. It ...
4 years, 8 months ago (2016-04-12 17:00:22 UTC) #15
philipj_slow
I won't be able to see this through to the end, I suggest fs@opera.com as ...
4 years, 7 months ago (2016-04-27 13:47:41 UTC) #16
mlamouri (slow - plz ping)
avayvod@ and fs@, can you PTAL? It should now match the spec (which has been ...
4 years, 6 months ago (2016-06-05 16:07:34 UTC) #18
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1865933002/100001
4 years, 6 months ago (2016-06-05 16:07:49 UTC) #20
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/223596)
4 years, 6 months ago (2016-06-05 17:23:03 UTC) #22
fs
LGTM w/ nits https://codereview.chromium.org/1865933002/diff/100001/third_party/WebKit/LayoutTests/media/media-play-promise.html File third_party/WebKit/LayoutTests/media/media-play-promise.html (right): https://codereview.chromium.org/1865933002/diff/100001/third_party/WebKit/LayoutTests/media/media-play-promise.html#newcode109 third_party/WebKit/LayoutTests/media/media-play-promise.html:109: // promise that resolves successfuly. Nit: ...
4 years, 6 months ago (2016-06-06 09:13:24 UTC) #23
whywhat
lgtm with nits https://codereview.chromium.org/1865933002/diff/100001/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp File third_party/WebKit/Source/core/html/HTMLMediaElement.cpp (right): https://codereview.chromium.org/1865933002/diff/100001/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp#newcode3737 third_party/WebKit/Source/core/html/HTMLMediaElement.cpp:3737: // former approach is prefered because ...
4 years, 6 months ago (2016-06-06 13:08:57 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1865933002/120001
4 years, 6 months ago (2016-06-06 16:00:53 UTC) #27
mlamouri (slow - plz ping)
https://codereview.chromium.org/1865933002/diff/100001/third_party/WebKit/LayoutTests/media/media-play-promise.html File third_party/WebKit/LayoutTests/media/media-play-promise.html (right): https://codereview.chromium.org/1865933002/diff/100001/third_party/WebKit/LayoutTests/media/media-play-promise.html#newcode109 third_party/WebKit/LayoutTests/media/media-play-promise.html:109: // promise that resolves successfuly. On 2016/06/06 at 09:13:24, ...
4 years, 6 months ago (2016-06-06 16:00:55 UTC) #28
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/223910)
4 years, 6 months ago (2016-06-06 17:30:06 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1865933002/140001
4 years, 6 months ago (2016-06-07 19:31:41 UTC) #33
commit-bot: I haz the power
Committed patchset #8 (id:140001)
4 years, 6 months ago (2016-06-07 21:25:54 UTC) #34
commit-bot: I haz the power
4 years, 6 months ago (2016-06-07 21:27:08 UTC) #36
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/3a82d82079ca79cddd932eb77f924db5428885b9
Cr-Commit-Position: refs/heads/master@{#398370}

Powered by Google App Engine
This is Rietveld 408576698