Skip to content

Commit 2c28e00

Browse files
addaleaxrichardlau
authored andcommitted
worker: do not look up context twice in PostMessage
Refs: #38780 (comment) PR-URL: #38784 Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Minwoo Jung <[email protected]>
1 parent 1ffbe3d commit 2c28e00

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

src/node_messaging.cc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -824,11 +824,11 @@ BaseObjectPtr<BaseObject> MessagePortData::Deserialize(
824824
}
825825

826826
Maybe<bool> MessagePort::PostMessage(Environment* env,
827+
Local<Context> context,
827828
Local<Value> message_v,
828829
const TransferList& transfer_v) {
829830
Isolate* isolate = env->isolate();
830831
Local<Object> obj = object(isolate);
831-
Local<Context> context = obj->CreationContext();
832832

833833
Message msg;
834834

@@ -970,7 +970,9 @@ void MessagePort::PostMessage(const FunctionCallbackInfo<Value>& args) {
970970
return;
971971
}
972972

973-
port->PostMessage(env, args[0], transfer_list);
973+
Maybe<bool> res = port->PostMessage(env, context, args[0], transfer_list);
974+
if (res.IsJust())
975+
args.GetReturnValue().Set(res.FromJust());
974976
}
975977

976978
void MessagePort::Start() {

src/node_messaging.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ class MessagePort : public HandleWrap {
181181
// If this port is closed, or if there is no sibling, this message is
182182
// serialized with transfers, then silently discarded.
183183
v8::Maybe<bool> PostMessage(Environment* env,
184+
v8::Local<v8::Context> context,
184185
v8::Local<v8::Value> message,
185186
const TransferList& transfer);
186187

0 commit comments

Comments
 (0)