RESOLVED INVALID 13815
bad parsing of JavaScript code from big and complex external .js
https://bugs.webkit.org/show_bug.cgi?id=13815
Summary bad parsing of JavaScript code from big and complex external .js
Luigi Giannini
Reported 2007-05-22 10:01:10 PDT
FormFaces is a ZERO server-side processing and ZERO plug-ins XForm implementation in pure JavaScript. FormFaces is freely licensed under the BSD. While WebKit has not support for XForm directly or via a plug-in (may be in a far long time distance?) this is the only way to work with XFrom on WebKit based browser. The URL above is for access a demo of a bookstore full XForm based that work on Firefox 2.x on Mac and Win and IE 6.x and 7 on Win. On that site there's a full suite (32) for test at this URL: http://www.formfaces.com/faces/Examples/Test%20Pages/index.html I have spent time to run every test on WebKit 522+: all pass except these: http://www.formfaces.com/faces/Examples/Test%20Pages/itemset.html http://www.formfaces.com/faces/Examples/Test%20Pages/submit.html http://www.formfaces.com/faces/Examples/Test%20Pages/replace-all.html These tests all pass on FireFox 2.x on Mac and Opera 9.21 on Mac while on WebKit 522+ return Syntax Error. Then this is a bug relative to parsing Javascript from external .js ??? (I try to read the external .js that implement XForm but is very hard because is a one line code of 96Kbyte)
Attachments
David Kilzer (:ddkilzer)
Comment 1 2007-05-22 10:15:08 PDT
(In reply to comment #0) > http://www.formfaces.com/faces/Examples/Test%20Pages/itemset.html > http://www.formfaces.com/faces/Examples/Test%20Pages/submit.html > http://www.formfaces.com/faces/Examples/Test%20Pages/replace-all.html Every one of these tests ends with an alert sheet which says (among other things): "Maximum call stack size exceeded." Related to Bug 4045? Confirmed with a local debug build of WebKit r21639 with Safari 2.0.4 (419.3) on Mac OS X 10.4.9 (8P135).
Luigi Giannini
Comment 2 2007-05-29 03:25:18 PDT
Thanks David for your fast reply. Today I can respond to Your last question: "Related to Bug 4045?": Yes it is related but not duplicated. After dowload the latest nightly build of webkit I change the source code of JavaScriptCore/kjs/object.cpp according to the naive fix shown in Bug 4045. (I only comment the code that change JavaScript call stack in accordance with platform leaving always KJS_MAX_STACK 1000 !) and the error alert sheets that report: "Maximum call stack size exceeded" are disappeared. Two of test now pass: http://www.formfaces.com/faces/Examples/Test%20Pages/itemset.html http://www.formfaces.com/faces/Examples/Test%20Pages/submit.html But the third no. Now it's stopped by this error: "NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7" OK is a step ahead but I wonder of these things: Why would the WebKit has a different behavior on different platform? Why isn't the bug 4045 fixed if there is a fix? Too simple to pass in the main tree code? Now is sure that bug 4045 blocks two others bugs: 6628 and 13815. Please fix asap ... Thanks
David Kilzer (:ddkilzer)
Comment 3 2007-08-20 21:30:34 PDT
(In reply to comment #1) > (In reply to comment #0) > > http://www.formfaces.com/faces/Examples/Test%20Pages/itemset.html > > http://www.formfaces.com/faces/Examples/Test%20Pages/submit.html These are now fixed after fixing Bug 4045! > > http://www.formfaces.com/faces/Examples/Test%20Pages/replace-all.html This page now fails with the following alert() dialog: > An error has occurred! > > Error: NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7 > > Stack trace: > (stack trace not available) And this test now fails with a JavaScript error: http://www.formfaces.com/faces/Examples/Test%20Pages/controls-labels.html SyntaxError: Parse error http://www.formfaces.com/faces/Source/xforms.js Line: 1 Almost there!
Oliver Hunt
Comment 4 2008-07-19 23:39:33 PDT
That last example doesn't seem to trigger an exception in ToT
Gavin Barraclough
Comment 5 2011-08-12 13:10:41 PDT
http://www.formfaces.com/ seems to no longer exist. :-(
Note You need to log in before you can comment on or make changes to this bug.