Discussion:
From Frozen to unfrozen state. hmm
George Johnstron
2010-09-20 02:15:48 UTC
Permalink
I noticed that the “nsIDOMHTMLImageElement” interface all the sudden
went from Frozen to unfrozen state in Firefox 4.0 which surprised me a
bit.

It would be great if you guys could document / list all the interfaces
that moved from Frozen to Unfrozen state. I must admit that you guys
make it a bit difficult for us extension developers if we can’t rely
on a frozen interface to actually to stay frozen.

If you need to extent “nsIDOMHTMLImageElement” after it has been
declared frozen why not implement “nsIDOMHTMLImageElement2” and
inherit from “nsIDOMHTMLImageElement”?
Boris Zbarsky
2010-09-20 02:25:11 UTC
Permalink
Post by George Johnstron
It would be great if you guys could document / list all the interfaces
that moved from Frozen to Unfrozen state.
All of them. There will be no more frozen interfaces. This was pretty
clearly announced, I thought. See
https://developer.mozilla.org/En/Developer_Guide/Interface_Compatibility#Binary_Interfaces
for details.
Post by George Johnstron
If you need to extent “nsIDOMHTMLImageElement” after it has been
declared frozen why not implement “nsIDOMHTMLImageElement2” and
inherit from “nsIDOMHTMLImageElement”?
Because that increases the complexity of the platform, slows down access
to both interfaces from JavaScript, and doesn't work for non-additive
changes.

-Boris
Boris Zbarsky
2010-09-20 02:26:38 UTC
Permalink
Post by Boris Zbarsky
Post by George Johnstron
If you need to extent “nsIDOMHTMLImageElement” after it has been
declared frozen why not implement “nsIDOMHTMLImageElement2” and
inherit from “nsIDOMHTMLImageElement”?
Because that increases the complexity of the platform, slows down access
to both interfaces from JavaScript, and doesn't work for non-additive
changes.
And to be clear, this particular interface isn't even one we control, so
freezing it made no sense to start with. It's the "HTMLImageElement"
interface in the DOM 2 HTML or HTML5 specification. It needs to change
every time the latter changes.

-Boris
George Johnstron
2010-11-01 19:42:22 UTC
Permalink
Post by Boris Zbarsky
Post by Boris Zbarsky
Post by George Johnstron
If you need to extent “nsIDOMHTMLImageElement” after it has been
declared frozen why not implement “nsIDOMHTMLImageElement2” and
inherit from “nsIDOMHTMLImageElement”?
Because that increases the complexity of the platform, slows down access
to both interfaces from JavaScript, and doesn't work for non-additive
changes.
And to be clear, this particular interface isn't even one we control, so
freezing it made no sense to start with.  It's the "HTMLImageElement"
interface in the DOM 2 HTML or HTML5 specification.  It needs to change
every time the latter changes.
-Boris
And we can expect interfaces to remain unfrozen even during the RC
period?
Benjamin Smedberg
2010-11-01 19:57:16 UTC
Permalink
Post by George Johnstron
And we can expect interfaces to remain unfrozen even during the RC
period?
We expect interfaces to remain stable on release branches. We intend to have
an API freeze with Firefox 4 beta 7.

--BDS

Loading...