<http://bugzilla.opendarwin.org/show_bug.cgi?id=10111> - Menu flickers over Flash content
<rdar://problem/
3052546> Plugins don't work with z-index (overlapping elements, etc.)
* Plugins/WebBaseNetscapePluginView.m:
(-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
Don't just clip to the dirty region for "transparent" plug-ins -- do it for all plug-ins. This is a
generally useful thing to do, as it prevents the plug-in from drawing over parts of the window that
have already been drawn and are not expected to be redrawn in the same update.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15845
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2006-08-11 Tim Omernick <timo@apple.com>
+
+ Reviewed by Darin.
+
+ <http://bugzilla.opendarwin.org/show_bug.cgi?id=10111> - Menu flickers over Flash content
+ <rdar://problem/3052546> Plugins don't work with z-index (overlapping elements, etc.)
+
+ * Plugins/WebBaseNetscapePluginView.m:
+ (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
+ Don't just clip to the dirty region for "transparent" plug-ins -- do it for all plug-ins. This is a
+ generally useful thing to do, as it prevents the plug-in from drawing over parts of the window that
+ have already been drawn and are not expected to be redrawn in the same update.
+
2006-08-11 Brady Eidson <beidson@apple.com>
Reviewed by John, Timo, Adele, and Darin
window.clipRect.left + nPort.qdPort.portx, window.clipRect.top + nPort.qdPort.porty,
window.clipRect.right + nPort.qdPort.portx, window.clipRect.bottom + nPort.qdPort.porty);
- // Clip to dirty region when updating in "windowless" mode (transparent)
- if (forUpdate && isTransparent) {
+ // Clip to dirty region so plug-in does not draw over already-drawn regions of the window that are
+ // not going to be redrawn this update. This forces plug-ins to play nice with z-index ordering.
+ if (forUpdate) {
RgnHandle viewClipRegion = NewRgn();
// Get list of dirty rects from the opaque ancestor -- WebKit does some tricks with invalidation and