New issue
Advanced search Search tips

Issue 842668 link

Starred by 8 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
Components:
EstimatedDays: ----
NextAction: 2018-05-21
OS: Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

foreignObject displays/hit tests on top of all other SVG content regardless of element order

Reported by d...@moqups.com, May 14 2018

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Firefox/60.0

Steps to reproduce the problem:
Open the simplified test case.

What is the expected behavior?
The <foreignObject> content should be displayed underneath the red rectangle.

What went wrong?
Instead, it's displayed above it, and z-index does not work to fix the issue.

Did this work before? Yes 66

Does this work in other browsers? Yes

Chrome version: ersion 68.0.3430.0 (Official Build) canary (64-bit)  Channel: canary
OS Version: OS X 10.13
Flash Version:
 
fo.html
312 bytes View Download
Screen Shot 2018-05-14 at 15.25.28.png
14.1 KB View Download

Comment 1 by d...@moqups.com, May 14 2018

This breaks our application: https://app.moqups.com
On the feature page https://www.chromestatus.com/feature/5663772639232000 it's mentioned that "Gecko and Edge already implement this behavior" and furthermore here: https://groups.google.com/a/chromium.org/d/msg/blink-dev/DHSUFGpZafc/T9Brw_TGCQAJ it says:

"Further, since Edge and Gecko both have the proposed stacking context behavior, any such site is broken in those browsers already."

However, the app is not broken in either of them, but it is in Chrome 67+
Labels: RegressedIn-67 M-67 Target-67 FoundIn-67 FoundIn-68
Owner: chrishtr@chromium.org
Status: Assigned (was: Unconfirmed)
Labels: -Pri-2 ReleaseBlock-Stable Pri-1
Investigating options now.
Summary: foreignObject displays/hit tests on top of all other SVG content regardless of element order (was: foreignObject displays on top of all other SVG content regardless of element order)

Comment 5 by gov...@chromium.org, May 16 2018

M67 Stable promotion is coming soon. Your bug is labelled as Stable ReleaseBlock, pls make sure to land the fix and request a merge into the release branch ASAP. 

If fix is ready to be merged by Monday 4:00 PM PT, we can take it in for next week last M67 beta release. Thank you.
Project Member

Comment 6 by bugdroid1@chromium.org, May 17 2018

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

commit 02a5799e0e02d7e7274d78833f897c81ae2cc434
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Thu May 17 02:44:59 2018

[ForeignObject] Paint foreign objects during the foreground phase of normal-flow
descendants.

When <foreignObject> was made a stacking context, it also had the side-effect of
painting it at the same time as positioned elements. This is a change to painting
order and caused a regression. Instead, implement a new mechanism by which a
"replaced normal-flow stacking" element paints during the foreground phase
of the LayoutObject paint tree walk.

This is used for now just for <foreignObject>, but may be applied to other
replaced elements such as iframes or embedded objects in the future.

