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-20140505165529.patch (text/plain), 7.28 KB, created by
Ion Rosca
on 2014-05-05 06:55:52 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Ion Rosca
Created:
2014-05-05 06:55:52 PDT
Size:
7.28 KB
patch
obsolete
>Subversion Revision: 168276 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 5af40fdd247506ea826bc9cc48363a3007714337..adf92654e927566519654d29005716eb5b25b6c4 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,22 @@ >+2014-05-05 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 >+ >+ The isolation:isolate property will create a stacking context. This is done in >+ StyleResolver::adjustRenderStyle when z-index is forced to 0 if it was auto before. >+ If the element is already a stacking context for any other reason, isolation flag >+ will not have any effect. >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Tests: fast/repaint/blend-mode-turn-off-isolation-no-effect.html >+ fast/repaint/blend-mode-turn-off-isolation.html >+ >+ * rendering/style/RenderStyle.cpp: >+ (WebCore::RenderStyle::changeRequiresLayerRepaint): >+ do not return true if isolation has changed. >+ > 2014-05-05 Andrei Bucur <abucur@adobe.com> > > [CSS Regions] ASSERT when hovering over region >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 afd69707acca5f9b3c19ad6a1fd7da888b60dc3f..22cf63d97e432bfbeecd3e8d1951e249c4e9da9f 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,15 @@ >+2014-05-05 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!). >+ >+ * fast/repaint/blend-mode-turn-off-isolation-expected.txt: Added. >+ * fast/repaint/blend-mode-turn-off-isolation-no-effect-expected.txt: Added. >+ * fast/repaint/blend-mode-turn-off-isolation-no-effect.html: Added. >+ * fast/repaint/blend-mode-turn-off-isolation.html: Added. >+ > 2014-05-05 Xabier Rodriguez Calvar <calvaris@igalia.com> > > Unreviewed. New GTK baseline for media/media-controls-clone.html. >diff --git a/LayoutTests/fast/repaint/blend-mode-turn-off-isolation-expected.txt b/LayoutTests/fast/repaint/blend-mode-turn-off-isolation-expected.txt >new file mode 100644 >index 0000000000000000000000000000000000000000..8a4ff04525fc28ff07adc4335f331a661452ee74 >--- /dev/null >+++ b/LayoutTests/fast/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/fast/repaint/blend-mode-turn-off-isolation-no-effect-expected.txt b/LayoutTests/fast/repaint/blend-mode-turn-off-isolation-no-effect-expected.txt >new file mode 100644 >index 0000000000000000000000000000000000000000..7da15ec0ab318fffdd0aa388ddb1652bdf86afda >--- /dev/null >+++ b/LayoutTests/fast/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/fast/repaint/blend-mode-turn-off-isolation-no-effect.html b/LayoutTests/fast/repaint/blend-mode-turn-off-isolation-no-effect.html >new file mode 100644 >index 0000000000000000000000000000000000000000..9e14fc12e7d370d468941502a016252e403e0d12 >--- /dev/null >+++ b/LayoutTests/fast/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="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/fast/repaint/blend-mode-turn-off-isolation.html b/LayoutTests/fast/repaint/blend-mode-turn-off-isolation.html >new file mode 100644 >index 0000000000000000000000000000000000000000..21070e18c8c630726beb0678123688f4a757a50f >--- /dev/null >+++ b/LayoutTests/fast/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="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