Avi Drissman | 4e1b7bc3 | 2022-09-15 14:03:50 | [diff] [blame] | 1 | // Copyright 2015 The Chromium Authors |
jbauman | dfb4996a | 2015-06-03 23:38:59 | [diff] [blame] | 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 "content/browser/compositor/surface_utils.h" |
| 6 | |
avi | b734894 | 2015-12-25 20:57:10 | [diff] [blame] | 7 | #include "build/build_config.h" |
danakj | 4def4a24 | 2017-06-24 01:18:37 | [diff] [blame] | 8 | #include "components/viz/host/host_frame_sink_manager.h" |
jbauman | dfb4996a | 2015-06-03 23:38:59 | [diff] [blame] | 9 | |
Xiaohan Wang | 1ecfd00 | 2022-01-19 22:33:10 | [diff] [blame] | 10 | #if BUILDFLAG(IS_ANDROID) |
Bo Liu | 49f304e | 2019-06-11 15:59:54 | [diff] [blame] | 11 | #include "content/browser/renderer_host/compositor_dependencies_android.h" |
jbauman | dfb4996a | 2015-06-03 23:38:59 | [diff] [blame] | 12 | #else |
| 13 | #include "content/browser/compositor/image_transport_factory.h" |
jbroman | 84ba684 | 2016-04-28 00:34:50 | [diff] [blame] | 14 | #include "ui/compositor/compositor.h" // nogncheck |
jbauman | dfb4996a | 2015-06-03 23:38:59 | [diff] [blame] | 15 | #endif |
| 16 | |
jbauman | dfb4996a | 2015-06-03 23:38:59 | [diff] [blame] | 17 | namespace content { |
| 18 | |
Fady Samuel | d5c2618 | 2017-07-12 02:43:33 | [diff] [blame] | 19 | viz::FrameSinkId AllocateFrameSinkId() { |
Xiaohan Wang | 1ecfd00 | 2022-01-19 22:33:10 | [diff] [blame] | 20 | #if BUILDFLAG(IS_ANDROID) |
Bo Liu | 49f304e | 2019-06-11 15:59:54 | [diff] [blame] | 21 | return CompositorDependenciesAndroid::Get().AllocateFrameSinkId(); |
jbauman | dfb4996a | 2015-06-03 23:38:59 | [diff] [blame] | 22 | #else |
| 23 | ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); |
Sean Gilhuly | dc0b9fd | 2020-02-25 23:47:14 | [diff] [blame] | 24 | return factory->GetContextFactory()->AllocateFrameSinkId(); |
jbauman | dfb4996a | 2015-06-03 23:38:59 | [diff] [blame] | 25 | #endif |
| 26 | } |
| 27 | |
danakj | 4def4a24 | 2017-06-24 01:18:37 | [diff] [blame] | 28 | viz::HostFrameSinkManager* GetHostFrameSinkManager() { |
Xiaohan Wang | 1ecfd00 | 2022-01-19 22:33:10 | [diff] [blame] | 29 | #if BUILDFLAG(IS_ANDROID) |
Bo Liu | 49f304e | 2019-06-11 15:59:54 | [diff] [blame] | 30 | return CompositorDependenciesAndroid::Get().host_frame_sink_manager(); |
kylechar | 69bd916 | 2017-04-10 23:45:48 | [diff] [blame] | 31 | #else |
kylechar | a090016 | 2017-07-14 17:35:25 | [diff] [blame] | 32 | ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); |
| 33 | if (!factory) |
| 34 | return nullptr; |
Sean Gilhuly | dc0b9fd | 2020-02-25 23:47:14 | [diff] [blame] | 35 | return factory->GetContextFactory()->GetHostFrameSinkManager(); |
kylechar | 69bd916 | 2017-04-10 23:45:48 | [diff] [blame] | 36 | #endif |
| 37 | } |
| 38 | |
jbauman | dfb4996a | 2015-06-03 23:38:59 | [diff] [blame] | 39 | } // namespace content |