| Differences between
and this patch
- a/Source/WebCore/ChangeLog +19 lines
Lines 1-3 a/Source/WebCore/ChangeLog_sec1
1
2014-05-05  Ion Rosca  <rosca@adobe.com>
2
3
        [CSS Blending] Changing isolation CSS property should not trigger repaint in RenderStyle::changeRequiresLayerRepaint
4
        https://bugs.webkit.org/show_bug.cgi?id=131436
5
6
        The isolation:isolate property will create a stacking context. This is done in
7
        StyleResolver::adjustRenderStyle when z-index is forced to 0 if it was auto before.
8
        If the element is already a stacking context for any other reason, isolation flag
9
        will not have any effect.
10
11
        Reviewed by NOBODY (OOPS!).
12
13
        Tests: fast/repaint/blend-mode-turn-off-isolation-no-effect.html
14
               fast/repaint/blend-mode-turn-off-isolation.html
15
16
        * rendering/style/RenderStyle.cpp:
17
        (WebCore::RenderStyle::changeRequiresLayerRepaint):
18
        do not return true if isolation has changed.
19
1
2014-05-05  Andrei Bucur  <abucur@adobe.com>
20
2014-05-05  Andrei Bucur  <abucur@adobe.com>
2
21
3
        [CSS Regions] ASSERT when hovering over region
22
        [CSS Regions] ASSERT when hovering over region
- a/Source/WebCore/rendering/style/RenderStyle.cpp -3 lines
Lines 663-671 bool RenderStyle::changeRequiresLayerRepaint(const RenderStyle* other, unsigned& a/Source/WebCore/rendering/style/RenderStyle.cpp_sec1
663
#if ENABLE(CSS_COMPOSITING)
663
#if ENABLE(CSS_COMPOSITING)
664
    if (rareNonInheritedData->m_effectiveBlendMode != other->rareNonInheritedData->m_effectiveBlendMode)
664
    if (rareNonInheritedData->m_effectiveBlendMode != other->rareNonInheritedData->m_effectiveBlendMode)
665
        return true;
665
        return true;
666
667
    if (rareNonInheritedData->m_isolation != other->rareNonInheritedData->m_isolation)
668
        return true;
669
#endif
666
#endif
670
667
671
    if (rareNonInheritedData->opacity != other->rareNonInheritedData->opacity) {
668
    if (rareNonInheritedData->opacity != other->rareNonInheritedData->opacity) {
- a/LayoutTests/ChangeLog +12 lines
Lines 1-3 a/LayoutTests/ChangeLog_sec1
1
2014-05-05  Ion Rosca  <rosca@adobe.com>
2
3
        [CSS Blending] Changing isolation CSS property should not trigger repaint in RenderStyle::changeRequiresLayerRepaint
4
        https://bugs.webkit.org/show_bug.cgi?id=131436
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        * fast/repaint/blend-mode-turn-off-isolation-expected.txt: Added.
9
        * fast/repaint/blend-mode-turn-off-isolation-no-effect-expected.txt: Added.
10
        * fast/repaint/blend-mode-turn-off-isolation-no-effect.html: Added.
11
        * fast/repaint/blend-mode-turn-off-isolation.html: Added.
12
1
2014-05-05  Xabier Rodriguez Calvar  <calvaris@igalia.com>
13
2014-05-05  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2
14
3
        Unreviewed. New GTK baseline for media/media-controls-clone.html.
15
        Unreviewed. New GTK baseline for media/media-controls-clone.html.
- a/LayoutTests/fast/repaint/blend-mode-turn-off-isolation-expected.txt +6 lines
Line 0 a/LayoutTests/fast/repaint/blend-mode-turn-off-isolation-expected.txt_sec1
1
This test checks that removing isolation from an element not being stacking context for other reasons will repaint the blending div.
2
3
(repaint rects
4
  (rect 58 68 100 100)
5
)
6
- a/LayoutTests/fast/repaint/blend-mode-turn-off-isolation-no-effect-expected.txt +3 lines
Line 0 a/LayoutTests/fast/repaint/blend-mode-turn-off-isolation-no-effect-expected.txt_sec1
1
This test checks that removing isolation from an element being stacking context for other reasons will not trigger any repaint.
2
3
- a/LayoutTests/fast/repaint/blend-mode-turn-off-isolation-no-effect.html +43 lines
Line 0 a/LayoutTests/fast/repaint/blend-mode-turn-off-isolation-no-effect.html_sec1
1
<!DOCTYPE HTML>
2
<html>
3
    <head>
4
        <style>
5
            div {
6
                width: 100px;
7
                height: 100px;
8
            }
9
10
            .stacking-context {
11
                position: relative;
12
                z-index: 1;
13
            }
14
            .isolating {
15
                -webkit-isolation: isolate;
16
                isolation: isolate;
17
            }
18
            .blending {
19
                -webkit-mix-blend-mode: difference;
20
                mix-blend-mode: difference;
21
            }
22
23
        </style>
24
        <script src="resources/text-based-repaint.js" type="text/javascript"></script>
25
    </head>
26
    <body>
27
        <p>This test checks that removing isolation from an element being stacking context for other reasons will not trigger any repaint.</p>
28
        <div id="target" class="stacking-context isolating" style="background-color: #00ff00;">
29
            <div class="blending" style="background-color: #ff00ff; margin-left: 50px;"></div>
30
        </div>
31
        <script type="text/javascript">
32
        function repaintTest() {
33
            var target = document.getElementById("target");
34
            target.className = "stacking-context";
35
        }
36
        window.onload = function() {
37
            if (window.testRunner)
38
                window.testRunner.dumpAsText(true);
39
            runRepaintTest();
40
        }
41
        </script>
42
    </body>
43
</html>
- a/LayoutTests/fast/repaint/blend-mode-turn-off-isolation.html +40 lines
Line 0 a/LayoutTests/fast/repaint/blend-mode-turn-off-isolation.html_sec1
1
<!DOCTYPE HTML>
2
<html>
3
    <head>
4
        <style>
5
            div {
6
                width: 100px;
7
                height: 100px;
8
            }
9
10
            .isolating {
11
                -webkit-isolation: isolate;
12
                isolation: isolate;
13
            }
14
15
            .blending {
16
                -webkit-mix-blend-mode: difference;
17
                mix-blend-mode: difference;
18
            }
19
20
        </style>
21
        <script src="resources/text-based-repaint.js" type="text/javascript"></script>
22
    </head>
23
    <body>
24
        <p>This test checks that removing isolation from an element not being stacking context for other reasons will repaint the blending div.</p>
25
        <div id="target" class="isolating" style="background-color: #00ff00;">
26
            <div class="blending" style="background-color: #ff00ff; margin-left: 50px;"></div>
27
        </div>
28
        <script type="text/javascript">
29
        function repaintTest() {
30
            var target = document.getElementById("target");
31
            target.className = "";
32
        }
33
        window.onload = function() {
34
            if (window.testRunner)
35
                window.testRunner.dumpAsText(true);
36
            runRepaintTest();
37
        }
38
        </script>
39
    </body>
40
</html>

Return to Bug 131436