mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-10 03:45:46 +00:00
Bug 605908 - test_parent.js leaks objects. Part 2: enumerator leaks. r=jdm, a=sdwilsh
This commit is contained in:
parent
a6e5900b55
commit
9e58316d52
@ -68,7 +68,6 @@
|
|||||||
#include "nsConsoleMessage.h"
|
#include "nsConsoleMessage.h"
|
||||||
|
|
||||||
#ifdef MOZ_PERMISSIONS
|
#ifdef MOZ_PERMISSIONS
|
||||||
#include "nsPermission.h"
|
|
||||||
#include "nsPermissionManager.h"
|
#include "nsPermissionManager.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -226,16 +225,17 @@ ContentParent::RecvReadPermissions(nsTArray<IPC::Permission>* aPermissions)
|
|||||||
NS_ABORT_IF_FALSE(permissionManager,
|
NS_ABORT_IF_FALSE(permissionManager,
|
||||||
"We have no permissionManager in the Chrome process !");
|
"We have no permissionManager in the Chrome process !");
|
||||||
|
|
||||||
nsISimpleEnumerator *enumerator;
|
nsCOMPtr<nsISimpleEnumerator> enumerator;
|
||||||
nsresult rv = permissionManager->GetEnumerator(&enumerator);
|
nsresult rv = permissionManager->GetEnumerator(getter_AddRefs(enumerator));
|
||||||
NS_ABORT_IF_FALSE(NS_SUCCEEDED(rv), "Could not get enumerator!");
|
NS_ABORT_IF_FALSE(NS_SUCCEEDED(rv), "Could not get enumerator!");
|
||||||
while(1) {
|
while(1) {
|
||||||
PRBool hasMore;
|
PRBool hasMore;
|
||||||
enumerator->HasMoreElements(&hasMore);
|
enumerator->HasMoreElements(&hasMore);
|
||||||
if (!hasMore)
|
if (!hasMore)
|
||||||
break;
|
break;
|
||||||
nsISupports *supp;
|
|
||||||
enumerator->GetNext((nsISupports**)&supp);
|
nsCOMPtr<nsISupports> supp;
|
||||||
|
enumerator->GetNext(getter_AddRefs(supp));
|
||||||
nsCOMPtr<nsIPermission> perm = do_QueryInterface(supp);
|
nsCOMPtr<nsIPermission> perm = do_QueryInterface(supp);
|
||||||
|
|
||||||
nsCString host;
|
nsCString host;
|
||||||
|
Loading…
Reference in New Issue
Block a user