WebKit supports it, and it makes sense, so I specced it. The spec requires non-support of state for useCSS.
Created attachment 608478 [details] [diff] [review]
I think the old behavior was just a bug. The code set STATE_ATTRIBUTE to a boolean, but it's supposed to be a string. So when QueryCommandValue() tried retrieving "state_attribute" as a string, it found nothing. And when QueryCommandState() tried retrieving "state_all" as a boolean, it also found nothing. All this just demonstrates that the code here is sufficiently confusing that it baffled the people who wrote it . . .
I had to add a special case for useCSS, because the spec says queryCommandState() shouldn't be supported for it. It's legacy cruft, and I want to support as few features as possible for it. Plus, we'd need a special case for it anyway, because we'd have to invert the return value if it were to make any sense.
Branch: mozilla-central => try
Try run started, revision 4c9d8f3ff72d. To cancel or monitor the job, see: https://tbpl.mozilla.org/?tree=Try&rev=4c9d8f3ff72d
Comment on attachment 608478 [details] [diff] [review]
Review of attachment 608478 [details] [diff] [review]:
r=me, but I think you should also modify http://mxr.mozilla.org/comm-central/source/mozilla/content/html/content/test/test_bug408231.html.
Try run for 4c9d8f3ff72d is complete.
Detailed breakdown of the results available here:
Results (out of 219 total builds):
Builds (or logs if builds failed) available at:
Created attachment 608809 [details] [diff] [review]
Patch v2, test failure fixed
Same as last patch, but with test_bug408231.html fixed. I wrote the test based on bug 738366 being fixed, so it should be false rather than true. Thus bug 738366 needs to land first, or at the same time. This patch will conflict with the bug 738385 changes, but that's okay, it should be easy to merge.
(I don't know why queryCommandValue("stylewithcss") is suddenly returning the empty string instead of throwing, but it's moot, because it will do that anyway after bug 738385 lands.)