Bug:842668

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I450944986abfb6610084444abf2724e7406145cf
Reviewed-on: https://chromium-review.googlesource.com/1060333
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Tien-Ren Chen <trchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#559401}
[add] https://crrev.com/02a5799e0e02d7e7274d78833f897c81ae2cc434/third_party/WebKit/LayoutTests/external/wpt/svg/extensibility/foreignObject/foreign-object-paints-before-rect-expected.html
[add] https://crrev.com/02a5799e0e02d7e7274d78833f897c81ae2cc434/third_party/WebKit/LayoutTests/external/wpt/svg/extensibility/foreignObject/foreign-object-paints-before-rect.html
[modify] https://crrev.com/02a5799e0e02d7e7274d78833f897c81ae2cc434/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/svg/transform-foreign-object-expected.txt
[modify] https://crrev.com/02a5799e0e02d7e7274d78833f897c81ae2cc434/third_party/WebKit/LayoutTests/paint/invalidation/svg/transform-foreign-object-expected.txt
[modify] https://crrev.com/02a5799e0e02d7e7274d78833f897c81ae2cc434/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/svg/zoom-foreignObject-expected.png
[modify] https://crrev.com/02a5799e0e02d7e7274d78833f897c81ae2cc434/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/zoom-foreignObject-expected.png
[modify] https://crrev.com/02a5799e0e02d7e7274d78833f897c81ae2cc434/third_party/WebKit/LayoutTests/platform/mac/svg/zoom/page/zoom-foreignObject-expected.png
[modify] https://crrev.com/02a5799e0e02d7e7274d78833f897c81ae2cc434/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/zoom-foreignObject-expected.png
[add] https://crrev.com/02a5799e0e02d7e7274d78833f897c81ae2cc434/third_party/WebKit/LayoutTests/platform/win7/paint/invalidation/svg/zoom-foreignObject-expected.png
[modify] https://crrev.com/02a5799e0e02d7e7274d78833f897c81ae2cc434/third_party/blink/renderer/core/layout/svg/layout_svg_foreign_object.h
[modify] https://crrev.com/02a5799e0e02d7e7274d78833f897c81ae2cc434/third_party/blink/renderer/core/paint/README.md
[modify] https://crrev.com/02a5799e0e02d7e7274d78833f897c81ae2cc434/third_party/blink/renderer/core/paint/box_painter.cc
[modify] https://crrev.com/02a5799e0e02d7e7274d78833f897c81ae2cc434/third_party/blink/renderer/core/paint/paint_layer_painter.cc
[modify] https://crrev.com/02a5799e0e02d7e7274d78833f897c81ae2cc434/third_party/blink/renderer/core/paint/svg_container_painter.cc
[modify] https://crrev.com/02a5799e0e02d7e7274d78833f897c81ae2cc434/third_party/blink/renderer/core/paint/svg_foreign_object_painter.cc
[modify] https://crrev.com/02a5799e0e02d7e7274d78833f897c81ae2cc434/third_party/blink/renderer/core/paint/svg_foreign_object_painter.h
[modify] https://crrev.com/02a5799e0e02d7e7274d78833f897c81ae2cc434/third_party/blink/renderer/platform/graphics/paint/cull_rect.h

Project Member

Comment 7 by bugdroid1@chromium.org, May 17 2018

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

commit c9bd830453b2fb8dd5ac8f1a99ca01e3ead52df8
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Thu May 17 12:13:04 2018

Revert "[ForeignObject] Paint foreign objects during the foreground phase of normal-flow"

This reverts commit 02a5799e0e02d7e7274d78833f897c81ae2cc434.

Reason for revert: Consistent failure of zoom-foreignObject.svg test on Windows 7.

See list:
https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Win7/


Original change's description:
> [ForeignObject] Paint foreign objects during the foreground phase of normal-flow
> descendants.
> 
> When <foreignObject> was made a stacking context, it also had the side-effect of
> painting it at the same time as positioned elements. This is a change to painting
> order and caused a regression. Instead, implement a new mechanism by which a
> "replaced normal-flow stacking" element paints during the foreground phase
> of the LayoutObject paint tree walk.
> 
> This is used for now just for <foreignObject>, but may be applied to other
> replaced elements such as iframes or embedded objects in the future.
> 
> Bug:842668
> 
> Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
> Change-Id: I450944986abfb6610084444abf2724e7406145cf
> Reviewed-on: https://chromium-review.googlesource.com/1060333
> Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
> Reviewed-by: Tien-Ren Chen <trchen@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#559401}

TBR=trchen@chromium.org,pdr@chromium.org,chrishtr@chromium.org

