| Index: webkit/common/gpu/context_provider_in_process.h
|
| diff --git a/webkit/common/gpu/context_provider_in_process.h b/webkit/common/gpu/context_provider_in_process.h
|
| index b427abeb043f6144adb281575c3af63e3218b2c7..169a1a8fdd3e6eab49eba6257e7c02199bd4904b 100644
|
| --- a/webkit/common/gpu/context_provider_in_process.h
|
| +++ b/webkit/common/gpu/context_provider_in_process.h
|
| @@ -19,17 +19,21 @@ class WebGraphicsContext3D;
|
| namespace webkit {
|
| namespace gpu {
|
| class GrContextForWebGraphicsContext3D;
|
| +class WebGraphicsContext3DInProcessCommandBufferImpl;
|
|
|
| class WEBKIT_GPU_EXPORT ContextProviderInProcess
|
| : NON_EXPORTED_BASE(public cc::ContextProvider) {
|
| public:
|
| - static scoped_refptr<ContextProviderInProcess> Create() {
|
| - scoped_refptr<ContextProviderInProcess> provider =
|
| - new ContextProviderInProcess;
|
| - if (!provider->InitializeOnMainThread())
|
| - return NULL;
|
| - return provider;
|
| - }
|
| + typedef base::Callback<
|
| + scoped_ptr<WebGraphicsContext3DInProcessCommandBufferImpl>(void)>
|
| + CreateCallback;
|
| +
|
| + static scoped_refptr<ContextProviderInProcess> Create(
|
| + const CreateCallback& create_callback);
|
| +
|
| + // Calls Create() with a default factory method for creating an offscreen
|
| + // context.
|
| + static scoped_refptr<ContextProviderInProcess> CreateOffscreen();
|
|
|
| virtual bool BindToCurrentThread() OVERRIDE;
|
| virtual WebKit::WebGraphicsContext3D* Context3d() OVERRIDE;
|
| @@ -43,7 +47,8 @@ class WEBKIT_GPU_EXPORT ContextProviderInProcess
|
| ContextProviderInProcess();
|
| virtual ~ContextProviderInProcess();
|
|
|
| - bool InitializeOnMainThread();
|
| + bool InitializeOnMainThread(
|
| + const CreateCallback& create_callback);
|
|
|
| void OnLostContext();
|
| void OnMemoryAllocationChanged(bool nonzero_allocation);
|
|
|