1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33

content / gpu / browser_exposed_gpu_interfaces.h [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 CONTENT_GPU_BROWSER_EXPOSED_GPU_INTERFACES_H_
#define CONTENT_GPU_BROWSER_EXPOSED_GPU_INTERFACES_H_

namespace gpu {
struct GpuPreferences;
class GpuDriverBugWorkarounds;
}

namespace mojo {
class BinderMap;
}

namespace content {

// Populates a BinderMap with interfaces exposed by all Content embedders from
// the GPU process to the browser. The browser can bind these interfaces through
// |GpuProcessHost::BindReceiver()|.
//
// Embedder-specific GPU interfaces can be exposed to the browser via
// |ContentGpuClient::ExposeInterfacesToBrowser()| or embedder-specific helper
// functions.
void ExposeGpuInterfacesToBrowser(
    const gpu::GpuPreferences& gpu_preferences,
    const gpu::GpuDriverBugWorkarounds& gpu_workarounds,
    mojo::BinderMap* binders);

}  // namespace content

#endif  // CONTENT_GPU_BROWSER_EXPOSED_GPU_INTERFACES_H_