WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
bug-131436-20140506172851.patch (text/plain), 7.46 KB, created by
Ion Rosca
on 2014-05-06 07:29:13 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Ion Rosca
Created:
2014-05-06 07:29:13 PDT
Size:
7.46 KB
patch
obsolete
>Subversion Revision: 168358 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 993d08aa23918e6763a4ca513d0c05be8c4dbbbc..58ec43744c31d3f2b61d3ab26dbe612929b77947 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,22 @@ >+2014-05-06 Ion Rosca <rosca@adobe.com> >+ >+ [CSS Blending] Changing isolation CSS property should not trigger repaint in RenderStyle::changeRequiresLayerRepaint >+ https://bugs.webkit.org/show_bug.cgi?id=131436 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ The isolation:isolate property will create a stacking context. This is done in >+ StyleResolver::adjustRenderStyle where z-index is forced to 0. >+ If the element is already a stacking context for any other reason, >+ changing the isolation flag should not have any effect. >+ >+ Tests: css3/blending/repaint/blend-mode-turn-off-isolation-no-effect.html >+ css3/blending/repaint/blend-mode-turn-off-isolation.html >+ >+ * rendering/style/RenderStyle.cpp: >+ (WebCore::RenderStyle::changeRequiresLayerRepaint): >+ do not request repaint if isolation has changed. >+ > 2014-05-06 Dirk Schulze <krit@webkit.org> > > [SVG2] Share "on"- event attributes with HTMLElement >diff --git a/Source/WebCore/rendering/style/RenderStyle.cpp b/Source/WebCore/rendering/style/RenderStyle.cpp >index ecd8e7c29dfb4e4c489ea2ecd904c82f8fa35be2..f4b38ddae994258f7d1a82377285d71078e5935e 100644 >--- a/Source/WebCore/rendering/style/RenderStyle.cpp >+++ b/Source/WebCore/rendering/style/RenderStyle.cpp >@@ -663,9 +663,6 @@ bool RenderStyle::changeRequiresLayerRepaint(const RenderStyle* other, unsigned& > #if ENABLE(CSS_COMPOSITING) > if (rareNonInheritedData->m_effectiveBlendMode != other->rareNonInheritedData->m_effectiveBlendMode) > return true; >- >- if (rareNonInheritedData->m_isolation != other->rareNonInheritedData->m_isolation) >- return true; > #endif > > if (rareNonInheritedData->opacity != other->rareNonInheritedData->opacity) { >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index 65c9f7ebbdf9775afa44f536ed02d704515fb6a5..a76ea3b9aa63d7fcc9aab5b1da99fec731c22e6b 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,15 @@ >+2014-05-06 Ion Rosca <rosca@adobe.com> >+ >+ [CSS Blending] Changing isolation CSS property should not trigger repaint in RenderStyle::changeRequiresLayerRepaint >+ https://bugs.webkit.org/show_bug.cgi?id=131436 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * css3/blending/repaint/blend-mode-turn-off-isolation-expected.txt: Added. >+ * css3/blending/repaint/blend-mode-turn-off-isolation-no-effect-expected.txt: Added. >+ * css3/blending/repaint/blend-mode-turn-off-isolation-no-effect.html: Added. >+ * css3/blending/repaint/blend-mode-turn-off-isolation.html: Added. >+ > 2014-05-06 Dirk Schulze <krit@webkit.org> > > [SVG2] Share "on"- event attributes with HTMLElement >diff --git a/LayoutTests/css3/blending/repaint/blend-mode-turn-off-isolation-expected.txt b/LayoutTests/css3/blending/repaint/blend-mode-turn-off-isolation-expected.txt >new file mode 100644 >index 0000000000000000000000000000000000000000..8a4ff04525fc28ff07adc4335f331a661452ee74 >--- /dev/null >+++ b/LayoutTests/css3/blending/repaint/blend-mode-turn-off-isolation-expected.txt >@@ -0,0 +1,6 @@ >+This test checks that removing isolation from an element not being stacking context for other reasons will repaint the blending div. >+ >+(repaint rects >+ (rect 58 68 100 100) >+) >+ >diff --git a/LayoutTests/css3/blending/repaint/blend-mode-turn-off-isolation-no-effect-expected.txt b/LayoutTests/css3/blending/repaint/blend-mode-turn-off-isolation-no-effect-expected.txt >new file mode 100644 >index 0000000000000000000000000000000000000000..7da15ec0ab318fffdd0aa388ddb1652bdf86afda >--- /dev/null >+++ b/LayoutTests/css3/blending/repaint/blend-mode-turn-off-isolation-no-effect-expected.txt >@@ -0,0 +1,3 @@ >+This test checks that removing isolation from an element being stacking context for other reasons will not trigger any repaint. >+ >+ >diff --git a/LayoutTests/css3/blending/repaint/blend-mode-turn-off-isolation-no-effect.html b/LayoutTests/css3/blending/repaint/blend-mode-turn-off-isolation-no-effect.html >new file mode 100644 >index 0000000000000000000000000000000000000000..f9c702e3ed800a4c34e16542a96994a7730be418 >--- /dev/null >+++ b/LayoutTests/css3/blending/repaint/blend-mode-turn-off-isolation-no-effect.html >@@ -0,0 +1,43 @@ >+<!DOCTYPE HTML> >+<html> >+ <head> >+ <style> >+ div { >+ width: 100px; >+ height: 100px; >+ } >+ >+ .stacking-context { >+ position: relative; >+ z-index: 1; >+ } >+ .isolating { >+ -webkit-isolation: isolate; >+ isolation: isolate; >+ } >+ .blending { >+ -webkit-mix-blend-mode: difference; >+ mix-blend-mode: difference; >+ } >+ >+ </style> >+ <script src="../../../fast/repaint/resources/text-based-repaint.js" type="text/javascript"></script> >+ </head> >+ <body> >+ <p>This test checks that removing isolation from an element being stacking context for other reasons will not trigger any repaint.</p> >+ <div id="target" class="stacking-context isolating" style="background-color: #00ff00;"> >+ <div class="blending" style="background-color: #ff00ff; margin-left: 50px;"></div> >+ </div> >+ <script type="text/javascript"> >+ function repaintTest() { >+ var target = document.getElementById("target"); >+ target.className = "stacking-context"; >+ } >+ window.onload = function() { >+ if (window.testRunner) >+ window.testRunner.dumpAsText(true); >+ runRepaintTest(); >+ } >+ </script> >+ </body> >+</html> >diff --git a/LayoutTests/css3/blending/repaint/blend-mode-turn-off-isolation.html b/LayoutTests/css3/blending/repaint/blend-mode-turn-off-isolation.html >new file mode 100644 >index 0000000000000000000000000000000000000000..e645b64a28cb64a0b0ff189a77d59a2166acb3ac >--- /dev/null >+++ b/LayoutTests/css3/blending/repaint/blend-mode-turn-off-isolation.html >@@ -0,0 +1,40 @@ >+<!DOCTYPE HTML> >+<html> >+ <head> >+ <style> >+ div { >+ width: 100px; >+ height: 100px; >+ } >+ >+ .isolating { >+ -webkit-isolation: isolate; >+ isolation: isolate; >+ } >+ >+ .blending { >+ -webkit-mix-blend-mode: difference; >+ mix-blend-mode: difference; >+ } >+ >+ </style> >+ <script src="../../../fast/repaint/resources/text-based-repaint.js" type="text/javascript"></script> >+ </head> >+ <body> >+ <p>This test checks that removing isolation from an element not being stacking context for other reasons will repaint the blending div.</p> >+ <div id="target" class="isolating" style="background-color: #00ff00;"> >+ <div class="blending" style="background-color: #ff00ff; margin-left: 50px;"></div> >+ </div> >+ <script type="text/javascript"> >+ function repaintTest() { >+ var target = document.getElementById("target"); >+ target.className = ""; >+ } >+ window.onload = function() { >+ if (window.testRunner) >+ window.testRunner.dumpAsText(true); >+ runRepaintTest(); >+ } >+ </script> >+ </body> >+</html>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 131436
:
230827
| 230906