This commit is contained in:
bzbarsky@mit.edu 2007-07-09 21:07:45 -07:00
Родитель e62f1b6c92
Коммит 9ba96af58f
5 изменённых файлов: 1 добавлений и 67 удалений

Просмотреть файл

@ -50,12 +50,8 @@
#include "jsfun.h"
#include "jsobj.h"
#include "jsscript.h"
#include "nsThreadUtilsInternal.h"
NS_IMPL_THREADSAFE_ISUPPORTS3(nsXPConnect,
nsIXPConnect,
nsISupportsWeakReference,
nsIThreadObserver)
NS_IMPL_THREADSAFE_ISUPPORTS2(nsXPConnect,nsIXPConnect,nsISupportsWeakReference)
nsXPConnect* nsXPConnect::gSelf = nsnull;
JSBool nsXPConnect::gOnceAliveNowDead = JS_FALSE;
@ -290,10 +286,6 @@ nsXPConnect::GetXPConnect()
// Initial extra ref to keep the singleton alive
// balanced by explicit call to ReleaseXPConnectSingleton()
NS_ADDREF(gSelf);
if (NS_FAILED(NS_SetGlobalThreadObserver(gSelf))) {
NS_RELEASE(gSelf);
// Fall through to returning null
}
}
}
return gSelf;
@ -315,7 +307,6 @@ nsXPConnect::ReleaseXPConnectSingleton()
nsXPConnect* xpc = gSelf;
if(xpc)
{
NS_SetGlobalThreadObserver(nsnull);
#ifdef XPC_TOOLS_SUPPORT
if(xpc->mProfiler)
@ -2023,31 +2014,6 @@ nsXPConnect::FlagSystemFilenamePrefix(const char *aFilenamePrefix)
return NS_OK;
}
NS_IMETHODIMP
nsXPConnect::OnProcessNextEvent(nsIThreadInternal *aThread, PRBool aMayWait,
PRUint32 aRecursionDepth)
{
// Push a null JSContext so that we don't see any script during
// event processing.
NS_ENSURE_STATE(mContextStack);
return mContextStack->Push(nsnull);
}
NS_IMETHODIMP
nsXPConnect::AfterProcessNextEvent(nsIThreadInternal *aThread,
PRUint32 aRecursionDepth)
{
NS_ENSURE_STATE(mContextStack);
return mContextStack->Pop(nsnull);
}
NS_IMETHODIMP
nsXPConnect::OnDispatchedEvent(nsIThreadInternal* aThread)
{
NS_NOTREACHED("Why tell us?");
return NS_ERROR_UNEXPECTED;
}
#ifdef DEBUG
/* These are here to be callable from a debugger */
JS_BEGIN_EXTERN_C

Просмотреть файл

@ -126,8 +126,6 @@
#include "nsIXPCToolsProfiler.h"
#endif
#include "nsIThreadInternal.h"
#ifdef XPC_IDISPATCH_SUPPORT
// This goop was added because of EXCEPINFO in ThrowCOMError
// This include is here, because it needs to occur before the undefines below
@ -428,7 +426,6 @@ const PRBool OBJ_IS_NOT_GLOBAL = PR_FALSE;
struct JSObjectRefcounts;
class nsXPConnect : public nsIXPConnect,
public nsIThreadObserver,
public nsSupportsWeakReference,
public nsCycleCollectionLanguageRuntime,
public nsCycleCollectionParticipant
@ -437,7 +434,6 @@ public:
// all the interface method declarations...
NS_DECL_ISUPPORTS
NS_DECL_NSIXPCONNECT
NS_DECL_NSITHREADOBSERVER
// non-interface implementation
public:

Просмотреть файл

@ -69,7 +69,6 @@ CPPSRCS = \
EXPORTS = \
nsProcess.h \
nsEventQueue.h \
nsThreadUtilsInternal.h \
$(NULL)
XPIDLSRCS = \

Просмотреть файл

@ -52,8 +52,6 @@ static PRLogModuleInfo *sLog = PR_NewLogModule("nsThread");
NS_DECL_CI_INTERFACE_GETTER(nsThread)
nsIThreadObserver* nsThread::sGlobalObserver;
//-----------------------------------------------------------------------------
// Because we do not have our own nsIFactory, we have to implement nsIClassInfo
// somewhat manually.
@ -466,10 +464,6 @@ nsThread::ProcessNextEvent(PRBool mayWait, PRBool *result)
NS_ENSURE_STATE(PR_GetCurrentThread() == mThread);
if (sGlobalObserver)
sGlobalObserver->OnProcessNextEvent(this, mayWait && !ShuttingDown(),
mRunningEvent);
nsCOMPtr<nsIThreadObserver> obs = mObserver;
if (obs)
obs->OnProcessNextEvent(this, mayWait && !ShuttingDown(), mRunningEvent);
@ -495,9 +489,6 @@ nsThread::ProcessNextEvent(PRBool mayWait, PRBool *result)
if (obs)
obs->AfterProcessNextEvent(this, mRunningEvent);
if (sGlobalObserver)
sGlobalObserver->AfterProcessNextEvent(this, mRunningEvent);
return rv;
}
@ -627,18 +618,3 @@ nsThreadSyncDispatch::Run()
}
return NS_OK;
}
nsresult
NS_SetGlobalThreadObserver(nsIThreadObserver* aObserver)
{
if (aObserver && nsThread::sGlobalObserver) {
return NS_ERROR_NOT_AVAILABLE;
}
if (!NS_IsMainThread()) {
return NS_ERROR_UNEXPECTED;
}
nsThread::sGlobalObserver = aObserver;
return NS_OK;
}

Просмотреть файл

@ -72,9 +72,6 @@ public:
// nsIThreadManager::NewThread.
PRBool ShutdownRequired() { return mShutdownRequired; }
// The global thread observer
static nsIThreadObserver* sGlobalObserver;
private:
friend class nsThreadShutdownEvent;