mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 00:35:44 +00:00
Bug 1600283 - Replaced use of nsAutoPtr by UniquePtr. r=dom-workers-and-storage-reviewers,janv
Differential Revision: https://phabricator.services.mozilla.com/D55520 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
75afa9713e
commit
77ea686b98
@ -1797,7 +1797,7 @@ mozilla::ipc::IPCResult BackgroundFactoryRequestChild::RecvBlocked(
|
||||
|
||||
BackgroundDatabaseChild::BackgroundDatabaseChild(
|
||||
const DatabaseSpec& aSpec, BackgroundFactoryRequestChild* aOpenRequestActor)
|
||||
: mSpec(new DatabaseSpec(aSpec)),
|
||||
: mSpec(MakeUnique<DatabaseSpec>(aSpec)),
|
||||
mOpenRequestActor(aOpenRequestActor),
|
||||
mDatabase(nullptr) {
|
||||
// Can't assert owning thread here because IPDL has not yet set our manager!
|
||||
@ -1849,13 +1849,13 @@ void BackgroundDatabaseChild::EnsureDOMObject() {
|
||||
static_cast<BackgroundFactoryChild*>(Manager())->GetDOMObject();
|
||||
MOZ_ASSERT(factory);
|
||||
|
||||
mTemporaryStrongDatabase = IDBDatabase::Create(request, factory, this, mSpec);
|
||||
mTemporaryStrongDatabase =
|
||||
IDBDatabase::Create(request, factory, this, std::move(mSpec));
|
||||
|
||||
MOZ_ASSERT(mTemporaryStrongDatabase);
|
||||
mTemporaryStrongDatabase->AssertIsOnOwningThread();
|
||||
|
||||
mDatabase = mTemporaryStrongDatabase;
|
||||
mSpec.forget();
|
||||
|
||||
mOpenRequestActor->SetDatabaseActor(this);
|
||||
}
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include "mozilla/dom/PBackgroundFileHandleChild.h"
|
||||
#include "mozilla/dom/PBackgroundFileRequestChild.h"
|
||||
#include "mozilla/dom/PBackgroundMutableFileChild.h"
|
||||
#include "mozilla/UniquePtr.h"
|
||||
#include "nsAutoPtr.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsTArray.h"
|
||||
@ -275,7 +276,7 @@ class BackgroundDatabaseChild final : public PBackgroundIDBDatabaseChild {
|
||||
friend class BackgroundFactoryRequestChild;
|
||||
friend IDBDatabase;
|
||||
|
||||
nsAutoPtr<DatabaseSpec> mSpec;
|
||||
UniquePtr<DatabaseSpec> mSpec;
|
||||
RefPtr<IDBDatabase> mTemporaryStrongDatabase;
|
||||
BackgroundFactoryRequestChild* mOpenRequestActor;
|
||||
IDBDatabase* mDatabase;
|
||||
@ -291,7 +292,7 @@ class BackgroundDatabaseChild final : public PBackgroundIDBDatabaseChild {
|
||||
|
||||
const DatabaseSpec* Spec() const {
|
||||
AssertIsOnOwningThread();
|
||||
return mSpec;
|
||||
return mSpec.get();
|
||||
}
|
||||
|
||||
IDBDatabase* GetDOMObject() const {
|
||||
|
@ -147,10 +147,11 @@ class IDBDatabase::Observer final : public nsIObserver {
|
||||
};
|
||||
|
||||
IDBDatabase::IDBDatabase(IDBOpenDBRequest* aRequest, IDBFactory* aFactory,
|
||||
BackgroundDatabaseChild* aActor, DatabaseSpec* aSpec)
|
||||
BackgroundDatabaseChild* aActor,
|
||||
UniquePtr<DatabaseSpec> aSpec)
|
||||
: DOMEventTargetHelper(aRequest),
|
||||
mFactory(aFactory),
|
||||
mSpec(aSpec),
|
||||
mSpec(std::move(aSpec)),
|
||||
mBackgroundActor(aActor),
|
||||
mFileHandleDisabled(aRequest->IsFileHandleDisabled()),
|
||||
mClosed(false),
|
||||
@ -161,7 +162,7 @@ IDBDatabase::IDBDatabase(IDBOpenDBRequest* aRequest, IDBFactory* aFactory,
|
||||
MOZ_ASSERT(aFactory);
|
||||
aFactory->AssertIsOnOwningThread();
|
||||
MOZ_ASSERT(aActor);
|
||||
MOZ_ASSERT(aSpec);
|
||||
MOZ_ASSERT(mSpec);
|
||||
}
|
||||
|
||||
IDBDatabase::~IDBDatabase() {
|
||||
@ -174,14 +175,15 @@ IDBDatabase::~IDBDatabase() {
|
||||
RefPtr<IDBDatabase> IDBDatabase::Create(IDBOpenDBRequest* aRequest,
|
||||
IDBFactory* aFactory,
|
||||
BackgroundDatabaseChild* aActor,
|
||||
DatabaseSpec* aSpec) {
|
||||
UniquePtr<DatabaseSpec> aSpec) {
|
||||
MOZ_ASSERT(aRequest);
|
||||
MOZ_ASSERT(aFactory);
|
||||
aFactory->AssertIsOnOwningThread();
|
||||
MOZ_ASSERT(aActor);
|
||||
MOZ_ASSERT(aSpec);
|
||||
|
||||
RefPtr<IDBDatabase> db = new IDBDatabase(aRequest, aFactory, aActor, aSpec);
|
||||
RefPtr<IDBDatabase> db =
|
||||
new IDBDatabase(aRequest, aFactory, aActor, std::move(aSpec));
|
||||
|
||||
if (NS_IsMainThread()) {
|
||||
nsCOMPtr<nsPIDOMWindowInner> window =
|
||||
|
@ -90,7 +90,8 @@ class IDBDatabase final : public DOMEventTargetHelper {
|
||||
public:
|
||||
static MOZ_MUST_USE RefPtr<IDBDatabase> Create(
|
||||
IDBOpenDBRequest* aRequest, IDBFactory* aFactory,
|
||||
indexedDB::BackgroundDatabaseChild* aActor, DatabaseSpec* aSpec);
|
||||
indexedDB::BackgroundDatabaseChild* aActor,
|
||||
UniquePtr<DatabaseSpec> aSpec);
|
||||
|
||||
void AssertIsOnOwningThread() const
|
||||
#ifdef DEBUG
|
||||
@ -240,7 +241,8 @@ class IDBDatabase final : public DOMEventTargetHelper {
|
||||
|
||||
private:
|
||||
IDBDatabase(IDBOpenDBRequest* aRequest, IDBFactory* aFactory,
|
||||
indexedDB::BackgroundDatabaseChild* aActor, DatabaseSpec* aSpec);
|
||||
indexedDB::BackgroundDatabaseChild* aActor,
|
||||
UniquePtr<DatabaseSpec> aSpec);
|
||||
|
||||
~IDBDatabase();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user