LayoutTest media/track/media-element-enqueue-event-crash.html is a flaky failure https://build.webkit.org/results/Apple%20El%20Capitan%20Release%20WK1%20(Tests)/r213540%20(14371)/results.html https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=media%2Ftrack%2Fmedia-element-enqueue-event-crash.html --- /Volumes/Data/slave/elcapitan-release-tests-wk1/build/layout-test-results/media/track/media-element-enqueue-event-crash-expected.txt +++ /Volumes/Data/slave/elcapitan-release-tests-wk1/build/layout-test-results/media/track/media-element-enqueue-event-crash-actual.txt @@ -1,3 +1,4 @@ +CONSOLE MESSAGE: line 2081: IconButton failed to load, iconName = pause, layoutTraits = 9, src = data:image/png;base64, Tests that appending events for dispatching doesn't crash ** No crash. Pass **
This logging was added with http://trac.webkit.org/changeset/213540
This indicates that we failed to load an icon from the WebCore.framework.
So I've managed to reproduce the icon load issue here and as far as I can tell the icon loading fails because we can't get a Page reference here: String MediaControlsHost::base64StringForIconAndPlatform(const String& iconName, const String& platform) const { Page* page = m_mediaElement->document().page(); if (!page) { return emptyString(); return RenderTheme::themeForPage(page)->mediaControlsBase64StringForIconAndPlatform(iconName, platform); } So we don't event attempt to load the icon and return an empty string. I have no idea why the Page may not be available at this stage.
OK, in the case of this test, I think this is expected… The test removes the media element from the original page's document after 100ms, so I think it's completely legitimate that we may not have a Page when this gets called, for instance as a result of a "play" event being dispatched which attempts to load the pause icon.
Marked test as flaky in http://trac.webkit.org/projects/webkit/changeset/213580 to get the bots back to green. We'll need to remove this expectation once the logging is removed.