On 3/4/2013 6:10 PM, Bobby Holley wrote:
Q: Will this break websites?
A: Some, probably. Telemetry indicates that a bit under 10% of users
encounter at least one reference to Components during their browsing
session. Approximately half of these appear to be simple accesses of the
object itself and not any of its properties, which probably indicates
bachelor-frog browser detection of the form |if (window.Components) { /*
Firefox */ }|. The other half appears to be access to
Components.interfaces, which probably indicates that the page is pulling
DOM constants off XPCOM interfaces instead of the DOM constructor (i.e.
Components.interfaces.nsIXMLHttpRequest.HEADERS_RECEIVED instead of
XMLHttpRequest.HEADERS_RECEIVED).
Is there a particular reason we aren't just making these cases continue to work? I understand that we don't want to expose the *current* Components object for a bunch of compelling reasons. But couldn't we have a new object with specific compatibility behaviors so that existing sites which use Components for detection or for specific interface consts to continue to work?

e.g. nsIDOMComponentsShim -> interfaces -> nsIXMLHttpRequest. list of consts

If we can do simple things to keep web compat, we should.

--BDS

_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to