⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 185402 in webkit


Ignore:
Timestamp:
Jun 9, 2015, 10:38:03 PM (11 years ago)
Author:
commit-queue@webkit.org
Message:

3D-transformed video does not display on platforms without accelerated video rendering
​https://bugs.webkit.org/show_bug.cgi?id=144782

Patch by Daegyu Lee <​daegyu.lee@navercorp.com> on 2015-06-09
Reviewed by Simon Fraser.

Source/WebCore:

Video element does not get GraphicsLayer when MediaPlayerPrivate::supportsAcceleratedRendering() returns false
which means not using accelerated video decoding.
Although the video element gets GraphicsLayer by changing the CSS style of video element by javascript,
there is no way to set GraphicsLayer::setDrawsContent(true) for updating the video content.
As a result, after changing the CSS style, the video content does not show.
To avoid missing setDrawsContent(true), add conditions(!supportsAcceleratedRendering() && m_requiresOwnBackingStore).

Test: media/video-transformed-by-javascript.html

media/video-transformed-by-javascript-expected.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::containsPaintedContent):

LayoutTests:

Add layout test that is simply checking video transform by javascript works properly.

  • media/video-transformed-by-javascript-expected.txt: Added.
  • media/video-transformed-by-javascript.html: Added.
  • platform/gtk/TestExpectations:
  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
Location:
trunk
Files:
2 added
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r185401 r185402  
     12015-06-09  Daegyu Lee  <daegyu.lee@navercorp.com>
     2
     3        3D-transformed video does not display on platforms without accelerated video rendering
     4        https://bugs.webkit.org/show_bug.cgi?id=144782
     5
     6        Reviewed by Simon Fraser.
     7
     8        Add layout test that is simply checking video transform by javascript works properly.
     9
     10        * media/video-transformed-by-javascript-expected.txt: Added.
     11        * media/video-transformed-by-javascript.html: Added.
     12        * platform/gtk/TestExpectations:
     13        * platform/ios-simulator-wk1/TestExpectations:
     14        * platform/ios-simulator-wk2/TestExpectations:
     15        * platform/ios-simulator/TestExpectations:
     16        * platform/mac-wk1/TestExpectations:
     17        * platform/mac-wk2/TestExpectations:
     18        * platform/mac/TestExpectations:
     19
    1202015-06-09  Daniel Bates  <dabates@apple.com>
    221
  • trunk/LayoutTests/platform/gtk/TestExpectations

    r185119 r185402  
    23882388webkit.org/b/145049 fast/text/simple-line-layout-text-stroke-width.html [ Failure ]
    23892389
     2390webkit.org/b/145432 media/video-transformed-by-javascript.html [ Failure ]
     2391
    23902392#////////////////////////////////////////////////////////////////////////////////////////
    23912393# End of Tests failing
  • trunk/LayoutTests/platform/ios-simulator-wk1/TestExpectations

    r185401 r185402  
    17311731fast/history/history-length.html [ Crash ]
    17321732storage/websql/alter-to-info-table.html [ Crash ]
     1733
     1734webkit.org/b/145432 media/video-transformed-by-javascript.html [ Failure ]
  • trunk/LayoutTests/platform/ios-simulator-wk2/TestExpectations

    r185401 r185402  
    21772177# Time outs as of 06/09/2015
    21782178fast/images/animated-gif-webkit-transform.html
     2179
     2180webkit.org/b/145432 media/video-transformed-by-javascript.html [ Failure ]
  • trunk/LayoutTests/platform/ios-simulator/TestExpectations

    r185353 r185402  
    26132613platform/ios-simulator/ios/scrolling/touch-stacking.html [ Failure ]
    26142614
     2615webkit.org/b/145432 media/video-transformed-by-javascript.html [ Failure ]
     2616
    26152617# iOS tests that assert:
    26162618platform/ios-simulator/ios/fast/text/combining-enclosing-keycap.html
  • trunk/LayoutTests/platform/mac-wk1/TestExpectations

    r185322 r185402  
    3434
    3535webkit.org/b/144127 compositing/scrolling/touch-scroll-to-clip.html [ Pass Failure ]
     36
     37webkit.org/b/145432 media/video-transformed-by-javascript.html [ Failure ]
    3638
    3739### END OF (1) Failures with bug reports
  • trunk/LayoutTests/platform/mac-wk2/TestExpectations

    r185254 r185402  
    262262webkit.org/b/144811 platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-rotated.html [ Pass Timeout ]
    263263
     264webkit.org/b/145432 media/video-transformed-by-javascript.html [ Failure ]
     265
    264266### END OF (1) Classified failures with bug reports
    265267########################################
  • trunk/LayoutTests/platform/mac/TestExpectations

    r185332 r185402  
    12601260
    12611261media/accessiblity-describes-video.html [ Pass Failure ]
     1262
     1263webkit.org/b/145432 media/video-transformed-by-javascript.html [ Failure ]
  • trunk/Source/WebCore/ChangeLog

    r185398 r185402  
     12015-06-09  Daegyu Lee  <daegyu.lee@navercorp.com>
     2
     3        3D-transformed video does not display on platforms without accelerated video rendering
     4        https://bugs.webkit.org/show_bug.cgi?id=144782
     5
     6        Reviewed by Simon Fraser.
     7
     8        Video element does not get GraphicsLayer when MediaPlayerPrivate::supportsAcceleratedRendering() returns false
     9        which means not using accelerated video decoding.
     10        Although the video element gets GraphicsLayer by changing the CSS style of video element by javascript,
     11        there is no way to set GraphicsLayer::setDrawsContent(true) for updating the video content.
     12        As a result, after changing the CSS style, the video content does not show.
     13        To avoid missing setDrawsContent(true), add conditions(!supportsAcceleratedRendering() && m_requiresOwnBackingStore).
     14
     15        Test: media/video-transformed-by-javascript.html
     16              media/video-transformed-by-javascript-expected.html
     17
     18        * rendering/RenderLayerBacking.cpp:
     19        (WebCore::RenderLayerBacking::containsPaintedContent):
     20
    1212015-06-09  Ryosuke Niwa  <rniwa@webkit.org>
    222
  • trunk/Source/WebCore/rendering/RenderLayerBacking.cpp

    r185343 r185402  
    19551955#if ENABLE(VIDEO)
    19561956    if (is<RenderVideo>(renderer()) && downcast<RenderVideo>(renderer()).shouldDisplayVideo())
    1957         return m_owningLayer.hasBoxDecorationsOrBackground();
     1957        return m_owningLayer.hasBoxDecorationsOrBackground() || (!(downcast<RenderVideo>(renderer()).supportsAcceleratedRendering()) && m_requiresOwnBackingStore);
    19581958#endif
    19591959
Note: See TracChangeset for help on using the changeset viewer.