In talking to James Robinson, we've agreed that SharedGraphicsContext3D doesn't need to be in ChromeClient. Page has the same lifetime and there are no platform dependencies in this class.
Created attachment 69681 [details]
Comment on attachment 69681 [details]
View in context: https://bugs.webkit.org/attachment.cgi?id=69681&action=review
> + if (!context)
> + return 0;
> + m_sharedGraphicsContext3D = SharedGraphicsContext3D::create(context.release());
> + }
I think the GraphicsContext3D::create() stuff should be hidden inside of
static bool SharedGraphicsContext3D::canCreateContext() or something, or maybe SharedGraphicsContext3D::create() should just return 0 if the context can't be created.
Created attachment 69695 [details]
Comment on attachment 69695 [details]
View in context: https://bugs.webkit.org/attachment.cgi?id=69695&action=review
Looks fine to me.
> +#if ENABLE(ACCELERATED_2D_CANVAS)
> +#include "SharedGraphicsContext3D.h"
Normally conditionally included headers are put after the main list of headers, not in the middle.
Landed in http://trac.webkit.org/changeset/69053