Created attachment 684903 [details] [diff] [review] patch Note that I changed the serialisation of @-moz-document rules to remove an extra space after the condition. I've left SetConditionText() unimplemented, like SetCssText() is.
Created attachment 685019 [details] [diff] [review] patch (v1.1) Force @supports pref on in the test.
Comment on attachment 685019 [details] [diff] [review] patch (v1.1) The XPIDL bits make me cry, but converting this to WebIDL is a fight for another day. Please post to www-style requesting corresponding changes to CSSOM? >+++ b/dom/interfaces/css/nsIDOMCSSGroupingRule.idl >+ * Interface for at-rules in the CSS OM. "at-rules that have child rules" I'm trying to figure out the usefulness of conditionText if one gets it without checking what sort of condition rule one has. It has pretty different behavior for @-moz-document and @supports, no? What's the benefit of having a single interface that hands out strings that mean totally different things depending on which instance of the interface you have? Apart from that this looks ok, but I'd like to understand the API design here.
So these interface changes are already in the css3-conditional spec, I was just following them. That conditionText should go on CSSConditionRule was a recent WG decision, I believe. Whether having conditionText there and not individually on each of CSSMediaRule, CSSDocumentRule (when that goes into css4-conditional) and CSSSupportsRule, possibly with different names, is useful, I'm not sure. (It might be useful for a style sheet editing UI that lets you double click to edit the condition?) Maybe dbaron could say more.
Comment on attachment 685019 [details] [diff] [review] patch (v1.1) Ah, ok. If dbaron is already on board with the interface chnages, r=me
Documentation has been updated. Created: https://developer.mozilla.org/en-US/docs/DOM/CSSGroupingRule https://developer.mozilla.org/en-US/docs/DOM/CSSConditionRule Updated: https://developer.mozilla.org/en-US/docs/DOM/CSSMediaRule https://developer.mozilla.org/en-US/docs/DOM/CSSRule https://developer.mozilla.org/en-US/docs/DOM/CSSNamespaceRule https://developer.mozilla.org/en-US/docs/DOM/CSSSupportsRule https://developer.mozilla.org/en-US/docs/DOM/CSSStyleRule https://developer.mozilla.org/en-US/docs/Firefox_20_for_developers