зеркало из https://github.com/mozilla/gecko-dev.git
bug 804220 - Make IDBWrapperCache::SetScriptOwner infallible. r=khuey
This commit is contained in:
Родитель
44da20404d
Коммит
0316e404e6
|
@ -188,10 +188,7 @@ IDBDatabase::Create(IDBWrapperCache* aOwnerCache,
|
|||
nsRefPtr<IDBDatabase> db(new IDBDatabase());
|
||||
|
||||
db->BindToOwner(aOwnerCache);
|
||||
if (!db->SetScriptOwner(aOwnerCache->GetScriptOwner())) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
db->SetScriptOwner(aOwnerCache->GetScriptOwner());
|
||||
db->mFactory = aFactory;
|
||||
db->mDatabaseId = databaseInfo->id;
|
||||
db->mName = databaseInfo->name;
|
||||
|
|
|
@ -57,10 +57,7 @@ IDBRequest::Create(nsISupports* aSource,
|
|||
request->mSource = aSource;
|
||||
request->mTransaction = aTransaction;
|
||||
request->BindToOwner(aOwnerCache);
|
||||
if (!request->SetScriptOwner(aOwnerCache->GetScriptOwner())) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
request->SetScriptOwner(aOwnerCache->GetScriptOwner());
|
||||
request->CaptureCaller(aCallingCx);
|
||||
|
||||
return request.forget();
|
||||
|
@ -352,10 +349,7 @@ IDBOpenDBRequest::Create(IDBFactory* aFactory,
|
|||
nsRefPtr<IDBOpenDBRequest> request = new IDBOpenDBRequest();
|
||||
|
||||
request->BindToOwner(aOwner);
|
||||
if (!request->SetScriptOwner(aScriptOwner)) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
request->SetScriptOwner(aScriptOwner);
|
||||
request->CaptureCaller(aCallingCx);
|
||||
request->mFactory = aFactory;
|
||||
|
||||
|
|
|
@ -103,10 +103,7 @@ IDBTransaction::CreateInternal(IDBDatabase* aDatabase,
|
|||
nsRefPtr<IDBTransaction> transaction = new IDBTransaction();
|
||||
|
||||
transaction->BindToOwner(aDatabase);
|
||||
if (!transaction->SetScriptOwner(aDatabase->GetScriptOwner())) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
transaction->SetScriptOwner(aDatabase->GetScriptOwner());
|
||||
transaction->mDatabase = aDatabase;
|
||||
transaction->mMode = aMode;
|
||||
transaction->mDatabaseInfo = aDatabase->Info();
|
||||
|
|
|
@ -45,7 +45,7 @@ IDBWrapperCache::~IDBWrapperCache()
|
|||
NS_DROP_JS_OBJECTS(this, IDBWrapperCache);
|
||||
}
|
||||
|
||||
bool
|
||||
void
|
||||
IDBWrapperCache::SetScriptOwner(JSObject* aScriptOwner)
|
||||
{
|
||||
NS_ASSERTION(aScriptOwner, "This should never be null!");
|
||||
|
@ -56,8 +56,6 @@ IDBWrapperCache::SetScriptOwner(JSObject* aScriptOwner)
|
|||
nsXPCOMCycleCollectionParticipant* participant;
|
||||
CallQueryInterface(this, &participant);
|
||||
nsContentUtils::HoldJSObjects(thisSupports, participant);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
|
|
|
@ -25,7 +25,7 @@ public:
|
|||
{
|
||||
return mScriptOwner;
|
||||
}
|
||||
bool SetScriptOwner(JSObject* aScriptOwner);
|
||||
void SetScriptOwner(JSObject* aScriptOwner);
|
||||
|
||||
JSObject* GetParentObject()
|
||||
{
|
||||
|
|
Загрузка…
Ссылка в новой задаче