I think we should have a console warning when any of the implemementations of nsIDOMCSSStyleDeclaration::GetPropertyCSSValue are called, since this is an API that we're considering eliminating (I think we're the only implementor, and we implement it only for computed style, at considerable cost in code size).
So, for a start, I think we should add a warning to the error console that a deprecated API is being used, and then see if anybody complains...
Does that seem reasonable?
Created attachment 358015 [details] [diff] [review]
I checked that the warning shows up for the computed style and style attribute cases, and that it doesn't in those cases for getPropertyValue.
I wonder how we might write a test for this. I know in xpcshell land, we can easily register a JS test component (see do_load_module in tools/test-harness/xpcshell-simple/head.js ), and that console listener components can register themselves with the console service. But getComputedStyle requires a window (nsIDOMViewCSS), and I'm not sure if the style property of elements does.
So it might require a mochitest to test this, and I don't know if mochitests can register new components.
> I wonder how we might write a test for this.
Mochitest. You don't need a "js component" to register a console listener. Heck, there are existing mochitests that do it that you should be able to crib from.
Comment on attachment 358015 [details] [diff] [review]
This looks ok. Some people actually use this API to get things like sizes in em, but ideally we'd implement a better CSSOM API they could use before this goes away completely.
Does the patch cause lots of warnings on some pages? Perhaps one warning per
document? (Similar to getBoxObjectFor warning)
Where does the getBoxObjectFor warning store the state that it's given the warning already? In the property table or something?
(My understanding is that we're the only browser implementing this API, so I'm not expecting to see a lot of users in the real world.)
boxObjects are also gecko only.
For the boxObject warning there is a flag in nsDocument.
I backed this out because of bug 475311: