Bug 84203

Summary: Layout Test svg/transforms/transform-origin-css-property.xhtml is failing
Product: WebKit Reporter: Vincent Scheib <scheib>
Component: SVGAssignee: Stephen Chenney <schenney>
Status: RESOLVED FIXED    
Severity: Normal CC: fmalita, giles_joplin, krit, schenney, zimmermann
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Vincent Scheib
Reported 2012-04-17 15:34:49 PDT
The following layout ref test is failing on Chromium all platforms. svg/transforms/transform-origin-css-property.xhtml See: http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=svg%2Ftransforms%2Ftransform-origin-css-property.xhtml Looks like an anti-aliasing or a small horizontal offset issue. Test was introduced in https://bugs.webkit.org/show_bug.cgi?id=79068 and not modified since. Note, Chromium has pixel test variations checked in --- not intended for a ref test. http://trac.webkit.org/changeset/114416 Should be all ref-test or all pixel baselines, right?
Attachments
Patch (3.73 KB, patch)
2012-04-18 11:35 PDT, Stephen Chenney
no flags
Stephen Chenney
Comment 1 2012-04-18 07:55:56 PDT
Stephen Chenney
Comment 2 2012-04-18 07:57:27 PDT
Indeed, this test has a ref test and there should be no image baselines. I have removed the image baselines but left the expectation for failure. It may be a problem with the ref test result that requires further investigation.
Stephen Chenney
Comment 3 2012-04-18 10:56:33 PDT
Definitely a problem with the ref-test not matching. The test renders multiple svg rectangles rotated by 90 degrees with different transform-origin points, specified using different forms. e.g. ["50% 50%", "center 50%", "50% center", "center", "center center", [15, 15]] All of the rects in a set should appear right on top of each other. The ref-test just uses a single div with the % spec. My suspicion is that (15,15) is not the same as (50%,50%) when all is said and done. As this test is testing that SVG supports the property, I propose fixing it by changing the ref to print multiple divs using the same values as the test. I'll get a patch up.
Dirk Schulze
Comment 4 2012-04-18 11:11:20 PDT
(In reply to comment #3) > Definitely a problem with the ref-test not matching. The test renders multiple svg rectangles rotated by 90 degrees with different transform-origin points, specified using different forms. e.g. > > ["50% 50%", "center 50%", "50% center", "center", "center center", [15, 15]] > > All of the rects in a set should appear right on top of each other. > > The ref-test just uses a single div with the % spec. > > My suspicion is that (15,15) is not the same as (50%,50%) when all is said and done. > > As this test is testing that SVG supports the property, I propose fixing it by changing the ref to print multiple divs using the same values as the test. > > I'll get a patch up. The idea of ref tests is that they are platform independent. If the test is failing on chromium, it should get onto the skip list and needs investigation. If it turns out that the test is wrong, the test should be changed. Don't create platform dependent ref files.
Stephen Chenney
Comment 5 2012-04-18 11:35:54 PDT
Stephen Chenney
Comment 6 2012-04-18 11:37:39 PDT
I have modified the ref-test to draw more divs, hopefully reproducing the behavior of the SVG rects. Review at will, but let's wait until the EWS bots get through it before we commit anything. I'm not sure it will behave on the build machines the same way it behaves locally.
Dirk Schulze
Comment 7 2012-04-18 11:41:28 PDT
(In reply to comment #6) > I have modified the ref-test to draw more divs, hopefully reproducing the behavior of the SVG rects. Review at will, but let's wait until the EWS bots get through it before we commit anything. I'm not sure it will behave on the build machines the same way it behaves locally. Maybe I misunderstand what th problem is. Why do you draw more rects? It seems like you change the ref file to be a test itself. Which is not preferred either.
Stephen Chenney
Comment 8 2012-04-18 11:48:50 PDT
The issue is that apparently ["50% 50%", "center 50%", "50% center", "center", "center center", [15, 15]] are not all pixel equivalent when applied as transform-origin for rotate(90deg). That seems to be an issue in the code for parsing and applying "center" and "50% center". My reasoning applied to this patch is that we are testing whether or not SVG respects the transform-origin property. We are not testing that the various origin specifications (e.g. 50% vs. center) produce identical results. So I think it's OK to modify the test in this way. If we do care that all these transform-origin specs are identical, I suggest a different ref-test that uses fixed SVG rectangles in exactly the place we expect the transformed rect to be. But my guess is that it would be even harder to get platform agnostic results. Interestingly, apparently the CSS div does not respect [15,15] as an origin. Is that spec or a bug?
Stephen Chenney
Comment 9 2012-04-20 09:16:04 PDT
Comment on attachment 137730 [details] Patch Clearing flags on attachment: 137730 Committed r114752: <http://trac.webkit.org/changeset/114752>
Stephen Chenney
Comment 10 2012-04-20 09:16:09 PDT
All reviewed patches have been landed. Closing bug.
Florin Malita
Comment 11 2012-05-22 14:16:23 PDT
*** Bug 83059 has been marked as a duplicate of this bug. ***
Note You need to log in before you can comment on or make changes to this bug.