Fixing 27486, r=beard
git-svn-id: svn://10.0.0.236/trunk@61627 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -208,6 +208,8 @@ public:
|
||||
NS_IMETHOD GetFrameName(nsString& aResult) const;
|
||||
#endif
|
||||
|
||||
NS_IMETHOD Destroy(nsIPresContext* aPresContext);
|
||||
|
||||
NS_IMETHOD ContentChanged(nsIPresContext* aPresContext,
|
||||
nsIContent* aChild,
|
||||
nsISupports* aSubContent);
|
||||
@@ -401,6 +403,24 @@ nsObjectFrame::Init(nsIPresContext* aPresContext,
|
||||
return rv;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsObjectFrame::Destroy(nsIPresContext* aPresContext)
|
||||
{
|
||||
// we need to finish with the plugin before native window is destroyed
|
||||
// doing this in the destructor is too late.
|
||||
if(mInstanceOwner != nsnull)
|
||||
{
|
||||
nsIPluginInstance *inst;
|
||||
mInstanceOwner->GetInstance(inst);
|
||||
if(inst != nsnull)
|
||||
{
|
||||
inst->Stop();
|
||||
inst->SetWindow(nsnull);
|
||||
}
|
||||
}
|
||||
return nsObjectFrameSuper::Destroy(aPresContext);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsObjectFrame::GetFrameType(nsIAtom** aType) const
|
||||
{
|
||||
@@ -1414,8 +1434,6 @@ nsPluginInstanceOwner::~nsPluginInstanceOwner()
|
||||
if (nsnull != mInstance)
|
||||
{
|
||||
mPluginHost->StopPluginInstance(mInstance);
|
||||
mInstance->Stop();
|
||||
mInstance->SetWindow(nsnull);
|
||||
NS_RELEASE(mInstance);
|
||||
}
|
||||
|
||||
|
||||
@@ -208,6 +208,8 @@ public:
|
||||
NS_IMETHOD GetFrameName(nsString& aResult) const;
|
||||
#endif
|
||||
|
||||
NS_IMETHOD Destroy(nsIPresContext* aPresContext);
|
||||
|
||||
NS_IMETHOD ContentChanged(nsIPresContext* aPresContext,
|
||||
nsIContent* aChild,
|
||||
nsISupports* aSubContent);
|
||||
@@ -401,6 +403,24 @@ nsObjectFrame::Init(nsIPresContext* aPresContext,
|
||||
return rv;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsObjectFrame::Destroy(nsIPresContext* aPresContext)
|
||||
{
|
||||
// we need to finish with the plugin before native window is destroyed
|
||||
// doing this in the destructor is too late.
|
||||
if(mInstanceOwner != nsnull)
|
||||
{
|
||||
nsIPluginInstance *inst;
|
||||
mInstanceOwner->GetInstance(inst);
|
||||
if(inst != nsnull)
|
||||
{
|
||||
inst->Stop();
|
||||
inst->SetWindow(nsnull);
|
||||
}
|
||||
}
|
||||
return nsObjectFrameSuper::Destroy(aPresContext);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsObjectFrame::GetFrameType(nsIAtom** aType) const
|
||||
{
|
||||
@@ -1414,8 +1434,6 @@ nsPluginInstanceOwner::~nsPluginInstanceOwner()
|
||||
if (nsnull != mInstance)
|
||||
{
|
||||
mPluginHost->StopPluginInstance(mInstance);
|
||||
mInstance->Stop();
|
||||
mInstance->SetWindow(nsnull);
|
||||
NS_RELEASE(mInstance);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user