Closed Bug 292977 Opened 19 years ago Closed 19 years ago

Restoring window state can reenter state restoration

Categories

(Core :: DOM: Core & HTML, defect)

defect
Not set
major

Tracking

()

RESOLVED FIXED
mozilla1.8beta4

People

(Reporter: bzbarsky, Unassigned)

References

Details

(Keywords: fixed1.8)

Attachments

(1 file)

Restoring window state fires a focus event on the last focused content, per bug
274784 comment 119.  This can trigger location changes or history navigation
which can reenter docshell code and state restoration.  I think docshell would
get very confused if this happens.
Attached file testcase
This triggers the behavior, I think (load the testcase, focus the textfield, go
back).	I could only get it to happen with a window focus listener; a focus
listener on the textbox doesn't seem to get fired (which is itself a bug if we
fire blur on it as you leave the page).  Nothing crashes or anything, but you
get:

WARNING: NS_ENSURE_TRUE(mRequest) failed, file
/builds/mozilla/bfcache/mozilla/netwerk/protocol/file/src/nsFileChannel.cpp,
line 172

if the testcase is local.  The worst I can visibly see happening is that the
page is nuked from the back cache, but there may be other side-effects.
The focused content doesn't see a blur as the page is hidden nor does it see a
focus as the page is restored (the ESM sees it as already focused, I think). 
This is probably ok IMO.  So I think the only way to trigger this is via the
focus event on the window.
targetting to beta for further investigation
Target Milestone: --- → mozilla1.8beta4
Flags: blocking1.8b4+
With all of the window state restoration happening async now, I don't think this
is an issue any longer.  I no longer see the aforementioned assert or any other
problems with this test case (testing with the patch for bug 303267 applied so
that event handlers are correctly restored.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Keywords: fixed1.8
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: