Page MenuHomePhabricator

VisualEditor: Init loads oo.js on every page view (before browser blacklist) which throws an error in IE10 + compatibility mode
Closed, ResolvedPublic

Description

On every page I load on IE10, when switched into compatibility mode, I currently get the following error.

oo.js, line 97 character 2
Object doesn't support property or method 'create'

Also, if VE is not enabled on IE10, then why is this code being loaded ?


Version: unspecified
Severity: minor
See Also:
https://bugzilla.wikimedia.org/show_bug.cgi?id=50612

Details

Reference
bz50677

Event Timeline

(In reply to comment #0)

On every page I load on IE10, when switched into compatibility mode, I
currently get the following error.

oo.js, line 97 character 2
Object doesn't support property or method 'create'

Object.create and other ES5 features are only supported in IE10 and up, so IE10 in compat mode does not support them.

Also, if VE is not enabled on IE10, then why is this code being loaded ?

Unfortunately, the blacklisting code is in a class, and that class extends another class, and oo.extendClass() uses Object.create() :(

We're working on fixing this by moving the blacklisting up, see bug 50612

This code shouldn't be running before the browser blacklists, you're right. We need to fix this urgently to avoid so many errors for users on every page load.

To avoid confusion, note that this code works fine in "real" IE10, just not in compatibility mode; this isn't a blocker for VE working in IE.

Reclassifying as not serious after feedback confirming this only happens in developer mode.

But now fixed in production anyway. :-)