Framesets and History
This document describes the flow of control in Mozilla when the user
navigates through a session history involving a frameset.
Normal session history in the navigator is maintained as a linked
list of session history structures, one for each document visited.
This list, in reverse order starting at most recently visited can
be seen from the Go menu in Navigator.
On this level, a frameset is only a single session history structure
and no matter how much navigating goes on inside the frameset, only
one entry for the frameset will appear in the Go menu.
In the above diagram, Docs 1-6 represent the session history
structures that will be displayed in the Go menu.
However, history is usually navigated by the Forward and
Back buttons. Because of special hooks from the UI to
layout's frameset manager using Forward and
Back navigation for the above diagram will take you in
order to Doc1-2, H1-4, and Doc4-6. This can happen because
layout keeps a separate linked list of session history structures
for inside the frameset, and manipulates which one is presented
to the user as currently being what is labeled as Doc 3
in the above diagram.
Again using the above diagram, say the user is currently at
Doc 5 and navigates backwards to Doc 2
using the Back button.
- Hit the Back button from Doc 5.
The FE button handler checks that it isn't in a frameset, and then
calls the session history to get the previous document.
Display Doc 4.
- Hit the Back button from Doc 4.
The FE button handler checks that it isn't in a frameset, and then
calls the session history to get the previous document.
Display Doc 3.
Doc 3 is a frameset, restore it to last displayed
contents of (A1, B3, C2).
- Hit the Back button from Doc 3.
The FE button handler finds that it is a frameset, and
calls the layout frameset manager to get the previous document.
Frameset manager returns a previous state for Doc 3
which is (A1, B2, C2).
- Hit the Back button from Doc 3.
The FE button handler finds that it is a frameset, and
calls the layout frameset manager to get the previous document.
Frameset manager returns a previous state for Doc 3
which is (A1, B1, C2).
- Hit the Back button from Doc 3.
The FE button handler finds that it is a frameset, and
calls the layout frameset manager to get the previous document.
Frameset manager returns a previous state for Doc 3
which is (A1, B1, C1).
- Hit the Back button from Doc 3.
The FE button handler finds that it is a frameset, and
calls the layout frameset manager to get the previous document.
Frameset manager returns no previous state so the FE calls the
session history to get the previous document.
Display Doc 2.
Copyright © 1998
Netscape
Communications Corporation