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. 4 5 #ifndef WEBKIT_COMMON_GPU_WEBGRAPHICSCONTEXT3D_PROVIDER_IMPL_H_ 6 #define WEBKIT_COMMON_GPU_WEBGRAPHICSCONTEXT3D_PROVIDER_IMPL_H_ 7 8 #include "base/compiler_specific.h" 9 #include "base/memory/ref_counted.h" 10 #include "third_party/WebKit/public/platform/WebGraphicsContext3DProvider.h" 11 #include "webkit/common/gpu/webkit_gpu_export.h" 12 13 namespace cc { class ContextProvider; } 14 15 namespace webkit { 16 namespace gpu { 17 18 class WEBKIT_GPU_EXPORT WebGraphicsContext3DProviderImpl 19 : public NON_EXPORTED_BASE(blink::WebGraphicsContext3DProvider) { 20 public: 21 explicit WebGraphicsContext3DProviderImpl( 22 scoped_refptr<cc::ContextProvider> provider); 23 virtual ~WebGraphicsContext3DProviderImpl(); 24 25 // WebGraphicsContext3DProvider implementation. 26 virtual blink::WebGraphicsContext3D* context3d() OVERRIDE; 27 virtual GrContext* grContext() OVERRIDE; 28 29 private: 30 scoped_refptr<cc::ContextProvider> provider_; 31 }; 32 33 } // namespace gpu 34 } // namespace webkit 35 36 #endif // WEBKIT_COMMON_GPU_WEBGRAPHICSCONTEXT3D_PROVIDER_IMPL_H_ 37