WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 53378
[chromium] svg/clip-path/clip-in-mask.svg fails on Windows and Linux
https://bugs.webkit.org/show_bug.cgi?id=53378
Summary
[chromium] svg/clip-path/clip-in-mask.svg fails on Windows and Linux
Ryosuke Niwa
Reported
2011-01-29 12:33:27 PST
svg/clip-path/clip-in-mask.svg has been failing on Windows and Linux. In particular, it doesn't have the white mark inside the black circle. See
http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=svg%2Fclip-path%2Fclip-in-mask.svg&showLargeExpectations=true&showExpectations=true&master=ChromiumWebkit
Attachments
Patch
(6.59 KB, patch)
2011-12-07 07:53 PST
,
Branimir Lambov
no flags
Details
Formatted Diff
Diff
Patch
(6.52 KB, patch)
2011-12-08 09:05 PST
,
Branimir Lambov
no flags
Details
Formatted Diff
Diff
Patch
(178.68 KB, patch)
2011-12-09 02:56 PST
,
Branimir Lambov
no flags
Details
Formatted Diff
Diff
Patch
(179.91 KB, patch)
2011-12-09 14:30 PST
,
Branimir Lambov
no flags
Details
Formatted Diff
Diff
Show Obsolete
(3)
View All
Add attachment
proposed patch, testcase, etc.
Ryosuke Niwa
Comment 1
2011-01-29 12:39:14 PST
Similar issues in svg/clip-path/deep-nested-clip-in-mask-different-unitTypes.svg svg/clip-path/deep-nested-clip-in-mask-panning.svg svg/clip-path/deep-nested-clip-in-mask.svg svg/clip-path/nested-clip-in-mask-image-based-clipping.svg svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping.svg svg/clip-path/nested-clip-in-mask-path-based-clipping.svg
Dirk Schulze
Comment 2
2011-01-29 13:34:14 PST
The reason is most likely the implementation of GraphicsContext::clipToImageBuffer for Skia.
Branimir Lambov
Comment 3
2011-12-07 07:53:50 PST
Created
attachment 118212
[details]
Patch
Ryosuke Niwa
Comment 4
2011-12-07 09:50:21 PST
Comment on
attachment 118212
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=118212&action=review
> Source/WebCore/ChangeLog:9 > + [chromium] svg/clip-path/clip-in-mask.svg fails on Windows and Linux > +
https://bugs.webkit.org/show_bug.cgi?id=53378
> + > + Reviewed by NOBODY (OOPS!).
These two should appear before the description.
> LayoutTests/ChangeLog:9 > + [chromium] svg/clip-path/clip-in-mask.svg fails on Windows and Linux > +
https://bugs.webkit.org/show_bug.cgi?id=53378
> + > + Reviewed by NOBODY (OOPS!).
Ditto.
WebKit Review Bot
Comment 5
2011-12-07 12:08:19 PST
Comment on
attachment 118212
[details]
Patch
Attachment 118212
[details]
did not pass chromium-ews (chromium-xvfb): Output:
http://queues.webkit.org/results/10752238
New failing tests: svg/clip-path/nested-clip-in-mask-path-based-clipping.svg svg/clip-path/deep-nested-clip-in-mask-different-unitTypes.svg svg/clip-path/deep-nested-clip-in-mask-panning.svg svg/clip-path/nested-clip-in-mask-image-based-clipping.svg svg/clip-path/clip-in-mask.svg svg/batik/text/textProperties.svg svg/W3C-SVG-1.1/filters-example-01-b.svg svg/clip-path/deep-nested-clip-in-mask.svg svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping.svg
Branimir Lambov
Comment 6
2011-12-08 09:05:59 PST
Created
attachment 118402
[details]
Patch
Branimir Lambov
Comment 7
2011-12-08 09:08:04 PST
(In reply to
comment #4
)
> (From update of
attachment 118212
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=118212&action=review
> > > Source/WebCore/ChangeLog:9 > > + [chromium] svg/clip-path/clip-in-mask.svg fails on Windows and Linux > > +
https://bugs.webkit.org/show_bug.cgi?id=53378
> > + > > + Reviewed by NOBODY (OOPS!). > > These two should appear before the description. >
Done.
> > LayoutTests/ChangeLog:9 > > + [chromium] svg/clip-path/clip-in-mask.svg fails on Windows and Linux > > +
https://bugs.webkit.org/show_bug.cgi?id=53378
> > + > > + Reviewed by NOBODY (OOPS!). > > Ditto.
Done.
Branimir Lambov
Comment 8
2011-12-08 09:09:13 PST
(In reply to
comment #5
)
> (From update of
attachment 118212
[details]
) >
Attachment 118212
[details]
did not pass chromium-ews (chromium-xvfb): > Output:
http://queues.webkit.org/results/10752238
> > New failing tests: > svg/clip-path/nested-clip-in-mask-path-based-clipping.svg > svg/clip-path/deep-nested-clip-in-mask-different-unitTypes.svg > svg/clip-path/deep-nested-clip-in-mask-panning.svg > svg/clip-path/nested-clip-in-mask-image-based-clipping.svg > svg/clip-path/clip-in-mask.svg > svg/batik/text/textProperties.svg > svg/W3C-SVG-1.1/filters-example-01-b.svg > svg/clip-path/deep-nested-clip-in-mask.svg > svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping.svg
I intend to run webkit-patch rebaseline on these tests after the patch is landed.
James Robinson
Comment 9
2011-12-08 12:00:29 PST
(In reply to
comment #8
)
> (In reply to
comment #5
) > > (From update of
attachment 118212
[details]
[details]) > >
Attachment 118212
[details]
[details] did not pass chromium-ews (chromium-xvfb): > > Output:
http://queues.webkit.org/results/10752238
> > > > New failing tests: > > svg/clip-path/nested-clip-in-mask-path-based-clipping.svg > > svg/clip-path/deep-nested-clip-in-mask-different-unitTypes.svg > > svg/clip-path/deep-nested-clip-in-mask-panning.svg > > svg/clip-path/nested-clip-in-mask-image-based-clipping.svg > > svg/clip-path/clip-in-mask.svg > > svg/batik/text/textProperties.svg > > svg/W3C-SVG-1.1/filters-example-01-b.svg > > svg/clip-path/deep-nested-clip-in-mask.svg > > svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping.svg > > I intend to run webkit-patch rebaseline on these tests after the patch is landed.
You need to mark these as expected failures in test_expectations.txt in that case.
Ryosuke Niwa
Comment 10
2011-12-08 12:09:53 PST
(In reply to
comment #9
)
> You need to mark these as expected failures in test_expectations.txt in that case.
I think it's okay not to include it in the patch since doing so will likely cause a patch conflict.
James Robinson
Comment 11
2011-12-08 12:11:06 PST
I disagree, if you put the new lines somewhere other than the very end of test_expectations.txt the odds of a patch conflict are low. Landing without the test_expectations.txt is just giving the gardener an avoidable red tree and creating a lot of extra work.
Ryosuke Niwa
Comment 12
2011-12-08 12:13:45 PST
(In reply to
comment #11
)
> I disagree, if you put the new lines somewhere other than the very end of test_expectations.txt the odds of a patch conflict are low. Landing without the test_expectations.txt is just giving the gardener an avoidable red tree and creating a lot of extra work.
The author can land & add expectations in one patch when he/she lands a patch. In my experience, adding per-file expectation for test_expectations.txt in a patch posted on Bugzilla causes nothing but trouble because there is a big delay between the time you post the patch on Bugzilla and it gets landed. It's much better to add lines before landing the patch after the patch has been reviewed.
Ryosuke Niwa
Comment 13
2011-12-08 12:14:44 PST
Comment on
attachment 118402
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=118402&action=review
> LayoutTests/platform/chromium/test_expectations.txt:-842 > -// New in WK
r65880
, some probably just need rebaselining, others have real diffs > -BUGWK53378 LINUX WIN : svg/clip-path/clip-in-mask.svg = IMAGE > -BUGWK53378 LINUX WIN : svg/clip-path/deep-nested-clip-in-mask-different-unitTypes.svg = IMAGE+TEXT > -BUGWK53378 LINUX WIN : svg/clip-path/deep-nested-clip-in-mask-panning.svg = IMAGE+TEXT > -BUGWK53378 LINUX WIN : svg/clip-path/deep-nested-clip-in-mask.svg = IMAGE+TEXT > -BUGWK53378 LINUX WIN : svg/clip-path/nested-clip-in-mask-image-based-clipping.svg = IMAGE > -BUGWK53378 LINUX WIN : svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping.svg = IMAGE > -BUGWK53378 LINUX WIN : svg/clip-path/nested-clip-in-mask-path-based-clipping.svg = IMAGE > -// Rebaselined in WK
r65874
, Linux has missing lines > -
Having said that, it seems bad to remove these lines pre-emptively. You should land this patch and then remove these lines as you confirm your patch fixed the bug.
Branimir Lambov
Comment 14
2011-12-09 02:56:12 PST
Created
attachment 118554
[details]
Patch
Tony Chang
Comment 15
2011-12-09 09:40:43 PST
Comment on
attachment 118554
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=118554&action=review
> Source/WebCore/ChangeLog:9 > + Fixes a problem in applying clip layers on Skia that was causing > + all complex clipping (including text and/or masks) to fail.
Can you explain what the bug was and how this fixes it? I don't know this code very well and it's hard for me to tell if the new code is correct.
Branimir Lambov
Comment 16
2011-12-09 10:51:09 PST
Comment on
attachment 118554
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=118554&action=review
>> Source/WebCore/ChangeLog:9 >> + all complex clipping (including text and/or masks) to fail. > > Can you explain what the bug was and how this fixes it? I don't know this code very well and it's hard for me to tell if the new code is correct.
The bug was in Skia's clipping code's handling of coordinate transformations. The method beginLayerClippedToImage was taking rectangle coordinates in one local coordinate space, but it was applying them in a different one because of the delay between the time it is called and the actual application occurs in applyClipFromImage. The fix translates the coordinates passed to beginLayerClippedToImage to absolute ones, so that they are not affected by any change in the transform matrix, and makes sure that applyClipFromImage clears the matrix before applying the clip layer to correctly apply the absolute coordinates.
Tony Chang
Comment 17
2011-12-09 11:09:34 PST
Comment on
attachment 118554
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=118554&action=review
>>> Source/WebCore/ChangeLog:9 >>> + all complex clipping (including text and/or masks) to fail. >> >> Can you explain what the bug was and how this fixes it? I don't know this code very well and it's hard for me to tell if the new code is correct. > > The bug was in Skia's clipping code's handling of coordinate transformations. The method beginLayerClippedToImage was taking rectangle coordinates in one local coordinate space, but it was applying them in a different one because of the delay between the time it is called and the actual application occurs in applyClipFromImage. The fix translates the coordinates passed to beginLayerClippedToImage to absolute ones, so that they are not affected by any change in the transform matrix, and makes sure that applyClipFromImage clears the matrix before applying the clip layer to correctly apply the absolute coordinates.
Please include this in the ChangeLog, otherwise, this patch seems fine.
Branimir Lambov
Comment 18
2011-12-09 14:30:56 PST
Created
attachment 118641
[details]
Patch
WebKit Review Bot
Comment 19
2011-12-16 12:20:52 PST
Comment on
attachment 118641
[details]
Patch Clearing flags on attachment: 118641 Committed
r103091
: <
http://trac.webkit.org/changeset/103091
>
WebKit Review Bot
Comment 20
2011-12-16 12:20:58 PST
All reviewed patches have been landed. Closing bug.
Adrienne Walker
Comment 21
2011-12-16 13:18:13 PST
Committed
r103099
: <
http://trac.webkit.org/changeset/103099
>
Adrienne Walker
Comment 22
2011-12-16 14:38:17 PST
Committed
r103111
: <
http://trac.webkit.org/changeset/103111
>
Stephen Chenney
Comment 23
2012-04-17 12:10:15 PDT
Committed
r114407
: <
http://trac.webkit.org/changeset/114407
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug