Closed Bug 797231 Opened 12 years ago Closed 12 years ago

Clip path region is incorrect with direct2d

Categories

(Core :: SVG, defect)

All
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla18
Tracking Status
firefox15 --- unaffected
firefox16 --- affected
firefox17 --- verified
firefox18 --- verified

People

(Reporter: birtles, Assigned: bas.schouten)

References

()

Details

(Keywords: regression)

Attachments

(4 files)

In Firefox 16 and later the rendering of some paths with clip paths is incorrect. With Direct2D disabled the rendering is correct. In the test URL, the countries towards the top of the planet are clipped by an elliptical path. On my work machine, these countries do not appear at all. On another machine, the right-hand two thirds only appear.
Attachment #667278 - Attachment description: Incorrect rendering (direct2D disabled) → Incorrect rendering (direct2D enabled)
So it seems both clipping and masking (bug 779029) are broken with Direct2D? That's pretty serious. Any chance you can look into these any time soon, Bas?
Could you try switching on/off Azure content? (gfx.content.azure.enabled)
(In reply to Jonathan Watt [:jwatt] from comment #2) > So it seems both clipping and masking (bug 779029) are broken with Direct2D? > That's pretty serious. Any chance you can look into these any time soon, Bas? This is most likely a consequence of the terribly convoluted way the SVG code uses the gfxContext. Most likely we're not simulating some cairo behavior around state management correctly with the Thebes-Azure wrapper. I'll have a look.
Reduced testcase as a reftest for Bas. Will need to be landed after any patch that Bas comes up with.
Attachment #667507 - Flags: review?
Attachment #667507 - Flags: review? → review?(bas.schouten)
Restore will change the transform and mark it changed as well as store the old transform. It will, intentionally, however leave the PathBuilder in place. This would cause a subsequent transform to overwrite mPathTransform with the wrong transform.
Assignee: nobody → bas.schouten
Status: NEW → ASSIGNED
Attachment #667534 - Flags: review?(joe)
Attachment #667534 - Flags: review?(joe) → review+
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Flags: in-testsuite?
Resolution: --- → FIXED
Target Milestone: --- → mozilla18
Attachment #667507 - Flags: review?(bas.schouten) → review+
Depends on: 797888
No longer depends on: 797888
Comment on attachment 667534 [details] [diff] [review] Don't overwrite mPathTransform if the transform already changed. [Approval Request Comment] Bug caused by (feature/regressing bug #): Bug 715768 User impact if declined: Incorrect rendering in some SVG cases. Testing completed (on m-c, etc.): Aurora Risk to taking this patch (and alternatives if risky): Need to switch off azure reducing performance. String or UUID changes made by this patch: None
Attachment #667534 - Flags: approval-mozilla-beta?
Comment on attachment 667534 [details] [diff] [review] Don't overwrite mPathTransform if the transform already changed. Please land asap so this is in tomorrow's Beta.
Attachment #667534 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Verified on Firefox 17 RC that the clip path region is properly displayed with or without direct2d. Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/17.0 Firefox/17.0 Build ID: 20121116115405
Mozilla/5.0 (Windows NT 6.1; rv:18.0) Gecko/20100101 Firefox/18.0 Verified as fixed on Firefox 18 beta 3 - the clip path region is properly displayed with or without direct2d.
QA Contact: simona.marcu
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: