| Differences between
and this patch
- a/Source/WebCore/ChangeLog +13 lines
Lines 1-3 a/Source/WebCore/ChangeLog_sec1
1
2019-07-05  Youenn Fablet  <youenn@apple.com> and Simon Fraser  <simon.fraser@apple.com>
2
3
        Trigger a compositing update when video element is changing
4
        https://bugs.webkit.org/show_bug.cgi?id=199522
5
        <rdar://problem/47297159>
6
7
        Reviewed by NOBODY (OOPS!).
8
9
        Test: compositing/video/video-update-rendering.html
10
11
        * rendering/RenderLayerBacking.cpp:
12
        (WebCore::RenderLayerBacking::contentChanged):
13
1
2019-07-05  Youenn Fablet  <youenn@apple.com>
14
2019-07-05  Youenn Fablet  <youenn@apple.com>
2
15
3
        [iOS] Local capture MediaStreamTrack does not render in portrait mode
16
        [iOS] Local capture MediaStreamTrack does not render in portrait mode
- a/Source/WebCore/rendering/RenderLayerBacking.cpp +5 lines
Lines 2453-2458 void RenderLayerBacking::contentChanged(ContentChangeType changeType) a/Source/WebCore/rendering/RenderLayerBacking.cpp_sec1
2453
        return;
2453
        return;
2454
    }
2454
    }
2455
2455
2456
    if (changeType == VideoChanged) {
2457
        compositor().scheduleCompositingLayerUpdate();
2458
        return;
2459
    }
2460
2456
    if ((changeType == BackgroundImageChanged) && canDirectlyCompositeBackgroundBackgroundImage(renderer().style()))
2461
    if ((changeType == BackgroundImageChanged) && canDirectlyCompositeBackgroundBackgroundImage(renderer().style()))
2457
        m_owningLayer.setNeedsCompositingConfigurationUpdate();
2462
        m_owningLayer.setNeedsCompositingConfigurationUpdate();
2458
2463
- a/LayoutTests/ChangeLog +11 lines
Lines 1-3 a/LayoutTests/ChangeLog_sec1
1
2019-07-05  Youenn Fablet  <youenn@apple.com> and Simon Fraser  <simon.fraser@apple.com>
2
3
        Trigger a compositing update when video element is changing
4
        https://bugs.webkit.org/show_bug.cgi?id=199522
5
        <rdar://problem/47297159>
6
7
        Reviewed by NOBODY (OOPS!).
8
9
        * compositing/video/video-update-rendering-expected.txt: Added.
10
        * compositing/video/video-update-rendering.html: Added.
11
1
2019-07-05  Youenn Fablet  <youenn@apple.com>
12
2019-07-05  Youenn Fablet  <youenn@apple.com>
2
13
3
        [iOS] Local capture MediaStreamTrack does not render in portrait mode
14
        [iOS] Local capture MediaStreamTrack does not render in portrait mode
- a/LayoutTests/compositing/video/video-update-rendering-expected.txt +4 lines
Line 0 a/LayoutTests/compositing/video/video-update-rendering-expected.txt_sec1
1
2
3
PASS Refresh rendering when starting to play a video 
4
- a/LayoutTests/compositing/video/video-update-rendering.html +25 lines
Line 0 a/LayoutTests/compositing/video/video-update-rendering.html_sec1
1
<!doctype html>
2
<html>
3
    <head>
4
        <meta charset="utf-8">
5
        <title>Video update rendering</title>
6
        <script src="../../resources/testharness.js"></script>
7
        <script src="../../resources/testharnessreport.js"></script>
8
    </head>
9
    <body>
10
        <video id="video" muted playsinline preload="none"></video>
11
        <script>
12
video.src = "../resources/video." + (video.canPlayType("video/ogg") ? "ogv" : "mp4");
13
14
promise_test(async () => {
15
    assert_true(!!window.internals, "test requires internals");
16
17
    await new Promise(resolve => window.onload = resolve);
18
19
    internals.startTrackingCompositingUpdates();
20
    await video.play();
21
    assert_true(internals.compositingUpdateCount() > 1, "refreshing video rendering: " + internals.compositingUpdateCount());
22
}, 'Refresh rendering when starting to play a video');
23
        </script>
24
    </body>
25
</html>

Return to Bug 199522