Thanks for the deepest analysis I have ever seen on the mailing-list.
It appears more of a prototype bug than a PWC one.

If I have time I will make a simple code (without PWC) to reproduce  
it (unless you already have one) and talk with prototype guys.
Thanks
Seb
On Feb 5, 2007, at 7:12 AM, Van wrote:

> On 2/4/07, Van <[EMAIL PROTECTED]> wrote:
>> It is definitely an interaction of FireBug 1.0 in the environment and
>> making a *synchronous* AJAX call to load dialog content in Firefox  
>> 1.5 or 2.0.
>
> More analysis by one of my peers has traced this back to an issue with
> the version of Prototype we are using. So, I think the appropriate
> thing is for me to pursue this further on whatever support list exists
> for Prototype. In case you are wondering though, the following is our
> analysis that leads us to believe it is a Prototype issue.
>
> Below is the significant call stack (in reverse order, most local
> context on top) that occurs when you hit anything that brings up the
> dialog, in this case, the feeback link.  As I vaguely understand it,
> when we hit the link, we send an Ajax request (xa-FeedbackSetup) that
> retrieves the HTML that should go in the dialog.  It then tries to
> create a Window dialog with that HTML.  Notice the method I've
> indicated with "***":
>
> ------------------
> [window.js:407]               Window._createWindow
> [window.js:68]                Window.prototype.initialize ("feedbackDialogId")
> [prototype.js:20]     Class.create
> [window.js:1069]      _openDialog  (This is where it calls "new Window")
> [windows.js:986]      Dialog.confirm
> [window.js:1081] Dialog._getAjaxContent
> [prototype.js:815]    Ajax.Request.prototype.respondToReadyState()
> (state="4", a.k.a. "Complete")
> [prototype.js:774]    onStateChange
> protype.js:68]                Function.prototype.bind()
> ***prototype.js:736   Ajax.Request.prototype.request("/ajax/xA- 
> feedbackSetup")
> prototype.js:706      Ajax.Request.prototype.initialize("/ajax/xA- 
> feedbackSetup",
> prototype.js:20       create (XMLHttpRequest)
> window.js:1092                _runAjaxRequest
> window.js:966         Dialog.confirm (ajax method to get content, ...)
> --- (debugger confusion)---   this method evaluates some javascript
> code that is really "Dialog.confirm("/ajax/xA-feedbackSetup")...
> krillion.js:53                evalCode(open_feedback) (This is the "onclick"
> handler, called from div#siteFeedback)
> ---------
>
>
> If you look at Ajax.Request.prototype.request, line 736 and following,
> it looks like this:
>
> -----------------
>  736:     this.transport.send(this.options.method == 'post' ?  
> body : null);
>
>           /* Force Firefox to handle ready state 4 for synchronous  
> requests */
>  740:     if (!this.options.asynchronous &&  
> this.transport.overrideMimeType)
>           this.onStateChange();
> -----------------
>
> What happens is that line 740 is true, and calls onStateChange(),
> which you can see from the above call stack, has already happened!  My
> suspicion is that line 740 is a hack to fix firefox, but something
> about Firebug 1.0 being installed has fixed the problem with firefox,
> so now this hack is causing problems.
>
> FYI, Van
>
> _______________________________________________
> Javawin mailing list
> [email protected]
> http://mail.xilinus.com/mailman/listinfo/javawin_xilinus.com


_______________________________________________
Javawin mailing list
[email protected]
http://mail.xilinus.com/mailman/listinfo/javawin_xilinus.com

Reply via email to