OLD | NEW |
| (Empty) |
1 // Copyright 2014 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 #include "mojo/aura/context_factory_mojo.h" | |
6 | |
7 #include "cc/output/output_surface.h" | |
8 #include "mojo/aura/window_tree_host_mojo.h" | |
9 #include "mojo/cc/context_provider_mojo.h" | |
10 #include "ui/compositor/reflector.h" | |
11 #include "ui/gl/gl_implementation.h" | |
12 #include "ui/gl/gl_surface.h" | |
13 #include "webkit/common/gpu/context_provider_in_process.h" | |
14 #include "webkit/common/gpu/grcontext_for_webgraphicscontext3d.h" | |
15 #include "webkit/common/gpu/webgraphicscontext3d_in_process_command_buffer_impl.
h" | |
16 | |
17 namespace mojo { | |
18 | |
19 ContextFactoryMojo::ContextFactoryMojo( | |
20 ScopedMessagePipeHandle command_buffer_handle) | |
21 : command_buffer_handle_(command_buffer_handle.Pass()) { | |
22 } | |
23 | |
24 ContextFactoryMojo::~ContextFactoryMojo() { | |
25 } | |
26 | |
27 scoped_ptr<cc::OutputSurface> ContextFactoryMojo::CreateOutputSurface( | |
28 ui::Compositor* compositor, bool software_fallback) { | |
29 return make_scoped_ptr( | |
30 new cc::OutputSurface( | |
31 new ContextProviderMojo(command_buffer_handle_.Pass()))); | |
32 } | |
33 | |
34 scoped_refptr<ui::Reflector> ContextFactoryMojo::CreateReflector( | |
35 ui::Compositor* mirroed_compositor, | |
36 ui::Layer* mirroring_layer) { | |
37 return NULL; | |
38 } | |
39 | |
40 void ContextFactoryMojo::RemoveReflector( | |
41 scoped_refptr<ui::Reflector> reflector) { | |
42 } | |
43 | |
44 scoped_refptr<cc::ContextProvider> | |
45 ContextFactoryMojo::SharedMainThreadContextProvider() { | |
46 if (!shared_main_thread_contexts_ || | |
47 shared_main_thread_contexts_->DestroyedOnMainThread()) { | |
48 bool lose_context_when_out_of_memory = false; | |
49 shared_main_thread_contexts_ = | |
50 webkit::gpu::ContextProviderInProcess::CreateOffscreen( | |
51 lose_context_when_out_of_memory); | |
52 if (shared_main_thread_contexts_ && | |
53 !shared_main_thread_contexts_->BindToCurrentThread()) | |
54 shared_main_thread_contexts_ = NULL; | |
55 } | |
56 return shared_main_thread_contexts_; | |
57 } | |
58 | |
59 void ContextFactoryMojo::RemoveCompositor(ui::Compositor* compositor) { | |
60 } | |
61 | |
62 bool ContextFactoryMojo::DoesCreateTestContexts() { return false; } | |
63 | |
64 cc::SharedBitmapManager* ContextFactoryMojo::GetSharedBitmapManager() { | |
65 return NULL; | |
66 } | |
67 | |
68 base::MessageLoopProxy* ContextFactoryMojo::GetCompositorMessageLoop() { | |
69 return NULL; | |
70 } | |
71 | |
72 } // namespace mojo | |
OLD | NEW |