Bug 203614

Summary: Picture-in-Picture layout test cases interfere with each other
Product: WebKit Reporter: Peng Liu <peng.liu6>
Component: MediaAssignee: Peng Liu <peng.liu6>
Status: RESOLVED FIXED    
Severity: Normal CC: cdumez, commit-queue, eric.carlson, esprehn+autocc, ews-watchlist, glenn, gyuyoung.kim, jbedard, jer.noble, kondapallykalyan, peng.liu6, philipj, sergio, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 182688    
Attachments:
Description Flags
Patch none

Description Peng Liu 2019-10-30 10:13:40 PDT
When we run multiple picture-in-picture layout test cases simultaneously, they will interfere with each other because they share the PiP implementation in AVKit/CoreMedia. We need to update the test runner to support running them simultaneously.

This issue impacts following layout test cases:
media/picture-in-picture-api-enter-pip-4.html
media/picture-in-picture-api-exit-pip-1.html
media/picture-in-picture-api-pip-events.html
media/picture-in-picture-api-pip-window.html
media/picture-in-picture-interruption.html
Comment 1 Jonathan Bedard 2019-10-30 10:24:19 PDT
I think what this comes down to is that these tests should be API tests, not layout tests. Layout tests MUST be able to be run in parallel, we don't have that same limitation on API tests. Unless you want to have a sort of mock PiP implementation (which seems complicated and messy) I think the answer here is API tests.
Comment 2 Jer Noble 2019-10-30 10:45:47 PDT
API tests are necessary but not sufficient. It's a well accepted practice to include "mock" implementations of platform features in order to 1) test the WebCore implementation of specifications even on systems where there is no platform support for those features, and 2) be able to control the simulated platform feature from the test itself.

On the other hand, the API tests can indeed test the end-to-end implementation of a feature all the way from the platform up to the chrome, and we should also have API tests for Picture-in-Picture.  But a "mock" for pip is still a good idea.
Comment 3 Radar WebKit Bug Importer 2019-10-30 12:45:44 PDT
<rdar://problem/56754650>
Comment 4 Peng Liu 2019-10-31 21:19:50 PDT
Created attachment 382548 [details]
Patch
Comment 5 WebKit Commit Bot 2019-11-01 08:57:42 PDT
Comment on attachment 382548 [details]
Patch

Clearing flags on attachment: 382548

Committed r251920: <https://trac.webkit.org/changeset/251920>
Comment 6 WebKit Commit Bot 2019-11-01 08:57:43 PDT
All reviewed patches have been landed.  Closing bug.