0

[unseasoned-pdf] Enter Blink's isolate before enqueuing message events

Some JavaScript callbacks handed to PDFium lead to the invocation of
message events from the plugin to the embedding UI. Those callbacks are
being called when PDFium has entered its own isolate, but Blink's
isolate needs to be entered before handing the control flow back to
Blink.

Fixed: 1229702
Change-Id: I38b4f5fb746670cb14dd82d9d59dc7800b3d20d9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3032926
Commit-Queue: Daniel Hosseinian <dhoss@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Auto-Submit: Daniel Hosseinian <dhoss@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#902170}
This commit is contained in:
Daniel Hosseinian
2021-07-15 21:36:23 +00:00
committed by Chromium LUCI CQ
parent 664cc10e94
commit b578bcfab7

@ -33,6 +33,7 @@ void PostMessageSender::Post(base::Value message) {
if (!container_)
return;
v8::Isolate::Scope isolate_scope(isolate_);
v8::HandleScope handle_scope(isolate_);
v8::Local<v8::Context> context =
container_->GetDocument().GetFrame()->MainWorldScriptContext();