Plugins drawing over chrome (bug 172688)
Plugins showing through tabs (bug 158018, bug 156583)
Plugins not drawing initially on page load (bug 147728, bug 161378)
Bugs _not_ fixed:
Visual corruption when scrolling with QT movie (bug 160435)
Crashes when loading plugins which are offscreen (bug 161378), tho it seems much
less easy to reproduce now.
Quick summary of changes:
Added nsIPluginWidget to allow plugin code to get the widget clip rectangle and
origin. Fixes drawing over chrome for plugins in iframes.
Always use [mView qdPort], not the WindowRef port, for gecko rendering (making
nsIRenderingContexts). Only use the WindowRef port for plugin drawing. Fixes
drawing over chrome.
Always call SetPortVisibleRegion() before plugin drawing, because we don't know
what part of the BeginUpdate/EndUpdate cycle we're in.
Keep track of whether views are in the frontmost tab (i.e. have a window), and
hide/show views immediately on tab switching, rather than on the next timer
fire. Fixes plugins stomping through tabs (mostly).
Add smarts to FixUpPluginWindow() in nsObjectFrame so that it knows when it's Ok
to display the plugin (after a ::Paint()). Fixes plugins drawing in the wrong
place/not drawing on initial page load.
git-svn-id: svn://10.0.0.236/branches/CHIMERA_M1_0_1_BRANCH@132538 18797224-902f-48f8-a5cc-f745e15eee43