Mac Remote CoreAnimation: Fix flashing at tab-switch
[chromium-blink-merge.git] / content / common / gpu / gpu_surface_lookup.h
blob751b8346739b9812a738af0a86a705b55e30984a
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.
5 #ifndef CONTENT_COMMON_GPU_GPU_SURFACE_LOOKUP_H_
6 #define CONTENT_COMMON_GPU_GPU_SURFACE_LOOKUP_H_
8 #include "ui/gfx/native_widget_types.h"
10 namespace content {
12 // This class provides an interface to look up window surface handles
13 // that cannot be sent through the IPC channel.
14 class GpuSurfaceLookup {
15 public:
16 GpuSurfaceLookup() { }
17 virtual ~GpuSurfaceLookup() { }
19 static GpuSurfaceLookup* GetInstance();
20 static void InitInstance(GpuSurfaceLookup* lookup);
22 virtual gfx::AcceleratedWidget AcquireNativeWidget(int surface_id) = 0;
24 private:
25 DISALLOW_COPY_AND_ASSIGN(GpuSurfaceLookup);
28 } // namespace content
30 #endif // CONTENT_COMMON_GPU_GPU_SURFACE_LOOKUP_H_