Skip to content

Commit 1a391f9

Browse files
bakkotv8-scoped@luci-project-accounts.iam.gserviceaccount.com
authored andcommitted
[api] Deprecate kPromiseRejectAfterResolved and kPromiseResolveAfterResolved
These events will be removed soon. Bug: 42213031 Change-Id: Ie70474ff33c40c7d9cb0c2d0fbe6b75da3c53a22 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7774767 Commit-Queue: Kevin Gibbons <bakkot@gmail.com> Reviewed-by: Olivier Flückiger <olivf@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#107395}
1 parent 9bedde0 commit 1a391f9

5 files changed

Lines changed: 21 additions & 6 deletions

File tree

‎include/v8-promise.h‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,8 +158,10 @@ using PromiseHook = void (*)(PromiseHookType type, Local<Promise> promise,
158158
enum PromiseRejectEvent {
159159
kPromiseRejectWithNoHandler = 0,
160160
kPromiseHandlerAddedAfterReject = 1,
161-
kPromiseRejectAfterResolved = 2,
162-
kPromiseResolveAfterResolved = 3,
161+
kPromiseRejectAfterResolved V8_DEPRECATED("These events are being removed") =
162+
2,
163+
kPromiseResolveAfterResolved V8_DEPRECATED("These events are being removed") =
164+
3,
163165
};
164166

165167
class PromiseRejectMessage {

‎src/d8/d8.cc‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4846,11 +4846,13 @@ static void PrintMessageCallback(Local<Message> message, Local<Value> error) {
48464846

48474847
void Shell::PromiseRejectCallback(v8::PromiseRejectMessage data) {
48484848
if (options.ignore_unhandled_promises) return;
4849+
START_ALLOW_USE_DEPRECATED();
48494850
if (data.GetEvent() == v8::kPromiseRejectAfterResolved ||
48504851
data.GetEvent() == v8::kPromiseResolveAfterResolved) {
48514852
// Ignore reject/resolve after resolved.
48524853
return;
48534854
}
4855+
END_ALLOW_USE_DEPRECATED();
48544856
v8::Local<v8::Promise> promise = data.GetPromise();
48554857
v8::Isolate* isolate = v8::Isolate::GetCurrent();
48564858
PerIsolateData* isolate_data = PerIsolateData::Get(isolate);

‎src/runtime/runtime-promise.cc‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,10 @@ RUNTIME_FUNCTION(Runtime_PromiseRejectAfterResolved) {
3434
HandleScope scope(isolate);
3535
DirectHandle<JSPromise> promise = args.at<JSPromise>(0);
3636
DirectHandle<Object> reason = args.at(1);
37+
START_ALLOW_USE_DEPRECATED();
3738
isolate->ReportPromiseReject(promise, reason,
3839
v8::kPromiseRejectAfterResolved);
40+
END_ALLOW_USE_DEPRECATED();
3941
return ReadOnlyRoots(isolate).undefined_value();
4042
}
4143

@@ -44,8 +46,10 @@ RUNTIME_FUNCTION(Runtime_PromiseResolveAfterResolved) {
4446
HandleScope scope(isolate);
4547
DirectHandle<JSPromise> promise = args.at<JSPromise>(0);
4648
DirectHandle<Object> resolution = args.at(1);
49+
START_ALLOW_USE_DEPRECATED();
4750
isolate->ReportPromiseReject(promise, resolution,
4851
v8::kPromiseResolveAfterResolved);
52+
END_ALLOW_USE_DEPRECATED();
4953
return ReadOnlyRoots(isolate).undefined_value();
5054
}
5155

‎test/cctest/test-api.cc‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16434,6 +16434,7 @@ void PromiseRejectCallback(v8::PromiseRejectMessage reject_message) {
1643416434
CHECK(reject_message.GetValue().IsEmpty());
1643516435
break;
1643616436
}
16437+
START_ALLOW_USE_DEPRECATED();
1643716438
case v8::kPromiseRejectAfterResolved: {
1643816439
promise_reject_after_resolved_counter++;
1643916440
break;
@@ -16442,6 +16443,7 @@ void PromiseRejectCallback(v8::PromiseRejectMessage reject_message) {
1644216443
promise_resolve_after_resolved_counter++;
1644316444
break;
1644416445
}
16446+
END_ALLOW_USE_DEPRECATED();
1644516447
}
1644616448
}
1644716449

‎test/inspector/isolate-data.cc‎

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -395,10 +395,15 @@ void InspectorIsolateData::PromiseRejectHandler(v8::PromiseRejectMessage data) {
395395
v8_inspector::StringView(reinterpret_cast<const uint8_t*>(reason_str),
396396
strlen(reason_str)));
397397
return;
398-
} else if (data.GetEvent() == v8::kPromiseRejectAfterResolved ||
399-
data.GetEvent() == v8::kPromiseResolveAfterResolved) {
400-
// Ignore reject/resolve after resolved, like the blink handler.
401-
return;
398+
399+
} else {
400+
START_ALLOW_USE_DEPRECATED();
401+
if (data.GetEvent() == v8::kPromiseRejectAfterResolved ||
402+
data.GetEvent() == v8::kPromiseResolveAfterResolved) {
403+
// Ignore reject/resolve after resolved, like the blink handler.
404+
return;
405+
}
406+
END_ALLOW_USE_DEPRECATED();
402407
}
403408

404409
v8::Local<v8::Value> exception = data.GetValue();

0 commit comments

Comments
 (0)