#12544 closed defect (fixed)
robot crashes FF4 on mac
Reported by: | Douglas Hays | Owned by: | haysmark |
---|---|---|---|
Priority: | high | Milestone: | 1.7.6 |
Component: | TestFramework | Version: | 1.6.0 |
Keywords: | ff4 | Cc: | |
Blocked By: | Blocking: |
Description
Run dijit/tests/form/robot/CheckBox_a11y.html on FF4/mac. As soon as I click to Allow the untrusted applet to run, FF4 terminates.
Attachments (1)
Change History (21)
comment:1 Changed 10 years ago by
comment:3 Changed 10 years ago by
Milestone: | 1.6.2 → 1.7 |
---|
comment:5 Changed 10 years ago by
Well, it’s not clicking the close button any more on my system, but it is still not working on my system, Mac OS 10.6.8. In my case it seems to be clicking right between my first and second monitors. The second monitor is positioned south of the first monitor. It does not matter which monitor the Firefox window is on.
Interestingly, when I ran the Robot in Firefox, then ran the robot in Safari while my Firefox window was still open, it appeared to click *in the Firefox window* in the expected location.
comment:6 Changed 10 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
comment:8 Changed 10 years ago by
I don't think it's a blocker. Perhaps this error is new, but DOH on FF/mac has never worked. You need to run on FF/win. (I'm talking about the dijit regression tests.)
comment:9 Changed 10 years ago by
Priority: | high → normal |
---|
changing priority to normal to get it off the 1.7 hot list
comment:10 Changed 9 years ago by
Fun fact: Apple added the ability to detach applets from the browser. By holding down shift+command and waving your mouse over an applet, a frame appears. If you drag the frame, it detaches from the browser.
Fun fact: for some reason, this does not quite work for our applet. Instead, you have to move your mouse to the top left of the screen to find it. This position also coincides with the position reported by getLocationOnScreen. See the attached applet.png for details.
Apple made a number of "fixes" related to these issues, there could more more in store:
comment:11 Changed 9 years ago by
I still have a ticket open with Mozilla, I moved it to a more visible location:
https://bugzilla.mozilla.org/show_bug.cgi?id=645846
Also, I personally can't open a defect with Apple because I can't sign their NDA, but perhaps someone else can?
comment:13 Changed 9 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
This line is wrong because because of the extra parens:
if(e.stopPropagation()){ e.stopPropagation(); }
More importantly, I was getting an error running the dijit regression on IE8 about "console is undefined", but still tracing down when that happens. Does it happen for you?
comment:14 Changed 9 years ago by
Bill, what extra parens? I don't see a syntax error? Here is the output from jslint for that onmousedown on its own ex nitpicking:
Missing 'use strict' statement. if(receivedMouseDown){ line 2 character 12'receivedMouseDown' was used before it was defined. if(receivedMouseDown){ line 6 character 16'window' was used before it was defined. e = e||window.event; line 7 character 22Expected '===' and instead saw '=='. if(e.screenX == 0||e.clientX == 0){ return; } line 7 character 38Expected '===' and instead saw '=='. if(e.screenX == 0||e.clientX == 0){ return; } line 10 character 9'robot' was used before it was defined. robot._setDocumentBounds(docScreenX, docScreenY);
I'll delete any new console.logs.
comment:15 Changed 9 years ago by
That code fails when e.stopPropagation is not defined. Just try running the tests on IE8, both runTests.html and a standalone tests/_base/robot/CrossWindow.html, and you'll see the error.
comment:17 Changed 9 years ago by
I tried CrossWindow? in IE8 mode in IE9 with the fix, it should work now...
comment:18 Changed 9 years ago by
Thanks, that's working much better now.
For the record, the problem I listed above was that the if condition (which was clearly trying to test if e has a stopPropagation() method) should have been:
if(e.stopPropagation)
not
if(e.stopPropagation())
The latter if() statement actually calls stopPropagation to evaluate the if()'s condition, and of course it will get an exception if there's no such method.
comment:20 Changed 7 years ago by
Milestone: | 1.8 → 1.7.6 |
---|
My experience is that FF4 does not actually crash, but instead the robot clicks the top-left corner where the close button just so happens to be. When I moved the browser to the right, the browser did not crash, but the tests did not start either.
See: https://support.mozilla.com/en-US/questions/803519