mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-11 20:35:50 +00:00
Add assertion that warns when we're about to crash due to bug 136927. b=136927 r+sr=jst a=asa
This commit is contained in:
parent
2b51b19d3b
commit
20b20044e6
@ -614,6 +614,9 @@ nsObjectFrame::Init(nsPresContext* aPresContext,
|
||||
nsStyleContext* aContext,
|
||||
nsIFrame* aPrevInFlow)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
mInstantiating = PR_FALSE;
|
||||
#endif
|
||||
mIsBrokenPlugin = PR_FALSE;
|
||||
|
||||
if (sDefaultPluginDisabled == (PRBool)0xffffffff) {
|
||||
@ -699,6 +702,8 @@ nsObjectFrame::Init(nsPresContext* aPresContext,
|
||||
NS_IMETHODIMP
|
||||
nsObjectFrame::Destroy(nsPresContext* aPresContext)
|
||||
{
|
||||
NS_ASSERTION(!mInstantiating, "about to crash due to bug 136927");
|
||||
|
||||
// we need to finish with the plugin before native window is destroyed
|
||||
// doing this in the destructor is too late.
|
||||
if (mInstanceOwner != nsnull) {
|
||||
@ -1347,6 +1352,10 @@ nsObjectFrame::InstantiatePlugin(nsPresContext* aPresContext,
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
mInstantiating = PR_TRUE;
|
||||
#endif
|
||||
|
||||
nsCOMPtr<nsIDocument> doc;
|
||||
nsresult rv = mInstanceOwner->GetDocument(getter_AddRefs(doc));
|
||||
nsCOMPtr<nsIPluginDocument> pDoc (do_QueryInterface(doc));
|
||||
@ -1369,6 +1378,9 @@ nsObjectFrame::InstantiatePlugin(nsPresContext* aPresContext,
|
||||
rv = aPluginHost->InstantiateEmbededPlugin(aMimeType, aURI,
|
||||
mInstanceOwner);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
mInstantiating = PR_FALSE;
|
||||
#endif
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
@ -208,6 +208,13 @@ private:
|
||||
nsIFrame *mFirstChild;
|
||||
nsCOMPtr<nsIWidget> mWidget;
|
||||
nsRect mWindowlessRect;
|
||||
|
||||
#ifdef DEBUG
|
||||
// For assertions that make it easier to determine if a crash is due
|
||||
// to the underlying problem described in bug 136927.
|
||||
PRBool mInstantiating;
|
||||
#endif
|
||||
|
||||
PRPackedBool mIsBrokenPlugin;
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user