зеркало из https://github.com/mozilla/gecko-dev.git
Trying to break the cycle on nsNavHistoryQueryResultNode::mQueries.
This commit is contained in:
Родитель
03a42d588e
Коммит
0712c2b2ab
|
@ -70,6 +70,7 @@
|
||||||
#include "prprf.h"
|
#include "prprf.h"
|
||||||
#include "mozStorageHelper.h"
|
#include "mozStorageHelper.h"
|
||||||
#include "nsAnnotationService.h"
|
#include "nsAnnotationService.h"
|
||||||
|
#include "nsCycleCollectionParticipant.h"
|
||||||
|
|
||||||
#define ICONURI_QUERY "chrome://browser/skin/places/query.png"
|
#define ICONURI_QUERY "chrome://browser/skin/places/query.png"
|
||||||
|
|
||||||
|
@ -1848,9 +1849,27 @@ nsNavHistoryContainerResultNode::ClearContents()
|
||||||
// to a message without doing a requery. For complex changes or complex
|
// to a message without doing a requery. For complex changes or complex
|
||||||
// queries, we give up and requery.
|
// queries, we give up and requery.
|
||||||
|
|
||||||
NS_IMPL_ISUPPORTS_INHERITED1(nsNavHistoryQueryResultNode,
|
NS_IMPL_CYCLE_COLLECTION_CLASS(nsNavHistoryQueryResultNode)
|
||||||
nsNavHistoryContainerResultNode,
|
|
||||||
nsINavHistoryQueryResultNode)
|
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(nsNavHistoryQueryResultNode)
|
||||||
|
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMARRAY(mQueries)
|
||||||
|
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
|
||||||
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsNavHistoryQueryResultNode)
|
||||||
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMARRAY(mQueries)
|
||||||
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||||
|
|
||||||
|
NS_IMPL_CYCLE_COLLECTING_ADDREF_AMBIGUOUS(nsNavHistoryQueryResultNode, nsINavHistoryQueryResultNode)
|
||||||
|
NS_IMPL_CYCLE_COLLECTING_RELEASE_AMBIGUOUS(nsNavHistoryQueryResultNode, nsINavHistoryQueryResultNode)
|
||||||
|
|
||||||
|
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsNavHistoryQueryResultNode)
|
||||||
|
NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsINavHistoryResultNode, nsINavHistoryQueryResultNode)
|
||||||
|
NS_INTERFACE_MAP_ENTRY(nsNavHistoryResultNode)
|
||||||
|
NS_INTERFACE_MAP_STATIC_AMBIGUOUS(nsNavHistoryContainerResultNode)
|
||||||
|
NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsINavHistoryContainerResultNode, nsINavHistoryQueryResultNode)
|
||||||
|
NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsINavHistoryQueryResultNode)
|
||||||
|
NS_INTERFACE_MAP_ENTRY(nsINavHistoryQueryResultNode)
|
||||||
|
NS_INTERFACE_MAP_ENTRIES_CYCLE_COLLECTION(nsNavHistoryQueryResultNode)
|
||||||
|
NS_INTERFACE_MAP_END
|
||||||
|
|
||||||
nsNavHistoryQueryResultNode::nsNavHistoryQueryResultNode(
|
nsNavHistoryQueryResultNode::nsNavHistoryQueryResultNode(
|
||||||
const nsACString& aTitle, const nsACString& aIconURI,
|
const nsACString& aTitle, const nsACString& aIconURI,
|
||||||
|
|
|
@ -48,6 +48,7 @@
|
||||||
#include "nsTArray.h"
|
#include "nsTArray.h"
|
||||||
#include "nsInterfaceHashtable.h"
|
#include "nsInterfaceHashtable.h"
|
||||||
#include "nsDataHashtable.h"
|
#include "nsDataHashtable.h"
|
||||||
|
#include "nsCycleCollectionParticipant.h"
|
||||||
|
|
||||||
class nsNavHistory;
|
class nsNavHistory;
|
||||||
class nsIDateTimeFormat;
|
class nsIDateTimeFormat;
|
||||||
|
@ -655,7 +656,11 @@ public:
|
||||||
const nsCOMArray<nsNavHistoryQuery>& aQueries,
|
const nsCOMArray<nsNavHistoryQuery>& aQueries,
|
||||||
nsNavHistoryQueryOptions* aOptions);
|
nsNavHistoryQueryOptions* aOptions);
|
||||||
|
|
||||||
NS_DECL_ISUPPORTS_INHERITED
|
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
|
||||||
|
NS_DECL_NSINAVHISTORYQUERYRESULTNODE
|
||||||
|
|
||||||
|
NS_DECL_CYCLE_COLLECTION_CLASS_AMBIGUOUS(nsNavHistoryQueryResultNode, nsNavHistoryResultNode)
|
||||||
|
|
||||||
NS_FORWARD_COMMON_RESULTNODE_TO_BASE
|
NS_FORWARD_COMMON_RESULTNODE_TO_BASE
|
||||||
NS_IMETHOD GetType(PRUint32* type)
|
NS_IMETHOD GetType(PRUint32* type)
|
||||||
{ *type = nsNavHistoryResultNode::RESULT_TYPE_QUERY; return NS_OK; }
|
{ *type = nsNavHistoryResultNode::RESULT_TYPE_QUERY; return NS_OK; }
|
||||||
|
@ -664,7 +669,7 @@ public:
|
||||||
NS_IMETHOD GetHasChildren(PRBool* aHasChildren);
|
NS_IMETHOD GetHasChildren(PRBool* aHasChildren);
|
||||||
NS_IMETHOD GetChildrenReadOnly(PRBool *aChildrenReadOnly)
|
NS_IMETHOD GetChildrenReadOnly(PRBool *aChildrenReadOnly)
|
||||||
{ return nsNavHistoryContainerResultNode::GetChildrenReadOnly(aChildrenReadOnly); }
|
{ return nsNavHistoryContainerResultNode::GetChildrenReadOnly(aChildrenReadOnly); }
|
||||||
NS_DECL_NSINAVHISTORYQUERYRESULTNODE
|
|
||||||
|
|
||||||
PRBool CanExpand();
|
PRBool CanExpand();
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче