diff --git a/xpcom/threads/nsIThreadManager.idl b/xpcom/threads/nsIThreadManager.idl index 1e4bcfa65470..f0de4a67eaff 100644 --- a/xpcom/threads/nsIThreadManager.idl +++ b/xpcom/threads/nsIThreadManager.idl @@ -45,7 +45,7 @@ interface nsIThread; /** * An interface for creating and locating nsIThread instances. */ -[scriptable, uuid(056216f5-8803-46b4-9199-d95bc1f0446f)] +[scriptable, uuid(487c10bf-0a22-4148-89fa-790d819dd559)] interface nsIThreadManager : nsISupports { /** @@ -89,4 +89,10 @@ interface nsIThreadManager : nsISupports * application process. */ readonly attribute boolean isMainThread; + + /** + * This attribute is true if the calling thread is the thread on which the + * cycle collector runs. + */ + readonly attribute boolean isCycleCollectorThread; }; diff --git a/xpcom/threads/nsThreadManager.cpp b/xpcom/threads/nsThreadManager.cpp index 0416ef9221c9..7073462843a5 100644 --- a/xpcom/threads/nsThreadManager.cpp +++ b/xpcom/threads/nsThreadManager.cpp @@ -305,3 +305,11 @@ nsThreadManager::GetIsMainThread(PRBool *result) *result = (PR_GetCurrentThread() == mMainPRThread); return NS_OK; } + +NS_IMETHODIMP +nsThreadManager::GetIsCycleCollectorThread(PRBool *result) +{ + // Not yet implemented. + *result = PR_FALSE; + return NS_OK; +}