Created attachment 624405 [details] [diff] [review]
WIP 1, part 1 - Rename JSOPTION_XML -> JSOPTION_MOAR_XML and other renaming
The problem is that JSOPTION_XML doesn't do what you might guess, so I'm splitting it into two separate options:
JSOPTION_ALLOW_XML - if this is off, we won't allow E4X syntax
no matter what your version number is
JSOPTION_MOAR_XML - if ALLOW_XML is off, this has no effect;
if ALLOW_XML is on, this has the effect of the existing JSOPTION_XML flag,
which means we allow E4X even in JS version numbers that don't
normally have it, and <!-- is treated as an E4X comment rather than
as a // to-end-of-line comment.
This patch simply renames the existing JSOPTION_XML to JSOPTION_MOAR_XML,
and a few other trivial renamings/cleanups. There should be no change in behavior.
Created attachment 624406 [details] [diff] [review]
WIP 1, part 2 - JSOPTION_ALLOW_XML
Adds JSOPTION_ALLOW_XML and unconditionally turns it on throughout the browser (and JS test suites except jsapi-tests).
Created attachment 624419 [details] [diff] [review]
WIP 1, part 3 - add prefs for E4X support
This adds two prefs:
Both these prefs control JSOPTION_ALLOW_XML. The first is for chrome JS; the second is for web content.
In this patch, both default to true so as not to change the default behavior, but in a follow-up bug I intend to make them both off-by-default!
Note: In this WIP, the prefs only control XML syntax; neither pref affects the constructors XML, XMLList, Namespace, etc. that exist in every global. Those shouldn't exist either, if JSOPTION_ALLOW_XML is off. I just haven't implemented that part yet.
Oh - I should add that due to bugs in part 2, this isn't passing tests yet. At the moment, it's disabling XML support more than it should. Just putting the patches up early so anyone interested could look into the effect on addons.
Created attachment 626502 [details] [diff] [review]
Created attachment 628773 [details] [diff] [review]
v3 - also check the pref in dom/workers
Sorry for the last-minute request. I'd like addon developers to be able to test their stuff using FF15 this release, and default the pref to false in FF16.
New Try run, since I added code:
Thank you for the rapid reviews!