Page MenuHomePhabricator

ULS should not unconditionally use ES5 methods
Closed, InvalidPublic


It is currently blacklisting IE <= 7 (resources/js/ext.uls.init.js @ a10763be7f).

It previously used a layout test for boxModel (resources/js/ext.uls.init.js @ d1988bb3c7), which seems like that would be a better starting point.

I'd recommend bringing back the layout test (unless ULS no longer depends on that), and add a JS feature test for things like Object.keys. ULS currently uses new ES5 methods without any kind of conditional. This is actively causing fatal errors in older browsers.

Either don't use these methods, or add test for these methods in the support check. Alternatively, if it's worth the overhead, add a dependency on es5-shim.

Event Timeline

Krinkle raised the priority of this task from to Needs Triage.
Krinkle updated the task description. (Show Details)
Krinkle added a subscriber: Krinkle.
Amire80 added a project: Technical-Debt.
Amire80 set Security to None.
Amire80 added a subscriber: Amire80.

Is this still relevant? I can only find one place where Object.keys is used, and it's conditional since Ia7005416ec769f035b3d6ceb676ec6797bbbc103 .

Nikerabbit added a subscriber: Nikerabbit.

Nothing needs to be done. At some point we can clean up the code and drop ES3 support.