Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / content / renderer / webgraphicscontext3d_provider_impl.h
blob8225ded4fdf621bd1f7c8aadc4807f97f46c7147
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.
5 #ifndef CONTENT_RENDERER_WEBGRAPHICSCONTEXT3D_PROVIDER_IMPL_H_
6 #define CONTENT_RENDERER_WEBGRAPHICSCONTEXT3D_PROVIDER_IMPL_H_
8 #include "base/compiler_specific.h"
9 #include "base/memory/ref_counted.h"
10 #include "content/common/content_export.h"
11 #include "third_party/WebKit/public/platform/WebGraphicsContext3DProvider.h"
13 namespace cc_blink {
14 class ContextProviderWebContext;
17 namespace content {
19 class CONTENT_EXPORT WebGraphicsContext3DProviderImpl
20 : public NON_EXPORTED_BASE(blink::WebGraphicsContext3DProvider) {
21 public:
22 explicit WebGraphicsContext3DProviderImpl(
23 scoped_refptr<cc_blink::ContextProviderWebContext> provider);
24 virtual ~WebGraphicsContext3DProviderImpl();
26 // WebGraphicsContext3DProvider implementation.
27 virtual blink::WebGraphicsContext3D* context3d() override;
28 virtual GrContext* grContext() override;
30 private:
31 scoped_refptr<cc_blink::ContextProviderWebContext> provider_;
34 } // namespace content
36 #endif // CONTENT_RENDERER_WEBGRAPHICSCONTEXT3D_PROVIDER_IMPL_H_