On 10/8/2013 11:06 AM, Bobby Holley wrote:
In general, I'm pretty against this kind of monkey-patching if it's made
available to out-of-tree consumers. We should learn our lesson from XPCOM
and recognize what a royal PITA it can be when extensions start to depend
on implementation details. Allowing something to be modified/overridden by
embeddors should be an explicit decision, rather than the other-way around.
I'm of two minds about this. Having explicit extension points is a great
thing, especially if those points are tested. Monkeypatching is bad
engineering practice in general, and can both make it harder to change
things in our platform, and mean that extension break more often and in
bad ways.
On the other hand, addons which made extensive changes to the browser
through monkeypatching have been some of the most innovative and
successful browser experiments. Perhaps there should still be a place in
the world for addons which do these sorts of things. Perhaps it just
means we should use addon static analysis to trigger extra review of
monkeypatching, and work with the code owners to add "real"
extensibility points to make it no longer necessary.
At this point, I don't think that .freezing should be a best practice
(and we have more important things to do anyway).
--BDS
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform