fix: webFrame spell checker APIs crashing in sandboxed renderers (#29053)

This commit is contained in:
Milan Burda 2021-05-10 14:19:23 +02:00 committed by GitHub
parent 1336978de9
commit aea8d5325c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 187 additions and 176 deletions

View file

@ -92,6 +92,9 @@ std::vector<std::string> ParseSchemesCLISwitch(base::CommandLine* command_line,
base::SPLIT_WANT_NONEMPTY);
}
// static
RendererClientBase* g_renderer_client_base = nullptr;
} // namespace
RendererClientBase::RendererClientBase() {
@ -123,9 +126,13 @@ RendererClientBase::RendererClientBase() {
DCHECK(command_line->HasSwitch(::switches::kRendererClientId));
renderer_client_id_ =
command_line->GetSwitchValueASCII(::switches::kRendererClientId);
g_renderer_client_base = this;
}
RendererClientBase::~RendererClientBase() = default;
RendererClientBase::~RendererClientBase() {
g_renderer_client_base = nullptr;
}
void RendererClientBase::DidCreateScriptContext(
v8::Handle<v8::Context> context,
@ -137,6 +144,12 @@ void RendererClientBase::DidCreateScriptContext(
global.SetHidden("contextId", context_id);
}
// static
RendererClientBase* RendererClientBase::Get() {
DCHECK(g_renderer_client_base);
return g_renderer_client_base;
}
void RendererClientBase::BindProcess(v8::Isolate* isolate,
gin_helper::Dictionary* process,
content::RenderFrame* render_frame) {