Closed Bug 303151 Opened 19 years ago Closed 17 years ago

fastback breaks gmail back button (when browser.sessionhistory.cache_subframes is true)

Categories

(Core :: DOM: Navigation, defect)

defect
Not set
critical

Tracking

()

RESOLVED DUPLICATE of bug 386782

People

(Reporter: bryner, Unassigned)

References

(Blocks 1 open bug, )

Details

(Whiteboard: [ETA ?])

Attachments

(1 file)

Steps to reproduce:

1. Bring up your inbox in gmail
2. Click on a message
3. Click Back

Expected results: Return to your inbox view
Actual results: The message continues to be displayed

This works fine w/ fastback disabled.
Target Milestone: --- → mozilla1.8beta4
Flags: blocking1.8b4?
This might be similar to bug 298377, but here I have an easily accessible
testcase.  In gmail, an iframe is used to push a new history state for the page.
 When it wants to add a new session history entry, it navigates the iframe to a
new url.  When the iframe is navigated back by the browser, it calls a function
on its parent document that does whatever the desired "back" behavior is.

The reason fastback breaks this is that the inner iframe runs its handlers using
an onload handler, and so navigating the frame back does not run the script.

I see a couple of approaches we could take for this:

1. Leave our behavior as-is, and evangelize sites.  Taking this stance could
hinder adoption of Firefox 1.5.

2. We could deal with this particular case by avoiding the bfcache for subframe
navigation.  This by no means solves the problem in the general case, but may be
a good solution in practice.  We could perhaps optimize this case a little bit
by only making the document uncacheable if it has inline script or an onload
handler.
I'd lean toward #2, but I suppose it's just hard to know whether it is important
or not to the functioning of a web app to have inline script evaluate on
back/forward.
I'm not sure if this is the route we want to go for sure, but this patch would
avoid caching any page that is in a subframe... which has the effect of making
gmail work correctly.
fastback doesn't seem to just break Gmail's JavaScript in this sense.
Blocks: 303267
Please don't add dependencies such as this without verifying that the two
problems are related.  This is a specific instance where something breaks due to
not running the onload handler.  It sounds like there may be further problems
with fastback due to split-window, but that's quite unrelated to this bug, which
is a working-as-originally-designed aspect of fastback.
No longer blocks: 303267
bryner, if that's the right route, can you shephard this patch in?
Flags: blocking1.8b4? → blocking1.8b4+
hm... what if a main page's script did some DOM modifications in the subframe?

Will this break the case where an entire frame is document.written? (e.g. an
<iframe> with initial source of about:blank)
Whiteboard: [ETA ?]
I believe this should no longer be a blocking issue because of the patch checked
in for bug 304860.  Renominating, can someone with authority to minus this
please do that if you agree?
Flags: blocking1.8b4+ → blocking1.8b4?
Target Milestone: mozilla1.8beta4 → ---
Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8b4) Gecko/20050822
Firefox/1.0+

I can reproduce this bug when browser.sessionhistory.cache_subframes is true but
not when it is false.
Summary: fastback breaks gmail back button → fastback breaks gmail back button (when browser.sessionhistory.cache_subframes is true)
minusing per comment 8 and comment 9
Flags: blocking1.8b4? → blocking1.8b4-
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1a3) Gecko/20060526 BonEcho/2.0a3

I have browser.sessionhistory.cache_subframes set to false and this is happening. This pretty much breaks gmail, and I would suggest any apps that use the Google WebToolkit will be broken too.
Blocks: backtraps
Reassigning my bugs, since I'm not actually working on them.
Assignee: bryner → nobody
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → DUPLICATE
Component: History: Session → Document Navigation
QA Contact: history.session → docshell
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: