0
Files
src/content/renderer/browser_exposed_renderer_interfaces.h
Ken Rockot 13051c93f1 Move renderer interfaces off Service Manager
This migrates all Mojo interfaces exposed to the browser (by renderers)
off of Service Manager APIs like ConnectionFilter.

Instead RenderThreadImpl populates a BinderMap during initialization and
passes it along to ChildThreadImpl::ExposeInterfacesToBrowser.

NOPRESUBMIT=true

Bug: 977637
Change-Id: If51249c2215046ce641151e486a034903e0878ae
Tbr: boliu@chromium.org
Tbr: groby@chromium.org
Tbr: sky@chromium.org
Tbr: xhwang@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1907273
Commit-Queue: Ken Rockot <rockot@google.com>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#715377}
2019-11-14 20:11:51 +00:00

29 lines
933 B
C++

// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CONTENT_RENDERER_BROWSER_EXPOSED_RENDERER_INTERFACES_H_
#define CONTENT_RENDERER_BROWSER_EXPOSED_RENDERER_INTERFACES_H_
#include "base/memory/weak_ptr.h"
namespace mojo {
class BinderMap;
}
namespace content {
class RenderThreadImpl;
// Populates |*binders| with callbacks to expose interfaces from every renderer
// process to the browser process. These interfaces are scoped to the entire
// render process rather than to a specific (e.g. frame) context and can be
// acquired by the browser through |RenderProcessHost::BindReceiver()|.
void ExposeRendererInterfacesToBrowser(
base::WeakPtr<RenderThreadImpl> render_thread,
mojo::BinderMap* binders);
} // namespace content
#endif // CONTENT_RENDERER_BROWSER_EXPOSED_RENDERER_INTERFACES_H_