From cf16ec110c35b6a42328736a49ead9c1414181a0 Mon Sep 17 00:00:00 2001 From: Doug Turner Date: Wed, 16 Dec 2009 14:08:14 -0800 Subject: [PATCH] Bug 535338 - UpdateVisibility should call VisibilityFullyObscured when clip is zero. r=roc --- layout/generic/nsObjectFrame.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/layout/generic/nsObjectFrame.cpp b/layout/generic/nsObjectFrame.cpp index b615e971a50a..0f0d45627814 100644 --- a/layout/generic/nsObjectFrame.cpp +++ b/layout/generic/nsObjectFrame.cpp @@ -536,7 +536,7 @@ private: PRBool SetupXShm(); void ReleaseXShm(); void NativeImageDraw(NPRect* invalidRect = nsnull); - PRBool UpdateVisibility(); + PRBool UpdateVisibility(PRBool aVisible); #endif }; @@ -5604,7 +5604,7 @@ void nsPluginInstanceOwner::SetPluginHost(nsIPluginHost* aHost) } #if defined(MOZ_PLATFORM_HILDON) && defined(MOZ_WIDGET_GTK2) -PRBool nsPluginInstanceOwner::UpdateVisibility() +PRBool nsPluginInstanceOwner::UpdateVisibility(PRBool aVisible) { if (!mInstance) return PR_TRUE; @@ -5614,7 +5614,7 @@ PRBool nsPluginInstanceOwner::UpdateVisibility() XVisibilityEvent& visibilityEvent = pluginEvent.xvisibility; visibilityEvent.type = VisibilityNotify; visibilityEvent.display = 0; - visibilityEvent.state = VisibilityUnobscured; + visibilityEvent.state = aVisible ? VisibilityUnobscured : VisibilityFullyObscured; mInstance->HandleEvent(&pluginEvent, &handled); mWidgetVisible = PR_TRUE; @@ -5789,7 +5789,7 @@ nsPluginInstanceOwner::SetAbsoluteScreenPosition(nsIDOMElement* element, mBlitParentElement = element; - UpdateVisibility(); + UpdateVisibility(!(width == 0 && height == 0)); if (!mInstance) return NS_OK;