mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-12 04:45:45 +00:00
Fixing bug 396443. Make SVG documents act like all our other documents wrt enumeration hooks. r+sr=mrbkap@gmail.com
This commit is contained in:
parent
6af4d0b021
commit
c6c04d842e
@ -496,6 +496,7 @@ static const char kDOMStringBundleURL[] =
|
||||
nsIXPCScriptable::WANT_ADDPROPERTY | \
|
||||
nsIXPCScriptable::WANT_DELPROPERTY | \
|
||||
nsIXPCScriptable::WANT_GETPROPERTY | \
|
||||
nsIXPCScriptable::WANT_ENUMERATE | \
|
||||
nsIXPCScriptable::WANT_POSTCREATE | \
|
||||
nsIXPCScriptable::WANT_FINALIZE)
|
||||
|
||||
@ -593,8 +594,7 @@ static nsDOMClassInfoData sClassInfoData[] = {
|
||||
|
||||
// Core classes
|
||||
NS_DEFINE_CLASSINFO_DATA(XMLDocument, nsDocumentSH,
|
||||
DOCUMENT_SCRIPTABLE_FLAGS |
|
||||
nsIXPCScriptable::WANT_ENUMERATE)
|
||||
DOCUMENT_SCRIPTABLE_FLAGS)
|
||||
NS_DEFINE_CLASSINFO_DATA(DocumentType, nsNodeSH,
|
||||
NODE_SCRIPTABLE_FLAGS)
|
||||
NS_DEFINE_CLASSINFO_DATA(DOMImplementation, nsDOMGenericSH,
|
||||
@ -642,8 +642,7 @@ static nsDOMClassInfoData sClassInfoData[] = {
|
||||
|
||||
// Misc HTML classes
|
||||
NS_DEFINE_CLASSINFO_DATA(HTMLDocument, nsHTMLDocumentSH,
|
||||
DOCUMENT_SCRIPTABLE_FLAGS |
|
||||
nsIXPCScriptable::WANT_ENUMERATE)
|
||||
DOCUMENT_SCRIPTABLE_FLAGS)
|
||||
NS_DEFINE_CLASSINFO_DATA(HTMLOptionsCollection,
|
||||
nsHTMLOptionsCollectionSH,
|
||||
ARRAY_SCRIPTABLE_FLAGS |
|
||||
@ -813,8 +812,7 @@ static nsDOMClassInfoData sClassInfoData[] = {
|
||||
// XUL classes
|
||||
#ifdef MOZ_XUL
|
||||
NS_DEFINE_CLASSINFO_DATA(XULDocument, nsDocumentSH,
|
||||
DOCUMENT_SCRIPTABLE_FLAGS |
|
||||
nsIXPCScriptable::WANT_ENUMERATE)
|
||||
DOCUMENT_SCRIPTABLE_FLAGS)
|
||||
NS_DEFINE_CLASSINFO_DATA(XULElement, nsElementSH,
|
||||
ELEMENT_SCRIPTABLE_FLAGS)
|
||||
NS_DEFINE_CLASSINFO_DATA(XULCommandDispatcher, nsDOMGenericSH,
|
||||
@ -872,8 +870,7 @@ static nsDOMClassInfoData sClassInfoData[] = {
|
||||
NODE_SCRIPTABLE_FLAGS)
|
||||
|
||||
NS_DEFINE_CLASSINFO_DATA(ImageDocument, nsHTMLDocumentSH,
|
||||
DOCUMENT_SCRIPTABLE_FLAGS |
|
||||
nsIXPCScriptable::WANT_ENUMERATE)
|
||||
DOCUMENT_SCRIPTABLE_FLAGS)
|
||||
|
||||
#ifdef MOZ_XUL
|
||||
NS_DEFINE_CLASSINFO_DATA(XULTemplateBuilder, nsDOMGenericSH,
|
||||
@ -3740,18 +3737,20 @@ NS_IMETHODIMP
|
||||
nsDOMClassInfo::Enumerate(nsIXPConnectWrappedNative *wrapper, JSContext *cx,
|
||||
JSObject *obj, PRBool *_retval)
|
||||
{
|
||||
if (!sSecMan)
|
||||
#ifdef DEBUG
|
||||
if (!sSecMan) {
|
||||
NS_ERROR("No security manager!!!");
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// Ask the security manager if it's OK to enumerate
|
||||
nsresult rv =
|
||||
sSecMan->CheckPropertyAccess(cx, obj, mData->mName, sEnumerate_id,
|
||||
nsIXPCSecurityManager::ACCESS_GET_PROPERTY);
|
||||
|
||||
if (NS_FAILED(rv)) {
|
||||
// Let XPConnect know that the access was not granted.
|
||||
*_retval = PR_FALSE;
|
||||
}
|
||||
NS_ASSERTION(NS_SUCCEEDED(rv),
|
||||
"XOWs should have stopped us from getting here!!!");
|
||||
#endif
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user