RESOLVED FIXED 144782
3D-transformed video does not display on platforms without accelerated video rendering
https://bugs.webkit.org/show_bug.cgi?id=144782
Summary 3D-transformed video does not display on platforms without accelerated video ...
daegyu.lee@navercorp.com
Reported 2015-05-07 19:29:00 PDT
I checked same behavior on EFL port. I checked same behavior on GTK port with disable GSTREAMER_GL and ENABLE_THREADED_COMPOSITOR. Video tag does not get RenderLayerBacking when MediaPlayerPrivate::supportsAcceleratedRendering() returns false which means no using accelerated video decoding. With changing CSS Style by javascript, video tag gets RenderLayerBacking. But there is no way to set GraphicsLayer::setDrawsContent(true) for updating video content. Reproduce: http://codepen.io/anon/pen/qdbBep
Attachments
Set GraphicsLayer::m_drawsContent = true (1.61 KB, patch)
2015-05-07 19:37 PDT, daegyu.lee@navercorp.com
no flags
patch (2.27 KB, patch)
2015-05-08 01:56 PDT, daegyu.lee@navercorp.com
no flags
patch (5.31 KB, patch)
2015-05-08 02:06 PDT, daegyu.lee@navercorp.com
no flags
patch (5.00 KB, patch)
2015-05-08 02:15 PDT, daegyu.lee@navercorp.com
no flags
patch (7.34 KB, patch)
2015-05-10 21:03 PDT, daegyu.lee@navercorp.com
no flags
patch (8.09 KB, patch)
2015-05-11 01:43 PDT, daegyu.lee@navercorp.com
no flags
patch (8.09 KB, patch)
2015-05-11 02:06 PDT, daegyu.lee@navercorp.com
no flags
patch (10.47 KB, patch)
2015-06-01 20:21 PDT, daegyu.lee@navercorp.com
no flags
patch (11.68 KB, patch)
2015-06-05 01:12 PDT, daegyu.lee@navercorp.com
no flags
patch (10.45 KB, patch)
2015-06-09 20:45 PDT, daegyu.lee@navercorp.com
no flags
daegyu.lee@navercorp.com
Comment 1 2015-05-07 19:37:33 PDT
Created attachment 252676 [details] Set GraphicsLayer::m_drawsContent = true
Simon Fraser (smfr)
Comment 2 2015-05-07 20:24:36 PDT
Comment on attachment 252676 [details] Set GraphicsLayer::m_drawsContent = true View in context: https://bugs.webkit.org/attachment.cgi?id=252676&action=review > Source/WebCore/ChangeLog:7 > + There's no explanation here of why being CSS transformed from JavaScript matters, and what the code change is doing. Is this testable?
Alexey Proskuryakov
Comment 3 2015-05-07 23:42:28 PDT
> Reproduce: http://codepen.io/anon/pen/qdbBep The video at this URL fails to play in shipping Safari, so it's difficult to see what the regression is. Could you please clarify how to reproduce the problem?
daegyu.lee@navercorp.com
Comment 4 2015-05-08 00:23:38 PDT
Ok, I'm on the way to make the test case in layouttest.
daegyu.lee@navercorp.com
Comment 5 2015-05-08 01:56:33 PDT
daegyu.lee@navercorp.com
Comment 6 2015-05-08 02:06:31 PDT
daegyu.lee@navercorp.com
Comment 7 2015-05-08 02:15:04 PDT
Simon Fraser (smfr)
Comment 8 2015-05-08 11:55:40 PDT
Comment on attachment 252707 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=252707&action=review The code change seems OK, but the test will break everyone. > LayoutTests/media/video-transformed-by-javascript-expected.txt:12 > + (drawsContent 1) This result will be platform-specific, because this layer will only be drawsContent=1 on platforms that don't have supportsAcceleratedRendering(). > LayoutTests/media/video-transformed-by-javascript.html:29 > + <video id="videoRotate" width="480" height="270" type="video/mp4" src="test.mp4"/> test.mp4 doesn't exist in that directory. You need to use the functions in media-file.js to load a media type that works on all platforms, like the other tests in this directory.
daegyu.lee@navercorp.com
Comment 9 2015-05-08 12:05:53 PDT
Comment on attachment 252707 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=252707&action=review >> LayoutTests/media/video-transformed-by-javascript-expected.txt:12 >> + (drawsContent 1) > > This result will be platform-specific, because this layer will only be drawsContent=1 on platforms that don't have supportsAcceleratedRendering(). Agreed. Do you have any recommendation like pixel-level comparisons? >> LayoutTests/media/video-transformed-by-javascript.html:29 >> + <video id="videoRotate" width="480" height="270" type="video/mp4" src="test.mp4"/> > > test.mp4 doesn't exist in that directory. You need to use the functions in media-file.js to load a media type that works on all platforms, like the other tests in this directory. Yes, you are right.
daegyu.lee@navercorp.com
Comment 10 2015-05-10 21:03:39 PDT
Gyuyoung Kim
Comment 11 2015-05-10 23:33:03 PDT
Comment on attachment 252839 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=252839&action=review > Source/WebCore/testing/Internals.cpp:2372 > + return element->player()->supportsAcceleratedRendering(); It seems that element->player() needs to be checked if it is null or not.
daegyu.lee@navercorp.com
Comment 12 2015-05-11 01:18:54 PDT
Comment on attachment 252839 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=252839&action=review >> Source/WebCore/testing/Internals.cpp:2372 >> + return element->player()->supportsAcceleratedRendering(); > > It seems that element->player() needs to be checked if it is null or not. Ok, thanks.
daegyu.lee@navercorp.com
Comment 13 2015-05-11 01:43:26 PDT
daegyu.lee@navercorp.com
Comment 14 2015-05-11 02:06:03 PDT
daegyu.lee@navercorp.com
Comment 15 2015-05-13 18:37:18 PDT
Ping...
Gyuyoung Kim
Comment 16 2015-05-20 23:48:00 PDT
(In reply to comment #3) > > Reproduce: http://codepen.io/anon/pen/qdbBep > > The video at this URL fails to play in shipping Safari, so it's difficult to > see what the regression is. Could you please clarify how to reproduce the > problem? Daegyu, is there any other way to reproduce this bug ? Simon, we need to fix this bug. So could you take a look this patch again ?
daegyu.lee@navercorp.com
Comment 17 2015-05-21 00:33:28 PDT
http://codepen.io/anon/pen/pJEROO I have tested above url on EFL. Video is not shown when you click "Flip Video" button. I have tested above url on GTK without accelerated video rendering. Video is not shown when you click "Flip Video" button. I have tested above url on Mac. Video is shown correctly.
Simon Fraser (smfr)
Comment 18 2015-05-26 11:28:58 PDT
Comment on attachment 252850 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=252850&action=review > LayoutTests/media/video-transformed-by-javascript.html:22 > + if (window.internals.supportsAcceleratedRendering(document.getElementById("videoRotate")) == false) { > + layerTreeAsText = window.internals.layerTreeAsText(document); > + if (layerTreeAsText.indexOf('(drawsContent 1') == -1) > + document.getElementById('outText').innerText = "FAIL"; > + } > + testRunner.notifyDone(); I'm not sure it's worth going to the trouble of adding internals.supportsAcceleratedRendering(). Why not just land different results for different platforms?
daegyu.lee@navercorp.com
Comment 19 2015-06-01 20:21:30 PDT
daegyu.lee@navercorp.com
Comment 20 2015-06-05 01:12:21 PDT
Gyuyoung Kim
Comment 21 2015-06-09 20:15:45 PDT
Comment on attachment 254346 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=254346&action=review Simon already set r+ed. Please only request cq? after fixing Simon's comment. > LayoutTests/ChangeLog:21 > +2015-06-05 daegyu lee <daegyu.lee@navercorp.com> Duplicated changelog.
daegyu.lee@navercorp.com
Comment 22 2015-06-09 20:45:38 PDT
WebKit Commit Bot
Comment 23 2015-06-09 21:24:42 PDT
Comment on attachment 254624 [details] patch Rejecting attachment 254624 [details] from commit-queue. daegyu.lee@navercorp.com does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/contributors.json. - If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags. - If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/contributors.json by adding yourself to the file (no review needed). The commit-queue restarts itself every 2 hours. After restart the commit-queue will correctly respect your committer rights.
Gyuyoung Kim
Comment 24 2015-06-09 21:48:42 PDT
Comment on attachment 254624 [details] patch cq=me. win-ews seems to be broken by other patch.
WebKit Commit Bot
Comment 25 2015-06-09 22:38:36 PDT
Comment on attachment 254624 [details] patch Clearing flags on attachment: 254624 Committed r185402: <http://trac.webkit.org/changeset/185402>
WebKit Commit Bot
Comment 26 2015-06-09 22:38:43 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.