| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 61de26a commit 162092e
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -198,11 +198,18 @@ void MicrotaskQueueBuiltinsAssembler::RunSingleMicrotask( | |||
| 198 | 198 | const TNode<Object> thenable = LoadObjectField( | |
| 199 | 199 | microtask, PromiseResolveThenableJobTask::kThenableOffset); | |
| 200 | 200 | ||
| 201 | + RunPromiseHook(Runtime::kPromiseHookBefore, microtask_context, | ||
| 202 | + CAST(promise_to_resolve)); | ||
| 203 | + | ||
| 201 | 204 | { | |
| 202 | 205 | ScopedExceptionHandler handler(this, &if_exception, &var_exception); | |
| 203 | 206 | CallBuiltin(Builtins::kPromiseResolveThenableJob, native_context, | |
| 204 | 207 | promise_to_resolve, thenable, then); | |
| 205 | 208 | } | |
| 209 | + | ||
| 210 | + RunPromiseHook(Runtime::kPromiseHookAfter, microtask_context, | ||
| 211 | + CAST(promise_to_resolve)); | ||
| 212 | + | ||
| 206 | 213 | RewindEnteredContext(saved_entered_context_count); | |
| 207 | 214 | SetCurrentContext(current_context); | |
| 208 | 215 | Goto(&done); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -16357,7 +16357,18 @@ TEST(PromiseHook) { | |||
| 16357 | 16357 | CHECK_EQ(v8::Promise::kPending, GetPromise("p")->State()); | |
| 16358 | 16358 | CompileRun("resolve(Promise.resolve(value));\n"); | |
| 16359 | 16359 | CHECK_EQ(v8::Promise::kFulfilled, GetPromise("p")->State()); | |
| 16360 | - CHECK_EQ(9, promise_hook_data->promise_hook_count); | ||
| 16360 | + CHECK_EQ(11, promise_hook_data->promise_hook_count); | ||
| 16361 | + | ||
| 16362 | + promise_hook_data->Reset(); | ||
| 16363 | + source = | ||
| 16364 | + "var p = Promise.resolve({\n" | ||
| 16365 | + " then(r) {\n" | ||
| 16366 | + " r();\n" | ||
| 16367 | + " }\n" | ||
| 16368 | + "});"; | ||
| 16369 | + CompileRun(source); | ||
| 16370 | + CHECK_EQ(GetPromise("p")->State(), v8::Promise::kFulfilled); | ||
| 16371 | + CHECK_EQ(promise_hook_data->promise_hook_count, 5); | ||
| 16361 | 16372 | ||
| 16362 | 16373 | delete promise_hook_data; | |
| 16363 | 16374 | isolate->SetPromiseHook(nullptr); | |
| Back | FazBrowse Home | New Git URL |
0 commit comments