haikuwebkit/LayoutTests/css3/blending/isolation-isolate-blended-c...

8 lines
267 B
HTML
Raw Permalink Normal View History

[CSS Blending] Parse and implement the -webkit-isolation CSS property. https://bugs.webkit.org/show_bug.cgi?id=128958 Patch by Mihai Tica <mitica@adobe.com> on 2014-02-27 Reviewed by Dirk Schulze. Source/WebCore: Parse and implement -webkit-isolation, part of the CSS Blending and Compositing spec. This patch adds functionality for HTML and SVG. -webkit-isolation: isolate restricts any child elements from blending with any of the content outside the isolated parent element. Tests: css3/compositing/isolation-isolate-blended-child.html css3/compositing/isolation-parsing.html css3/compositing/svg-isolation-default.html css3/compositing/svg-isolation-isolated-group.html css3/compositing/svg-isolation-simple.html * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::propertyValue): * css/CSSParser.cpp: (WebCore::isValidKeywordPropertyAndValue): (WebCore::isKeywordPropertyID): (WebCore::CSSParser::parseValue): * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator Isolation): * css/CSSPropertyNames.in: Add -webkit-isolation. * css/CSSValueKeywords.in: Add the isolate value. * css/DeprecatedStyleBuilder.cpp: (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): * css/StyleResolver.cpp: (WebCore::StyleResolver::adjustRenderStyle): Explicitly set isolation:isolate to create a stacking context. * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::changeRequiresLayerRepaint): Changing isolation should trigger a repaint. * rendering/style/RenderStyle.h: Setters and getters for isolation. * rendering/style/RenderStyleConstants.h: Add Isolation enum. * rendering/style/StyleRareNonInheritedData.cpp: Add m_isolation. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): (WebCore::StyleRareNonInheritedData::operator==): * rendering/style/StyleRareNonInheritedData.h: * rendering/svg/SVGRenderingContext.cpp: (WebCore::SVGRenderingContext::prepareToRenderSVGContent): If isolated, paint in a transparency layer. LayoutTests: Test parsing of -webkit-isolation. Test if setting -webkit-isolation: isolate creats a stacking context. Test for SVG and HTML that blending is restricted to the contents of an isolated parent element. * css3/compositing/isolation-isolate-blended-child-expected.html: Added. * css3/compositing/isolation-isolate-blended-child.html: Added. * css3/compositing/isolation-isolate-simple-expected.txt: Added. * css3/compositing/isolation-parsing-expected.txt: Added. * css3/compositing/isolation-parsing.html: Added. * css3/compositing/svg-isolation-default-expected.html: Added. * css3/compositing/svg-isolation-default.html: Added. * css3/compositing/svg-isolation-isolated-group-expected.html: Added. * css3/compositing/svg-isolation-isolated-group.html: Added. * css3/compositing/svg-isolation-simple-expected.html: Added. * css3/compositing/svg-isolation-simple.html: Added. Canonical link: https://commits.webkit.org/147486@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-02-27 13:15:25 +00:00
<!DOCTYPE HTML>
[CSS Blending] Cleanup tests in css3/blending https://bugs.webkit.org/show_bug.cgi?id=132600 Reviewed by Mihnea Ovidenie. Summary of changes: - move common stylesheet classes to blending-style.css. - remove trailing white spaces. - replace tabs with spaces. - remove the 'html' tags for consistency with the most of blending tests. This patch does not change the txt and png test expectations. * css3/blending/background-blend-mode-background-attachement-fixed-expected.html: * css3/blending/background-blend-mode-background-attachement-fixed.html: * css3/blending/background-blend-mode-background-clip-content-box-expected.html: * css3/blending/background-blend-mode-background-clip-content-box.html: * css3/blending/background-blend-mode-background-clip-padding-box-expected.html: * css3/blending/background-blend-mode-background-clip-padding-box.html: * css3/blending/background-blend-mode-background-origin-border-box-expected.html: * css3/blending/background-blend-mode-background-origin-border-box.html: * css3/blending/background-blend-mode-background-position-percentage-expected.html: * css3/blending/background-blend-mode-background-position-percentage.html: * css3/blending/background-blend-mode-background-repeat-no-repeat-expected.html: * css3/blending/background-blend-mode-background-repeat-no-repeat.html: * css3/blending/background-blend-mode-background-size-contain-expected.html: * css3/blending/background-blend-mode-background-size-contain.html: * css3/blending/background-blend-mode-background-size-cover-expected.html: * css3/blending/background-blend-mode-background-size-cover.html: * css3/blending/background-blend-mode-body-image-expected.html: * css3/blending/background-blend-mode-body-image.html: * css3/blending/background-blend-mode-body-transparent-color-and-image-expected.html: * css3/blending/background-blend-mode-body-transparent-color-and-image.html: * css3/blending/background-blend-mode-body-transparent-image-expected.html: * css3/blending/background-blend-mode-body-transparent-image.html: * css3/blending/background-blend-mode-crossfade-image-expected.html: * css3/blending/background-blend-mode-crossfade-image.html: * css3/blending/background-blend-mode-data-uri-svg-image-expected.html: * css3/blending/background-blend-mode-data-uri-svg-image.html: * css3/blending/background-blend-mode-default-value.html: * css3/blending/background-blend-mode-different-image-formats.html: * css3/blending/background-blend-mode-gif-color-2.html: * css3/blending/background-blend-mode-gif-color.html: * css3/blending/background-blend-mode-gradient-color.html: * css3/blending/background-blend-mode-gradient-gradient.html: * css3/blending/background-blend-mode-gradient-image.html: * css3/blending/background-blend-mode-image-color-dynamic-expected.html: * css3/blending/background-blend-mode-image-color-dynamic.html: * css3/blending/background-blend-mode-image-color.html: * css3/blending/background-blend-mode-image-image.html: * css3/blending/background-blend-mode-image-svg.html: * css3/blending/background-blend-mode-multiple-background-layers.html: * css3/blending/background-blend-mode-separate-layer-declaration-expected.html: * css3/blending/background-blend-mode-separate-layer-declaration.html: * css3/blending/background-blend-mode-single-layer-no-blending.html: * css3/blending/background-blend-mode-svg-color.html: * css3/blending/background-blend-mode-svg-expected.html: * css3/blending/background-blend-mode-svg.html: * css3/blending/background-blend-mode-tiled-layers.html: * css3/blending/blend-mode-accelerated-parent-overflow-hidden-expected.html: * css3/blending/blend-mode-accelerated-parent-overflow-hidden.html: * css3/blending/blend-mode-accelerated-with-multiple-stacking-contexts.html: * css3/blending/blend-mode-ancestor-clipping-layer.html: * css3/blending/blend-mode-background.html: * css3/blending/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html: * css3/blending/blend-mode-body-child-background-color-expected.html: * css3/blending/blend-mode-body-child-background-color.html: * css3/blending/blend-mode-body-child-isolate-background-color-expected.html: * css3/blending/blend-mode-body-child-isolate-background-color.html: * css3/blending/blend-mode-body-child-isolate-html-background-color-expected.html: * css3/blending/blend-mode-body-child-isolate-html-background-color.html: * css3/blending/blend-mode-body-child.html: * css3/blending/blend-mode-body-element-expected.html: * css3/blending/blend-mode-body-element.html: * css3/blending/blend-mode-clip-accelerated-blending-canvas.html: * css3/blending/blend-mode-clip-accelerated-blending-child-expected.html: * css3/blending/blend-mode-clip-accelerated-blending-child.html: * css3/blending/blend-mode-clip-accelerated-blending-double-expected.html: * css3/blending/blend-mode-clip-accelerated-blending-double.html: * css3/blending/blend-mode-clip-accelerated-blending-with-siblings-expected.html: * css3/blending/blend-mode-clip-accelerated-blending-with-siblings.html: * css3/blending/blend-mode-clip-accelerated-transformed-blending-expected.html: * css3/blending/blend-mode-clip-accelerated-transformed-blending.html: * css3/blending/blend-mode-clip-rect-accelerated-blending-expected.html: * css3/blending/blend-mode-clip-rect-accelerated-blending.html: * css3/blending/blend-mode-html-element-screen.html: * css3/blending/blend-mode-isolated-group-1.html: * css3/blending/blend-mode-isolated-group-2.html: * css3/blending/blend-mode-isolated-group-3.html: * css3/blending/blend-mode-isolation-accelerated-overflow-hidden.html: * css3/blending/blend-mode-isolation-flags-append-non-stacking-context-blending.html: * css3/blending/blend-mode-isolation-flags-append-stacking-context-blending.html: * css3/blending/blend-mode-isolation-flags-remove-non-stacking-context-blending.html: * css3/blending/blend-mode-isolation-flags-remove-stacking-context-blending.html: * css3/blending/blend-mode-isolation-flags-turn-off-blending-no-isolation.html: * css3/blending/blend-mode-isolation-flags-turn-off-blending.html: * css3/blending/blend-mode-isolation-flags-turn-off-stacking-context.html: * css3/blending/blend-mode-isolation-flags-turn-on-blending.html: * css3/blending/blend-mode-isolation-flags-turn-on-stacking-context.html: * css3/blending/blend-mode-isolation-overflow-hidden-expected.html: * css3/blending/blend-mode-isolation-overflow-hidden.html: * css3/blending/blend-mode-isolation-turn-off-self-painting-layer.html: * css3/blending/blend-mode-isolation-turn-off-self-painting-layer1.html: * css3/blending/blend-mode-isolation-turn-off-self-painting-layer2.html: * css3/blending/blend-mode-isolation-turn-on-self-painting-layer.html: * css3/blending/blend-mode-layers.html: * css3/blending/blend-mode-overflow.html: * css3/blending/blend-mode-parent-of-composited-blended-has-layer.html: * css3/blending/blend-mode-reflection.html: * css3/blending/blend-mode-simple-composited.html: * css3/blending/blend-mode-transform-style.html: * css3/blending/blend-mode-with-accelerated-sibling.html: * css3/blending/blend-mode-with-body-expected.html: * css3/blending/blend-mode-with-body.html: * css3/blending/blend-mode-with-composited-descendant-should-have-layer.html: * css3/blending/effect-background-blend-mode-stacking.html: * css3/blending/isolation-isolate-blended-child-expected.html: * css3/blending/isolation-isolate-blended-child.html: * css3/blending/repaint/blend-mode-isolate-stacking-context.html: * css3/blending/repaint/blend-mode-turn-off-isolation-no-effect.html: * css3/blending/repaint/blend-mode-turn-off-isolation.html: * css3/blending/resources/blending-style.css: Added. This file contains classes shared by multiple blending tests. * css3/blending/resources/dump-layer-tree.js: Added. * css3/blending/script-tests/background-blend-mode-property-parsing.js: * css3/blending/script-tests/blend-mode-property-parsing-invalid.js: * css3/blending/script-tests/blend-mode-property-parsing.js: Canonical link: https://commits.webkit.org/153013@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@171295 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-07-21 08:26:37 +00:00
<link rel="stylesheet" href="resources/blending-style.css">
<div class="gray7 bigbox">
<div class="stacking-context yellow box" style="margin-left: 30px;">
<div class="aqua box multiply" style="margin-left: 30px;"></div>
</div>
</div>