Closed Bug 380338 Opened 17 years ago Closed 17 years ago

Transformations affect path construction

Categories

(Core :: Graphics: Canvas2D, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: ian, Assigned: takenspc)

References

()

Details

Attachments

(1 file, 1 obsolete file)

STEPS TO REPRODUCE
 1. Create a path.
 2. Set a transformation.
 3. Fill the path.

ACTUAL RESULTS
 Transformation is ignored.

EXPECTED RESULTS
 Transformation should have an affect.


STEPS TO REPRODUCE
 1. Set a transformation.
 2. Create a path.
 3. Undo the transformation.
 4. Fill the path.

ACTUAL RESULTS
 Transformation is applied.

EXPECTED RESULTS
 Transformation should have no affect.
I believe bug 338640 is relevant here.
Attached patch Possible fix (obsolete) — Splinter Review
When the path construct, reset the transform
# current transform doesn't affect path construction.

Before the path fill/stroke/clip, copy the path from context, then add context the path.
# current transform affect path construction.

After the path fill/stroke/clip, reset the transform, then add context the path again.
# current transform doesn't affect path construction.
Attached patch PatchSplinter Review
Patch with correct |diff| options and some comments.
Assignee: nobody → taken.spc
Attachment #269582 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #271053 - Flags: review?(vladimir)
I think this is the most significant canvas interoperability issue now, and believe it should be resolved (one way or another) before Firefox 3.

Opera implements what the spec says - transformations are applied at fill/stroke/etc time, not at path construction time.

Firefox and Safari don't - transformations are applied at path construction time. (See also <http://bugs.webkit.org/show_bug.cgi?id=13669>.)

It would be great if FF3, Opera 9.5 and Safari 3 could all agree and work the same in this case.
Flags: blocking1.9?
I'm pretty sure we had a discussion on the whatwg list about this and decided that what fx and safari are doing is correct (the spec is very wrong; applying the transform at draw time isn't very useful), but I'll post to the whatwg mailing list to verify that before WONTFIX'ing this.
Flags: blocking1.9? → blocking1.9-
No decision was made that I can recall. The last I remember discussing this, I was leaving it up to the browser vendors to come to a decision. (Their are arguments in favour of both techniques, the spec/Opera and Webkit/Safari.)
Renominating given comment 8.
Flags: blocking1.9- → blocking1.9?
Plusing this but only as a reminder to send mail to the whatwg list; I am 95% certain that our behaviour won't change.
Flags: blocking1.9? → blocking1.9+
Since you won't change, I've changed the spec instead... I guess Opera will have to change to match.
The spec has been changed.
http://html5.org/tools/web-apps-tracker?from=1157&to=1158
http://www.w3.org/TR/2008/WD-html5-20080122/#transformations0

-> INVALID
Status: ASSIGNED → RESOLVED
Closed: 17 years ago
Resolution: --- → INVALID
Comment on attachment 271053 [details] [diff] [review]
Patch

cancel the review request: this bug was marked as invalid.
Attachment #271053 - Flags: review?(vladimir)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: