myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Werner Punz (JIRA)" <>
Subject [jira] [Updated] (MYFACES-3509) Array.prototype.forEach used in browsers that do not natively support this function
Date Tue, 01 May 2012 19:00:49 GMT


Werner Punz updated MYFACES-3509:

       Resolution: Fixed
    Fix Version/s: 2.1.8-SNAPSHOT
           Status: Resolved  (was: Patch Available)

Thanks for the patch, the fix now is applied

> Array.prototype.forEach used in browsers that do not natively support this function
> -----------------------------------------------------------------------------------
>                 Key: MYFACES-3509
>                 URL:
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: General
>         Environment: IE8
>            Reporter: Mircea Toma
>             Fix For: 2.0.14-SNAPSHOT, 2.1.8-SNAPSHOT
>         Attachments: MYFACES-3509-1.patch
> While running one of our test applications in IE8 we got this "Object doesn't support
this property or method" error occurring.
> After debugging the code the problem was located in api/src/main/javascript/META-INF/resources/myfaces/_impl/_util/_Lang.js
code. It seems that 'arrForEach' is trying to use the browser native 'forEach' function but
it fails since IE8 (or IE7) does not implement it.
> Here is a constructed call stack that shows when and where the error occurs:
> (startPos) ? arr.slice(startPos).forEach(func, thisObj) : arr.forEach(func, thisObj);
-- file: api/src/main/javascript/META-INF/resources/myfaces/_impl/_util/_Lang.js, line: 346
> this._Lang.arrForEach(this._q, closure, this._space);  -- file: api/src/main/javascript/META-INF/resources/myfaces/_impl/_util/_Queue.js,
line: 155
> this.each(broadCastFunc); -- file: api/src/main/javascript/META-INF/resources/myfaces/_impl/_util/_ListenerQueue.js,
line: 80
> this._evtListeners.broadcastEvent(eventData); -- file: api/src/main/javascript/META-INF/resources/myfaces/_impl/core/Impl.js,
line: 564
> ....
> I noticed that in api/src/main/javascript/META-INF/resources/myfaces/_impl/_util/_LangQuirks.js
there's a version of 'arrForEach' function that iterates over elements using a plain 'for'
loop. Unfortunately this version of the method is not loaded because of the condition at the
top of the file is not fulfilled. I attached a patch that we used to get things going. Of
course you might have a better solution to this issue.
> Here's also the original JIRA case: 

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message