1 // Copyright (c) 2013 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_BROWSER_AURA_NO_TRANSPORT_IMAGE_TRANSPORT_FACTORY_H_
6 #define CONTENT_BROWSER_AURA_NO_TRANSPORT_IMAGE_TRANSPORT_FACTORY_H_
8 #include "base/memory/scoped_ptr.h"
9 #include "content/browser/aura/image_transport_factory.h"
12 class ContextProvider
;
17 // An ImageTransportFactory that disables transport.
18 class NoTransportImageTransportFactory
: public ImageTransportFactory
{
20 explicit NoTransportImageTransportFactory(
21 scoped_ptr
<ui::ContextFactory
> context_factory
);
22 virtual ~NoTransportImageTransportFactory();
24 // ImageTransportFactory implementation.
25 virtual ui::ContextFactory
* AsContextFactory() OVERRIDE
;
26 virtual gfx::GLSurfaceHandle
CreateSharedSurfaceHandle() OVERRIDE
;
27 virtual void DestroySharedSurfaceHandle(gfx::GLSurfaceHandle surface
)
29 virtual scoped_refptr
<ui::Texture
> CreateTransportClient(
30 float device_scale_factor
) OVERRIDE
;
31 virtual scoped_refptr
<ui::Texture
> CreateOwnedTexture(
32 const gfx::Size
& size
,
33 float device_scale_factor
,
34 unsigned int texture_id
) OVERRIDE
;
35 virtual GLHelper
* GetGLHelper() OVERRIDE
;
36 virtual void AddObserver(ImageTransportFactoryObserver
* observer
) OVERRIDE
;
37 virtual void RemoveObserver(ImageTransportFactoryObserver
* observer
) OVERRIDE
;
40 scoped_ptr
<ui::ContextFactory
> context_factory_
;
41 scoped_refptr
<cc::ContextProvider
> context_provider_
;
42 scoped_ptr
<GLHelper
> gl_helper_
;
44 DISALLOW_COPY_AND_ASSIGN(NoTransportImageTransportFactory
);
47 } // namespace content
49 #endif // CONTENT_BROWSER_AURA_NO_TRANSPORT_IMAGE_TRANSPORT_FACTORY_H_