Closed Bug 15384 Opened 25 years ago Closed 25 years ago

Drag scrolling results in corrupted page content

Categories

(Core :: DOM: Selection, defect, P3)

PowerPC
Mac System 8.5
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: elig, Assigned: mjudge)

References

Details

(Keywords: platform-parity, Whiteboard: [PDT-] fix available right now)

Attachments

(1 file)

* TITLE/SUMMARY [PP] Drag scrolling results in corrupted page content * STEPS TO REPRODUCE 0) Launch Apprunner. View any page. (I used www.netscape.com.) 1) Drag-scroll the page upwards and downward (e.g. resize the window so that vertical scroll bars appear. Then, holding the mouse button down, drag downwards and upwards so that the page scrolls) * RESULT - What happened Drag scrolling (yippee!) occurs correctly. However, substantial page corruption occurs. Will enclose a screen shot or two, but highlights include: * repeated page content * truncated tops or bottoms of text * text selection of only the top or bottom half of text (after it scrolls) - What was expected No corruption from scrolling. * REGRESSION - Occurs On Mac OS Apprunner (1999 10/01 08:00 optimized build) Linux Apprunner (1999 10/01 08:00) - Doesn't Occur On Win32 Apprunner (1999 10/01 08:00 optimized build [NT 4, Service Pack 5]) * CONFIGURATIONS TESTED - [Mac] Beige Power Mac G3 (266 MHz PowerPC 750), 96 MB RAM (VM on; 1 MB of VM used), 1024x768 (Thousands of Colors), Mac OS 8.6 - [Win32] Vectra VL (233 MHz P2), 96 MB RAM, 800x600 (True Color), NT 4.0 SP5. - [Linux] Vectra VL (266 MHz P2), 96 MB RAM. Red Hat Linux 6.0 (GNOME).
[QA assigning to self.]
QA Contact: leger → elig
[Note to self: please double-check that bug #5495 is also fixed when verifying this bug.]
Assignee: mjudge → kin
Target Milestone: M11
I'll take this one since it's a redraw problem.
Status: NEW → ASSIGNED
Accepting bug.
I'm going to need help from one of our resident Mac Editor folks, either jfrancis@netscape.com or sfraser@netscape.com, on this one. Cc'd them.
Assignee: kin → beard
Status: ASSIGNED → NEW
I was told that beard@netscape.com was looking into scrolling problems this week. Assigning bug to beard@netscape.com.
Status: NEW → ASSIGNED
This will go into the mix. This is probably a duplicate of another bug I already have. It is at least related to bug #15952.
Summary: [PP] Drag scrolling results in corrupted page content → [PP] [dogfood] Drag scrolling results in corrupted page content
Target Milestone: M11 → M12
sounds like we should look at this early in m12. sounds ugly. does it happen every time?
chofmann, yes, this is 100% reproducible through drag-scrolling. Please note that using the 1999110808 *Linux* build, a more subdued variation of this behavior occurs --- specifically, while the selected text remains uncorrupted, the selection itself becomes corrupted, in that the right-hand portion of the selection only covers the bottom half of the text.
Whiteboard: [PDT-]
Is the workround to resize the window? Can you use scroll bar? Scroll arrow? Putting on PDT-. Please note workaround at: http://bugzilla.mozilla.org/show_bug.cgi?id=17788 If no workaround, remove PDT- and we will review bug again.
All of those work. I fear I fell short of my normal bug writing standards here, and neglected to specifically note that one must specifically drag page _content_ in order for this corruption to occur. Thanks for pointing that out.
Target Milestone: M12 → M13
Target Milestone: M13 → M14
Moving all to M14
Keywords: pp
[marking as beta1 for PDT radar.]
Summary: [PP] [dogfood] Drag scrolling results in corrupted page content → [PP] [beta1] Drag scrolling results in corrupted page content
Whiteboard: [PDT-]
Beta 1 designation seems not to have made it into the keywords field. Adding.
Keywords: ppbeta1
Whiteboard: [PDT+]
Keywords: pp
Summary: [PP] [beta1] Drag scrolling results in corrupted page content → Drag scrolling results in corrupted page content
This is not a view manager bug, but a widget bug. If I change nsWindow::Scroll() to simply invalidate, rather than scroll the bits, I can't see any problem, therefore the problem is with the bit scrolling code itself. This is a nasty workaround, but may be the best we can do right now.
Component: Browser-General → Compositor
An alternative theory, is that when autoscrolling is happening, invalidates may be going to the wrong area, i.e. we may be underinvalidating, which is why my brute force solution works. Perhaps the problem is in the text selection mechanism itself.
Assignee: beard → mjudge
Status: ASSIGNED → NEW
Component: Compositor → Selection
giving it to simon since it seems to be mac
Assignee: mjudge → sfraser
reassign to beard for some kind of workaround or fix Patrick--drag mjudge over to sit with you if you have any questions about selection.
Assignee: sfraser → beard
This is a cosmetic problem. I propose deferral. The user can always windowshade and force a redraw.
Status: NEW → ASSIGNED
Whiteboard: [PDT+] → [PDT+] Propose deferral
Err, is it really a cosmetic problem if the entire web browser content window is illegible? That sounds more functional. ;) Nonetheless, erhaps drag-scrolling isn't as commonly used as I thought it was, given that there are no dupes of this bug after 4.5 months.
Agreed - putting on PDT- radar for beta1.
Whiteboard: [PDT+] Propose deferral → [PDT-] Propose deferral
I have a fix for this now. If you want to approve it, it's very low risk. Here's the patch: Index: mozilla/layout/base/src/nsRangeList.cpp =================================================================== RCS file: /cvsroot/mozilla/layout/base/src/nsRangeList.cpp,v retrieving revision 1.180 diff -c -2 -r1.180 nsRangeList.cpp *** nsRangeList.cpp 2000/02/10 09:17:02 1.180 --- nsRangeList.cpp 2000/02/24 01:41:41 *************** *** 2830,2833 **** --- 2830,2835 ---- if (dx != 0 || dy != 0) { + // make sure latest bits are available before we scroll them. + viewManager->Composite(); result = scrollableView->ScrollTo(scrollX + dx, scrollY + dy, NS_VMREFRESH_NO_SYNC);
Whiteboard: [PDT-] Propose deferral → [PDT-] fix available right now
The patch uses the view manager to handle any pending updates, before scrolling occurs, so that the correct image is scrolled.
Assignee: beard → mjudge
Status: ASSIGNED → NEW
this seems quite reasonable. since we found the exact 1 line to fix this. I will now try to check in.
Status: NEW → ASSIGNED
got approval, got reviews. did checkin tests. waiting for green tree.
fixed. 1 line. done
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Verified fixed on 2000022808 Mac OS & "1999122808" (this morning's) mislabeled Linux build. ---- There's a small side-issue in which the content is slightly messed up at the top of the page while drag-scrolling content on Mac OS. (I also see page corruption messed up on one horizontal line when scrolling via the vertical scroll bar on Mac OS.) Will report these polish-issues when we're further along (unless mjudge would like them now.)
Status: RESOLVED → VERIFIED
Blocks: 36868
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: