New issue
Advanced search Search tips

Issue 723076 link

Starred by 6 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 225863



Sign in to add a comment

[SVG2] Apply stacking context behavior to SVG

Project Member Reported by chrishtr@chromium.org, May 16 2017

Issue description

https://www.w3.org/TR/SVG2/render.html#EstablishingStackingContex

1. <svg>, <foreignObject>, and a few other cases induce stacking
contexts.

2. <foreignObject> is a containing block for all children.

 
Can be implemented I believe with these steps:

1. Add new stacking context rules to ComputedStyle::UpdateIsStackingContext.
2. Update PaintLayer::UpdateLayerPositionsAfterLayout to position <foreignObject>
PaintLayers relative to their containing SVGRoot parent.

Note that this change will mean all LayoutSVGRoot and LayoutSVGForeignObject
objects have PaintLayers.
I just noticed that foreignObject is already a containing block for all descendants:

https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/layout/LayoutBlock.cpp?type=cs&q=setcancontainfixedpositionobjects&sq=package:chromium&l=255

Therefore the only thing to do is apply stacking context behavior.
Labels: -Pri-3 Pri-2
Owner: chrishtr@chromium.org
Status: Assigned (was: Available)
Summary: Apply SVG2 stacking context behavior to SVG (was: Apply SVG2 stacking context and containing block behavior to SVG)

Comment 7 by f...@opera.com, Dec 20 2017

