Smooth scrolling causes plugins to bounce while scrolling

NEW
Unassigned

Status

()

Core
Layout: View Rendering
--
minor
5 years ago
5 years ago

People

(Reporter: IU, Unassigned)

Tracking

(Blocks: 1 bug)

Trunk
x86
All
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(URL)

(Reporter)

Description

5 years ago
Bug 198964 enabled smooth scrolling by default, resulting in bug 626245.  Bug 626245 fixed some issue that made the effect worse; however the original regression, due to bug 198964, remains.

Video demonstration is available here: http://youtu.be/fDH62trzUp4

Observe, in the video, how the lower left-hand corner of the plugin object extends beyond the gray background frame when the page is "bounce-scrolled."
(Reporter)

Updated

5 years ago
(Reporter)

Comment 1

5 years ago
(In reply to IU from comment #0)
> ...when the page is "bounce-scrolled."

Or simply quickly scrolled up or down
Any ideas guys how to fixed it?

Pasting some info from bug #626245

(In reply to Robert O'Callahan (:roc) (Mozilla Corporation) from comment #88)
> Unfortunately it's not really possible to completely fix it for windowed
> plugins. We simply can't make the update of the window and the movement of
> plugin widgets perfectly visually atomic.
> 
> We could probably make it a little better by having some kind of callback
> from the layer manger when it's just about to copy its backbuffer to the
> window, and move the plugins at that moment. We'd have to do something to
> ensure the area exposed by the plugins was part of the area composited by
> the layer manager.

(In reply to Robert O'Callahan (:roc) (Mozilla Corporation) from comment #89)
> This would require some code restructuring because on Windows we'd have to
> issue BeginPaint during layer tree composition. We'd probably have to add a
> BeginPaint method to nsIWidget (no-op for all platforms but Windows), then
> call that method from the layer manager just before we start drawing to the
> window. On Mac that wouldn't work since we can't modify the widget hierarchy
> during the 'draw' callback, so we'd have to carry on moving the plugins in
> viewWillDraw/WillPaintWindow on Mac.
Flags: needinfo?(roc)
Flags: needinfo?(matspal)
This is a minor problem, we'll get to it eventually.
Severity: normal → minor
Flags: needinfo?(matspal)
Flags: needinfo?(roc)
You need to log in before you can comment on or make changes to this bug.