PDA

View Full Version : Comboboxes are ed up in Chrome



ZeusTheTrueGod
9 Oct 2013, 9:48 PM
Browser: Chrome. ExtJS Version - any 3.x
Look here - http://jsfiddle.net/8kp5G/
Any combobox popup is not rendered properlty

How to fix:
insert the line in top of your javascript: 'delete Array.prototype.values';
Look here - http://jsfiddle.net/8kp5G/2/

Reason:
Latest chrome added the 'Array.prototype.values', and the core Ext.XTemplate generates a function like
function anonymous(values) {
with(values) {
return values;
}
}

That was ok until array got the #values property in the latest chrome release so now this anonymous function returns the iterator instead of the array itself when passed as a parameter

ZeusTheTrueGod
11 Oct 2013, 9:13 AM
It looks like no one cares that their legacy Ext 3.x projects stopped working in Chrome

rich02818
12 Oct 2013, 6:57 AM
I'm not seeing any difference between the two cases at your links. I'm running

Version 30.0.1599.69 m

israelroldan
14 Oct 2013, 12:23 PM
I'm having trouble replicating the issue as well, which Chrome version are you using? Which OS? I see no difference between the 2 test cases.

ktulhu
2 Nov 2013, 4:59 PM
I also have this issue
chrome 30.0.1599.101 m
win 7 home
maybe it related to one of the chrome extensions...

docsnyder
13 Nov 2013, 12:30 AM
We are seeing this issue here too, but only on one of 5 PCs. We tried deactivating all extensions but that doesn't seem to affect the issue. At the affected PC this also is reproducable with Chrome Canary.

dirk.hamberger
13 Nov 2013, 2:39 AM
What side-effects are to be expected when patching our application with this line of code?



delete Array.prototype.values;


The Chrome Team must have put this property there for a reason, won't they? ;-)
Will our application possibly break with ES6/Harmony or any sort of this?

jamy76
13 Nov 2013, 3:46 AM
Seems the key to reproduce this bug is activating the Chrome Flag:

#enable-javascript-harmony
(chrome://flags/#enable-javascript-harmony)
... which you can access by typing into the URL:
chrome://flags

That was the only difference to machines where I saw comboboxes working
in the exact same (latest) Chrome version.

So again the question: will ExtJS3.4 Comboboxes stop to work as soon
as EcmaScript 6 will be the official standard built in into all major browsers?