Closed Bug 825411 Opened 12 years ago Closed 12 years ago

clipPaths, masks, etc. with failing conditional processing attributes cause referencing elements not to be rendered

Categories

(Core :: SVG, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla21

People

(Reporter: heycam, Assigned: longsonr)

References

Details

Attachments

(2 files)

Attached image test
See the attachment. According to the spec currently, the clipPath, mask and pattern should all be allowed to be referenced. The spec doesn't say anything about filter and gradient elements, but I think they should be treated the same way. I mailed www-svg about it: http://lists.w3.org/Archives/Public/www-svg/2012Dec/0102.html
Let's take clipPaths as an example. The specification is clear that ‘clipPath’ elements are never rendered directly; their only usage is as something that can be referenced using the ‘clip-path’ property. So what does it mean when http://www.w3.org/TR/SVG/masking.html#EstablishingANewClippingPath says that clipPath supports conditional processing attributes and that http://www.w3.org/TR/SVG/masking.html#InterfaceSVGClipPathElement implements SVGTests?
I think the spec is clearly contradictory, since http://www.w3.org/TR/SVG/struct.html#ConditionalProcessing explicitly says: ‘requiredFeatures’, ‘requiredExtensions’ and ‘systemLanguage’ attributes will have no effect on ‘mask’, ‘clipPath’, and ‘pattern’ elements.
Indeed. So is the spec plan to remove SVGTests as an interface on clipPath, pattern etc. If we changed our implementation that way it would fix this testcase.
Sounds good to me. Once we discuss http://lists.w3.org/Archives/Public/www-svg/2012Dec/0102.html in a telcon and confirm that we're keeping the comment 2 interpretation, I'll update the IDL and blue element summary boxes in the spec.
Blocks: 825749
Blocks: 825769
Now that Bug 825147 has landed, all the failing cases except gradient are rendered.
Attached patch patchSplinter Review
Assignee: nobody → longsonr
Attachment #698453 - Flags: review?(cam)
Attachment #698453 - Flags: review?(cam) → review+
Looks like the mochitest-other failures were some other issue that was reverted. https://tbpl.mozilla.org/?tree=Try&rev=ffc2e09075c5
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla21
(In reply to Cameron McCormack (:heycam) from comment #4) > Sounds good to me. Once we discuss > http://lists.w3.org/Archives/Public/www-svg/2012Dec/0102.html in a telcon > and confirm that we're keeping the comment 2 interpretation, I'll update the > IDL and blue element summary boxes in the spec. We agreed in the telcon today that we should keep the current applicability of SVGTests and conditional processing attributes, and to make it explicit that they have no effect on <filter> and gradient elements.
That seems like the worst possible answer. It costs memory to implemeent SVGTests and yet they are useless on those elements. Perhaps we should just ignore the specification since SVGTests on those elements are not functional.
Sorry, I think I wrote that wrong. I meant to say we agreed to keep the current applicability of conditional processing attributes (i.e., they're not applicable to clipPath, etc.), and to have SVGTests implemented only on the elements that the attributes are applicable on. Thus SVGTests is now no longer implemented on SVGClipPathElement, SVGPatternElement, and in fact all of the elements that were previously inheriting from SVGDefinitionElement. I updated the spec earlier today to this effect: https://svgwg.org/hg/svg2/rev/e5fb6a22e70b
Ahh, that's much better. Happy now :-)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: