Bug 114579 - REGRESSION: Artifacts when scaling non-scaling-strokes
Summary: REGRESSION: Artifacts when scaling non-scaling-strokes
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P1 Normal
Assignee: Nobody
URL:
Keywords: InRadar, Regression
Depends on:
Blocks:
 
Reported: 2013-04-13 23:32 PDT by Stuart P. Bentley
Modified: 2022-10-10 09:22 PDT (History)
7 users (show)

See Also:


Attachments
Test case (894 bytes, text/html)
2013-04-13 23:32 PDT, Stuart P. Bentley
no flags Details
Screenshot of bug (2.37 KB, image/png)
2013-04-13 23:36 PDT, Stuart P. Bentley
no flags Details
Screenshot of bug (3.15 KB, image/png)
2013-04-13 23:37 PDT, Stuart P. Bentley
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stuart P. Bentley 2013-04-13 23:32:30 PDT
Created attachment 197975 [details]
Test case

When a non-scaling stroke is in a scaling animation, it produces artifacts. Found while writing the test case for Bug 114578.

See attached test case. Observed on Windows 7 @ Chrome stable, Windows 8 @ Chrome dev and Arch Linux @ Chromium 26.0.1410.63. Not observed on Android 4.2.1 @ Chrome latest.

(The lines in the test case aren't perfectly in sync: the spline animating the "desired behavior" mockup was written via trial and error rather than calculation. The end result is what's important here.)
Comment 1 Stuart P. Bentley 2013-04-13 23:34:28 PDT
(In reply to comment #0)

> See attached test case. Observed on Windows 7 @ Chrome stable, Windows 8 @ Chrome dev and Arch Linux @ Chromium 26.0.1410.63. Not observed on Android 4.2.1 @ Chrome latest.

s/Windows 7 @ Chrome stable, Windows 8 @ Chrome dev/Windows 7 @ Chrome dev, Windows 8 @ Chrome stable/
Comment 2 Stuart P. Bentley 2013-04-13 23:36:15 PDT
Created attachment 197976 [details]
Screenshot of bug

Screenshot from Chrome stable on Windows 8.
Comment 3 Stuart P. Bentley 2013-04-13 23:37:40 PDT
Created attachment 197977 [details]
Screenshot of bug

Whoops, uploaded the wrong file.
Comment 4 Alexey Proskuryakov 2013-04-14 22:32:13 PDT
I can reproduce with a WebKit nightly, but not with Safari 6.0.3. So, a regression.
Comment 5 Stuart P. Bentley 2016-12-13 15:34:35 PST
Based on the behavior I'm seeing right now, this appears to have been fixed at some point between Chrome 55 and the current Chrome Canary I'm running:

Google Chrome	57.0.2950.0 (Official Build) canary (64-bit)
Revision	2c3ecceea409b42c873949bac0aa1acaa80451e3-refs/heads/master@{#438011}
OS	Windows 
JavaScript	V8 5.7.206
Flash	24.0.0.175
User Agent	Mozilla/5.0 (Windows NT 10.0.14393; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2950.0 Safari/537.36
Command Line	"C:\Users\Stuart\AppData\Local\Google\Chrome SxS\Application\chrome.exe" --flag-switches-begin --enable-devtools-experiments --enable-experimental-canvas-features --enable-experimental-web-platform-features --javascript-harmony --flag-switches-end
Executable Path	C:\Users\Stuart\AppData\Local\Google\Chrome SxS\Application\chrome.exe
Profile Path	C:\Users\Stuart\AppData\Local\Google\Chrome SxS\User Data\Default
Variations	16e0dd70-3f4a17df
a444064c-1410f10
da89714-4ad60575
241fff6c-af68bc5e
1e528f0f-f23d1dea
6025934e-3f4a17df
e197bfc9-ca7d8d80
8364a5c2-7330e714
7c1bc906-ff96eb58
9b8606c7-ca7d8d80
5829eceb-3d47f4f4
2a33b90e-380815a5
6f6207b1-ca7d8d80
ba3f87da-5b060836
5ca89f9-f23d1dea
f3499283-ca7d8d80
76b48ab8-a2567007
31362330-3f4a17df
f15c1c09-ca7d8d80
9e201a2b-3f4a17df
5274eb09-3f4a17df
bcc907f7-3f4a17df
949c6e63-f23d1dea
9773d3bd-3f4a17df
a4566d9e-3d47f4f4
93731dca-ed0f00cf
2e109477-4f8eb0c8
99144bc3-f23d1dea
9e5c75f1-f5bf8592
6b121ae7-5e15bfb2
f79cb77b-3f4a17df
b7786474-d93a0620
23a898eb-ca7d8d80
4ea303a6-c4309646
3a007b7-f23d1dea
7aa46da5-4995b330
9736de91-3f4a17df
3326cd71-3f4a17df
ad6d27cc-3e870323
ca314179-5d900007
69bf80fa-3f4a17df
c5073fab-3f4a17df
f3ea30a0-ca7d8d80
b2f0086-35a81a97
99c41f12-3f4a17df
7fc902e8-f23d1dea
adda5502-ca7d8d80
d747916f-f23d1dea
477f6800-bbfbea97
6844d8aa-669a04e0
3ac60855-486e2a9c
f296190c-19721340
4442aae2-6bdfffe7
ed1d377-e1cc0f14
75f0f0a0-e1cc0f14
e2b18481-4c073154
e7e71889-4ad60575
644b8345-726d8ace
61b920c1-48c6f5be
828a5926-71de01c2
Compiler	MSVC 2015 (PGO)
Comment 6 Said Abou-Hallawa 2022-01-25 14:43:31 PST
rdar://85427884
Comment 7 Ahmad Saleem 2022-05-30 13:46:38 PDT
I am still able to reproduce the following bug in Safari 15.5. It seems to be fixed in following Chrome bug:

Link - http://crbug.com/232890
Comment 8 Ahmad Saleem 2022-10-10 09:22:28 PDT
(In reply to Ahmad Saleem from comment #7)
> I am still able to reproduce the following bug in Safari 15.5. It seems to
> be fixed in following Chrome bug:
> 
> Link - http://crbug.com/232890

Chrome did the changes in this commit:

https://src.chromium.org/viewvc/blink?revision=149058&view=revision

and it modified following:

https://github.com/WebKit/WebKit/blob/ff25888b2eef782128acebdc87e973415f7d82d4/Source/WebCore/svg/SVGSVGElement.cpp#L379

^ which is same as Chromium / Blink patch but Safari does not have this in SVGSVGElement.h:

bool hasEmptyViewBox() const { return viewBoxIsValid() && viewBox().isEmpty(); }

but it is is present here:

https://github.com/WebKit/WebKit/blob/e98ff129bc8eba06ac17105f19c5f0e142aab853/Source/WebCore/svg/SVGFitToViewBox.h#L58