Closed Bug 1353697 Opened 3 years ago Closed 3 years ago

Fix the 'transform' attribute on outer-<svg> to also transform the border, padding and clip rect (like CSS transforms)

Categories

(Core :: SVG, enhancement)

enhancement
Not set

Tracking

()

RESOLVED FIXED
mozilla55
Tracking Status
firefox55 --- fixed

People

(Reporter: jwatt, Assigned: jwatt)

References

Details

Attachments

(3 files)

Bug 863994 implemented the 'transform' attribute on outer-<svg> as a supplemental children-only transform, so it only transforms the children of the <svg>. It should actually act in the same way as the 'transform' CSS property would. In other words it should transform the entire element, including transforming the element's border, padding and clip rect.
The test fragmentIdentifier-01.xhtml relies on the transform not applying to the outer-<svg> element itself. When the transform does apply, the element is moved and as a result the document's scroll area increases and scrollbars appear.

Getting rid of scrollbars on <object> seems to be impossible without modifying the embedded document to apply a clip rect (|overflow:hidden| doesn't work on replaced elements). However, we don't want to to apply an explicit clip in the embedded SVG file since it could possibly cause the tests to pass when they shouldn't. (And doesn't really easily work easily since the clip rect is also transformed.)

<iframe> seems to have a 'scrolling' attribute that can be used to control this so I've changed the <object> elements to <iframe> and set the 'scrolling' attribute.
Attachment #8854836 - Flags: review?(longsonr)
Attachment #8854836 - Flags: review?(longsonr) → review+
Attachment #8854837 - Flags: review?(longsonr) → review+
Attachment #8854838 - Flags: review?(longsonr) → review+
Pushed by jwatt@jwatt.org:
https://hg.mozilla.org/integration/mozilla-inbound/rev/d2a68fa4f876
part 1 - Fix test fragmentIdentifier-01.xhtml so that scrollbars won't appear once 'transform' handling is fixed. r=longsonr
https://hg.mozilla.org/integration/mozilla-inbound/rev/c1d8ff1b468c
part 2 - Fix the 'transform' attribute on outer-<svg> to also transform the border, padding and clip rect. r=longsonr
https://hg.mozilla.org/integration/mozilla-inbound/rev/bd7d7de37a86
part 3 - Test 'transform' on outer-<svg> works correctly. r=longsonr
Duplicate of this bug: 1174961
Duplicate of this bug: 1174964
You need to log in before you can comment on or make changes to this bug.