New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 678162 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

SVG arc path getBBox is incorrect when the coordinates is very big

Reported by igin...@gmail.com, Jan 4 2017

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36

Steps to reproduce the problem:
1. create a path element <path d="M 1050000 80 A 40 40 0 1 0 1050000 40"/>
2. watch getBBox() result, the width and height values are incorrect.

What is the expected behavior?
expected width: 74.625, height: 79.99937438964844

What went wrong?
wrong width: 0.0000711679458618164, height: 0.00007629334868397564

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 55.0.2883.87  Channel: stable
OS Version: 10.0
Flash Version: Shockwave Flash 24.0 r0
 
SVG-getBBox-bug.html
885 bytes View Download

Comment 1 by f...@opera.com, Jan 4 2017

Cc: caryclark@chromium.org fmalita@chromium.org
Components: Internals>Skia
Labels: -OS-Windows
Status: Available (was: Unconfirmed)
Looks like this is related to the "exact" code-path of Path::boundingRect (TightBounds in Skia.)

Comment 2 by f...@opera.com, Jan 4 2017

Owner: f...@opera.com
Status: Assigned (was: Available)
Looks like the TightBounds inverse-scale the path, but does not scale the computed bounds to compensate.
Project Member

Comment 3 by bugdroid1@chromium.org, Jan 4 2017

The following revision refers to this bug:
  https://skia.googlesource.com/skia.git/+/b60e8645ecddb1846cdba52073db394a633841ff

commit b60e8645ecddb1846cdba52073db394a633841ff
Author: Fredrik Söderquist <fs@opera.com>
Date: Wed Jan 04 12:31:47 2017

Scale the result of TightBounds when path was inverse-scaled

When the path was "large" (as defined by ScaleFactor(...)), the computed
bounds would not be adjusted to the correct space. Make sure to scale
the result in those cases.

BUG= chromium:678162 

Change-Id: Ia2eb94050c4620286e9abb69976dbc0202ecc307
Reviewed-on: https://skia-review.googlesource.com/6501
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>

[modify] https://crrev.com/b60e8645ecddb1846cdba52073db394a633841ff/src/pathops/SkPathOpsTightBounds.cpp
[modify] https://crrev.com/b60e8645ecddb1846cdba52073db394a633841ff/tests/PathOpsTightBoundsTest.cpp

Project Member

Comment 4 by bugdroid1@chromium.org, Jan 4 2017

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

commit c540247a6240219871357c5c9f310d90f0cb4a48
Author: skia-deps-roller <skia-deps-roller@chromium.org>
Date: Wed Jan 04 16:57:13 2017

Roll src/third_party/skia/ 671163843..2be687af5 (5 commits).

https://skia.googlesource.com/skia.git/+log/671163843681..2be687af58ec

$ git log 671163843..2be687af5 --date=short --no-merges --format='%ad %ae %s'
2017-01-03 ethannicholas fix skslc crash when ternary parameter types don't match
2017-01-04 msarett Use shared toSRGBD50 matrix in SkPngCodec
2017-01-03 bungeman Stage SkFontMgr factories to return smart pointers.
2017-01-03 mtklein Remove SkImageShader -> SkColorShader optimization.
2017-01-04 fs Scale the result of TightBounds when path was inverse-scaled

BUG= 678162 

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls

CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
TBR=csmartdalton@google.com

Review-Url: https://codereview.chromium.org/2611873003
Cr-Commit-Position: refs/heads/master@{#441398}

[modify] https://crrev.com/c540247a6240219871357c5c9f310d90f0cb4a48/DEPS

Comment 5 by f...@opera.com, Jan 5 2017

Status: Fixed (was: Assigned)

Sign in to add a comment