Add comment explaining backout of bug 474491 -- no code changes.
authorSteven Michaud <smichaud@pobox.com>
Thu, 05 Feb 2009 17:31:00 -0600
changeset 24684 fe61a13e0960bdd0a9360647f70bbf9811eda2ca
parent 24683 c84b63d503df1be70e867dc7c2ace8658171fcbd
child 24685 7f0aab2e33b6204028271c3111c28f8145594bac
push id5164
push usersmichaud@pobox.com
push dateThu, 05 Feb 2009 23:31:33 +0000
treeherdermozilla-central@fe61a13e0960 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs474491
milestone1.9.2a1pre
Add comment explaining backout of bug 474491 -- no code changes.
widget/src/cocoa/nsChildView.mm
--- a/widget/src/cocoa/nsChildView.mm
+++ b/widget/src/cocoa/nsChildView.mm
@@ -1311,16 +1311,29 @@ PRBool nsChildView::ShowsResizeIndicator
     aResizerRect->SetRect(NSToIntRound(corner.x) - resizeIndicatorWidth,
                           NSToIntRound(corner.y) - resizeIndicatorHeight,
                           resizeIndicatorWidth, resizeIndicatorHeight);
   }
   return PR_TRUE;
 }
 
 
+// In QuickDraw mode the coordinate system used here should be that of the
+// browser window's content region (defined as everything but the 22-pixel
+// high titlebar).  But in CoreGraphics mode the coordinate system should be
+// that of the browser window as a whole (including its titlebar).  Both
+// coordinate systems have a top-left origin.  See bmo bug 474491.
+//
+// There's a bug in this method's code -- it currently uses the QuickDraw
+// coordinate system for both the QuickDraw and CoreGraphics drawing modes.
+// This bug is fixed by the patch for bug 474491.  But the Flash plugin (both
+// version 10.0.12.36 from Adobe and version 9.0 r151 from Apple) has Mozilla-
+// specific code to work around this bug, which breaks when we fix it (see bmo
+// bug 477077).  So we'll need to coordinate releasing a fix for this bug with
+// Adobe and other major plugin vendors that support the CoreGraphics mode.
 NS_IMETHODIMP nsChildView::GetPluginClipRect(nsIntRect& outClipRect, nsIntPoint& outOrigin, PRBool& outWidgetVisible)
 {
   NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NSRESULT;
 
   NS_ASSERTION(mIsPluginView, "GetPluginClipRect must only be called on a plugin widget");
   if (!mIsPluginView) return NS_ERROR_FAILURE;
   
   NSWindow* window = [mView nativeWindow];