Closed Bug 1581691 Opened 1 year ago Closed 5 months ago

add a presentation attribute for transform-origin

Categories

(Core :: SVG, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
mozilla77
Tracking Status
firefox77 --- fixed

People

(Reporter: heycam, Assigned: longsonr)

References

(Depends on 1 open bug)

Details

(Keywords: dev-doc-complete)

Attachments

(2 files)

Dirk tells me that both Blink and WebKit support a transform-origin presentation attribute on SVG elements. So we should probably also support that.

It's listed in the table at https://svgwg.org/svg2-draft/styling.html#PresentationAttributes.

We should probably not do this until transform="" has become a true presentation attribute for the transform property, and not a separate transform in the stack.

Depends on: 878346

Looks like not doing this is starting to cause compatibility issues

Assignee: nobody → longsonr
Status: NEW → ASSIGNED
Attached patch 1581691.txtSplinter Review

sorry, I don't know how to add this as a phabricator patch.

Flags: needinfo?(hsivonen)

The htmlparser repo doesn't support Phabricator reviews. Either I can extract your patch and push it upstream once it has landed onto m-c or you can open a pull request against https://github.com/validator/htmlparser/tree/master .

Flags: needinfo?(hsivonen)
Attachment #9126939 - Attachment description: Bug 1581691 - make transform-origin a mapped CSS attribute r=heycam → Bug 1581691 - make transform-origin a mapped CSS attribute
Pushed by cmccormack@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/136b9329a6f7
make transform-origin a mapped CSS attribute r=heycam,hsivonen

I updated the patch following the instructions in parser/html/java/README.txt. Assuming this makes it to mozilla-central, Henri could you extract the htmlparser bits of this patch and upstream them? Thanks!

Flags: needinfo?(hsivonen)

Backed out for failures on svg/styling/presentation-attributes-relevant.html.

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&revision=136b9329a6f7069e9c18744ab5618cf4f6d405d9&searchStr=wpt&selectedJob=298200755

Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=298200755&repo=autoland
https://treeherder.mozilla.org/logviewer.html#?job_id=298200383&repo=autoland

Backout link: https://hg.mozilla.org/integration/autoland/rev/3cec983cf6a6e506dad470030243b85f65171504

[task 2020-04-18T02:36:52.672Z] 02:36:52     INFO - TEST-PASS | /svg/styling/presentation-attributes-relevant.html | text-rendering presentation attribute supported on a relevant element 
[task 2020-04-18T02:36:52.672Z] 02:36:52     INFO - TEST-UNEXPECTED-PASS | /svg/styling/presentation-attributes-relevant.html | transform-origin presentation attribute supported on a relevant element - expected FAIL
[task 2020-04-18T02:36:52.672Z] 02:36:52     INFO - TEST-INFO | expected FAIL
[task 2020-04-18T02:36:52.681Z] 02:36:52     INFO - ..........
[task 2020-04-18T02:36:52.681Z] 02:36:52     INFO - TEST-OK | /svg/styling/presentation-attributes-relevant.html | took 2237ms
[task 2020-04-18T02:36:52.698Z] 02:36:52     INFO - PID 23725 | 1587177412693	Marionette	INFO	Stopped listening on port 55451
[task 2020-04-18T02:36:53.132Z] 02:36:53     INFO - PID 23725 | ###!!! [Parent][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost
[task 2020-04-18T02:36:54.386Z] 02:36:54     INFO - PID 23725 | -----------------------------------------------------
[task 2020-04-18T02:36:54.386Z] 02:36:54     INFO - PID 23725 | Suppressions used:
[task 2020-04-18T02:36:54.388Z] 02:36:54     INFO - PID 23725 |   count      bytes template
[task 2020-04-18T02:36:54.388Z] 02:36:54     INFO - PID 23725 |      27        832 nsComponentManagerImpl
[task 2020-04-18T02:36:54.390Z] 02:36:54     INFO - PID 23725 |       2        288 libfontconfig.so
[task 2020-04-18T02:36:54.391Z] 02:36:54     INFO - PID 23725 | -----------------------------------------------------
[task 2020-04-18T02:36:54.531Z] 02:36:54     INFO - PID 23725 | -----------------------------------------------------
[task 2020-04-18T02:36:54.531Z] 02:36:54     INFO - PID 23725 | Suppressions used:
[task 2020-04-18T02:36:54.532Z] 02:36:54     INFO - PID 23725 |   count      bytes template
[task 2020-04-18T02:36:54.532Z] 02:36:54     INFO - PID 23725 |      27        832 nsComponentManagerImpl
[task 2020-04-18T02:36:54.532Z] 02:36:54     INFO - PID 23725 |     633      18287 libfontconfig.so
[task 2020-04-18T02:36:54.533Z] 02:36:54     INFO - PID 23725 |       1         11 libglib-2.0.so
[task 2020-04-18T02:36:54.533Z] 02:36:54     INFO - PID 23725 | -----------------------------------------------------
[task 2020-04-18T02:36:54.573Z] 02:36:54     INFO - PID 23725 | -----------------------------------------------------
[task 2020-04-18T02:36:54.573Z] 02:36:54     INFO - PID 23725 | Suppressions used:
[task 2020-04-18T02:36:54.573Z] 02:36:54     INFO - PID 23725 |   count      bytes template
[task 2020-04-18T02:36:54.574Z] 02:36:54     INFO - PID 23725 |      27        832 nsComponentManagerImpl
[task 2020-04-18T02:36:54.574Z] 02:36:54     INFO - PID 23725 |     633      18287 libfontconfig.so
[task 2020-04-18T02:36:54.574Z] 02:36:54     INFO - PID 23725 |       1         11 libglib-2.0.so
[task 2020-04-18T02:36:54.574Z] 02:36:54     INFO - PID 23725 | -----------------------------------------------------
[task 2020-04-18T02:36:54.674Z] 02:36:54     INFO - PID 23725 | -----------------------------------------------------
[task 2020-04-18T02:36:54.674Z] 02:36:54     INFO - PID 23725 | Suppressions used:
[task 2020-04-18T02:36:54.675Z] 02:36:54     INFO - PID 23725 |   count      bytes template
[task 2020-04-18T02:36:54.675Z] 02:36:54     INFO - PID 23725 |      27        832 nsComponentManagerImpl
[task 2020-04-18T02:36:54.675Z] 02:36:54     INFO - PID 23725 |     633      18287 libfontconfig.so
[task 2020-04-18T02:36:54.675Z] 02:36:54     INFO - PID 23725 |       1         11 libglib-2.0.so
[task 2020-04-18T02:36:54.677Z] 02:36:54     INFO - PID 23725 | -----------------------------------------------------
[task 2020-04-18T02:36:55.944Z] 02:36:55     INFO - PID 23725 | -----------------------------------------------------
[task 2020-04-18T02:36:55.947Z] 02:36:55     INFO - PID 23725 | Suppressions used:
[task 2020-04-18T02:36:55.948Z] 02:36:55     INFO - PID 23725 |   count      bytes template
[task 2020-04-18T02:36:55.948Z] 02:36:55     INFO - PID 23725 |      24        728 nsComponentManagerImpl
[task 2020-04-18T02:36:55.949Z] 02:36:55     INFO - PID 23725 |     633      18083 libfontconfig.so
[task 2020-04-18T02:36:55.949Z] 02:36:55     INFO - PID 23725 |       1         11 libglib-2.0.so
[task 2020-04-18T02:36:55.950Z] 02:36:55     INFO - PID 23725 |       4        832 mozJSComponentLoader
[task 2020-04-18T02:36:55.950Z] 02:36:55     INFO - PID 23725 | -----------------------------------------------------
[task 2020-04-18T02:36:56.078Z] 02:36:56     INFO - Browser exited with return code 0
[task 2020-04-18T02:36:56.078Z] 02:36:56     INFO - PROCESS LEAKS None
[task 2020-04-18T02:36:56.079Z] 02:36:56     INFO - Closing logging queue
[task 2020-04-18T02:36:56.080Z] 02:36:56     INFO - queue closed
[task 2020-04-18T02:36:56.096Z] 02:36:56     INFO - INFO | runtests.py | ASan using symbolizer at /builds/worker/workspace/build/application/firefox/llvm-symbolizer
[task 2020-04-18T02:36:56.099Z] 02:36:56     INFO - LSan enabled.
[task 2020-04-18T02:36:56.100Z] 02:36:56     INFO - INFO | runtests.py | ASan running in default memory configuration
[task 2020-04-18T02:36:56.100Z] 02:36:56     INFO - UBSan enabled.
[task 2020-04-18T02:36:56.100Z] 02:36:56     INFO - Application command: /builds/worker/workspace/build/application/firefox/firefox --marionette about:blank -profile /tmp/tmpOVsdnb
[task 2020-04-18T02:36:56.109Z] 02:36:56     INFO - Starting runner
[task 2020-04-18T02:37:07.254Z] 02:37:07     INFO - PID 24108 | 1587177427245	Marionette	INFO	Listening on port 45357
[task 2020-04-18T02:37:08.241Z] 02:37:08     INFO - TEST-START | /svg/styling/presentation-attributes-special-cases.html

This probably just needs an expectation update but not knowing exactly how the test needs to behave didn't want to make that call so ni'íng Robert.

Flags: needinfo?(longsonr)

Ugh, I missed that in my try run because there were all these other touch event failures in the same job.

Flags: needinfo?(longsonr)
Pushed by cmccormack@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9328b5b05827
make transform-origin a mapped CSS attribute r=heycam,hsivonen
Status: ASSIGNED → RESOLVED
Closed: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla77

Thanks for landing this Cameron.

(In reply to Cameron McCormack (:heycam) from comment #8)

I updated the patch following the instructions in parser/html/java/README.txt. Assuming this makes it to mozilla-central, Henri could you extract the htmlparser bits of this patch and upstream them? Thanks!

Pushed:
https://github.com/validator/htmlparser/commit/bc73c33955d6fd17e59d464d0249057da2f1e86b

Thanks.

Flags: needinfo?(hsivonen)

Added reference article for SVG transform-origin. Added links to it from SVG Attributes index page.

You need to log in before you can comment on or make changes to this bug.