https://bugzilla.wikimedia.org/show_bug.cgi?id=33154

Krinkle <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|Normal                      |Highest
                 CC|                            |[email protected]
         AssignedTo|[email protected]. |[email protected]
                   |org                         |
           Severity|normal                      |blocker

--- Comment #13 from Krinkle <[email protected]> 2011-12-16 00:01:29 UTC ---
I've confirmed that the following exception is the cause for everything to
fail.

Uncaught Error: HIERARCHY_REQUEST_ERR: DOM Exception 3
load.php:5644| jQuery.fn.extend.append
load.php:5846| jQuery.fn.extend.domManip
load.php:5819| jQuery.fn.extend.domManip.parent
load.php:660| jQuery.extend.each
load.php:274| jQuery.fn.jQuery.each
load.php:5816| jQuery.fn.extend.domManip
load.php:5642| jQuery.fn.extend.append
ext.webfonts.js:288| mw.webfonts.buildMenuItems
....
(Using debug=true to get ext.webfonts.js to load unminified/uncombined, and
WebKit Web Inspector to get full trace)

Directly speaking, the bug is due to a bad loop in the WebFonts module.
Indirectly speaking it's caused by Twinkle modifying the browsers' native
constructors prototypes, which is kind a against our conventions, but shouldn't
break anything like this.

Code from WebFonts:
            for ( var scheme in config ) {
                var $fontLink = $( '<input type="radio" name="font" />' )
                    .attr( 'id', fontID( config[scheme] ) )
                    .val( config[scheme] );

                var $fontLabel =  $( '<label>' )
                    .attr( 'for',fontID(config[scheme] ) )
                    .append( $fontLink )
                    .append( config[scheme] );

"config" here is an object created as an Array literal, and as such has the
following prototypes injected by Twinke:
* Array.prototype. uniq
* Array.prototype.dups
* Array.prototype.chunk

This loop is attempting to insert a function (!) into the DOM which obviously
will fail terribly.

-- 
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.

_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to