Change-Id: I6742e134dae28a31bcb80fd13eccbc83d03ef332
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  842668 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Reviewed-on: https://chromium-review.googlesource.com/1064150
Reviewed-by: Finnur Thorarinsson <finnur@chromium.org>
Commit-Queue: Finnur Thorarinsson <finnur@chromium.org>
Cr-Commit-Position: refs/heads/master@{#559496}
[delete] https://crrev.com/e952fd3e13420f487cc512c01528a6bf93121cca/third_party/WebKit/LayoutTests/external/wpt/svg/extensibility/foreignObject/foreign-object-paints-before-rect-expected.html
[delete] https://crrev.com/e952fd3e13420f487cc512c01528a6bf93121cca/third_party/WebKit/LayoutTests/external/wpt/svg/extensibility/foreignObject/foreign-object-paints-before-rect.html
[modify] https://crrev.com/c9bd830453b2fb8dd5ac8f1a99ca01e3ead52df8/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/svg/transform-foreign-object-expected.txt
[modify] https://crrev.com/c9bd830453b2fb8dd5ac8f1a99ca01e3ead52df8/third_party/WebKit/LayoutTests/paint/invalidation/svg/transform-foreign-object-expected.txt
[modify] https://crrev.com/c9bd830453b2fb8dd5ac8f1a99ca01e3ead52df8/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/svg/zoom-foreignObject-expected.png
[modify] https://crrev.com/c9bd830453b2fb8dd5ac8f1a99ca01e3ead52df8/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/zoom-foreignObject-expected.png
[modify] https://crrev.com/c9bd830453b2fb8dd5ac8f1a99ca01e3ead52df8/third_party/WebKit/LayoutTests/platform/mac/svg/zoom/page/zoom-foreignObject-expected.png
[modify] https://crrev.com/c9bd830453b2fb8dd5ac8f1a99ca01e3ead52df8/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/zoom-foreignObject-expected.png
[delete] https://crrev.com/e952fd3e13420f487cc512c01528a6bf93121cca/third_party/WebKit/LayoutTests/platform/win7/paint/invalidation/svg/zoom-foreignObject-expected.png
[modify] https://crrev.com/c9bd830453b2fb8dd5ac8f1a99ca01e3ead52df8/third_party/blink/renderer/core/layout/svg/layout_svg_foreign_object.h
[modify] https://crrev.com/c9bd830453b2fb8dd5ac8f1a99ca01e3ead52df8/third_party/blink/renderer/core/paint/README.md
[modify] https://crrev.com/c9bd830453b2fb8dd5ac8f1a99ca01e3ead52df8/third_party/blink/renderer/core/paint/box_painter.cc
[modify] https://crrev.com/c9bd830453b2fb8dd5ac8f1a99ca01e3ead52df8/third_party/blink/renderer/core/paint/paint_layer_painter.cc
[modify] https://crrev.com/c9bd830453b2fb8dd5ac8f1a99ca01e3ead52df8/third_party/blink/renderer/core/paint/svg_container_painter.cc
[modify] https://crrev.com/c9bd830453b2fb8dd5ac8f1a99ca01e3ead52df8/third_party/blink/renderer/core/paint/svg_foreign_object_painter.cc
[modify] https://crrev.com/c9bd830453b2fb8dd5ac8f1a99ca01e3ead52df8/third_party/blink/renderer/core/paint/svg_foreign_object_painter.h
[modify] https://crrev.com/c9bd830453b2fb8dd5ac8f1a99ca01e3ead52df8/third_party/blink/renderer/platform/graphics/paint/cull_rect.h

Project Member

Comment 8 by bugdroid1@chromium.org, May 17 2018

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

commit 9aad3d0744f18ac3179315266a44b82087860cc6
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Thu May 17 22:09:13 2018

Re-land: [ForeignObject] Paint foreign objects during the foreground phase of normal-flow

This reverts commit c9bd830453b2fb8dd5ac8f1a99ca01e3ead52df8.

TBR=pdr@chromium.org

Bug:  842668 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I0a81342c4d545c41af1ce48d442c26dd89f34902
Reviewed-on: https://chromium-review.googlesource.com/1064732
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#559702}
[modify] https://crrev.com/9aad3d0744f18ac3179315266a44b82087860cc6/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/9aad3d0744f18ac3179315266a44b82087860cc6/third_party/WebKit/LayoutTests/external/wpt/svg/extensibility/foreignObject/foreign-object-paints-before-rect-expected.html
[add] https://crrev.com/9aad3d0744f18ac3179315266a44b82087860cc6/third_party/WebKit/LayoutTests/external/wpt/svg/extensibility/foreignObject/foreign-object-paints-before-rect.html
[modify] https://crrev.com/9aad3d0744f18ac3179315266a44b82087860cc6/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/svg/transform-foreign-object-expected.txt
[modify] https://crrev.com/9aad3d0744f18ac3179315266a44b82087860cc6/third_party/WebKit/LayoutTests/paint/invalidation/svg/transform-foreign-object-expected.txt
[modify] https://crrev.com/9aad3d0744f18ac3179315266a44b82087860cc6/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/svg/zoom-foreignObject-expected.png
[modify] https://crrev.com/9aad3d0744f18ac3179315266a44b82087860cc6/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/zoom-foreignObject-expected.png
[modify] https://crrev.com/9aad3d0744f18ac3179315266a44b82087860cc6/third_party/WebKit/LayoutTests/platform/mac/svg/zoom/page/zoom-foreignObject-expected.png
[modify] https://crrev.com/9aad3d0744f18ac3179315266a44b82087860cc6/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/zoom-foreignObject-expected.png
[add] https://crrev.com/9aad3d0744f18ac3179315266a44b82087860cc6/third_party/WebKit/LayoutTests/platform/win7/paint/invalidation/svg/zoom-foreignObject-expected.png
[modify] https://crrev.com/9aad3d0744f18ac3179315266a44b82087860cc6/third_party/blink/renderer/core/layout/svg/layout_svg_foreign_object.h
[modify] https://crrev.com/9aad3d0744f18ac3179315266a44b82087860cc6/third_party/blink/renderer/core/paint/README.md
[modify] https://crrev.com/9aad3d0744f18ac3179315266a44b82087860cc6/third_party/blink/renderer/core/paint/box_painter.cc
[modify] https://crrev.com/9aad3d0744f18ac3179315266a44b82087860cc6/third_party/blink/renderer/core/paint/paint_layer_painter.cc
[modify] https://crrev.com/9aad3d0744f18ac3179315266a44b82087860cc6/third_party/blink/renderer/core/paint/svg_container_painter.cc
[modify] https://crrev.com/9aad3d0744f18ac3179315266a44b82087860cc6/third_party/blink/renderer/core/paint/svg_foreign_object_painter.cc
[modify] https://crrev.com/9aad3d0744f18ac3179315266a44b82087860cc6/third_party/blink/renderer/core/paint/svg_foreign_object_painter.h
[modify] https://crrev.com/9aad3d0744f18ac3179315266a44b82087860cc6/third_party/blink/renderer/platform/graphics/paint/cull_rect.h

Project Member

Comment 9 by bugdroid1@chromium.org, May 18 2018

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

commit c183d574e98671f43fab8445c6904d28065a64a5
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Fri May 18 00:31:57 2018

[ForeignObject] Hit test foreignObject PaintLayers during normal flow tree walk

Similar to https://chromium-review.googlesource.com/c/chromium/src/+/1060333,
hit testing needs to look at content under <foreignObject> during normal-flow
painting.

This CL also includes a revert of some of the code in these CLs:
https://chromium-review.googlesource.com/c/chromium/src/+/974568
https://chromium-review.googlesource.com/c/chromium/src/+/1055788

Tests were left, as was code in GeometryMapper, which may have other applications
in optimizing hit testing elsewhere.

Bug:842668

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: Iba38221cd47db4eb146b6c556ce76c9205785ea1
Reviewed-on: https://chromium-review.googlesource.com/1062960
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Tien-Ren Chen <trchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#559752}
[modify] https://crrev.com/c183d574e98671f43fab8445c6904d28065a64a5/third_party/blink/renderer/core/layout/layout_object.cc
[modify] https://crrev.com/c183d574e98671f43fab8445c6904d28065a64a5/third_party/blink/renderer/core/layout/layout_object.h
[modify] https://crrev.com/c183d574e98671f43fab8445c6904d28065a64a5/third_party/blink/renderer/core/layout/svg/layout_svg_container.cc
[modify] https://crrev.com/c183d574e98671f43fab8445c6904d28065a64a5/third_party/blink/renderer/core/layout/svg/layout_svg_foreign_object.cc
[modify] https://crrev.com/c183d574e98671f43fab8445c6904d28065a64a5/third_party/blink/renderer/core/layout/svg/layout_svg_foreign_object.h
[modify] https://crrev.com/c183d574e98671f43fab8445c6904d28065a64a5/third_party/blink/renderer/core/layout/svg/layout_svg_root.cc
[modify] https://crrev.com/c183d574e98671f43fab8445c6904d28065a64a5/third_party/blink/renderer/core/layout/svg/svg_layout_support.cc
[modify] https://crrev.com/c183d574e98671f43fab8445c6904d28065a64a5/third_party/blink/renderer/core/layout/svg/svg_layout_support.h
[modify] https://crrev.com/c183d574e98671f43fab8445c6904d28065a64a5/third_party/blink/renderer/core/paint/paint_layer.cc
[modify] https://crrev.com/c183d574e98671f43fab8445c6904d28065a64a5/third_party/blink/renderer/core/paint/paint_layer.h
[modify] https://crrev.com/c183d574e98671f43fab8445c6904d28065a64a5/third_party/blink/renderer/core/paint/paint_layer_painter.cc

NextAction: 2018-05-18
Seems like latest canary #68.0.3434.0 (currently building) includes CLs listed at #8 & #9. Pls update bug with canary result tomorrow. Thank you.
Labels: TE-Verified-M68 TE-Verified-68.0.3434.0
Verified the fix on Mac 10.13.1 using Chrome version #68.0.3434.0 as per the comment #0.
Attaching screen shot for reference.
Observed that content is displayed underneath the red rectangle.
Hence, the fix is working as expected. 
Adding the verified labels.
Note: Able to reproduce the issue on chrome version 68.0.3430.0.

Thanks...!!



842668 CL Verif.png
199 KB View Download
The NextAction date has arrived: 2018-05-18

Comment 13 by d...@moqups.com, May 18 2018

Thank you for looking at this! While it fixes the attached test case, in our real-world example it's still broken. I'm attaching a new test case that demonstrates the behavior when the SVG is nested into a DIV with overflow: auto

Please let me know if I should open an additional issue for this!
fo2.html
494 bytes View Download
Re #13: this is an instance of a problem that has existed already in previous Chrome versions, having
to do with the interaction of paint order and compositing.

For example, if you change the <p>Hello world</p> code to <div style="position: relative">Hello</div>
then it would paint incorrectly, just like fo2.html does on your computer, even with Chrome 66. Note that
this only happens if compositing triggers, which in your case happens because you are using a Retina
Mac which has a high-DPI screen.

Labels: Merge-Request-67
Requesting merge of commits in comments 8 and 9. Results have been verified on Canary.

Comment 13 is a separate issue.
Labels: -Merge-Request-67 Merge-Approved-67
NextAction: 2018-05-21
Approving merge to M67 branch 3396 based on comment #15. Pls merge it on Monday morning after canary coverage over the weekend and mark bug as fixed. Thank you.
The bug reported in #13 is being tracked in  issue 844538 .
Project Member

Comment 18 by bugdroid1@chromium.org, May 18 2018

Labels: -merge-approved-67 merge-merged-3396
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/93af02c7e794220d52376ab1b461b4d9089ef479

commit 93af02c7e794220d52376ab1b461b4d9089ef479
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Fri May 18 18:21:24 2018

Re-land: [ForeignObject] Paint foreign objects during the foreground phase of normal-flow

This reverts commit c9bd830453b2fb8dd5ac8f1a99ca01e3ead52df8.

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

(cherry picked from commit 9aad3d0744f18ac3179315266a44b82087860cc6)

Bug:  842668 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I0a81342c4d545c41af1ce48d442c26dd89f34902
Reviewed-on: https://chromium-review.googlesource.com/1064732
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#559702}
Reviewed-on: https://chromium-review.googlesource.com/1066452
Cr-Commit-Position: refs/branch-heads/3396@{#644}
Cr-Branched-From: 9ef2aa869bc7bc0c089e255d698cca6e47d6b038-refs/heads/master@{#550428}
[add] https://crrev.com/93af02c7e794220d52376ab1b461b4d9089ef479/third_party/WebKit/LayoutTests/external/wpt/svg/extensibility/foreignObject/foreign-object-paints-before-rect-expected.html
[add] https://crrev.com/93af02c7e794220d52376ab1b461b4d9089ef479/third_party/WebKit/LayoutTests/external/wpt/svg/extensibility/foreignObject/foreign-object-paints-before-rect.html
[modify] https://crrev.com/93af02c7e794220d52376ab1b461b4d9089ef479/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/svg/transform-foreign-object-expected.txt
[modify] https://crrev.com/93af02c7e794220d52376ab1b461b4d9089ef479/third_party/WebKit/LayoutTests/paint/invalidation/svg/transform-foreign-object-expected.txt
[modify] https://crrev.com/93af02c7e794220d52376ab1b461b4d9089ef479/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/svg/zoom-foreignObject-expected.png
[modify] https://crrev.com/93af02c7e794220d52376ab1b461b4d9089ef479/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/zoom-foreignObject-expected.png
[modify] https://crrev.com/93af02c7e794220d52376ab1b461b4d9089ef479/third_party/WebKit/LayoutTests/platform/mac/svg/zoom/page/zoom-foreignObject-expected.png
[modify] https://crrev.com/93af02c7e794220d52376ab1b461b4d9089ef479/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/zoom-foreignObject-expected.png
[add] https://crrev.com/93af02c7e794220d52376ab1b461b4d9089ef479/third_party/WebKit/LayoutTests/platform/win7/paint/invalidation/svg/zoom-foreignObject-expected.png
[modify] https://crrev.com/93af02c7e794220d52376ab1b461b4d9089ef479/third_party/blink/renderer/core/layout/svg/layout_svg_foreign_object.h
[modify] https://crrev.com/93af02c7e794220d52376ab1b461b4d9089ef479/third_party/blink/renderer/core/paint/README.md
[modify] https://crrev.com/93af02c7e794220d52376ab1b461b4d9089ef479/third_party/blink/renderer/core/paint/box_painter.cc
[modify] https://crrev.com/93af02c7e794220d52376ab1b461b4d9089ef479/third_party/blink/renderer/core/paint/paint_layer_painter.cc
[modify] https://crrev.com/93af02c7e794220d52376ab1b461b4d9089ef479/third_party/blink/renderer/core/paint/svg_container_painter.cc
[modify] https://crrev.com/93af02c7e794220d52376ab1b461b4d9089ef479/third_party/blink/renderer/core/paint/svg_foreign_object_painter.cc
[modify] https://crrev.com/93af02c7e794220d52376ab1b461b4d9089ef479/third_party/blink/renderer/core/paint/svg_foreign_object_painter.h
[modify] https://crrev.com/93af02c7e794220d52376ab1b461b4d9089ef479/third_party/blink/renderer/platform/graphics/paint/cull_rect.h

Project Member

Comment 19 by bugdroid1@chromium.org, May 18 2018

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

commit c6a11b77536d22de7966dd23d06973feb53f8ca4
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Fri May 18 18:24:47 2018

[ForeignObject] Hit test foreignObject PaintLayers during normal flow tree walk

Similar to https://chromium-review.googlesource.com/c/chromium/src/+/1060333,
hit testing needs to look at content under <foreignObject> during normal-flow
painting.

This CL also includes a revert of some of the code in these CLs:
https://chromium-review.googlesource.com/c/chromium/src/+/974568
https://chromium-review.googlesource.com/c/chromium/src/+/1055788

Tests were left, as was code in GeometryMapper, which may have other applications
in optimizing hit testing elsewhere.

Bug:842668

TBR=chrishtr@chromium.org

(cherry picked from commit c183d574e98671f43fab8445c6904d28065a64a5)

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: Iba38221cd47db4eb146b6c556ce76c9205785ea1
Reviewed-on: https://chromium-review.googlesource.com/1062960
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Tien-Ren Chen <trchen@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#559752}
Reviewed-on: https://chromium-review.googlesource.com/1066455
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/branch-heads/3396@{#645}
Cr-Branched-From: 9ef2aa869bc7bc0c089e255d698cca6e47d6b038-refs/heads/master@{#550428}
[modify] https://crrev.com/c6a11b77536d22de7966dd23d06973feb53f8ca4/third_party/blink/renderer/core/layout/layout_object.cc
[modify] https://crrev.com/c6a11b77536d22de7966dd23d06973feb53f8ca4/third_party/blink/renderer/core/layout/layout_object.h
[modify] https://crrev.com/c6a11b77536d22de7966dd23d06973feb53f8ca4/third_party/blink/renderer/core/layout/svg/layout_svg_container.cc
[modify] https://crrev.com/c6a11b77536d22de7966dd23d06973feb53f8ca4/third_party/blink/renderer/core/layout/svg/layout_svg_foreign_object.cc
[modify] https://crrev.com/c6a11b77536d22de7966dd23d06973feb53f8ca4/third_party/blink/renderer/core/layout/svg/layout_svg_foreign_object.h
[modify] https://crrev.com/c6a11b77536d22de7966dd23d06973feb53f8ca4/third_party/blink/renderer/core/layout/svg/layout_svg_root.cc
[modify] https://crrev.com/c6a11b77536d22de7966dd23d06973feb53f8ca4/third_party/blink/renderer/core/layout/svg/svg_layout_support.cc
[modify] https://crrev.com/c6a11b77536d22de7966dd23d06973feb53f8ca4/third_party/blink/renderer/core/layout/svg/svg_layout_support.h
[modify] https://crrev.com/c6a11b77536d22de7966dd23d06973feb53f8ca4/third_party/blink/renderer/core/paint/paint_layer.cc
[modify] https://crrev.com/c6a11b77536d22de7966dd23d06973feb53f8ca4/third_party/blink/renderer/core/paint/paint_layer.h
[modify] https://crrev.com/c6a11b77536d22de7966dd23d06973feb53f8ca4/third_party/blink/renderer/core/paint/paint_layer_painter.cc

Status: Fixed (was: Assigned)
The NextAction date has arrived: 2018-05-21
Project Member

Comment 22 by bugdroid1@chromium.org, May 23 2018

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

commit 93f69b23b8b94532c5fd03cd3ea4e9c6981edce4
Author: Philip Jägenstedt <foolip@chromium.org>
Date: Wed May 23 17:20:40 2018

Rename foreign-object-paints-before-rect-expected.html to -ref.html

The naming of refs is not enforced in wpt and this was not broken, but
see https://bugs.chromium.org/p/chromium/issues/detail?id=844781#c9
for things that can go wrong. We might add a lint/presubmit check.

Bug:  842668 
Change-Id: Ia2952a3720df88e323c8af17f87d05c6f07cfad7
Reviewed-on: https://chromium-review.googlesource.com/1069131
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Philip Jägenstedt <foolip@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561138}
[rename] https://crrev.com/93f69b23b8b94532c5fd03cd3ea4e9c6981edce4/third_party/WebKit/LayoutTests/external/wpt/svg/extensibility/foreignObject/foreign-object-paints-before-rect-ref.html
[modify] https://crrev.com/93f69b23b8b94532c5fd03cd3ea4e9c6981edce4/third_party/WebKit/LayoutTests/external/wpt/svg/extensibility/foreignObject/foreign-object-paints-before-rect.html

Project Member

Comment 23 by bugdroid1@chromium.org, May 31 2018

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

commit 1f1be07ac7b36e027f4533a34a59c9ada1ff16d8
Author: Xianzhu Wang <wangxianzhu@chromium.org>
Date: Thu May 31 00:54:13 2018

Remove wrong baseline LayoutTests/platform/win7/paint/invalidation/svg/zoom-foreignObject-expected.png

TBR=chrishtr@chromium.org

Bug:  842668 
Change-Id: I3b729ab5b40c4c1fcefe03b259f9d1adc97810df
Reviewed-on: https://chromium-review.googlesource.com/1080157
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#563094}
[modify] https://crrev.com/1f1be07ac7b36e027f4533a34a59c9ada1ff16d8/third_party/WebKit/LayoutTests/TestExpectations
[delete] https://crrev.com/ec70c0c324e8d3898cc504d83743974b516b37b0/third_party/WebKit/LayoutTests/platform/win7/paint/invalidation/svg/zoom-foreignObject-expected.png

Sign in to add a comment