diff --git a/security/manager/ssl/nsCertOverrideService.cpp b/security/manager/ssl/nsCertOverrideService.cpp index 00437394cf19..fcf101ebe9cb 100644 --- a/security/manager/ssl/nsCertOverrideService.cpp +++ b/security/manager/ssl/nsCertOverrideService.cpp @@ -20,6 +20,7 @@ #include "nsIObserver.h" #include "nsIObserverService.h" #include "nsIOutputStream.h" +#include "nsIRemoteAgent.h" #include "nsISafeOutputStream.h" #include "nsIX509Cert.h" #include "nsNSSCertHelper.h" @@ -609,21 +610,29 @@ nsCertOverrideService::IsCertUsedForOverrides(nsIX509Cert* aCert, return NS_OK; } -static bool IsMarionetteRunning() { +static bool IsDebugger() { bool marionetteRunning = false; + bool remoteAgentListening = false; nsCOMPtr marionette = do_GetService(NS_MARIONETTE_CONTRACTID); if (marionette) { marionette->GetRunning(&marionetteRunning); } - return marionetteRunning; +#ifdef ENABLE_REMOTE_AGENT + nsCOMPtr agent = do_GetService(NS_REMOTEAGENT_CONTRACTID); + if (agent) { + agent->GetListening(&remoteAgentListening); + } +#endif + + return marionetteRunning || remoteAgentListening; } NS_IMETHODIMP nsCertOverrideService:: SetDisableAllSecurityChecksAndLetAttackersInterceptMyData(bool aDisable) { - if (!(PR_GetEnv("XPCSHELL_TEST_PROFILE_DIR") || IsMarionetteRunning())) { + if (!(PR_GetEnv("XPCSHELL_TEST_PROFILE_DIR") || IsDebugger())) { return NS_ERROR_NOT_AVAILABLE; }