Closed Bug 58404 Opened 24 years ago Closed 24 years ago

javascript: urls that open new windows case strange behaviour

Categories

(Core :: JavaScript Engine, defect, P3)

x86
Linux
defect

Tracking

()

VERIFIED FIXED
mozilla0.8

People

(Reporter: blizzard, Assigned: danm.moz)

References

()

Details

Accessing javascript: urls that open new windows cause strange behaviour. If you access one you have to mouse over buttons or open a new window manually to get the new window to come up. You can see it on the url above. I also have javascript: urls in my bookmarks that exhibit this problem too. It doesn't happen every time. Also, while that window is waiting to come up, mozilla has the CPU pegged at 100%. I know that in the new XUL window creation code there's some GetNativeEvent/DispatchNativeEvent fun that messes with the JS context at the same time, that's why hyatt is on the cc list.
OK, I did a quick experiment. In the embedding widget I put a printf() in the GetNativeData/DispatchNativeData loop that's the equivelent of the one that's in the XUL code ( the embedding widget is where it was first pointed out to me. ) The inner loop that's loading the initial chrome:// url never exits until some other set of events happen. If you are creating a new window then both windows are created.
Small test case: <html> <head> </head> <body> <a href="javascript:window.open('http://www.mozilla.org');">click me</a> </body> </html>
Magic 8 ball says: danm! /be
Assignee: rogerl → danm
Can't reproduce on Win95 build 20000110304 with Christopher's test case. Added void() to testcase to keep the link for multiple re-tries: <html> <head> </head> <body> <a href="javascript:void(window.open('http://www.mozilla.org'));">click me</a> </body> </html> How many times do we have to click this to get the error? I tried 50 times and did not get an error. Christopher, what is going on?
It's very hard to reproduce in Mozilla. Try to make sure that it's the first thing that you do when you start the browser. That usually helps. Also, try TestGtkEmbed. It is much more likely to happen there.
Hi Christopher, I think your aim should be to write a real bastard of a test case that always fails no matter what. Try things like putting your code into the HEAD section or into a frameset (using other than mouse click events) or an unload event passing the window reference to another window that is still open, something really tough. You know this bug best and at worst you might find another one but I think the mozilla team is so busy that they might not have the time do fix a hard-to-reproduce thing like this. Just a thought.
Blocks: 59243
Boy this sure sound similar (or exactly the same) as bug 55032 ( window.open delayed until toolbar buttons moused over ). There are testcases there showing this bug. Also, if you go to http://www.visi.com/~hoju/index.html and click on "List all links on this page" on the left side of the page, you will get this behavior ( BTW, you will also see no scrollbars show up for javascript generated content in the new window; bug 55334 ). Also, I think this problem happens more often if you attempt to alter window features. Not sure if this this it true, but opening full windows doesn't seem to display the behavior as much. Jake
This does look like bug 55032, which in turn seems like bug 56337. I haven't been able to reproduce this problem with the given URL (http://www.xmms.org/skins.html - there are a bunch of links on that page, and I had no problems with the couple that I punched) but hoju's case (http://www.visi.com/~hoju/index.html, above) fills me with déjà vu. I think we have a fix for this in the works.
Status: NEW → ASSIGNED
Depends on: 56337
Target Milestone: --- → M19
Yup. This was more fallout from worker threads' occasionally going AWOL. hoju's test case, at least, is fixed now.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Target Milestone: M19 → mozilla0.8
Verified on WinNT and Linux with 20010109xx nightlies -
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.