As of https://github.com/KhronosGroup/WebGL/pull/3319 , Khronos' WebGL conformance tests covering video-to-texture uploads require that the Promise returned from HTMLVideoElement.play be reliable. Once it's been awaited, the next texImage2D from that video element must produce a non-empty frame. Bug 200344 covers existing issues in the promise resolution; once that's fixed, more refinement may be needed to make the revised tests pass. For the record, Chromium implements requestVideoFrameCallback and that's why (we expect) these updated tests to pass there. Chromium doesn't yet make this guarantee about awaiting HTMLVideoElement.play's Promise - filing a bug about that now.
Filed against Chromium as: When HTMLVideoElement.play Promise resolves, texImage2D from video should return non-empty frame https://bugs.chromium.org/p/chromium/issues/detail?id=1242760
<rdar://problem/82298333>