2014-01-20  Antonio Gomes  <a1.gomes@sisa.samsung.com>

        Introduce ComputeEvent class
        Issue #410

        Reviewed by Igor.

        ComputeEvent wraps both cl_event/CCEvent.

        There is no functionality change.

        Tests:
        All conformance tests keep passing

        * Modules/webcl/WebCL.cpp:
        (WebCore::WebCL::waitForEvents):
        * Modules/webcl/WebCLCommandQueue.cpp:
        (WebCore::WebCLCommandQueue::ccEventListFromWebCLEventList):
        (WebCore::WebCLCommandQueue::ccEventFromWebCLEvent):
        (WebCore::WebCLCommandQueue::enqueueWaitForEvents):
        (WebCore::WebCLCommandQueue::enqueueMarker):
        * Modules/webcl/WebCLEvent.cpp:
        (WebCore::WebCLEvent::create):
        (WebCore::WebCLEvent::WebCLEvent):
        (WebCore::WebCLEvent::getInfo):
        (WebCore::WebCLEvent::getProfilingInfo):
        (WebCore::WebCLEvent::setCallback):
        (WebCore::WebCLEvent::processCallbackRegisterQueueForEvent):
        (WebCore::WebCLEvent::holdsValidCLObject):
        (WebCore::WebCLEvent::releasePlatformObjectImpl):
        * Modules/webcl/WebCLEvent.h:
        * Modules/webcl/WebCLObject.h:
        * Modules/webcl/WebCLUserEvent.cpp:
        (WebCore::WebCLUserEvent::create):
        (WebCore::WebCLUserEvent::WebCLUserEvent):
        (WebCore::WebCLUserEvent::setStatus):
        (WebCore::WebCLUserEvent::releasePlatformObjectImpl):
        * Modules/webcl/WebCLUserEvent.h:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/ComputeCommandQueue.h:
        * platform/ComputeContext.h:
        * platform/ComputeEvent.h: Added.
        (WebCore::ComputeEvent::getEventInfo):
        (WebCore::ComputeEvent::getEventProfilingInfo):
        (WebCore::ComputeEvent::event):
        (WebCore::ComputeEvent::eventRef):
        * platform/opencl/ComputeCommandQueueCL.cpp:
        (WebCore::ComputeCommandQueue::enqueueWaitForEvents):
        * platform/opencl/ComputeContextCL.cpp:
        (WebCore::ComputeContext::waitForEvents):
        (WebCore::ComputeContext::createUserEvent):
        * platform/opencl/ComputeEventCL.cpp: Added.
        (WebCore::ComputeEvent::ComputeEvent):
        (WebCore::ComputeEvent::~ComputeEvent):
        (WebCore::ComputeEvent::setEventCallback):
        (WebCore::ComputeEvent::setUserEventStatus):
        (WebCore::ComputeEvent::getEventInfoBase):
        (WebCore::ComputeEvent::getEventProfilingInfoBase):
        (WebCore::ComputeEvent::release):