1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CONTENT_COMMON_GPU_GPU_SURFACE_LOOKUP_H_
6#define CONTENT_COMMON_GPU_GPU_SURFACE_LOOKUP_H_
7
8#include "ui/gfx/native_widget_types.h"
9
10namespace content {
11
12// This class provides an interface to look up window surface handles
13// that cannot be sent through the IPC channel.
14class GpuSurfaceLookup {
15 public:
16  GpuSurfaceLookup() { }
17  virtual ~GpuSurfaceLookup() { }
18
19  static GpuSurfaceLookup* GetInstance();
20  static void InitInstance(GpuSurfaceLookup* lookup);
21
22  virtual gfx::AcceleratedWidget AcquireNativeWidget(int surface_id) = 0;
23
24 private:
25  DISALLOW_COPY_AND_ASSIGN(GpuSurfaceLookup);
26};
27
28}  // namespace content
29
30#endif  // CONTENT_COMMON_GPU_GPU_SURFACE_LOOKUP_H_
31