зеркало из https://github.com/mozilla/pjs.git
fix #156936, regression: crash using OBJECT tag with any plugin, r=peterl, sr=jag
This commit is contained in:
Родитель
d43f533cf2
Коммит
e20929f95c
|
@ -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);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче