New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 618429 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug



Sign in to add a comment

ASSERT in ScriptPromiseResolver when play() is rejected immediately with an exception

Project Member Reported by avayvod@chromium.org, Jun 8 2016

Issue description

Only happens in the Debug build. The failing assert is here: https://cs.chromium.org/chromium/src/third_party/WebKit/Source/bindings/core/v8/ScriptPromiseResolver.h?rcl=0&l=53

Seems to be caused by https://codereview.chromium.org/1865933002

To reproduce:
- navigate to a page that tries to play() video without user gesture (for instance, https://avayvod.github.io/autoplay-test.html)
- open Chrome settings and navigate through them

OR: Chrome crashes with ASSERT after some time
ER: Chrome doesn't crash

::playForBindings method doesn't use the resolver created for play() in the case of DOMException but retrieves its promise and doesn't detach it.

Not a serious issue as it's just a sanity DCHECK in the dtor.
 
Sent https://codereview.chromium.org/2047313004 with a fix for a review.
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/08c6f401940f2b255514c1380ded3c01fc9f7fa2

commit 08c6f401940f2b255514c1380ded3c01fc9f7fa2
Author: avayvod <avayvod@chromium.org>
Date: Thu Jun 09 15:19:06 2016

[Blink, HTMLMediaElement] Fix ASSERT in ScriptPromiseResolver dtor

Don't get promise() from the resolver if it's not used.

BUG= 618429 
TEST=the test page from the bug.

Review-Url: https://codereview.chromium.org/2047313004
Cr-Commit-Position: refs/heads/master@{#398887}

[modify] https://crrev.com/08c6f401940f2b255514c1380ded3c01fc9f7fa2/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp

Status: Fixed (was: Started)
Project Member

Comment 5 by bugdroid1@chromium.org, Jun 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/08c6f401940f2b255514c1380ded3c01fc9f7fa2

commit 08c6f401940f2b255514c1380ded3c01fc9f7fa2
Author: avayvod <avayvod@chromium.org>
Date: Thu Jun 09 15:19:06 2016

[Blink, HTMLMediaElement] Fix ASSERT in ScriptPromiseResolver dtor

Don't get promise() from the resolver if it's not used.

BUG= 618429 
TEST=the test page from the bug.

Review-Url: https://codereview.chromium.org/2047313004
Cr-Commit-Position: refs/heads/master@{#398887}

[modify] https://crrev.com/08c6f401940f2b255514c1380ded3c01fc9f7fa2/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp

Sign in to add a comment