From 2732b3ebdd0255d6c4e0bd4dc2c3695ccf267d31 Mon Sep 17 00:00:00 2001 From: Robert O'Callahan Date: Wed, 7 Nov 2012 09:38:11 +1300 Subject: [PATCH] Bug 804606. On Mac, call ApplyPluginGeometryUpdates immediately when we've computed geometry, instead of waiting until the paint event. r=smichaud --HG-- rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_geoprompt.js => browser/components/privatebrowsing/test/browser/global/browser_privatebrowsing_geoprompt.js rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_geoprompt_page.html => browser/components/privatebrowsing/test/browser/global/browser_privatebrowsing_geoprompt_page.html rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_openlocation.js => browser/components/privatebrowsing/test/browser/global/browser_privatebrowsing_openlocation.js rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_zoomrestore.js => browser/components/privatebrowsing/test/browser/global/browser_privatebrowsing_zoomrestore.js rename : toolkit/system/androidproxy/Makefile.in => toolkit/system/windowsproxy/Makefile.in rename : toolkit/system/androidproxy/nsAndroidSystemProxySettings.cpp => toolkit/system/windowsproxy/nsWindowsSystemProxySettings.cpp extra : rebase_source : 006071633b23f5ab34a27e46100fe32fbff9f735 --- layout/base/nsPresContext.cpp | 6 ++++++ layout/base/nsPresShell.cpp | 2 ++ 2 files changed, 8 insertions(+) diff --git a/layout/base/nsPresContext.cpp b/layout/base/nsPresContext.cpp index f2a3be1d17a9..18eb6e238dba 100644 --- a/layout/base/nsPresContext.cpp +++ b/layout/base/nsPresContext.cpp @@ -2617,7 +2617,13 @@ nsRootPresContext::ComputePluginGeometryUpdates(nsIFrame* aFrame, aList->ComputeVisibilityForRoot(aBuilder, ®ion); } +#ifdef XP_MACOSX + // We control painting of Mac plugins, so just apply geometry updates now. + // This is not happening during a paint event. + ApplyPluginGeometryUpdates(); +#else InitApplyPluginGeometryTimer(); +#endif } static void diff --git a/layout/base/nsPresShell.cpp b/layout/base/nsPresShell.cpp index c92b3d8f0eaf..262123d0b9f5 100644 --- a/layout/base/nsPresShell.cpp +++ b/layout/base/nsPresShell.cpp @@ -7127,7 +7127,9 @@ PresShell::WillPaintWindow(bool aWillSendDidPaint) return; } +#ifndef XP_MACOSX rootPresContext->ApplyPluginGeometryUpdates(); +#endif } void