2013-04-26  Antonio Gomes  <a1.gomes@sisa.samsung.com>

        Implement CL-GL as an extension (part 6)
        Issue #210

        Reviewed by NOBODY (OOPS!).

        Underlying /platform support for "compute extensions".
        Patch follows the logic that Extensions3D has to support
        WebGL/OpenGL{ES} extensions.

        Support was added for querying about WebCL extensions
        in all three levels: global, platform and device.
        Three following methods now work correctly:
        - WebCL::getSupportedExtension
        - WebCLPlatform::getSupportedExtension
        - WebCLDevice::getSupportedExtension

        The logic within ::cacheGlobalExtensions method is as following:
        0) Get all OpenCL platforms available.
        1) Get the extensions available in the first platform,
           adding them to a Hash.
        2) If there is only this OpenCL platform available (common
           case), we are done. Bail out!
        3) For any other platform available, check the intersection
           of extensions supported.
        4) In the end, the Hash has only extensions supported by all platforms.

        * Modules/webcl/WebCL.cpp:
        (WebCore::WebCL::getSupportedExtensions):
        * Modules/webcl/WebCLDevice.cpp:
        (WebCore::WebCLDevice::getSupportedExtensions):
        * Modules/webcl/WebCLPlatform.cpp:
        (WebCore::WebCLPlatform::getSupportedExtensions):
        * Modules/webcl/WebCLPlatform.idl:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/opencl/ExtensionsCL.cpp: Added.
        (WebCore):
        (WebCore::ExtensionsCL::get):
        (WebCore::ExtensionsCL::ExtensionsCL):
        (WebCore::ExtensionsCL::~ExtensionsCL):
        (WebCore::ExtensionsCL::supports):
        (WebCore::ExtensionsCL::initializeGlobalExtensions):
        (WebCore::ExtensionsCL::supportsExtension):
        (WebCore::ExtensionsCL::cacheGlobalExtensions):
        * platform/opencl/ExtensionsCL.h: Added.
        (WebCore):
        (ExtensionsCL):
        (WebCore::ExtensionsCL::cacheExtensionsForPlatform):
        (WebCore::ExtensionsCL::cacheExtensionsForDevice):
        (Functor):
        (WebCore::ExtensionsCL::Functor::operator()):
        (WebCore::ExtensionsCL::CacheExtensions::perform):
        (WebCore::ExtensionsCL::cacheExtensionsHelper):
amend me style
2013-04-26  Antonio Gomes  <a1.gomes@sisa.samsung.com>

        Unreviewed removal of WebCL.h include from many files.

        There were some left WebCL.h includes still, but to
        be removed later. It is less trivial.

        * Modules/webcl/WebCL.h:
        * Modules/webcl/WebCLBuffer.cpp:
        * Modules/webcl/WebCLCommandQueue.cpp:
        * Modules/webcl/WebCLEvent.cpp:
        * Modules/webcl/WebCLGLBuffer.cpp:
        * Modules/webcl/WebCLImage.cpp:
        * Modules/webcl/WebCLKernel.cpp:
        * Modules/webcl/WebCLMemoryObject.cpp:
        * Modules/webcl/WebCLProgram.cpp:
        (WebCore::WebCLProgram::getBuildInfo):
        * Modules/webcl/WebCLSampler.cpp:
        * bindings/js/JSWebCLCustom.cpp:
tmp