New issue
Advanced search Search tips

Issue 911186 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Dec 5
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug


Show other hotlists

Hotlists containing this issue:
Chris
Bug


Sign in to add a comment

SVG disappears if `translate` has a large value.

Reported by ppotacz...@gmail.com, Dec 3

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36

Example URL:
http://jsfiddle.net/BlackLabel/7sx5tm43/

Steps to reproduce the problem:
1. Open jsFiddle in Chrome: http://jsfiddle.net/BlackLabel/7sx5tm43/
2. 
3. 

What is the expected behavior?
Open jsFiddle: http://jsfiddle.net/BlackLabel/fbzLokg7/

or open jsFiddle in Firefox: http://jsfiddle.net/BlackLabel/7sx5tm43/

What went wrong?
SVG becomes invisible if `translate` has a large value.

`<g transform="translate(0,-9000000000)">`

Does it occur on multiple sites: Yes

Is it a problem with a plugin? No 

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 70.0.3538.110  Channel: stable
OS Version: OS X 10.14.0
Flash Version:
 
Bisected to r265227 Blink roll
https://chromium.googlesource.com/chromium/blink/+log/225e5ed6..5ad740c5
Suspecting 5ad740c5bab4721581add33f8d72afc954707ae1
"SVG does not respect overflow:visible"
Landed in 36.0.1952.0
Labels: Needs-Triage-M70
Cc: viswa.karala@chromium.org
Labels: -Type-Bug -Pri-2 hasbisect-per-revision Triaged-ET RegressedIn-64 Target-70 Target-71 Target-72 Target-73 M-73 FoundIn-71 FoundIn-70 FoundIn-73 FoundIn-72 OS-Linux OS-Windows Pri-1 Type-Bug-Regression
Owner: f...@opera.com
Status: Assigned (was: Unconfirmed)
Able to reproduce the issue on reported version 70.0.3538.110 and latest chrome 73.0.3268.0 using Mac 10.12.6, Ubuntu 17.10 and Windows-10, hence providing Bisect Info

Bisect Info:
================
Good build: 64.0.3274.0 
Bad build: 64.0.3275.0

You are probably looking for a change made after 518391 (known good), but no later than 518392 (first known bad).
https://chromium.googlesource.com/chromium/src/+log/fbcb74e2d49d7850fd3a307d267f8e1124139d56..e9bd34c60d38b0b5bcee52a6cd475b9124974aab
Change-Id: Id0228bc78bb7d8db223be082106f3c3d2bcb038a
Reviewed-on: https://chromium-review.googlesource.com/774746

@Fredrik Söderquist: Please confirm the issue and help in re-assigning if it is not related to your change.

Thanks!
Components: -Blink Blink>SVG
++Correction in latest chrome version# 73.0.3628.0
Labels: -Pri-1 -Type-Bug-Regression Pri-2 Type-Bug
Given that making the <svg> have 'overflow: hidden' (i.e removing the inline style overriding the UA rule) makes it display again, woxxom's bisect result seems more likely to be correct. I guess this is caused by overflow somewhere yielding an empty rectangle when it shouldn't.
Project Member

Comment 7 by bugdroid1@chromium.org, Dec 4

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

commit acc79f1cd39645d800757d7cfb09e4740a89ceab
Author: Fredrik Söderquist <fs@opera.com>
Date: Tue Dec 04 21:13:23 2018

Clamp contents visual overflow for LayoutSVGRoot

If the contents overflow rect for the SVG root is too large, it could
end up shifting the overflow rect such that it is culled and thus never
painted.

To avoid this, clip the content overflow rect with
LayoutRect::InfiniteIntRect(). This gives reasonable enough leeway, and
also matches the rect that is commonly used to represent infinity for
culling and clipping etc.

Bug:  911186 
Change-Id: I22d505ac0582f4d1fe6ac3ead9041c4a87176994
Reviewed-on: https://chromium-review.googlesource.com/c/1361225
Reviewed-by: Stephen Chenney <schenney@chromium.org>
Commit-Queue: Fredrik Söderquist <fs@opera.com>
Cr-Commit-Position: refs/heads/master@{#613692}
[modify] https://crrev.com/acc79f1cd39645d800757d7cfb09e4740a89ceab/third_party/blink/renderer/core/layout/svg/layout_svg_root.cc
[modify] https://crrev.com/acc79f1cd39645d800757d7cfb09e4740a89ceab/third_party/blink/renderer/core/layout/svg/layout_svg_root.h
[add] https://crrev.com/acc79f1cd39645d800757d7cfb09e4740a89ceab/third_party/blink/web_tests/svg/overflow/large-overflow-expected.html
[add] https://crrev.com/acc79f1cd39645d800757d7cfb09e4740a89ceab/third_party/blink/web_tests/svg/overflow/large-overflow.html

Labels: TE-Verified-M73 TE-Verified-73.0.3631.0
Able to reproduce the issue on chrome reported version 70.0.3538.110(Build without fix)
Verified the fix on Mac 10.12.6, Windows-10 & Ubuntu 17.10 on Chrome version #73.0.3631.0 as per the comment#0
Attaching screenshot for reference.
Observed "Able to see SVG image in jsfiddle"
Hence, the fix is working as expected.
Adding the verified label.

Thanks!

911186.PNG
93.1 KB View Download
Status: Fixed (was: Assigned)

Sign in to add a comment