Failure code returned on closing popup, popups not exiting cleanly.

RESOLVED WORKSFORME

Status

()

Firefox
General
RESOLVED WORKSFORME
14 years ago
13 years ago

People

(Reporter: Mike Palumbo, Assigned: Blake Ross)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

14 years ago
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5) Gecko/20031007 Firebird/0.7
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5) Gecko/20031007 Firebird/0.7

Please see the attached testcase for this one.

There are two columns on the test page.  The first column is an onMouseOver
test, the second an onClick test.

In both cases, the popup is closed on an onMouseOut event.  Quickly moving the
mouse over the links in the first column, or clicking then immediately moving
the mouse in the second column, will cause an error in browser.js.

The error in question is:
Error: uncaught exception: [Exception... "Component returned failure code:
0x80004005 (NS_ERROR_FAILURE) [nsIObserverService.removeObserver]"  nsresult:
"0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame ::
chrome://browser/content/browser.js :: Shutdown :: line 445"  data: no]

The offending line is 445, service = null;

A small traceback of what is going on to get to that point:
1) The Startup() function gets called (line 181).
2) Line 237: setTimeout(delayedStartup, 0);
3) delayedStartup() function called (line: 301).
4) Line 377: observerService.addObserver(dlObserver, "dl-start", false);
5) Shutdown() function called (line: 424)
6) Line right before the error happens: service.removeObserver(dlObserver,
"dl-start"); (line: 444)

On top of this, the popups in this case case do not completely close.  Move the
mouse over the entire left column twice (down over the 5 links, then up over the
5 links), there will be a delay, and then several windows will spawn.  Most will
close immediately, but a few will be left open.  I've experienced anywhere from
1 to 4 remaining open windows, out of 10 produced.  All windows should be
closed, as I've called the close() method for each opened window.

Reproducible: Always

Steps to Reproduce:
1.  Load the testcase
2.  Move mouse over links in the left column, click and move mouse on the links
in the right column.

Actual Results:  
Windows will open, an error will occur on the JavaScript console, and most (but
sometimes not all) windows will close.

Expected Results:  
The exception error should be caught, and the popup windows should all close.

I haven't yet tested this on Mac & Linux, but I can do that later today.  The
speed of the window creation is unfortunately much slower in Firebird than in IE
(Tested on a P3 733 Mhz & P4 2 Ghz, delay was much shorter on the P4, but still
lagged behind IE.  I'll get some numbers on this to back it up later)
(Reporter)

Comment 1

14 years ago
Created attachment 136053 [details]
Testcase for spawning popups.

Testcase for spawning popups.  Resulting page can simply be a blank page.
> chrome://browser/content/browser.js

That's a firebird file....  Why is this filed on SeaMonkey?  I can't reproduce
the problem with a Linux SeaMonkey build....
Assignee: general → blake
Component: DOM Level 0 → General
Product: Browser → Firebird
Version: Trunk → unspecified
(Reporter)

Comment 3

14 years ago
My apologies if I didn't file the component correctly, this is for Firebird, yes.

Cannot reproduce the failure code on FB 0.7 under Linux, but can reproduce
popups not exiting cleanly.

Comment 4

14 years ago
I can still reproduce this error with firefox 0.9 after allowing popups.

Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7) Gecko/20040614 Firefox/0.9

Comment 5

14 years ago
Under 20040722 Firefox branch, this works. Popups open and close. There are
Javascript console errors visible in the JS console, but the actual web behavior
is fine.

Comment 6

13 years ago
works for me with Windows Firefox branch build 2004-09-17-09-0.9
Status: UNCONFIRMED → RESOLVED
Last Resolved: 13 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.