blob: c94e6bf62b958b519c922519842a237e1ef92f81 [file] [log] [blame]
// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_GPU_BROWSER_EXPOSED_GPU_INTERFACES_H_
#define CHROME_GPU_BROWSER_EXPOSED_GPU_INTERFACES_H_
namespace gpu {
struct GpuPreferences;
class GpuDriverBugWorkarounds;
}
namespace mojo {
class BinderMap;
}
namespace viz {
class GpuServiceImpl;
}
class ChromeContentGpuClient;
// Populates a BinderMap with interfaces exposed by Chrome from the GPU process
// to the browser. The browser can bind these interfaces through
// |GpuProcessHost::BindReceiver()|.
void ExposeChromeGpuInterfacesToBrowser(
ChromeContentGpuClient* client,
viz::GpuServiceImpl* gpu_service,
const gpu::GpuPreferences& gpu_preferences,
const gpu::GpuDriverBugWorkarounds& gpu_workarounds,
mojo::BinderMap* binders);
#endif // CHROME_GPU_BROWSER_EXPOSED_GPU_INTERFACES_H_