Closed Bug 635405 Opened 9 years ago Closed 9 years ago
Zooming windowless plugin frame can cause it to "bleed" outside bounds
STR (1) Load URL above (2) Ctrl-+ page to zoom in a ways (3) Ctrl-0 The plugin ImageLayer ends up drawing outside its bounds and splatting content all over its surrounding ThebesLayer. Nothing knows to invalidate what was splatted, so it can persist "forever". Not clear yet what's causing this; roc suggested empty transactions. Wouldn't necessarily block on this, but it's a regression from 3.6. Would be nice to fix.
(Can't attach a screenshot because that invalidate the entire window and makes the glitch go away. But it's easy to repro.)
This could very well be the plugin version of bug 633164.
Yup, I'd take that bet.
It certainly meets softblocker criteria.
blocking2.0: --- → final+
Assignee: nobody → matspal
Fwiw, this seems to fix it. Should we fall through here? It's the nsDisplayPluginReadback that is causing the problem.
I don't see how that can possibly be right. We wouldn't paint anything when using async rendering.
Applying the patches in bug 631388 changes the symptoms in this bug. Now the damage looks similar to what I saw in bug 633164, ie changing the zoom doesn't invalidate the old area.
Detect image size change and then UnionRect the old area to the damage so that it'll be Invalidated too. Simplify the common "rect + TopLeft" expressions to make the code more readable.
Comment on attachment 514336 [details] [diff] [review] fix v1 Nice.
Needs bug 631388 though to work correctly, although I think it wouldn't cause any problem if we landed it before that.
Whiteboard: [softblocker] → [softblocker][needs landing]
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Summary: Resizing windowless plugin frame can cause it to "bleed" outside bounds → Zooming windowless plugin frame can cause it to "bleed" outside bounds
Whiteboard: [softblocker][needs landing] → [softblocker]
Target Milestone: --- → mozilla2.0
You need to log in before you can comment on or make changes to this bug.