Closed Bug 22677 Opened 25 years ago Closed 24 years ago

Phantom scrollbars and scrolling when using overflow and positioning

Categories

(Core :: CSS Parsing and Computation, defect, P3)

x86
All
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: martin.honnen, Assigned: eric)

References

Details

(Keywords: testcase, Whiteboard: [TESTCASE])

Attachments

(1 file)

I am placing two tables contained in DIVs with overflow: auto side by side with
relative positioning. Then a phantom scrollbar appears left of the the first
table. Furthemore when scrolling the second right table there is a flashing of
the table content below the first table.

<HTML>
<HEAD>
<STYLE>

</STYLE>
<SCRIPT>
</SCRIPT>
</HEAD>
<BODY>
<DIV>
<DIV STYLE="width: 200px; height: 100px; overflow: auto;">
<TABLE BORDER="1" WIDTH="100%">
<TR>
<TD>
All
</TD>
<TD>
for
</TD>
<TD>
Kibology
</TD>
</TR>
<TR>
<TD>
All
</TD>
<TD>
for
</TD>
<TD>
Kibology
</TD>
</TR>
<TR>
<TD>
All
</TD>
<TD>
for
</TD>
<TD>
Kibology
</TD>
</TR>
<TR>
<TD>
All
</TD>
<TD>
for
</TD>
<TD>
Kibology
</TD>
</TR>
<TR>
<TD>
All
</TD>
<TD>
for
</TD>
<TD>
Kibology
</TD>
</TR>
<TR>
<TD>
All
</TD>
<TD>
for
</TD>
<TD>
Kibology
</TD>
</TR>
<TR>
<TD>
All
</TD>
<TD>
for
</TD>
<TD>
Kibology
</TD>
</TR>
<TR>
<TD>
All
</TD>
<TD>
for
</TD>
<TD>
Kibology
</TD>
</TR>
<TR>
<TD>
All
</TD>
<TD>
for
</TD>
<TD>
Kibology
</TD>
</TR>
</TABLE>
</DIV>
<DIV STYLE="position: relative; left: 200px; top: -100px; width: 200px; height:
100px; overflow: auto; ">
<TABLE BORDER="1" WIDTH="100%">
<TR>
<TD>
Kibology
</TD>
<TD>
for
</TD>
<TD>
all
</TD>
</TR>
<TR>
<TD>
Kibology
</TD>
<TD>
for
</TD>
<TD>
all
</TD>
</TR>
<TR>
<TD>
Kibology
</TD>
<TD>
for
</TD>
<TD>
all
</TD>
</TR>
<TR>
<TD>
Kibology
</TD>
<TD>
for
</TD>
<TD>
all
</TD>
</TR>
<TR>
<TD>
Kibology
</TD>
<TD>
for
</TD>
<TD>
all
</TD>
</TR>
<TR>
<TD>
Kibology
</TD>
<TD>
for
</TD>
<TD>
all
</TD>
</TR>
<TR>
<TD>
Kibology
</TD>
<TD>
for
</TD>
<TD>
all
</TD>
</TR>
<TR>
<TD>
Kibology
</TD>
<TD>
for
</TD>
<TD>
all
</TD>
</TR>
<TR>
<TD>
Kibology
</TD>
<TD>
for
</TD>
<TD>
all
</TD>
</TR>
<TR>
<TD>
Kibology
</TD>
<TD>
for
</TD>
<TD>
all
</TD>
</TR>
<TR>
<TD>
Kibology
</TD>
<TD>
for
</TD>
<TD>
all
</TD>
</TR>
<TR>
<TD>
Kibology
</TD>
<TD>
for
</TD>
<TD>
all
</TD>
</TR>
</TABLE>
</DIV>
</DIV>
</BODY>
</HTML>
Attached file bug demo
Whiteboard: [TESTCASE]
Could not reproduce this problem (phantom scrollbar or flashing content) with
1999-12-25-08-M13 nightly binary on Windows NT 4.0sp3

FYI, the final implementation of overflow: is not in place yet:
see bug 12825 "{css-moz} Need new 'overflow' values to control scrollbar
visibility" for that.

martin.honnen@t-online.de, there is no need to include long testcases
in the Description if you are just about to create an attachment with
the same thing. What is useful is adding [TESTCASE] to the Status Whiteboard
if you have added or are about to add a testcase attachment.
Depends on: 12825
Bulk moving [testcase] code to new testcase keyword. Sorry for the spam!
Keywords: testcase
I was able to reproduce this with a fresh pull on 1/24/2000. This happens on NT 
as well as 98. Probably on all platforms... On IE4 this looks fine, on Nav 4 it 
look horrid because of the absolutely positioned elements which are not 
honored. 

From tracing through the code it looks like there are two seperate issues: 1) 
there is some old paint from a scrollbar on the far left that goes away if you 
hide the window and restore it, 2) there is a flashing of the second table as it 
is initially painted below the first table, before it is repositioned next to 
the first one where it belongs.

The scrollbar paint remnants appear to be from a problem where the containing 
scrollframe gets confused about whether or not it needs a scrollbar during the 
initial reflow. If the browser window (Viewer or Mozilla) is sized small enought 
so there is a scrollbar on the main window then the scrollbar paint-junk doesn't 
seem to stick (strange but true).

The flashing table happens because there is a paint of the table contained 
within the scrollframe during the reflow of the scrollframe. I'm waiting to hear 
from Troy to find out if that is already being fixed in his efforts to clean-up 
wasteful painting cycles.
OS: Windows 98 → All
Re-assigned to me
Assignee: pierre → troy
Flashing when resizing is because the widget is moved twice and hence there is 
flicker. It's because of the relative positioning
Status: NEW → ASSIGNED
I fixed the problem of the relatively positioned table flashing when the window 
is resized.

The phantom scrollbar to the left of the first table is gfx scrollbar related, 
i.e., it doens't happen if gfx scrollbars are disabled, so I'm re-assigning to 
Eric
Assignee: troy → evaughan
Status: ASSIGNED → NEW
Targeting
Status: NEW → ASSIGNED
Target Milestone: M15
It looks like that one got fixed. It works for me on Mac and WinNT.
Mass-moving most M15 bugs to M16
Target Milestone: M15 → M16
marking as fixed per pierre's last comment
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
verified fixed mac/linux/win95 20000509 am comm builds
[post facto adding 38639 as a dependent of this bug (for tracking purposes)]
Status: RESOLVED → VERIFIED
[post facto adding 38639 as a dependent of this bug (for tracking purposes)]
this time for real ...
Blocks: 38639
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: