refactor: move duplicate code to RendererClientBase::ShouldLoadPreload helper (#34477)

This commit is contained in:
Milan Burda 2022-06-13 08:58:27 +02:00 committed by GitHub
parent e5543a2dd2
commit 7ca3f55b10
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 28 additions and 39 deletions

View file

@ -134,6 +134,16 @@ class ChromePdfInternalPluginDelegate final
// static
RendererClientBase* g_renderer_client_base = nullptr;
bool IsDevTools(content::RenderFrame* render_frame) {
return render_frame->GetWebFrame()->GetDocument().Url().ProtocolIs(
"devtools");
}
bool IsDevToolsExtension(content::RenderFrame* render_frame) {
return render_frame->GetWebFrame()->GetDocument().Url().ProtocolIs(
"chrome-extension");
}
} // namespace
RendererClientBase::RendererClientBase() {
@ -196,6 +206,19 @@ void RendererClientBase::BindProcess(v8::Isolate* isolate,
process->SetReadOnly("contextId", context_id);
}
bool RendererClientBase::ShouldLoadPreload(
v8::Handle<v8::Context> context,
content::RenderFrame* render_frame) const {
auto prefs = render_frame->GetBlinkPreferences();
bool is_main_frame = render_frame->IsMainFrame();
bool is_devtools =
IsDevTools(render_frame) || IsDevToolsExtension(render_frame);
bool allow_node_in_sub_frames = prefs.node_integration_in_sub_frames;
return (is_main_frame || is_devtools || allow_node_in_sub_frames) &&
!IsWebViewFrame(context, render_frame);
}
void RendererClientBase::RenderThreadStarted() {
auto* command_line = base::CommandLine::ForCurrentProcess();