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 #ifndef CONTENT_RENDERER_WEBGRAPHICSCONTEXT3D_PROVIDER_IMPL_H_ 6 #define CONTENT_RENDERER_WEBGRAPHICSCONTEXT3D_PROVIDER_IMPL_H_ 7 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" 12 13 namespace webkit { 14 namespace gpu { 15 class ContextProviderWebContext; 16 } // namespace webkit 17 } // namespace gpu 18 19 namespace content { 20 21 class CONTENT_EXPORT WebGraphicsContext3DProviderImpl 22 : public NON_EXPORTED_BASE(blink::WebGraphicsContext3DProvider) { 23 public: 24 explicit WebGraphicsContext3DProviderImpl( 25 scoped_refptr<webkit::gpu::ContextProviderWebContext> provider); 26 virtual ~WebGraphicsContext3DProviderImpl(); 27 28 // WebGraphicsContext3DProvider implementation. 29 virtual blink::WebGraphicsContext3D* context3d() OVERRIDE; 30 virtual GrContext* grContext() OVERRIDE; 31 32 private: 33 scoped_refptr<webkit::gpu::ContextProviderWebContext> provider_; 34 }; 35 36 } // namespace content 37 38 #endif // CONTENT_RENDERER_WEBGRAPHICSCONTEXT3D_PROVIDER_IMPL_H_ 39