2014-05-05  Sharath Kamath  <s.kamath@samsung.com>

        Adding StrictTypeChecking to all WebCL APIs.

        Fixed #163

        Reviewed by Antonio.

        * Modules/webcl/WebCL.idl:
        * Modules/webcl/WebCLCommandQueue.idl:
        * Modules/webcl/WebCLContext.idl:
        * Modules/webcl/WebCLImage.idl:
        * Modules/webcl/WebCLKernel.idl:
        * Modules/webcl/WebCLPlatform.idl:
        * Modules/webcl/WebCLProgram.idl:
        * Modules/webcl/WebCLUserEvent.idl:
2014-05-02  Sharath Kamath  <s.kamath@samsung.com>

        Update kernel parser to provide type information as bool values.

        Issue #516

        Reviewed by Antonio.

        Currently we store the type name as string which needs to be compared with
        the data type sent by user to validate the value against the kernel values.
        Since setArg is called in loops, string comparison can slow down the program.

        Instead we can store the type as a enum, with all types stored during parsing
        into the enum.

        Also since "*" in the data type is needed to check if the kernel needs a buffer or
        simple data type, retaining it with the typeName. It is discarded later to make WebCLKernelArgInfo in par with specification.

        No new tests.

        * Modules/webcl/WebCLKernelArgInfo.h:
        (WebCore::WebCLKernelArgInfo::create):
        (WebCore::WebCLKernelArgInfo::type):
        (WebCore::WebCLKernelArgInfo::WebCLKernelArgInfo):
        * Modules/webcl/WebCLKernelArgInfoProvider.cpp:
        (WebCore::isASCIILineBreakCharacter):
        (WebCore::isStarCharacter):
        (WebCore::WebCLKernelArgInfoProvider::ensureInfo):
        (WebCore::extractTypeEnum):
        (WebCore::WebCLKernelArgInfoProvider::parseAndAppendDeclaration):
2014-05-02  Sharath Kamath  <s.kamath@samsung.com>

        Validate the argValue type against expected type at index.

        Issue #515

        Reviewed by Antonio.

        Checking in these overload if the kernel type and the
        value sent to the setArg() are matching.
        Also adding validation in all SetArg() API's to validate the value against
        kernel data.

        All setArg() test cases in conformance test suite.

        * Modules/webcl/WebCLKernel.cpp:
        (WebCore::WebCLKernel::setArg):
        (WebCore::WebCLKernel::isValidVectorLength):
        * Modules/webcl/WebCLKernel.h: