fix #156936, regression: crash using OBJECT tag with any plugin, r=peterl, sr=jag

This commit is contained in:
serge%netscape.com 2002-07-11 19:32:44 +00:00
Родитель d43f533cf2
Коммит e20929f95c
2 изменённых файлов: 14 добавлений и 12 удалений

Просмотреть файл

@ -2363,8 +2363,8 @@ NS_IMETHODIMP nsPluginInstanceOwner::GetDocument(nsIDocument* *aDocument)
if (nsnull != mContext) { if (nsnull != mContext) {
nsCOMPtr<nsIPresShell> shell; nsCOMPtr<nsIPresShell> shell;
mContext->GetShell(getter_AddRefs(shell)); mContext->GetShell(getter_AddRefs(shell));
if (shell)
rv = shell->GetDocument(aDocument); rv = shell->GetDocument(aDocument);
} }
return rv; return rv;
} }
@ -3014,10 +3014,11 @@ nsresult nsPluginInstanceOwner::EnsureCachedAttrParamArrays()
nsAutoString data; nsAutoString data;
nsCOMPtr<nsIAtom> tag; nsCOMPtr<nsIAtom> tag;
content->GetTag(*getter_AddRefs(tag)); content->GetTag(*getter_AddRefs(tag));
if (nsHTMLAtoms::object == tag.get() && if (nsHTMLAtoms::object == tag.get()
!content->HasAttr(kNameSpaceID_None, nsHTMLAtoms::src) && && !content->HasAttr(kNameSpaceID_None, nsHTMLAtoms::src)
NS_SUCCEEDED(content->GetAttr(kNameSpaceID_None, nsHTMLAtoms::data, data))) && NS_CONTENT_ATTR_NOT_THERE != content->GetAttr(kNameSpaceID_None, nsHTMLAtoms::data, data)) {
mNumCachedAttrs++; mNumCachedAttrs++;
}
// now lets make the arrays // now lets make the arrays
mCachedAttrParamNames = (char **)PR_Calloc(sizeof(char *) * (mNumCachedAttrs + 1 + mNumCachedParams), 1); mCachedAttrParamNames = (char **)PR_Calloc(sizeof(char *) * (mNumCachedAttrs + 1 + mNumCachedParams), 1);

Просмотреть файл

@ -2363,8 +2363,8 @@ NS_IMETHODIMP nsPluginInstanceOwner::GetDocument(nsIDocument* *aDocument)
if (nsnull != mContext) { if (nsnull != mContext) {
nsCOMPtr<nsIPresShell> shell; nsCOMPtr<nsIPresShell> shell;
mContext->GetShell(getter_AddRefs(shell)); mContext->GetShell(getter_AddRefs(shell));
if (shell)
rv = shell->GetDocument(aDocument); rv = shell->GetDocument(aDocument);
} }
return rv; return rv;
} }
@ -3014,10 +3014,11 @@ nsresult nsPluginInstanceOwner::EnsureCachedAttrParamArrays()
nsAutoString data; nsAutoString data;
nsCOMPtr<nsIAtom> tag; nsCOMPtr<nsIAtom> tag;
content->GetTag(*getter_AddRefs(tag)); content->GetTag(*getter_AddRefs(tag));
if (nsHTMLAtoms::object == tag.get() && if (nsHTMLAtoms::object == tag.get()
!content->HasAttr(kNameSpaceID_None, nsHTMLAtoms::src) && && !content->HasAttr(kNameSpaceID_None, nsHTMLAtoms::src)
NS_SUCCEEDED(content->GetAttr(kNameSpaceID_None, nsHTMLAtoms::data, data))) && NS_CONTENT_ATTR_NOT_THERE != content->GetAttr(kNameSpaceID_None, nsHTMLAtoms::data, data)) {
mNumCachedAttrs++; mNumCachedAttrs++;
}
// now lets make the arrays // now lets make the arrays
mCachedAttrParamNames = (char **)PR_Calloc(sizeof(char *) * (mNumCachedAttrs + 1 + mNumCachedParams), 1); mCachedAttrParamNames = (char **)PR_Calloc(sizeof(char *) * (mNumCachedAttrs + 1 + mNumCachedParams), 1);