Bug 1483541 - DeCOMtaminate nsAutoConfig; r=mkaply

This commit is contained in:
Ehsan Akhgari 2018-08-16 12:55:45 -04:00
parent bb932f74c3
commit edb2dd1da5
7 changed files with 21 additions and 73 deletions

View File

@ -5,7 +5,6 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
XPIDL_SOURCES += [
'nsIAutoConfig.idl',
'nsIReadConfig.idl',
]

View File

@ -1,26 +0,0 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsISupports.idl"
%{C++
#define NS_AUTOCONFIG_CID\
{ 0xe036c738,\
0x1dd1,\
0x11b2,\
{ 0x93, 0x92, 0x9d, 0x94, 0xaa, 0x74, 0xb0, 0xc5 }\
}
#define NS_AUTOCONFIG_CONTRACTID \
"@mozilla.org/autoconfiguration;1"
%}
[uuid (80DB54AE-13F2-11d5-BE44-00108335A220)]
interface nsIAutoConfig : nsISupports {
attribute string configURL;
};

View File

@ -33,7 +33,7 @@ mozilla::LazyLogModule MCD("MCD");
// nsISupports Implementation
NS_IMPL_ISUPPORTS(nsAutoConfig, nsIAutoConfig, nsITimerCallback, nsIStreamListener,
NS_IMPL_ISUPPORTS(nsAutoConfig, nsITimerCallback, nsIStreamListener,
nsIObserver, nsIRequestObserver, nsISupportsWeakReference,
nsINamed)
@ -63,28 +63,10 @@ nsAutoConfig::~nsAutoConfig()
{
}
// attribute string configURL
NS_IMETHODIMP nsAutoConfig::GetConfigURL(char **aConfigURL)
void
nsAutoConfig::SetConfigURL(const char *aConfigURL)
{
if (!aConfigURL)
return NS_ERROR_NULL_POINTER;
if (mConfigURL.IsEmpty()) {
*aConfigURL = nullptr;
return NS_OK;
}
*aConfigURL = ToNewCString(mConfigURL);
if (!*aConfigURL)
return NS_ERROR_OUT_OF_MEMORY;
return NS_OK;
}
NS_IMETHODIMP nsAutoConfig::SetConfigURL(const char *aConfigURL)
{
if (!aConfigURL)
return NS_ERROR_NULL_POINTER;
mConfigURL.Assign(aConfigURL);
return NS_OK;
}
NS_IMETHODIMP

View File

@ -6,7 +6,6 @@
#ifndef nsAutoConfig_h
#define nsAutoConfig_h
#include "nsIAutoConfig.h"
#include "nsITimer.h"
#include "nsIFile.h"
#include "nsINamed.h"
@ -17,18 +16,16 @@
#include "nsWeakReference.h"
#include "nsString.h"
class nsAutoConfig : public nsIAutoConfig,
public nsITimerCallback,
public nsIStreamListener,
public nsIObserver,
public nsSupportsWeakReference,
public nsINamed
class nsAutoConfig final : public nsITimerCallback,
public nsIStreamListener,
public nsIObserver,
public nsSupportsWeakReference,
public nsINamed
{
public:
NS_DECL_THREADSAFE_ISUPPORTS
NS_DECL_NSIAUTOCONFIG
NS_DECL_NSIREQUESTOBSERVER
NS_DECL_NSISTREAMLISTENER
NS_DECL_NSIOBSERVER
@ -38,6 +35,8 @@ class nsAutoConfig : public nsIAutoConfig,
nsAutoConfig();
nsresult Init();
void SetConfigURL(const char* aConfigURL);
protected:
virtual ~nsAutoConfig();

View File

@ -4,24 +4,19 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/ModuleUtils.h"
#include "nsAutoConfig.h"
#include "nsReadConfig.h"
#include "nsIAppStartupNotifier.h"
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsAutoConfig, Init)
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsReadConfig, Init)
NS_DEFINE_NAMED_CID(NS_AUTOCONFIG_CID);
NS_DEFINE_NAMED_CID(NS_READCONFIG_CID);
static const mozilla::Module::CIDEntry kAutoConfigCIDs[] = {
{ &kNS_AUTOCONFIG_CID, false, nullptr, nsAutoConfigConstructor },
{ &kNS_READCONFIG_CID, false, nullptr, nsReadConfigConstructor },
{ nullptr }
};
static const mozilla::Module::ContractIDEntry kAutoConfigContracts[] = {
{ NS_AUTOCONFIG_CONTRACTID, &kNS_AUTOCONFIG_CID },
{ NS_READCONFIG_CONTRACTID, &kNS_READCONFIG_CID },
{ nullptr }
};

View File

@ -10,7 +10,6 @@
#include "nsIAppStartup.h"
#include "nsContentUtils.h"
#include "nsDirectoryServiceDefs.h"
#include "nsIAutoConfig.h"
#include "nsIComponentManager.h"
#include "nsIFile.h"
#include "nsIObserverService.h"
@ -233,14 +232,14 @@ nsresult nsReadConfig::readConfigFile()
if (NS_SUCCEEDED(rv) && !urlName.IsEmpty()) {
// Instantiating nsAutoConfig object if the pref is present
mAutoConfig = do_CreateInstance(NS_AUTOCONFIG_CONTRACTID, &rv);
if (NS_FAILED(rv))
return NS_ERROR_OUT_OF_MEMORY;
mAutoConfig = new nsAutoConfig();
rv = mAutoConfig->SetConfigURL(urlName.get());
if (NS_FAILED(rv))
return NS_ERROR_FAILURE;
rv = mAutoConfig->Init();
if (NS_WARN_IF(NS_FAILED(rv))) {
return rv;
}
mAutoConfig->SetConfigURL(urlName.get());
}
return NS_OK;

View File

@ -6,14 +6,14 @@
#ifndef nsReadConfig_h
#define nsReadConfig_h
#include "nsCOMPtr.h"
#include "mozilla/RefPtr.h"
#include "nsIReadConfig.h"
#include "nsIAutoConfig.h"
#include "nsAutoConfig.h"
#include "nsIObserver.h"
class nsReadConfig : public nsIReadConfig,
public nsIObserver
class nsReadConfig final : public nsIReadConfig,
public nsIObserver
{
public:
@ -35,7 +35,7 @@ class nsReadConfig : public nsIReadConfig,
bool isEncoded, bool isBinDir);
bool mRead;
private:
nsCOMPtr<nsIAutoConfig> mAutoConfig;
RefPtr<nsAutoConfig> mAutoConfig;
};
#endif