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