Page MenuHomePhabricator

ULS should not unconditionally use ES5 methods
Closed, InvalidPublic

Description

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 created this task.Jan 29 2015, 6:50 PM
Krinkle raised the priority of this task from to Needs Triage.
Krinkle updated the task description. (Show Details)
Krinkle added a subscriber: Krinkle.
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptJan 29 2015, 6:50 PM
Amire80 triaged this task as Low priority.Mar 12 2015, 9:17 AM
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 closed this task as Invalid.Apr 10 2017, 11:14 AM
Nikerabbit added a subscriber: Nikerabbit.

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