зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1626570 - Improve handling of copying arrays in MozPromise. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D73641
This commit is contained in:
Родитель
792ed4cd28
Коммит
97d4011b9b
|
@ -247,7 +247,7 @@ TEST(MozPromise, PromiseAllResolve)
|
|||
TestPromise::All(queue, promises)
|
||||
->Then(
|
||||
queue, __func__,
|
||||
[queue](const nsTArray<int>& aResolveValues) -> void {
|
||||
[queue](const CopyableTArray<int>& aResolveValues) -> void {
|
||||
EXPECT_EQ(aResolveValues.Length(), 3UL);
|
||||
EXPECT_EQ(aResolveValues[0], 22);
|
||||
EXPECT_EQ(aResolveValues[1], 32);
|
||||
|
|
|
@ -284,7 +284,8 @@ class MozPromise : public MozPromiseBase {
|
|||
return p;
|
||||
}
|
||||
|
||||
typedef MozPromise<nsTArray<ResolveValueType>, RejectValueType, IsExclusive>
|
||||
typedef MozPromise<CopyableTArray<ResolveValueType>, RejectValueType,
|
||||
IsExclusive>
|
||||
AllPromiseType;
|
||||
|
||||
private:
|
||||
|
@ -341,8 +342,8 @@ class MozPromise : public MozPromiseBase {
|
|||
nsISerialEventTarget* aProcessingTarget,
|
||||
nsTArray<RefPtr<MozPromise>>& aPromises) {
|
||||
if (aPromises.Length() == 0) {
|
||||
return AllPromiseType::CreateAndResolve(nsTArray<ResolveValueType>(),
|
||||
__func__);
|
||||
return AllPromiseType::CreateAndResolve(
|
||||
CopyableTArray<ResolveValueType>(), __func__);
|
||||
}
|
||||
|
||||
RefPtr<AllPromiseHolder> holder = new AllPromiseHolder(aPromises.Length());
|
||||
|
|
Загрузка…
Ссылка в новой задаче