Implement "accelerated" scrolling for Gtk2 for page with position:fixed elements.

Assigned to



Layout: View Rendering
11 years ago
6 years ago


(Reporter: Stephen Moehle, Assigned: Stephen Moehle)



Firefox Tracking Flags

(Not tracked)



(1 attachment, 1 obsolete attachment)



11 years ago
User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9a5pre) Gecko/20070528 Firefox/3.0a5pre
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9a5pre) Gecko/20070528 Firefox/3.0a5pre

Implement the same type of scrolling under Gtk2 (Linux, Sun, BSD, etc.) that was done for Windows in bug 343430 for pages with postion:fixed elements. Basically, implement the clipping rectangle in nsWindow::Scroll() for Gtk2.

Unfortunately, the patch I have uses gdk_windows_move_region() which is only available in Gtk2 2.8, which is higher than the current minimum requirement. So this fix cannot be used until, or something close, is adopted.

Reproducible: Always

Comment 1

11 years ago
Created attachment 266441 [details] [diff] [review]
Optimize scrolling for Gtk2 for pages with postion:fixed elements

Implement the clipping rect for nsWindow::Scroll() for Gtk2. Make view changes for bug 343430 apply to Gtk2 as well as Windows. Implement nsWindow::ScrollRect() for Gtk2 because it was there.

Comment 2

11 years ago
All of the test cases in bug 343430, bug 324819, and their various duplicates all  work fine as best as I can tell with this patch.
Reassigning to you ... don't forget to request review when those runtime requirements are adopted (I think they will become official sometime soon)
Assignee: roc → smoehle

Comment 4

11 years ago
Created attachment 267102 [details] [diff] [review]
better fix

Better fix. Make dropdown lists in the Firefox UI, such as fonts on the Preferences dialog, scroll properly. See the changes to nsViewManager::UpdateViewAfterScroll().
Attachment #266441 - Attachment is obsolete: true
QA Contact: ian → layout.view-rendering
You need to log in before you can comment on or make changes to this bug.