Blocking: 225863
Summary: [SVG2] Apply stacking context behavior to SVG (was: Apply SVG2 stacking context behavior to SVG)
Updates:
Usage data of stacked/positioned objects under SVG foreignObject (also in https://docs.google.com/document/d/1LR5ZlcjVA_jTO00lGvZcrXZVD7Y2EZpaL-6SHzhJyow/edit#):

% of pages containing:
foreignObject: 0.03%
Under foreignObject:
 Stacked: 0.003%
  Stacking context: 0.003%
  Positioned: 0.002%
   Fixed-position: 0%
   Absolute-position: 0%
% of objects:
foreignObject: 0.001%
Under foreignObject:
 Stacked: 0.00001%
 Stacking context: 0.00001%
  Positioned: 0.000001%
  Fixed-position: 0%
  Absolute-position: 0%

Re #c3: Currently we are inconsistent in layout and paint about foreignObject as containing block of all descendants:
- In Layout and PrePaint we treat foreignObject as containing block of all descendants;
- In Paint we don't treat foreignObject as containing block of self-painting descendants because foreignObject itself doesn't have self-painting layer.

See also  bug 640272 ,  bug 771852  and  bug 801384 .
Cc: wangxianzhu@chromium.org
Project Member

Comment 10 by bugdroid1@chromium.org, Mar 21 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2a94373409feaf9794c2489ba9563fe67a8eabbd

commit 2a94373409feaf9794c2489ba9563fe67a8eabbd
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Wed Mar 21 17:30:55 2018

Make <foreignObject> a stacking context.

Intent to ship:

https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/DHSUFGpZafc

Bug: 723076
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I09d422e0fa9888610cfb3a8acfcea6c9f8c8de24
Reviewed-on: https://chromium-review.googlesource.com/831397
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Fredrik Söderquist <fs@opera.com>
Cr-Commit-Position: refs/heads/master@{#544756}
[rename] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/css3/blending/svg-blend-color-expected.txt
[rename] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/css3/blending/svg-blend-hue-expected.txt
[rename] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/css3/blending/svg-blend-luminosity-expected.txt
[rename] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/css3/blending/svg-blend-multiply-alpha-expected.txt
[rename] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/css3/blending/svg-blend-saturation-expected.txt
[rename] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/css3/blending/svg-isolation-foreign-isolation-expected.html
[rename] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/css3/blending/svg-isolation-foreign-isolation.html
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/css3/filters/effect-reference-subregion-nested-expected.txt
[add] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/external/wpt/svg/extensibility/foreignObject/containing-block.html
[add] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/external/wpt/svg/extensibility/foreignObject/stacking-context-expected.html
[add] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/external/wpt/svg/extensibility/foreignObject/stacking-context.html
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/svg/transform-foreign-object-expected.txt
[rename] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/paint/invalidation/svg/repaint-svg-after-style-change-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/paint/invalidation/svg/transform-foreign-object-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/svg/text-rescale-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/svg/zoom-foreignObject-expected.png
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/svg/custom/dominant-baseline-hanging-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/svg/custom/foreign-object-skew-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/svg/custom/use-on-disallowed-foreign-object-1-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/svg/custom/use-on-disallowed-foreign-object-2-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/svg/custom/use-on-disallowed-foreign-object-3-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/svg/custom/use-on-disallowed-foreign-object-4-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/svg/custom/use-on-disallowed-foreign-object-5-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/svg/custom/use-on-disallowed-foreign-object-6-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/svg/custom/use-on-non-svg-namespaced-element-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/svg/foreignObject/no-crash-with-svg-content-in-html-document-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/svg/foreignObject/svg-document-as-direct-child-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/svg/foreignObject/svg-document-in-html-document-expected.txt
[delete] https://crrev.com/13541576c9449333cd478d293bf92fa9c5dbe5d7/third_party/WebKit/LayoutTests/platform/linux/svg/hixie/mixed/005-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/svg/hixie/mixed/006-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/svg/hixie/mixed/008-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/svg/hixie/mixed/009-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/svg/hixie/mixed/011-expected.txt
[delete] https://crrev.com/13541576c9449333cd478d293bf92fa9c5dbe5d7/third_party/WebKit/LayoutTests/platform/linux/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto-expected.txt
[delete] https://crrev.com/13541576c9449333cd478d293bf92fa9c5dbe5d7/third_party/WebKit/LayoutTests/platform/linux/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults-expected.txt
[delete] https://crrev.com/13541576c9449333cd478d293bf92fa9c5dbe5d7/third_party/WebKit/LayoutTests/platform/linux/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden-expected.txt
[delete] https://crrev.com/13541576c9449333cd478d293bf92fa9c5dbe5d7/third_party/WebKit/LayoutTests/platform/linux/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll-expected.txt
[delete] https://crrev.com/13541576c9449333cd478d293bf92fa9c5dbe5d7/third_party/WebKit/LayoutTests/platform/linux/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/svg/text/foreignObject-repaint-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/svg/text/foreignObject-text-clipping-bug-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/svg/zoom/page/zoom-foreignObject-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/svg/zoom/page/zoom-hixie-mixed-009-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/svg/zoom/text/zoom-hixie-mixed-008-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/svg/zoom/text/zoom-hixie-mixed-009-expected.txt
[add] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spv175/paint/invalidation/svg/foreign-object-repaint-expected.png
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spv175/paint/invalidation/svg/zoom-foreignObject-expected.png
[add] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/linux/virtual/spv175/paint/invalidation/svg/transform-foreign-object-expected.txt
[delete] https://crrev.com/13541576c9449333cd478d293bf92fa9c5dbe5d7/third_party/WebKit/LayoutTests/platform/mac-mac10.12/virtual/prefer_compositing_to_lcd_text/compositing/overflow/accelerated-scrolling-with-clip-path-text-expected.txt
[rename] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/css3/filters/effect-reference-subregion-nested-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/text-rescale-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/zoom-foreignObject-expected.png
[rename] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/as-object/svg-embedded-in-html-in-iframe-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/custom/dominant-baseline-hanging-expected.txt
[rename] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/custom/filter-css-transform-resolution-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/custom/foreign-object-skew-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/custom/use-on-disallowed-foreign-object-1-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/custom/use-on-disallowed-foreign-object-2-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/custom/use-on-disallowed-foreign-object-3-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/custom/use-on-disallowed-foreign-object-4-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/custom/use-on-disallowed-foreign-object-5-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/custom/use-on-disallowed-foreign-object-6-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/custom/use-on-non-svg-namespaced-element-expected.txt
[rename] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/filters/feBlend-all-modes-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/foreignObject/fO-parent-display-changes-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/foreignObject/no-crash-with-svg-content-in-html-document-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/foreignObject/svg-document-as-direct-child-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/foreignObject/svg-document-in-html-document-expected.txt
[rename] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/hixie/mixed/004-expected.txt
[copy] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/hixie/mixed/005-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/hixie/mixed/006-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/hixie/mixed/007-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/hixie/mixed/008-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/hixie/mixed/009-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/hixie/mixed/011-expected.txt
[rename] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/stroke/empty-path-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/text/foreignObject-repaint-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/text/foreignObject-text-clipping-bug-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/zoom/page/zoom-foreignObject-expected.png
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/zoom/page/zoom-foreignObject-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/zoom/page/zoom-hixie-mixed-008-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/zoom/page/zoom-hixie-mixed-009-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/text-rescale-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/zoom-foreignObject-expected.png
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/custom/dominant-baseline-hanging-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/custom/foreign-object-skew-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/custom/use-on-disallowed-foreign-object-1-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/custom/use-on-disallowed-foreign-object-2-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/custom/use-on-disallowed-foreign-object-3-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/custom/use-on-disallowed-foreign-object-4-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/custom/use-on-disallowed-foreign-object-5-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/custom/use-on-disallowed-foreign-object-6-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/custom/use-on-non-svg-namespaced-element-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/foreignObject/fO-parent-display-changes-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/foreignObject/no-crash-with-svg-content-in-html-document-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/foreignObject/svg-document-as-direct-child-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/foreignObject/svg-document-in-html-document-expected.txt
[delete] https://crrev.com/13541576c9449333cd478d293bf92fa9c5dbe5d7/third_party/WebKit/LayoutTests/platform/win/svg/hixie/mixed/004-expected.txt
[delete] https://crrev.com/13541576c9449333cd478d293bf92fa9c5dbe5d7/third_party/WebKit/LayoutTests/platform/win/svg/hixie/mixed/005-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/hixie/mixed/006-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/hixie/mixed/007-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/hixie/mixed/008-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/hixie/mixed/009-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/hixie/mixed/011-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/text/foreignObject-repaint-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/text/foreignObject-text-clipping-bug-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/zoom/page/zoom-foreignObject-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/zoom/page/zoom-hixie-mixed-008-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/zoom/page/zoom-hixie-mixed-009-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/zoom/text/zoom-hixie-mixed-008-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/platform/win/svg/zoom/text/zoom-hixie-mixed-009-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/as-object/svg-embedded-in-html-in-iframe-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/custom/display-table-caption-foreignObject-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/custom/display-table-caption-inherit-foreignObject-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/custom/filter-css-transform-resolution-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/custom/foreign-object-skew.svg
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/custom/use-on-use-with-child-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/dom/SVGScriptElement/script-async-attr-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/dom/SVGScriptElement/script-reexecution-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/dom/SVGScriptElement/script-set-href-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/dom/SVGScriptElement/script-type-attribute-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/dom/smil-methods-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/filters/feBlend-all-modes-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/foreignObject/background-render-phase-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/foreignObject/body-background-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/foreignObject/clip-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/foreignObject/disallowed-svg-nodes-as-direct-children-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/foreignObject/filter-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/foreignObject/mask-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/foreignObject/multiple-foreign-objects-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/hixie/mixed/004-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/hixie/mixed/005-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/overflow/overflow-on-foreignObject-expected.txt
[rename] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto-expected.txt
[rename] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults-expected.txt
[rename] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden-expected.txt
[rename] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll-expected.txt
[rename] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/stroke/empty-path-expected.txt
[rename] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/zoom/page/zoom-clip-path-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/zoom/page/zoom-foreign-content-expected.png
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/zoom/page/zoom-foreign-content-expected.txt
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/LayoutTests/svg/zoom/page/zoom-foreign-content.svg
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/Source/core/layout/svg/LayoutSVGBlock.cpp
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/Source/core/layout/svg/LayoutSVGBlock.h
[modify] https://crrev.com/2a94373409feaf9794c2489ba9563fe67a8eabbd/third_party/WebKit/Source/core/layout/svg/LayoutSVGForeignObject.cpp
[
Project Member

Comment 11 by bugdroid1@chromium.org, Jun 29 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2b81eb8cd6530264e83f1b0e0debacbb369b0d0c

commit 2b81eb8cd6530264e83f1b0e0debacbb369b0d0c
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Fri Jun 29 22:17:45 2018

[PE] Enable subsequence caching for all SVG.

Now that <foreignObject> is a stacking context, all content will paint
atomically.

Bug: 723076

Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I37b72bfd5446393771d13156867b205e9b2ab58d
Reviewed-on: https://chromium-review.googlesource.com/1121103
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571673}
[modify] https://crrev.com/2b81eb8cd6530264e83f1b0e0debacbb369b0d0c/third_party/blink/renderer/core/paint/paint_layer.cc
[modify] https://crrev.com/2b81eb8cd6530264e83f1b0e0debacbb369b0d0c/third_party/blink/renderer/core/paint/paint_layer_test.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Jun 29 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f320fa260e5b63576cb633cc0fdb746bc581d4fa

commit f320fa260e5b63576cb633cc0fdb746bc581d4fa
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Fri Jun 29 22:23:03 2018

Revert "[PE] Enable subsequence caching for all SVG."

This reverts commit 2b81eb8cd6530264e83f1b0e0debacbb369b0d0c.

Reason for revert: not ready to land, there is a bug.

Original change's description:
> [PE] Enable subsequence caching for all SVG.
> 
> Now that <foreignObject> is a stacking context, all content will paint
> atomically.
> 
> Bug: 723076
> 
> Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
> Change-Id: I37b72bfd5446393771d13156867b205e9b2ab58d
> Reviewed-on: https://chromium-review.googlesource.com/1121103
> Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
> Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#571673}

TBR=wangxianzhu@chromium.org,chrishtr@chromium.org

Change-Id: Id3c71e397c51d3fe0754e57af0fd6fdcf43d26bb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 723076
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Reviewed-on: https://chromium-review.googlesource.com/1121157
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571676}
[modify] https://crrev.com/f320fa260e5b63576cb633cc0fdb746bc581d4fa/third_party/blink/renderer/core/paint/paint_layer.cc
[modify] https://crrev.com/f320fa260e5b63576cb633cc0fdb746bc581d4fa/third_party/blink/renderer/core/paint/paint_layer_test.cc

Project Member

Comment 13 by bugdroid1@chromium.org, Jul 4

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5c301712a67bbe70026048a224b4608628199e12

commit 5c301712a67bbe70026048a224b4608628199e12
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Wed Jul 04 01:20:53 2018

Fix CompositingContainer for replaced normal-flow stacking contexts.

For such PaintLayers, the CompositingContainer is the parent, not the
containing stacking context. This is because such stacking contexts
paint during the normal-flow of the ancestor layout object.

This also allows us to enable subsequence caching; the previous attempt
last week was still suffering from the under-invalidation reported
in  issue 859520 .

The testcases that crash on ASAN from the referenced bugs are fixed;
one such example is included in this CL.

Bug:859294, 719835 ,723076, 859520 

Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I6ab5271d70bd834482c22b89f09b93907788ed0c
Reviewed-on: https://chromium-review.googlesource.com/1125269
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572428}
[add] https://crrev.com/5c301712a67bbe70026048a224b4608628199e12/third_party/WebKit/LayoutTests/svg/foreignObject/foreignObject-position-crash.html
[modify] https://crrev.com/5c301712a67bbe70026048a224b4608628199e12/third_party/blink/renderer/core/paint/compositing/graphics_layer_updater.cc
[modify] https://crrev.com/5c301712a67bbe70026048a224b4608628199e12/third_party/blink/renderer/core/paint/paint_invalidator.cc
[modify] https://crrev.com/5c301712a67bbe70026048a224b4608628199e12/third_party/blink/renderer/core/paint/paint_layer.cc
[modify] https://crrev.com/5c301712a67bbe70026048a224b4608628199e12/third_party/blink/renderer/core/paint/paint_layer.h
[modify] https://crrev.com/5c301712a67bbe70026048a224b4608628199e12/third_party/blink/renderer/core/paint/paint_layer_test.cc

Status: Fixed (was: Assigned)
Labels: -Pri-2 Pri-3
Owner: ----
Status: Available (was: Fixed)
I've fixed it for <foreignObject>. Leaving open for future work on <svg> and
other elements.

Sign in to add a comment