losing scrollbars going back

VERIFIED FIXED in M10

Status

()

Core
Layout: HTML Frames
P3
major
VERIFIED FIXED
19 years ago
10 months ago

People

(Reporter: Mike Pinkerton (not reading bugmail), Assigned: Eric Pollmann)

Tracking

Trunk
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: working on a fix.)

Attachments

(3 attachments)

(Reporter)

Description

19 years ago
1) launch apprunner, default page is mozillazine which has a scrollbar
2) go to the xul checkbox test (resource:/res/samples/checkboxTest.xul)
3) go back

you've now lost the scrollbars on mozillazine and for any other page you go to.

this is with the build from 8/11/99.
(Reporter)

Updated

19 years ago
OS: Mac System 8.5 → All
Hardware: Macintosh → All
(Reporter)

Comment 1

19 years ago
happens on win32 as well.

Updated

19 years ago
Assignee: karnaze → pollmann
Target Milestone: M10

Comment 2

19 years ago
Reassigning to Eric.
(Assignee)

Updated

19 years ago
Status: NEW → ASSIGNED
(Assignee)

Comment 3

19 years ago
This is not happening in viewer, only apprunner, so I'll buy that it's quite
probably an iframe issue.

The rule seems to be: "scroll bar will not appear for this document iff you have
visited a XUL document in this iframe in the past"

I could make the scroll bar problem appear with a file foo.xul containing:
<?xml version="1.0"?>
<test>
</test>

While the same file when named foo.xml would not cause the problem.
I could not get the scrollbar appear in any future document (regardless of size)
without restarting apprunner.
(Reporter)

Comment 4

19 years ago
cc'ing hyatt and waterson.
(Assignee)

Comment 5

19 years ago
Created attachment 1228 [details]
HTML page with scrollbar
(Assignee)

Comment 6

19 years ago
Created attachment 1229 [details]
XUL file
(Assignee)

Comment 7

19 years ago
Created attachment 1230 [details]
Test case for viewer
(Assignee)

Comment 8

19 years ago
The Frame hierarchy for bar.html is:

webshell
Viewport
 Scroll
  Root
   ...

For foo.xul it is:

webshell
Viewport
  Root
   ...

After viewing a xul file, the frame hierarchy for bar.html is:

webshell
Viewport
  Root
   ...

The scroll frame is inserted in
layout/html/style/src/nsCSSFrameConstructor::ConstructRootFrame() and is
conditional upon many things.  (one being if the webShell has had SetScrolling
set to TRUE or FALSE)  I'll try to track down what changed...
(Assignee)

Comment 9

19 years ago
We set scrolling to OVERFLOW_HIDDEN (no scroll frame) here:
rdf/content/src/nsXULDocumentImpl::StartLayout()

Just for fun, I commented out the line and scrolling wasn't turned off for XUL,
as expected.  The proper solution is probably to reset scrolling when unloading
a XUL document (or on every document load).
(Assignee)

Updated

19 years ago
Whiteboard: Possible fix.
(Assignee)

Comment 10

19 years ago
Bug seems to be here:
layout/html/document/src/nsHTMLContentSink::StartLayout()

This code resets the scrolling attribute "just for safety".  But it is not set
if the webshell is a <frame> webshell.  Consequently, it is not reset on
Apprunner's main webshell.

Line 2211 "if (!isFrameDoc) {"  I think the fix is to remove this line.  I'll
verify and will probably check this in for M10.
(Assignee)

Updated

19 years ago
Whiteboard: Possible fix. → working on a fix.
(Assignee)

Comment 11

19 years ago
This fix is insufficient as it causes regressions elsewhere (scrolling attribute
on a frameset frame no longer stored.)  I'm still working on this one.
(Assignee)

Comment 12

19 years ago
evaughan recently fixed this bug.  See new regression bug 14827 caused by his
checkin.

Updated

19 years ago
QA Contact: beppe → claudius

Comment 13

19 years ago
changing QA contact
(Assignee)

Updated

19 years ago
Status: ASSIGNED → RESOLVED
Last Resolved: 19 years ago
Resolution: --- → FIXED
(Assignee)

Comment 14

19 years ago
Closing this out since evaughan fixed it.  The remaining issue is covered by bug
14827 (I've attached a fix for that bug to the bug report).

To verify evaughan's fix:
1) Go to "Test case for viewer"
2) Click on "Go to bar.html" (Notice there is a vertical scrollbar)
3) Click on "Go to foo.xul" (Notice there is no vertical scrollbar)
4) Click on "Go to bar.html"

There should be a scrollbar inside the box after step 4.  If so, the bug was
fixed.

Updated

18 years ago
Status: RESOLVED → VERIFIED
QA Contact: claudius → paulmac

Comment 15

18 years ago
haven't seen this, marking verified
You need to log in before you can comment on or make changes to this bug.