OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_FACTORY_H_ | 5 #ifndef CONTENT_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_FACTORY_H_ |
6 #define CONTENT_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_FACTORY_H_ | 6 #define CONTENT_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_FACTORY_H_ |
7 | 7 |
8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h" | 10 #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h" |
11 | 11 |
12 namespace base { | 12 namespace base { |
13 class MessageLoopProxy; | 13 class MessageLoopProxy; |
14 } | 14 } |
15 | 15 |
16 namespace cc { | 16 namespace cc { |
| 17 class BeginFrameSource; |
17 class ContextProvider; | 18 class ContextProvider; |
18 class OutputSurface; | 19 class OutputSurface; |
19 } | 20 } |
20 | 21 |
21 namespace webkit { | 22 namespace webkit { |
22 namespace gpu { | 23 namespace gpu { |
23 class ContextProviderWebContext; | 24 class ContextProviderWebContext; |
24 class WebGraphicsContext3DInProcessCommandBufferImpl; | 25 class WebGraphicsContext3DInProcessCommandBufferImpl; |
25 } | 26 } |
26 } | 27 } |
(...skipping 18 matching lines...) Expand all Loading... |
45 virtual scoped_refptr<base::MessageLoopProxy> | 46 virtual scoped_refptr<base::MessageLoopProxy> |
46 GetCompositorMessageLoop() = 0; | 47 GetCompositorMessageLoop() = 0; |
47 virtual bool RecordFullLayer() = 0; | 48 virtual bool RecordFullLayer() = 0; |
48 virtual scoped_ptr<cc::OutputSurface> CreateOutputSurface( | 49 virtual scoped_ptr<cc::OutputSurface> CreateOutputSurface( |
49 int routing_id, | 50 int routing_id, |
50 scoped_refptr<FrameSwapMessageQueue> frame_swap_message_queue) = 0; | 51 scoped_refptr<FrameSwapMessageQueue> frame_swap_message_queue) = 0; |
51 | 52 |
52 // The factory maintains ownership of the returned interface. | 53 // The factory maintains ownership of the returned interface. |
53 virtual InputHandlerManagerClient* GetInputHandlerManagerClient() = 0; | 54 virtual InputHandlerManagerClient* GetInputHandlerManagerClient() = 0; |
54 | 55 |
| 56 virtual scoped_ptr<cc::BeginFrameSource> CreateExternalBeginFrameSource( |
| 57 int routing_id) = 0; |
| 58 |
55 virtual scoped_refptr<webkit::gpu::ContextProviderWebContext> | 59 virtual scoped_refptr<webkit::gpu::ContextProviderWebContext> |
56 CreateOffscreenContextProvider( | 60 CreateOffscreenContextProvider( |
57 const blink::WebGraphicsContext3D::Attributes& attributes, | 61 const blink::WebGraphicsContext3D::Attributes& attributes, |
58 const std::string& debug_name) = 0; | 62 const std::string& debug_name) = 0; |
59 virtual scoped_refptr<StreamTextureFactory> CreateStreamTextureFactory( | 63 virtual scoped_refptr<StreamTextureFactory> CreateStreamTextureFactory( |
60 int frame_id) = 0; | 64 int frame_id) = 0; |
61 virtual webkit::gpu::WebGraphicsContext3DInProcessCommandBufferImpl* | 65 virtual webkit::gpu::WebGraphicsContext3DInProcessCommandBufferImpl* |
62 CreateOffscreenGraphicsContext3D( | 66 CreateOffscreenGraphicsContext3D( |
63 const blink::WebGraphicsContext3D::Attributes& attributes) = 0; | 67 const blink::WebGraphicsContext3D::Attributes& attributes) = 0; |
64 | 68 |
65 protected: | 69 protected: |
66 SynchronousCompositorFactory() {} | 70 SynchronousCompositorFactory() {} |
67 virtual ~SynchronousCompositorFactory() {} | 71 virtual ~SynchronousCompositorFactory() {} |
68 }; | 72 }; |
69 | 73 |
70 } | 74 } |
71 | 75 |
72 #endif // CONTENT_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_FACTORY_H_ | 76 #endif // CONTENT_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_FACTORY_H_ |
OLD | NEW |