From dbd979419ad7fa6eef12e612d2f3f22908f5f5ea Mon Sep 17 00:00:00 2001 From: Narcis Beleuzu Date: Sat, 29 Feb 2020 04:06:12 +0200 Subject: [PATCH] Backed out 2 changesets (bug 1618735, bug 1618753) for bustages on nsZipArchive.h . CLOSED TREE Backed out changeset 5eae5c3e54bf (bug 1618753) Backed out changeset e58f6c24816c (bug 1618735) --- dom/plugins/base/nsJSNPRuntime.cpp | 4 ++-- dom/plugins/ipc/ChildTimer.h | 5 +---- dom/plugins/ipc/FunctionBrokerChild.h | 2 +- dom/plugins/ipc/FunctionBrokerParent.h | 2 +- dom/plugins/ipc/PluginInstanceChild.cpp | 2 +- dom/plugins/ipc/PluginInstanceChild.h | 6 +++--- dom/plugins/ipc/PluginModuleParent.cpp | 17 ++++++++--------- dom/plugins/ipc/PluginWidgetParent.h | 2 +- modules/libjar/nsZipArchive.cpp | 2 +- modules/libjar/nsZipArchive.h | 3 ++- modules/libpref/Preferences.cpp | 14 +++++++++----- 11 files changed, 30 insertions(+), 29 deletions(-) diff --git a/dom/plugins/base/nsJSNPRuntime.cpp b/dom/plugins/base/nsJSNPRuntime.cpp index c3a4088a341f..f21298d66e2c 100644 --- a/dom/plugins/base/nsJSNPRuntime.cpp +++ b/dom/plugins/base/nsJSNPRuntime.cpp @@ -8,7 +8,7 @@ #include "jsfriendapi.h" -#include "mozilla/UniquePtr.h" +#include "nsAutoPtr.h" #include "nsIInterfaceRequestorUtils.h" #include "nsJSNPRuntime.h" #include "nsNPAPIPlugin.h" @@ -280,7 +280,7 @@ static void DelayedReleaseGCCallback(JSGCStatus status) { if (JSGC_END == status) { // Take ownership of sDelayedReleases and null it out now. The // _releaseobject call below can reenter GC and double-free these objects. - UniquePtr> delayedReleases(sDelayedReleases); + nsAutoPtr> delayedReleases(sDelayedReleases); sDelayedReleases = nullptr; if (delayedReleases) { diff --git a/dom/plugins/ipc/ChildTimer.h b/dom/plugins/ipc/ChildTimer.h index e202a9aef902..cc2939aca9c7 100644 --- a/dom/plugins/ipc/ChildTimer.h +++ b/dom/plugins/ipc/ChildTimer.h @@ -11,7 +11,6 @@ #include "PluginMessageUtils.h" #include "npapi.h" #include "base/timer.h" -#include "mozilla/UniquePtr.h" namespace mozilla { namespace plugins { @@ -32,9 +31,7 @@ class ChildTimer { class IDComparator { public: - bool Equals(const UniquePtr& t, uint32_t id) const { - return t->ID() == id; - } + bool Equals(ChildTimer* t, uint32_t id) const { return t->ID() == id; } }; private: diff --git a/dom/plugins/ipc/FunctionBrokerChild.h b/dom/plugins/ipc/FunctionBrokerChild.h index 767aaab1707a..1e55a31b3706 100644 --- a/dom/plugins/ipc/FunctionBrokerChild.h +++ b/dom/plugins/ipc/FunctionBrokerChild.h @@ -35,7 +35,7 @@ class FunctionBrokerChild : public PFunctionBrokerChild { void ShutdownOnDispatchThread(); void Bind(Endpoint&& aEndpoint); - UniquePtr mThread; + nsAutoPtr mThread; // True if tasks on the FunctionBrokerThread have completed bool mShutdownDone; diff --git a/dom/plugins/ipc/FunctionBrokerParent.h b/dom/plugins/ipc/FunctionBrokerParent.h index 5ad26678b839..b597952d2781 100644 --- a/dom/plugins/ipc/FunctionBrokerParent.h +++ b/dom/plugins/ipc/FunctionBrokerParent.h @@ -56,7 +56,7 @@ class FunctionBrokerParent : public PFunctionBrokerParent { static mozilla::SandboxPermissions sSandboxPermissions; #endif // defined(XP_WIN) && defined(MOZ_SANDBOX) - UniquePtr mThread; + nsAutoPtr mThread; Monitor mMonitor; bool mShutdownDone; }; diff --git a/dom/plugins/ipc/PluginInstanceChild.cpp b/dom/plugins/ipc/PluginInstanceChild.cpp index ee984f950cd3..e0b7d379781f 100644 --- a/dom/plugins/ipc/PluginInstanceChild.cpp +++ b/dom/plugins/ipc/PluginInstanceChild.cpp @@ -4029,7 +4029,7 @@ void PluginInstanceChild::Destroy() { ClearAllSurfaces(); mDirectBitmaps.Clear(); - mDeletingHash = MakeUnique>(); + mDeletingHash = new nsTHashtable; PluginScriptableObjectChild::NotifyOfInstanceShutdown(this); InvalidateObjects(*mDeletingHash); diff --git a/dom/plugins/ipc/PluginInstanceChild.h b/dom/plugins/ipc/PluginInstanceChild.h index e519c47d3731..86e8dd79efe9 100644 --- a/dom/plugins/ipc/PluginInstanceChild.h +++ b/dom/plugins/ipc/PluginInstanceChild.h @@ -24,7 +24,7 @@ #endif #include "npfunctions.h" -#include "mozilla/UniquePtr.h" +#include "nsAutoPtr.h" #include "nsTArray.h" #include "ChildTimer.h" #include "nsRect.h" @@ -387,14 +387,14 @@ class PluginInstanceChild : public PPluginInstanceChild { #if defined(OS_WIN) nsTArray mPendingFlashThrottleMsgs; #endif - nsTArray > mTimers; + nsTArray > mTimers; /** * During destruction we enumerate all remaining scriptable objects and * invalidate/delete them. Enumeration can re-enter, so maintain a * hash separate from PluginModuleChild.mObjectMap. */ - UniquePtr > mDeletingHash; + nsAutoPtr > mDeletingHash; #if defined(MOZ_WIDGET_COCOA) private: diff --git a/dom/plugins/ipc/PluginModuleParent.cpp b/dom/plugins/ipc/PluginModuleParent.cpp index 71db7c5af98e..ebe4d3c66d4d 100644 --- a/dom/plugins/ipc/PluginModuleParent.cpp +++ b/dom/plugins/ipc/PluginModuleParent.cpp @@ -26,7 +26,7 @@ #include "mozilla/Services.h" #include "mozilla/Telemetry.h" #include "mozilla/Unused.h" -#include "mozilla/UniquePtr.h" +#include "nsAutoPtr.h" #include "nsCRT.h" #include "nsIFile.h" #include "nsICrashService.h" @@ -351,7 +351,7 @@ void mozilla::plugins::TerminatePlugin(uint32_t aPluginId, PluginLibrary* PluginModuleContentParent::LoadModule(uint32_t aPluginId, nsPluginTag* aPluginTag) { PluginModuleMapping::NotifyLoadingModule loadingModule; - UniquePtr mapping(new PluginModuleMapping(aPluginId)); + nsAutoPtr mapping(new PluginModuleMapping(aPluginId)); MOZ_ASSERT(XRE_IsContentProcess()); @@ -378,7 +378,7 @@ PluginLibrary* PluginModuleContentParent::LoadModule(uint32_t aPluginId, // mapping is linked into PluginModuleMapping::sModuleListHead and is // needed later, so since this function is returning successfully we // forget it here. - Unused << mapping.release(); + mapping.forget(); } parent->mPluginId = aPluginId; @@ -390,7 +390,7 @@ PluginLibrary* PluginModuleContentParent::LoadModule(uint32_t aPluginId, /* static */ void PluginModuleContentParent::Initialize( Endpoint&& aEndpoint) { - UniquePtr moduleMapping( + nsAutoPtr moduleMapping( PluginModuleMapping::Resolve(aEndpoint.OtherPid())); MOZ_ASSERT(moduleMapping); PluginModuleContentParent* parent = moduleMapping->GetModule(); @@ -414,7 +414,7 @@ void PluginModuleContentParent::Initialize( // moduleMapping is linked into PluginModuleMapping::sModuleListHead and is // needed later, so since this function is returning successfully we // forget it here. - Unused << moduleMapping.release(); + moduleMapping.forget(); } // static @@ -423,10 +423,9 @@ PluginLibrary* PluginModuleChromeParent::LoadModule(const char* aFilePath, nsPluginTag* aPluginTag) { PLUGIN_LOG_DEBUG_FUNCTION; - UniquePtr parent(new PluginModuleChromeParent( + nsAutoPtr parent(new PluginModuleChromeParent( aFilePath, aPluginId, aPluginTag->mSandboxLevel)); - UniquePtr onLaunchedRunnable( - new LaunchedTask(parent.get())); + UniquePtr onLaunchedRunnable(new LaunchedTask(parent)); bool launched = parent->mSubprocess->Launch( std::move(onLaunchedRunnable), aPluginTag->mSandboxLevel, aPluginTag->mIsSandboxLoggingEnabled); @@ -462,7 +461,7 @@ PluginLibrary* PluginModuleChromeParent::LoadModule(const char* aFilePath, Unused << parent->SendInitPluginFunctionBroker(std::move(brokerChildEnd)); } #endif - return parent.release(); + return parent.forget(); } static const char* gCallbackPrefs[] = { diff --git a/dom/plugins/ipc/PluginWidgetParent.h b/dom/plugins/ipc/PluginWidgetParent.h index 78228345cbd2..f0bf6ae6acf9 100644 --- a/dom/plugins/ipc/PluginWidgetParent.h +++ b/dom/plugins/ipc/PluginWidgetParent.h @@ -10,7 +10,7 @@ #endif #include "mozilla/plugins/PPluginWidgetParent.h" -#include "mozilla/UniquePtr.h" +#include "nsAutoPtr.h" #include "nsIWidget.h" #include "nsCOMPtr.h" diff --git a/modules/libjar/nsZipArchive.cpp b/modules/libjar/nsZipArchive.cpp index 7653789e60bd..7293c6be532b 100644 --- a/modules/libjar/nsZipArchive.cpp +++ b/modules/libjar/nsZipArchive.cpp @@ -234,7 +234,7 @@ nsresult nsZipHandle::Init(nsZipArchive* zip, const char* entry, RefPtr handle = new nsZipHandle(); if (!handle) return NS_ERROR_OUT_OF_MEMORY; - handle->mBuf = MakeUnique>(zip, entry); + handle->mBuf = new nsZipItemPtr(zip, entry); if (!handle->mBuf) return NS_ERROR_OUT_OF_MEMORY; if (!handle->mBuf->Buffer()) return NS_ERROR_UNEXPECTED; diff --git a/modules/libjar/nsZipArchive.h b/modules/libjar/nsZipArchive.h index 5b291f8d62a1..6424fd279ea9 100644 --- a/modules/libjar/nsZipArchive.h +++ b/modules/libjar/nsZipArchive.h @@ -14,6 +14,7 @@ #include "zlib.h" #include "zipstruct.h" +#include "nsAutoPtr.h" #include "nsIFile.h" #include "nsISupportsImpl.h" // For mozilla::ThreadSafeAutoRefCnt #include "mozilla/ArenaAllocator.h" @@ -402,7 +403,7 @@ class nsZipHandle final { PRFileMap* mMap; /* nspr datastructure for mmap */ mozilla::AutoFDClose mNSPRFileDesc; - UniquePtr > mBuf; + nsAutoPtr > mBuf; mozilla::ThreadSafeAutoRefCnt mRefCnt; /* ref count */ NS_DECL_OWNINGTHREAD diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp index 8f5a5f3b5d9c..ba821e5b141d 100644 --- a/modules/libpref/Preferences.cpp +++ b/modules/libpref/Preferences.cpp @@ -45,6 +45,7 @@ #include "mozilla/Variant.h" #include "mozilla/Vector.h" #include "nsAppDirectoryServiceDefs.h" +#include "nsAutoPtr.h" #include "nsCategoryManagerUtils.h" #include "nsClassHashtable.h" #include "nsCOMArray.h" @@ -4300,14 +4301,16 @@ static nsresult pref_ReadPrefFromJar(nsZipArchive* aJarReader, static nsresult pref_ReadDefaultPrefs(const RefPtr jarReader, const char* path) { - UniquePtr find; + nsZipFind* findPtr; + nsAutoPtr find; nsTArray prefEntries; const char* entryName; uint16_t entryNameLen; - nsresult rv = jarReader->FindInit(path, getter_Transfers(find)); + nsresult rv = jarReader->FindInit(path, &findPtr); NS_ENSURE_SUCCESS(rv, rv); + find = findPtr; while (NS_SUCCEEDED(find->FindNext(&entryName, &entryNameLen))) { prefEntries.AppendElement(Substring(entryName, entryNameLen)); } @@ -4470,7 +4473,8 @@ nsresult Preferences::InitInitialObjects(bool aIsStartup) { // preferences from omni.jar, whether or not `$app == $gre`. nsresult rv = NS_ERROR_FAILURE; - UniquePtr find; + nsZipFind* findPtr; + nsAutoPtr find; nsTArray prefEntries; const char* entryName; uint16_t entryNameLen; @@ -4566,9 +4570,9 @@ nsresult Preferences::InitInitialObjects(bool aIsStartup) { } if (appJarReader) { - rv = appJarReader->FindInit("defaults/preferences/*.js$", - getter_Transfers(find)); + rv = appJarReader->FindInit("defaults/preferences/*.js$", &findPtr); NS_ENSURE_SUCCESS(rv, rv); + find = findPtr; prefEntries.Clear(); while (NS_SUCCEEDED(find->FindNext(&entryName, &entryNameLen))) { prefEntries.AppendElement(Substring(entryName, entryNameLen));