[WebGL2] Create empty interface files for new WebGL2 objects.
authorroger_fong@apple.com <roger_fong@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 22 Jan 2015 23:35:15 +0000 (23:35 +0000)
committerroger_fong@apple.com <roger_fong@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 22 Jan 2015 23:35:15 +0000 (23:35 +0000)
https://bugs.webkit.org/show_bug.cgi?id=140779.
<rdar://problem/15002288>

Reviewed by Dean Jackson.

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* html/canvas/WebGLQuery.cpp: Added.
(WebCore::WebGLQuery::create):
(WebCore::WebGLQuery::~WebGLQuery):
(WebCore::WebGLQuery::WebGLQuery):
(WebCore::WebGLQuery::deleteObjectImpl):
* html/canvas/WebGLQuery.h: Added.
* html/canvas/WebGLQuery.idl: Added.
* html/canvas/WebGLSampler.cpp: Added.
(WebCore::WebGLSampler::create):
(WebCore::WebGLSampler::~WebGLSampler):
(WebCore::WebGLSampler::WebGLSampler):
(WebCore::WebGLSampler::deleteObjectImpl):
* html/canvas/WebGLSampler.h: Added.
* html/canvas/WebGLSampler.idl: Added.
* html/canvas/WebGLSharedObject.h:
(WebCore::WebGLSharedObject::isQuery):
(WebCore::WebGLSharedObject::isSampler):
(WebCore::WebGLSharedObject::isSync):
(WebCore::WebGLSharedObject::isTransformFeedback):
(WebCore::WebGLSharedObject::isVertexArrayObject):
* html/canvas/WebGLSync.cpp: Added.
(WebCore::WebGLSync::create):
(WebCore::WebGLSync::~WebGLSync):
(WebCore::WebGLSync::WebGLSync):
(WebCore::WebGLSync::deleteObjectImpl):
* html/canvas/WebGLSync.h: Added.
* html/canvas/WebGLSync.idl: Added.
* html/canvas/WebGLTransformFeedback.cpp: Added.
(WebCore::WebGLTransformFeedback::create):
(WebCore::WebGLTransformFeedback::~WebGLTransformFeedback):
(WebCore::WebGLTransformFeedback::WebGLTransformFeedback):
(WebCore::WebGLTransformFeedback::deleteObjectImpl):
* html/canvas/WebGLTransformFeedback.h: Added.
* html/canvas/WebGLTransformFeedback.idl: Added.
* html/canvas/WebGLVertexArrayObject.cpp: Added.
(WebCore::WebGLVertexArrayObject::create):
(WebCore::WebGLVertexArrayObject::~WebGLVertexArrayObject):
(WebCore::WebGLVertexArrayObject::WebGLVertexArrayObject):
(WebCore::WebGLVertexArrayObject::deleteObjectImpl):
* html/canvas/WebGLVertexArrayObject.h: Added.
* html/canvas/WebGLVertexArrayObject.idl: Added.
* platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178963 268f45cc-cd09-0410-ab3c-d52691b4dbfc

27 files changed:
LayoutTests/ChangeLog
LayoutTests/platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt
LayoutTests/platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt
LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/DerivedSources.cpp
Source/WebCore/DerivedSources.make
Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/html/canvas/WebGLQuery.cpp [new file with mode: 0644]
Source/WebCore/html/canvas/WebGLQuery.h [new file with mode: 0644]
Source/WebCore/html/canvas/WebGLQuery.idl [new file with mode: 0644]
Source/WebCore/html/canvas/WebGLSampler.cpp [new file with mode: 0644]
Source/WebCore/html/canvas/WebGLSampler.h [new file with mode: 0644]
Source/WebCore/html/canvas/WebGLSampler.idl [new file with mode: 0644]
Source/WebCore/html/canvas/WebGLSharedObject.h
Source/WebCore/html/canvas/WebGLSync.cpp [new file with mode: 0644]
Source/WebCore/html/canvas/WebGLSync.h [new file with mode: 0644]
Source/WebCore/html/canvas/WebGLSync.idl [new file with mode: 0644]
Source/WebCore/html/canvas/WebGLTransformFeedback.cpp [new file with mode: 0644]
Source/WebCore/html/canvas/WebGLTransformFeedback.h [new file with mode: 0644]
Source/WebCore/html/canvas/WebGLTransformFeedback.idl [new file with mode: 0644]
Source/WebCore/html/canvas/WebGLVertexArrayObject.cpp [new file with mode: 0644]
Source/WebCore/html/canvas/WebGLVertexArrayObject.h [new file with mode: 0644]
Source/WebCore/html/canvas/WebGLVertexArrayObject.idl [new file with mode: 0644]

index 73efc6631a0ad13693e21304c4ed3445228224c3..d63ab08c70360f91844d94436998da29e35dca9c 100644 (file)
@@ -1,3 +1,15 @@
+2015-01-22  Roger Fong  <roger_fong@apple.com>
+
+        [WebGL2] Create empty interface files for new WebGL2 objects.
+        https://bugs.webkit.org/show_bug.cgi?id=140779.
+        <rdar://problem/15002288>
+
+        Reviewed by Dean Jackson.
+
+        * platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
+        * platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
+        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
+
 2015-01-22  Alexey Proskuryakov  <ap@apple.com>
 
         Skip another copy of oes-vertex-array-object test, because it has the same problems
index 03ae053c0ea1f72e0a293c644739fe053c850918..87a324ad01a3eb7898443c4bb4eff4df585bf0eb 100644 (file)
@@ -1888,6 +1888,11 @@ PASS Object.getOwnPropertyDescriptor(global, 'WebGLProgram').hasOwnProperty('get
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLProgram').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLProgram').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLProgram').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLQuery').value is WebGLQuery
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLQuery').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLQuery').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLQuery').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLQuery').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderbuffer').value is WebGLRenderbuffer
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderbuffer').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderbuffer').hasOwnProperty('set') is false
@@ -1898,6 +1903,11 @@ PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderingContext').hasOwnProp
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderingContext').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderingContext').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderingContext').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSampler').value is WebGLSampler
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSampler').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSampler').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSampler').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSampler').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLShader').value is WebGLShader
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLShader').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLShader').hasOwnProperty('set') is false
@@ -1908,16 +1918,31 @@ PASS Object.getOwnPropertyDescriptor(global, 'WebGLShaderPrecisionFormat').hasOw
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLShaderPrecisionFormat').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLShaderPrecisionFormat').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLShaderPrecisionFormat').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSync').value is WebGLSync
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSync').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSync').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSync').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSync').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLTexture').value is WebGLTexture
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLTexture').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLTexture').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLTexture').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLTexture').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTransformFeedback').value is WebGLTransformFeedback
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTransformFeedback').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTransformFeedback').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTransformFeedback').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTransformFeedback').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLUniformLocation').value is WebGLUniformLocation
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLUniformLocation').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLUniformLocation').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLUniformLocation').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLUniformLocation').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLVertexArrayObject').value is WebGLVertexArrayObject
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLVertexArrayObject').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLVertexArrayObject').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLVertexArrayObject').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLVertexArrayObject').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').value is WebKitAnimationEvent
 PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').hasOwnProperty('set') is false
index e97e54912aa718dcf162c47dc72f61e504ffc77b..9f918b7569036cdc804cef3ca15a4405ea70ee27 100644 (file)
@@ -1878,6 +1878,11 @@ PASS Object.getOwnPropertyDescriptor(global, 'WebGLProgram').hasOwnProperty('get
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLProgram').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLProgram').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLProgram').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLQuery').value is WebGLQuery
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLQuery').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLQuery').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLQuery').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLQuery').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderbuffer').value is WebGLRenderbuffer
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderbuffer').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderbuffer').hasOwnProperty('set') is false
@@ -1888,6 +1893,11 @@ PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderingContext').hasOwnProp
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderingContext').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderingContext').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderingContext').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSampler').value is WebGLSampler
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSampler').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSampler').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSampler').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSampler').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLShader').value is WebGLShader
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLShader').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLShader').hasOwnProperty('set') is false
@@ -1898,16 +1908,31 @@ PASS Object.getOwnPropertyDescriptor(global, 'WebGLShaderPrecisionFormat').hasOw
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLShaderPrecisionFormat').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLShaderPrecisionFormat').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLShaderPrecisionFormat').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSync').value is WebGLSync
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSync').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSync').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSync').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSync').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLTexture').value is WebGLTexture
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLTexture').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLTexture').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLTexture').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLTexture').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTransformFeedback').value is WebGLTransformFeedback
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTransformFeedback').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTransformFeedback').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTransformFeedback').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTransformFeedback').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLUniformLocation').value is WebGLUniformLocation
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLUniformLocation').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLUniformLocation').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLUniformLocation').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLUniformLocation').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLVertexArrayObject').value is WebGLVertexArrayObject
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLVertexArrayObject').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLVertexArrayObject').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLVertexArrayObject').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLVertexArrayObject').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').value is WebKitAnimationEvent
 PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').hasOwnProperty('set') is false
index 330f06157e87d32c4dfe4e39239e6dd37a1cde32..69d54c9109948807ad3e0a32211477cf879f00ef 100644 (file)
@@ -1908,6 +1908,11 @@ PASS Object.getOwnPropertyDescriptor(global, 'WebGLProgram').hasOwnProperty('get
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLProgram').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLProgram').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLProgram').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLQuery').value is WebGLQuery
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLQuery').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLQuery').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLQuery').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLQuery').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderbuffer').value is WebGLRenderbuffer
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderbuffer').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderbuffer').hasOwnProperty('set') is false
@@ -1918,6 +1923,11 @@ PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderingContext').hasOwnProp
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderingContext').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderingContext').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLRenderingContext').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSampler').value is WebGLSampler
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSampler').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSampler').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSampler').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSampler').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLShader').value is WebGLShader
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLShader').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLShader').hasOwnProperty('set') is false
@@ -1928,16 +1938,31 @@ PASS Object.getOwnPropertyDescriptor(global, 'WebGLShaderPrecisionFormat').hasOw
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLShaderPrecisionFormat').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLShaderPrecisionFormat').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLShaderPrecisionFormat').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSync').value is WebGLSync
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSync').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSync').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSync').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLSync').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLTexture').value is WebGLTexture
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLTexture').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLTexture').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLTexture').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLTexture').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTransformFeedback').value is WebGLTransformFeedback
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTransformFeedback').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTransformFeedback').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTransformFeedback').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLTransformFeedback').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLUniformLocation').value is WebGLUniformLocation
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLUniformLocation').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLUniformLocation').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLUniformLocation').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebGLUniformLocation').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLVertexArrayObject').value is WebGLVertexArrayObject
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLVertexArrayObject').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLVertexArrayObject').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLVertexArrayObject').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WebGLVertexArrayObject').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').value is WebKitAnimationEvent
 PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').hasOwnProperty('set') is false
index e6972afd0d014d7621112acf38e081c13d577106..aa27b0154b98d63326e932654ec006480f6338fb 100644 (file)
@@ -554,14 +554,19 @@ set(WebCore_NON_SVG_IDL_FILES
     html/canvas/WebGLFramebuffer.idl
     html/canvas/WebGLLoseContext.idl
     html/canvas/WebGLProgram.idl
+    html/canvas/WebGLQuery.idl
     html/canvas/WebGLRenderbuffer.idl
     html/canvas/WebGLRenderingContextBase.idl
     html/canvas/WebGLRenderingContext.idl
     html/canvas/WebGL2RenderingContext.idl
+    html/canvas/WebGLSampler.idl
     html/canvas/WebGLShader.idl
     html/canvas/WebGLShaderPrecisionFormat.idl
+    html/canvas/WebGLSync.idl
     html/canvas/WebGLTexture.idl
+    html/canvas/WebGLTransformFeedback.idl
     html/canvas/WebGLUniformLocation.idl
+    html/canvas/WebGLVertexArrayObject.idl
     html/canvas/WebGLVertexArrayObjectOES.idl
 
     inspector/CommandLineAPIHost.idl
@@ -1690,15 +1695,20 @@ set(WebCore_SOURCES
     html/canvas/WebGLLoseContext.cpp
     html/canvas/WebGLObject.cpp
     html/canvas/WebGLProgram.cpp
+    html/canvas/WebGLQuery.cpp
     html/canvas/WebGLRenderbuffer.cpp
     html/canvas/WebGLRenderingContextBase.cpp
     html/canvas/WebGLRenderingContext.cpp
     html/canvas/WebGL2RenderingContext.cpp
+    html/canvas/WebGLSampler.cpp
     html/canvas/WebGLShader.cpp
     html/canvas/WebGLShaderPrecisionFormat.cpp
     html/canvas/WebGLSharedObject.cpp
+    html/canvas/WebGLSync.cpp
     html/canvas/WebGLTexture.cpp
+    html/canvas/WebGLTransformFeedback.cpp
     html/canvas/WebGLUniformLocation.cpp
+    html/canvas/WebGLVertexArrayObject.cpp
     html/canvas/WebGLVertexArrayObjectOES.cpp
 
     html/forms/FileIconLoader.cpp
@@ -2787,15 +2797,20 @@ if (ENABLE_WEBGL)
         html/canvas/WebGLLoseContext.cpp
         html/canvas/WebGLObject.cpp
         html/canvas/WebGLProgram.cpp
+        html/canvas/WebGLQuery.cpp
         html/canvas/WebGLRenderbuffer.cpp
         html/canvas/WebGLRenderingContextBase.cpp
         html/canvas/WebGLRenderingContext.cpp
         html/canvas/WebGL2RenderingContext.cpp
+        html/canvas/WebGLSampler.cpp
         html/canvas/WebGLShader.cpp
         html/canvas/WebGLShaderPrecisionFormat.cpp
         html/canvas/WebGLSharedObject.cpp
+        html/canvas/WebGLSync.cpp
         html/canvas/WebGLTexture.cpp
+        html/canvas/WebGLTransformFeedback.cpp
         html/canvas/WebGLUniformLocation.cpp
+        html/canvas/WebGLVertexArrayObject.cpp
         html/canvas/WebGLVertexArrayObjectOES.cpp
     )
     list(APPEND WebCore_IDL_FILES
@@ -2826,14 +2841,19 @@ if (ENABLE_WEBGL)
         html/canvas/WebGLFramebuffer.idl
         html/canvas/WebGLLoseContext.idl
         html/canvas/WebGLProgram.idl
+        html/canvas/WebGLQuery.idl
         html/canvas/WebGLRenderbuffer.idl
         html/canvas/WebGLRenderingContextBase.idl
         html/canvas/WebGLRenderingContext.idl
         html/canvas/WebGL2RenderingContext.idl
+        html/canvas/WebGLSampler.idl
         html/canvas/WebGLShader.idl
         html/canvas/WebGLShaderPrecisionFormat.idl
+        html/canvas/WebGLSync.idl
         html/canvas/WebGLTexture.idl
+        html/canvas/WebGLTransformFeedback.idl
         html/canvas/WebGLUniformLocation.idl
+        html/canvas/WebGLVertexArrayObject.idl
         html/canvas/WebGLVertexArrayObjectOES.idl
     )
 endif ()
index ae213a00f1b9e2ddb5db29aeb7cc0735a3e4cbaf..9b5816fd2ba37fc79139106dcf218738acb9d1e2 100644 (file)
@@ -1,3 +1,59 @@
+2015-01-22  Roger Fong  <roger_fong@apple.com>
+
+        [WebGL2] Create empty interface files for new WebGL2 objects.
+        https://bugs.webkit.org/show_bug.cgi?id=140779.
+        <rdar://problem/15002288>
+
+        Reviewed by Dean Jackson.
+
+        * CMakeLists.txt:
+        * DerivedSources.cpp:
+        * DerivedSources.make:
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.vcxproj/WebCore.vcxproj.filters:
+        * WebCore.xcodeproj/project.pbxproj:
+        * html/canvas/WebGLQuery.cpp: Added.
+        (WebCore::WebGLQuery::create):
+        (WebCore::WebGLQuery::~WebGLQuery):
+        (WebCore::WebGLQuery::WebGLQuery):
+        (WebCore::WebGLQuery::deleteObjectImpl):
+        * html/canvas/WebGLQuery.h: Added.
+        * html/canvas/WebGLQuery.idl: Added.
+        * html/canvas/WebGLSampler.cpp: Added.
+        (WebCore::WebGLSampler::create):
+        (WebCore::WebGLSampler::~WebGLSampler):
+        (WebCore::WebGLSampler::WebGLSampler):
+        (WebCore::WebGLSampler::deleteObjectImpl):
+        * html/canvas/WebGLSampler.h: Added.
+        * html/canvas/WebGLSampler.idl: Added.
+        * html/canvas/WebGLSharedObject.h:
+        (WebCore::WebGLSharedObject::isQuery):
+        (WebCore::WebGLSharedObject::isSampler):
+        (WebCore::WebGLSharedObject::isSync):
+        (WebCore::WebGLSharedObject::isTransformFeedback):
+        (WebCore::WebGLSharedObject::isVertexArrayObject):
+        * html/canvas/WebGLSync.cpp: Added.
+        (WebCore::WebGLSync::create):
+        (WebCore::WebGLSync::~WebGLSync):
+        (WebCore::WebGLSync::WebGLSync):
+        (WebCore::WebGLSync::deleteObjectImpl):
+        * html/canvas/WebGLSync.h: Added.
+        * html/canvas/WebGLSync.idl: Added.
+        * html/canvas/WebGLTransformFeedback.cpp: Added.
+        (WebCore::WebGLTransformFeedback::create):
+        (WebCore::WebGLTransformFeedback::~WebGLTransformFeedback):
+        (WebCore::WebGLTransformFeedback::WebGLTransformFeedback):
+        (WebCore::WebGLTransformFeedback::deleteObjectImpl):
+        * html/canvas/WebGLTransformFeedback.h: Added.
+        * html/canvas/WebGLTransformFeedback.idl: Added.
+        * html/canvas/WebGLVertexArrayObject.cpp: Added.
+        (WebCore::WebGLVertexArrayObject::create):
+        (WebCore::WebGLVertexArrayObject::~WebGLVertexArrayObject):
+        (WebCore::WebGLVertexArrayObject::WebGLVertexArrayObject):
+        (WebCore::WebGLVertexArrayObject::deleteObjectImpl):
+        * html/canvas/WebGLVertexArrayObject.h: Added.
+        * html/canvas/WebGLVertexArrayObject.idl: Added.
+
 2015-01-22  Chris Dumez  <cdumez@apple.com>
 
         Fix remaining multiple targets per rule issues in DerivedSources.make
index c4bd55bbe5ef5182b3d273bef3cf98f4a9376fe2..e7036e19ebc063b7f9f01bb1b5149eb649397fea 100644 (file)
 #include "JSWebGLFramebuffer.cpp"
 #include "JSWebGLLoseContext.cpp"
 #include "JSWebGLProgram.cpp"
+#include "JSWebGLQuery.cpp"
 #include "JSWebGLRenderbuffer.cpp"
 #include "JSWebGLRenderingContext.cpp"
 #include "JSWebGLRenderingContextBase.cpp"
+#include "JSWebGLSampler.cpp"
 #include "JSWebGLShader.cpp"
-#include "JSWebGLShaderPrecisionFormat.cpp"
+#include "JSWebGLShaderPrecisionFormat.cpp" 
+#include "JSWebGLSync.cpp"
 #include "JSWebGLTexture.cpp"
+#include "JSWebGLTransformFeedback.cpp"
 #include "JSWebGLUniformLocation.cpp"
+#include "JSWebGLVertexArrayObject.cpp"
 #include "JSWebGLVertexArrayObjectOES.cpp"
 #endif
 #include "JSCDATASection.cpp"
index b99aa43627c9c442d24df388c77a70b3863796b9..ad86bb8b3a0873aaa8d86f218fc39cdffb8625fe 100644 (file)
@@ -443,14 +443,19 @@ NON_SVG_BINDING_IDLS = \
     $(WebCore)/html/canvas/WebGLFramebuffer.idl \
     $(WebCore)/html/canvas/WebGLLoseContext.idl \
     $(WebCore)/html/canvas/WebGLProgram.idl \
+    $(WebCore)/html/canvas/WebGLQuery.idl \
     $(WebCore)/html/canvas/WebGLRenderbuffer.idl \
     $(WebCore)/html/canvas/WebGLRenderingContextBase.idl \
     $(WebCore)/html/canvas/WebGLRenderingContext.idl \
     $(WebCore)/html/canvas/WebGL2RenderingContext.idl \
+    $(WebCore)/html/canvas/WebGLSampler.idl \
     $(WebCore)/html/canvas/WebGLShader.idl \
     $(WebCore)/html/canvas/WebGLShaderPrecisionFormat.idl \
+    $(WebCore)/html/canvas/WebGLSync.idl \
     $(WebCore)/html/canvas/WebGLTexture.idl \
+    $(WebCore)/html/canvas/WebGLTransformFeedback.idl \
     $(WebCore)/html/canvas/WebGLUniformLocation.idl \
+    $(WebCore)/html/canvas/WebGLVertexArrayObject.idl \
     $(WebCore)/html/canvas/WebGLVertexArrayObjectOES.idl \
     $(WebCore)/html/track/AudioTrack.idl \
     $(WebCore)/html/track/AudioTrackList.idl \
index f2a59206e03b1c664e915c06d28cbaaef658711f..aed2c8e9a1e1dd5364b1386c1ee2fc9d9bdd490b 100644 (file)
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
     </ClCompile>
+    <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSWebGLQuery.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSWebGLSampler.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSWebGLSync.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSWebGLTransformFeedback.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSWebGLVertexArrayObject.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
+    </ClCompile>
     <ClCompile Include="..\accessibility\AccessibilityNodeObject.cpp">
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
     <ClCompile Include="..\html\canvas\WebGLLoseContext.cpp" />
     <ClCompile Include="..\html\canvas\WebGLObject.cpp" />
     <ClCompile Include="..\html\canvas\WebGLProgram.cpp" />
+    <ClCompile Include="..\html\canvas\WebGLQuery.cpp" />
     <ClCompile Include="..\html\canvas\WebGLRenderbuffer.cpp" />
     <ClCompile Include="..\html\canvas\WebGLRenderingContext.cpp" />
     <ClCompile Include="..\html\canvas\WebGLRenderingContextBase.cpp" />
+    <ClCompile Include="..\html\canvas\WebGLSampler.cpp" />
     <ClCompile Include="..\html\canvas\WebGLShader.cpp" />
     <ClCompile Include="..\html\canvas\WebGLShaderPrecisionFormat.cpp" />
     <ClCompile Include="..\html\canvas\WebGLSharedObject.cpp" />
+    <ClCompile Include="..\html\canvas\WebGLSync.cpp" />
     <ClCompile Include="..\html\canvas\WebGLTexture.cpp" />
+    <ClCompile Include="..\html\canvas\WebGLTransformFeedback.cpp" />
     <ClCompile Include="..\html\canvas\WebGLUniformLocation.cpp" />
+    <ClCompile Include="..\html\canvas\WebGLVertexArrayObject.cpp" />
     <ClCompile Include="..\html\canvas\WebGLVertexArrayObjectOES.cpp" />
     <ClCompile Include="..\html\track\AudioTrack.cpp" />
     <ClCompile Include="..\html\track\AudioTrackList.cpp" />
     <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSEXTBlendMinMax.h" />
     <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSWebGL2RenderingContext.h" />
     <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSWebGLRenderingContextBase.h" />
+    <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSWebGLQuery.h" />
+    <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSWebGLSampler.h" />
+    <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSWebGLSync.h" />
+    <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSWebGLTransformFeedback.h" />
+    <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSWebGLVertexArrayObject.h" />
     <ClInclude Include="..\accessibility\AccessibilityNodeObject.h" />
     <ClInclude Include="..\css\CSSImageSetValue.h" />
     <ClInclude Include="..\css\WebKitCSSResourceValue.h" />
     <ClInclude Include="..\html\canvas\WebGLLoseContext.h" />
     <ClInclude Include="..\html\canvas\WebGLObject.h" />
     <ClInclude Include="..\html\canvas\WebGLProgram.h" />
+    <ClInclude Include="..\html\canvas\WebGLQuery.h" />
     <ClInclude Include="..\html\canvas\WebGLRenderbuffer.h" />
     <ClInclude Include="..\html\canvas\WebGLRenderingContext.h" />
     <ClInclude Include="..\html\canvas\WebGLRenderingContextBase.h" />
+    <ClInclude Include="..\html\canvas\WebGLSampler.h" />
     <ClInclude Include="..\html\canvas\WebGLShader.h" />
     <ClInclude Include="..\html\canvas\WebGLShaderPrecisionFormat.h" />
     <ClInclude Include="..\html\canvas\WebGLSharedObject.h" />
+    <ClInclude Include="..\html\canvas\WebGLSync.h" />
     <ClInclude Include="..\html\canvas\WebGLTexture.h" />
+    <ClInclude Include="..\html\canvas\WebGLTransformFeedback.h" />
     <ClInclude Include="..\html\canvas\WebGLUniformLocation.h" />
+    <ClInclude Include="..\html\canvas\WebGLVertexArrayObject.h" />
     <ClInclude Include="..\html\canvas\WebGLVertexArrayObjectOES.h" />
     <ClInclude Include="..\html\track\AudioTrack.h" />
     <ClInclude Include="..\html\track\AudioTrackList.h" />
index 38ddc6eb592014ea9b7d75ce23c072666820fd9d..821f858bbf9d00e07eab3b5f9fedb65be69260b8 100644 (file)
     <ClCompile Include="..\page\PageConfiguration.cpp">
       <Filter>page</Filter>
     </ClCompile>
+    <ClCompile Include="..\html\canvas\WebGLQuery.cpp">
+      <Filter>html\canvas</Filter>
+    </ClCompile>
+    <ClCompile Include="..\html\canvas\WebGLSampler.cpp">
+      <Filter>html\canvas</Filter>
+    </ClCompile>
+    <ClCompile Include="..\html\canvas\WebGLSync.cpp">
+      <Filter>html\canvas</Filter>
+    </ClCompile>
+    <ClCompile Include="..\html\canvas\WebGLTransformFeedback.cpp">
+      <Filter>html\canvas</Filter>
+    </ClCompile>
+    <ClCompile Include="..\html\canvas\WebGLVertexArrayObject.cpp">
+      <Filter>html\canvas</Filter>
+    </ClCompile>
+    <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSWebGLQuery.cpp">
+      <Filter>DerivedSources</Filter>
+    </ClCompile>
+    <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSWebGLSampler.cpp">
+      <Filter>DerivedSources</Filter>
+    </ClCompile>
+    <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSWebGLSync.cpp">
+      <Filter>DerivedSources</Filter>
+    </ClCompile>
+    <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSWebGLTransformFeedback.cpp">
+      <Filter>DerivedSources</Filter>
+    </ClCompile>
+    <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSWebGLVertexArrayObject.cpp">
+      <Filter>DerivedSources</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\Modules\geolocation\Coordinates.h">
     <ClInclude Include="..\storage\StorageNamespaceProvider.h">
       <Filter>storage</Filter>
     </ClInclude>
+    <ClInclude Include="..\html\canvas\WebGLQuery.h">
+      <Filter>html\canvas</Filter>
+    </ClInclude>
+    <ClInclude Include="..\html\canvas\WebGLSampler.h">
+      <Filter>html\canvas</Filter>
+    </ClInclude>
+    <ClInclude Include="..\html\canvas\WebGLSync.h">
+      <Filter>html\canvas</Filter>
+    </ClInclude>
+    <ClInclude Include="..\html\canvas\WebGLTransformFeedback.h">
+      <Filter>html\canvas</Filter>
+    </ClInclude>
+    <ClInclude Include="..\html\canvas\WebGLVertexArrayObject.h">
+      <Filter>html\canvas</Filter>
+    </ClInclude>
+    <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSWebGLQuery.h">
+      <Filter>DerivedSources</Filter>
+    </ClInclude>
+    <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSWebGLSampler.h">
+      <Filter>DerivedSources</Filter>
+    </ClInclude>
+    <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSWebGLSync.h">
+      <Filter>DerivedSources</Filter>
+    </ClInclude>
+    <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSWebGLTransformFeedback.h">
+      <Filter>DerivedSources</Filter>
+    </ClInclude>
+    <ClInclude Include=".$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSWebGLVertexArrayObject.h">
+      <Filter>DerivedSources</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <None Include="..\css\CSSGrammar.y.in">
index 5729cd355156acabdb04646edfddcf0b9541f486..d0d9e94516df713e6249120661d2bd07207b59c7 100644 (file)
                6ED8C37A183BFF8C009E53BD /* BoxShape.h in Headers */ = {isa = PBXBuildFile; fileRef = 6ED8C378183BFF8C009E53BD /* BoxShape.h */; settings = {ATTRIBUTES = (Private, ); }; };
                6EE8A77210F803F3005A4A24 /* JSWebGLContextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EE8A77010F803F3005A4A24 /* JSWebGLContextAttributes.cpp */; };
                6EE8A77310F803F3005A4A24 /* JSWebGLContextAttributes.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EE8A77110F803F3005A4A24 /* JSWebGLContextAttributes.h */; };
+               6F995A151A70756200A735F4 /* WebGLSync.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6F995A131A70756200A735F4 /* WebGLSync.cpp */; };
+               6F995A161A70756200A735F4 /* WebGLSync.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F995A141A70756200A735F4 /* WebGLSync.h */; };
+               6F995A1F1A7078B100A735F4 /* WebGLQuery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6F995A171A7078B100A735F4 /* WebGLQuery.cpp */; };
+               6F995A201A7078B100A735F4 /* WebGLQuery.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F995A181A7078B100A735F4 /* WebGLQuery.h */; };
+               6F995A211A7078B100A735F4 /* WebGLSampler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6F995A191A7078B100A735F4 /* WebGLSampler.cpp */; };
+               6F995A221A7078B100A735F4 /* WebGLSampler.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F995A1A1A7078B100A735F4 /* WebGLSampler.h */; };
+               6F995A231A7078B100A735F4 /* WebGLTransformFeedback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6F995A1B1A7078B100A735F4 /* WebGLTransformFeedback.cpp */; };
+               6F995A241A7078B100A735F4 /* WebGLTransformFeedback.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F995A1C1A7078B100A735F4 /* WebGLTransformFeedback.h */; };
+               6F995A251A7078B100A735F4 /* WebGLVertexArrayObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6F995A1D1A7078B100A735F4 /* WebGLVertexArrayObject.cpp */; };
+               6F995A261A7078B100A735F4 /* WebGLVertexArrayObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F995A1E1A7078B100A735F4 /* WebGLVertexArrayObject.h */; };
+               6F995A311A70833700A735F4 /* JSWebGLQuery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6F995A271A70833700A735F4 /* JSWebGLQuery.cpp */; };
+               6F995A321A70833700A735F4 /* JSWebGLQuery.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F995A281A70833700A735F4 /* JSWebGLQuery.h */; };
+               6F995A331A70833700A735F4 /* JSWebGLSampler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6F995A291A70833700A735F4 /* JSWebGLSampler.cpp */; };
+               6F995A341A70833700A735F4 /* JSWebGLSampler.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F995A2A1A70833700A735F4 /* JSWebGLSampler.h */; };
+               6F995A351A70833700A735F4 /* JSWebGLSync.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6F995A2B1A70833700A735F4 /* JSWebGLSync.cpp */; };
+               6F995A361A70833700A735F4 /* JSWebGLSync.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F995A2C1A70833700A735F4 /* JSWebGLSync.h */; };
+               6F995A371A70833700A735F4 /* JSWebGLTransformFeedback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6F995A2D1A70833700A735F4 /* JSWebGLTransformFeedback.cpp */; };
+               6F995A381A70833700A735F4 /* JSWebGLTransformFeedback.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F995A2E1A70833700A735F4 /* JSWebGLTransformFeedback.h */; };
+               6F995A391A70833700A735F4 /* JSWebGLVertexArrayObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6F995A2F1A70833700A735F4 /* JSWebGLVertexArrayObject.cpp */; };
+               6F995A3A1A70833700A735F4 /* JSWebGLVertexArrayObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F995A301A70833700A735F4 /* JSWebGLVertexArrayObject.h */; };
                6FA4454E898F2FC168BC38C1 /* JSBeforeUnloadEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 29E04A27BED2F81F98E9022B /* JSBeforeUnloadEvent.h */; };
                70F546E8B8B5D7DC54EE144E /* JSBeforeUnloadEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8225432CA9D4B4CF4628EC7F /* JSBeforeUnloadEvent.cpp */; };
                7117445914BC34EC00EE5FC8 /* SVGTextMetricsBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 7117445714BC34E200EE5FC8 /* SVGTextMetricsBuilder.h */; };
                6ED8C378183BFF8C009E53BD /* BoxShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BoxShape.h; sourceTree = "<group>"; };
                6EE8A77010F803F3005A4A24 /* JSWebGLContextAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebGLContextAttributes.cpp; sourceTree = "<group>"; };
                6EE8A77110F803F3005A4A24 /* JSWebGLContextAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWebGLContextAttributes.h; sourceTree = "<group>"; };
+               6F995A091A7070E600A735F4 /* WebGLQuery.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = WebGLQuery.idl; path = canvas/WebGLQuery.idl; sourceTree = "<group>"; };
+               6F995A0A1A7070E600A735F4 /* WebGLSampler.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = WebGLSampler.idl; path = canvas/WebGLSampler.idl; sourceTree = "<group>"; };
+               6F995A0B1A7070E600A735F4 /* WebGLSync.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = WebGLSync.idl; path = canvas/WebGLSync.idl; sourceTree = "<group>"; };
+               6F995A0C1A7070E600A735F4 /* WebGLTransformFeedback.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = WebGLTransformFeedback.idl; path = canvas/WebGLTransformFeedback.idl; sourceTree = "<group>"; };
+               6F995A0D1A7070E600A735F4 /* WebGLVertexArrayObject.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = WebGLVertexArrayObject.idl; path = canvas/WebGLVertexArrayObject.idl; sourceTree = "<group>"; };
+               6F995A131A70756200A735F4 /* WebGLSync.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebGLSync.cpp; path = canvas/WebGLSync.cpp; sourceTree = "<group>"; };
+               6F995A141A70756200A735F4 /* WebGLSync.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebGLSync.h; path = canvas/WebGLSync.h; sourceTree = "<group>"; };
+               6F995A171A7078B100A735F4 /* WebGLQuery.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebGLQuery.cpp; path = canvas/WebGLQuery.cpp; sourceTree = "<group>"; };
+               6F995A181A7078B100A735F4 /* WebGLQuery.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebGLQuery.h; path = canvas/WebGLQuery.h; sourceTree = "<group>"; };
+               6F995A191A7078B100A735F4 /* WebGLSampler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebGLSampler.cpp; path = canvas/WebGLSampler.cpp; sourceTree = "<group>"; };
+               6F995A1A1A7078B100A735F4 /* WebGLSampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebGLSampler.h; path = canvas/WebGLSampler.h; sourceTree = "<group>"; };
+               6F995A1B1A7078B100A735F4 /* WebGLTransformFeedback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebGLTransformFeedback.cpp; path = canvas/WebGLTransformFeedback.cpp; sourceTree = "<group>"; };
+               6F995A1C1A7078B100A735F4 /* WebGLTransformFeedback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebGLTransformFeedback.h; path = canvas/WebGLTransformFeedback.h; sourceTree = "<group>"; };
+               6F995A1D1A7078B100A735F4 /* WebGLVertexArrayObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebGLVertexArrayObject.cpp; path = canvas/WebGLVertexArrayObject.cpp; sourceTree = "<group>"; };
+               6F995A1E1A7078B100A735F4 /* WebGLVertexArrayObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebGLVertexArrayObject.h; path = canvas/WebGLVertexArrayObject.h; sourceTree = "<group>"; };
+               6F995A271A70833700A735F4 /* JSWebGLQuery.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebGLQuery.cpp; sourceTree = "<group>"; };
+               6F995A281A70833700A735F4 /* JSWebGLQuery.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWebGLQuery.h; sourceTree = "<group>"; };
+               6F995A291A70833700A735F4 /* JSWebGLSampler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebGLSampler.cpp; sourceTree = "<group>"; };
+               6F995A2A1A70833700A735F4 /* JSWebGLSampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWebGLSampler.h; sourceTree = "<group>"; };
+               6F995A2B1A70833700A735F4 /* JSWebGLSync.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebGLSync.cpp; sourceTree = "<group>"; };
+               6F995A2C1A70833700A735F4 /* JSWebGLSync.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWebGLSync.h; sourceTree = "<group>"; };
+               6F995A2D1A70833700A735F4 /* JSWebGLTransformFeedback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebGLTransformFeedback.cpp; sourceTree = "<group>"; };
+               6F995A2E1A70833700A735F4 /* JSWebGLTransformFeedback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWebGLTransformFeedback.h; sourceTree = "<group>"; };
+               6F995A2F1A70833700A735F4 /* JSWebGLVertexArrayObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebGLVertexArrayObject.cpp; sourceTree = "<group>"; };
+               6F995A301A70833700A735F4 /* JSWebGLVertexArrayObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWebGLVertexArrayObject.h; sourceTree = "<group>"; };
                7117445614BC34E200EE5FC8 /* SVGTextMetricsBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGTextMetricsBuilder.cpp; sourceTree = "<group>"; };
                7117445714BC34E200EE5FC8 /* SVGTextMetricsBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGTextMetricsBuilder.h; sourceTree = "<group>"; };
                7118FED215685CC60030B79A /* JSSVGViewSpec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGViewSpec.cpp; sourceTree = "<group>"; };
                                49C7B9B61042D32F0009D447 /* WebGLProgram.cpp */,
                                49C7B9B71042D32F0009D447 /* WebGLProgram.h */,
                                49C7B9B81042D32F0009D447 /* WebGLProgram.idl */,
+                               6F995A171A7078B100A735F4 /* WebGLQuery.cpp */,
+                               6F995A181A7078B100A735F4 /* WebGLQuery.h */,
+                               6F995A091A7070E600A735F4 /* WebGLQuery.idl */,
                                49C7B9B91042D32F0009D447 /* WebGLRenderbuffer.cpp */,
                                49C7B9BA1042D32F0009D447 /* WebGLRenderbuffer.h */,
                                49C7B9BB1042D32F0009D447 /* WebGLRenderbuffer.idl */,
                                49C7B9BF1042D32F0009D447 /* WebGLRenderingContext.cpp */,
                                49C7B9C01042D32F0009D447 /* WebGLRenderingContext.h */,
                                49C7B9C11042D32F0009D447 /* WebGLRenderingContext.idl */,
+                               6F995A191A7078B100A735F4 /* WebGLSampler.cpp */,
+                               6F995A1A1A7078B100A735F4 /* WebGLSampler.h */,
+                               6F995A0A1A7070E600A735F4 /* WebGLSampler.idl */,
                                49C7B9C21042D32F0009D447 /* WebGLShader.cpp */,
                                49C7B9C31042D32F0009D447 /* WebGLShader.h */,
                                49C7B9C41042D32F0009D447 /* WebGLShader.idl */,
                                A07D3359152B633E001B6393 /* WebGLShaderPrecisionFormat.idl */,
                                01D3CF8014BD0A3000FE9970 /* WebGLSharedObject.cpp */,
                                01D3CF8114BD0A3000FE9970 /* WebGLSharedObject.h */,
+                               6F995A131A70756200A735F4 /* WebGLSync.cpp */,
+                               6F995A141A70756200A735F4 /* WebGLSync.h */,
+                               6F995A0B1A7070E600A735F4 /* WebGLSync.idl */,
                                49C7B9C51042D32F0009D447 /* WebGLTexture.cpp */,
                                49C7B9C61042D32F0009D447 /* WebGLTexture.h */,
                                49C7B9C71042D32F0009D447 /* WebGLTexture.idl */,
+                               6F995A1B1A7078B100A735F4 /* WebGLTransformFeedback.cpp */,
+                               6F995A1C1A7078B100A735F4 /* WebGLTransformFeedback.h */,
+                               6F995A0C1A7070E600A735F4 /* WebGLTransformFeedback.idl */,
                                0C3F1F5710C8871200D72CE1 /* WebGLUniformLocation.cpp */,
                                0C3F1F5810C8871200D72CE1 /* WebGLUniformLocation.h */,
                                0C3F1F5910C8871200D72CE1 /* WebGLUniformLocation.idl */,
+                               6F995A1D1A7078B100A735F4 /* WebGLVertexArrayObject.cpp */,
+                               6F995A1E1A7078B100A735F4 /* WebGLVertexArrayObject.h */,
+                               6F995A0D1A7070E600A735F4 /* WebGLVertexArrayObject.idl */,
                                77A17A7412F28642004E02F6 /* WebGLVertexArrayObjectOES.cpp */,
                                77A17A7512F28642004E02F6 /* WebGLVertexArrayObjectOES.h */,
                                77A17A7612F28642004E02F6 /* WebGLVertexArrayObjectOES.idl */,
                                93F1D5BF12D5335600832BEC /* JSWebGLLoseContext.h */,
                                49C7B9881042D2D30009D447 /* JSWebGLProgram.cpp */,
                                49C7B9891042D2D30009D447 /* JSWebGLProgram.h */,
+                               6F995A271A70833700A735F4 /* JSWebGLQuery.cpp */,
+                               6F995A281A70833700A735F4 /* JSWebGLQuery.h */,
                                49C7B98A1042D2D30009D447 /* JSWebGLRenderbuffer.cpp */,
                                49C7B98B1042D2D30009D447 /* JSWebGLRenderbuffer.h */,
                                D3F3D3651A69B1A50059FC2B /* JSWebGLRenderingContextBase.cpp */,
                                D3F3D3621A69B1900059FC2B /* JSWebGL2RenderingContext.h */,
                                49EED1401051969400099FAB /* JSWebGLRenderingContext.cpp */,
                                49EED1411051969400099FAB /* JSWebGLRenderingContext.h */,
+                               6F995A2B1A70833700A735F4 /* JSWebGLSync.cpp */,
+                               6F995A2C1A70833700A735F4 /* JSWebGLSync.h */,
                                49C7B98F1042D2D30009D447 /* JSWebGLShader.cpp */,
                                49C7B9901042D2D30009D447 /* JSWebGLShader.h */,
+                               6F995A291A70833700A735F4 /* JSWebGLSampler.cpp */,
+                               6F995A2A1A70833700A735F4 /* JSWebGLSampler.h */,
                                A07D3353152B630E001B6393 /* JSWebGLShaderPrecisionFormat.cpp */,
                                A07D3354152B630E001B6393 /* JSWebGLShaderPrecisionFormat.h */,
                                49C7B9911042D2D30009D447 /* JSWebGLTexture.cpp */,
                                49C7B9921042D2D30009D447 /* JSWebGLTexture.h */,
+                               6F995A2D1A70833700A735F4 /* JSWebGLTransformFeedback.cpp */,
+                               6F995A2E1A70833700A735F4 /* JSWebGLTransformFeedback.h */,
                                0C45342510CDBBFA00869157 /* JSWebGLUniformLocation.cpp */,
                                0C45342610CDBBFA00869157 /* JSWebGLUniformLocation.h */,
+                               6F995A2F1A70833700A735F4 /* JSWebGLVertexArrayObject.cpp */,
+                               6F995A301A70833700A735F4 /* JSWebGLVertexArrayObject.h */,
                                77EF62F112F9DB7400C77BD2 /* JSWebGLVertexArrayObjectOES.cpp */,
                                77EF62F212F9DB7400C77BD2 /* JSWebGLVertexArrayObjectOES.h */,
                                0FDA7C241883333200C954B5 /* JSWebKitPlaybackTargetAvailabilityEvent.cpp */,
                                85E7118E0AC5D5350053270F /* DOMCDATASectionInternal.h in Headers */,
                                85ACA9860A9B520300671E90 /* DOMCharacterData.h in Headers */,
                                85E7118F0AC5D5350053270F /* DOMCharacterDataInternal.h in Headers */,
+                               6F995A201A7078B100A735F4 /* WebGLQuery.h in Headers */,
                                85089CD90A98C42800A275AA /* DOMComment.h in Headers */,
                                85E711900AC5D5350053270F /* DOMCommentInternal.h in Headers */,
                                B56576E817DA94E200A56BDC /* DOMConstructorWithDocument.h in Headers */,
                                B27535750B053814002CE64F /* IntSize.h in Headers */,
                                B27535760B053814002CE64F /* IntSizeHash.h in Headers */,
                                CE12524D1A1A77DE00864480 /* IOPMLibSPI.h in Headers */,
+                               6F995A161A70756200A735F4 /* WebGLSync.h in Headers */,
                                44DEF6431A6FF92700D45EEC /* IOReturnSPI.h in Headers */,
                                2D0B4AAB18DA1CCD00434DE1 /* IOSurface.h in Headers */,
                                1C21E57D183ED1FF001C289D /* IOSurfacePool.h in Headers */,
                                E44614190CD6826900FADA75 /* JSMediaError.h in Headers */,
                                BC3C39B70C0D3D8D005F4D7A /* JSMediaList.h in Headers */,
                                D3A94A47122DC40F00A37BBC /* JSMediaQueryList.h in Headers */,
+                               6F995A381A70833700A735F4 /* JSWebGLTransformFeedback.h in Headers */,
                                7C5343FD17B74B63004232F0 /* JSMediaQueryListListener.h in Headers */,
                                CD9DE17517AAC74C00EA386D /* JSMediaSource.h in Headers */,
                                07C59B7217F79C7C000FBCBB /* JSMediaSourceStates.h in Headers */,
                                B2FA3DF10AB75A6F000E5AC4 /* JSSVGRenderingIntent.h in Headers */,
                                B2FA3DF30AB75A6F000E5AC4 /* JSSVGScriptElement.h in Headers */,
                                B2FA3DF50AB75A6F000E5AC4 /* JSSVGSetElement.h in Headers */,
+                               6F995A361A70833700A735F4 /* JSWebGLSync.h in Headers */,
                                B2FA3DF70AB75A6F000E5AC4 /* JSSVGStopElement.h in Headers */,
                                B2FA3DF90AB75A6F000E5AC4 /* JSSVGStringList.h in Headers */,
                                B2FA3DFB0AB75A6F000E5AC4 /* JSSVGStyleElement.h in Headers */,
                                51E6821016387302003BBF3C /* LoaderStrategy.h in Headers */,
                                06E81ED70AB5D5E900C87837 /* LocalCurrentGraphicsContext.h in Headers */,
                                F5973DE015CFB2030027F804 /* LocaleMac.h in Headers */,
+                               6F995A261A7078B100A735F4 /* WebGLVertexArrayObject.h in Headers */,
                                7633A72613D8B33A008501B6 /* LocaleToScriptMapping.h in Headers */,
                                A516E8B7136E04DB0076C3C0 /* LocalizedDateCache.h in Headers */,
                                935207BE09BD410A00F2038D /* LocalizedStrings.h in Headers */,
                                75793E840D0CE0B3007FC0AC /* MessageEvent.h in Headers */,
                                E1ADECBF0E76ACF1004A1A5E /* MessagePort.h in Headers */,
                                41BF700C0FE86F49005E8DEC /* MessagePortChannel.h in Headers */,
+                               6F995A341A70833700A735F4 /* JSWebGLSampler.h in Headers */,
                                A78E52701346BD1700AD9C31 /* MeterShadowElement.h in Headers */,
                                37DDCDA51384501C0008B793 /* MHTMLArchive.h in Headers */,
                                37DDCDA71384501C0008B793 /* MHTMLParser.h in Headers */,
                                52B6C9C615E3F4DF00690B05 /* NamedFlowCollection.h in Headers */,
                                A81872230977D3C0005826D9 /* NamedNodeMap.h in Headers */,
                                A818721E0977D3C0005826D9 /* NameNodeList.h in Headers */,
+                               6F995A321A70833700A735F4 /* JSWebGLQuery.h in Headers */,
                                6B3480940EEF50D400AC1B41 /* NativeImagePtr.h in Headers */,
                                E10B9B6C0B747599003ED890 /* NativeXPathNSResolver.h in Headers */,
                                93CCF0270AF6C52900018E89 /* NavigationAction.h in Headers */,
                                1A927FD41416A15B003A83C8 /* nptypes.h in Headers */,
                                CE1252511A1BEBD800864480 /* NSCalendarDateSPI.h in Headers */,
                                2DDB97F419F9AECA002025D8 /* NSExtensionSPI.h in Headers */,
+                               6F995A3A1A70833700A735F4 /* JSWebGLVertexArrayObject.h in Headers */,
                                CE12523B1A16711000864480 /* NSFileManagerSPI.h in Headers */,
                                1C6466281A12C4200094603C /* NSFontSPI.h in Headers */,
                                CE1252471A16C2C200864480 /* NSPointerFunctionsSPI.h in Headers */,
                                49E911D20EF86D47009D0CAF /* TranslateTransformOperation.h in Headers */,
                                854FE7370A2297BE0058D7AD /* Traversal.h in Headers */,
                                37FD4298118368460093C029 /* TreeDepthLimit.h in Headers */,
+                               6F995A241A7078B100A735F4 /* WebGLTransformFeedback.h in Headers */,
                                14D64B5D134A5B6B00E58FDA /* TreeScope.h in Headers */,
                                A77E1FF014AACB6E005B7CB6 /* TreeScopeAdopter.h in Headers */,
                                1419D2C50CEA6F6100FF507A /* TreeShared.h in Headers */,
                                3FBC4AEA189880EF0046EE38 /* WebVideoFullscreenModel.h in Headers */,
                                65FD466519B596F0001E2B4D /* WebVideoFullscreenModelVideoElement.h in Headers */,
                                F12171F616A8CF0B000053CA /* WebVTTElement.h in Headers */,
+                               6F995A221A7078B100A735F4 /* WebGLSampler.h in Headers */,
                                5D21A80313ECE5DF00BB7064 /* WebVTTParser.h in Headers */,
                                B10B6980140C174000BC1C26 /* WebVTTToken.h in Headers */,
                                B10B6982140C174000BC1C26 /* WebVTTTokenizer.h in Headers */,
                                FD315FFE12B0267600C1A359 /* ChannelMergerNode.cpp in Sources */,
                                FD31600112B0267600C1A359 /* ChannelSplitterNode.cpp in Sources */,
                                6550B69F099DF0270090D781 /* CharacterData.cpp in Sources */,
+                               6F995A1F1A7078B100A735F4 /* WebGLQuery.cpp in Sources */,
                                9326DC0C09DAD5D600AFC847 /* CharsetData.cpp in Sources */,
                                F55B3DB11251F12D003EF269 /* CheckboxInputType.cpp in Sources */,
                                93F925440F7EF5B8007E37C9 /* CheckedRadioButtons.cpp in Sources */,
                                BC23E4E10DAACE0F009FDC91 /* CSSGradientValue.cpp in Sources */,
                                650F53DD09D15DDF00C9B0C8 /* CSSGrammar.cpp in Sources */,
                                CD7DBB2818CA19A400C11066 /* CSSGridLineNamesValue.cpp in Sources */,
+                               6F995A391A70833700A735F4 /* JSWebGLVertexArrayObject.cpp in Sources */,
                                CD3E252318046BCD00E27F56 /* CSSGridTemplateAreasValue.cpp in Sources */,
                                FBF89045169E9F1F0052D86E /* CSSGroupingRule.cpp in Sources */,
                                BC23E76C0DAE88A9009FDC91 /* CSSImageGeneratorValue.cpp in Sources */,
                                7A0E770E10C00A8800A0276E /* InspectorFrontendHost.cpp in Sources */,
                                7A54857F14E02D51006AE05A /* InspectorHistory.cpp in Sources */,
                                7ACD88D314C08BD60084EDD2 /* InspectorIndexedDBAgent.cpp in Sources */,
+                               6F995A211A7078B100A735F4 /* WebGLSampler.cpp in Sources */,
                                20D629261253690B00081543 /* InspectorInstrumentation.cpp in Sources */,
                                A5840E1C187B74D500843B10 /* InspectorInstrumentationCookie.cpp in Sources */,
                                71B1E1261640491A00B1880A /* InspectorLayerTreeAgent.cpp in Sources */,
                                B27535620B053814002CE64F /* IntSizeCG.cpp in Sources */,
                                B275357E0B053814002CE64F /* IntSizeMac.mm in Sources */,
                                2D0B4AAC18DA1CCD00434DE1 /* IOSurface.mm in Sources */,
+                               6F995A251A7078B100A735F4 /* WebGLVertexArrayObject.cpp in Sources */,
                                1C21E57C183ED1FF001C289D /* IOSurfacePool.cpp in Sources */,
                                AD9FF6E11908391D003B61E0 /* IOSurfacePoolCocoa.mm in Sources */,
                                07AC47011952102100EE9723 /* ISOVTTCue.cpp in Sources */,
                                B59DD6A211902A52007E9684 /* JSSQLTransactionErrorCallback.cpp in Sources */,
                                51E3F9D60DA05E1D00250911 /* JSStorage.cpp in Sources */,
                                51D0C5160DAA90B7003B3831 /* JSStorageCustom.cpp in Sources */,
+                               6F995A231A7078B100A735F4 /* WebGLTransformFeedback.cpp in Sources */,
                                51E0BAEA0DA55D4A00A9E417 /* JSStorageEvent.cpp in Sources */,
                                0FF50269102BA9430066F39A /* JSStyleMedia.cpp in Sources */,
                                BCE0139A0C0BEF180043860A /* JSStyleSheet.cpp in Sources */,
                                372ADA3B197F687600FC501E /* ProtectionSpaceCocoa.mm in Sources */,
                                1AF8E13312565A4400230FF7 /* ProxyServer.cpp in Sources */,
                                1AF8E1C3125673E000230FF7 /* ProxyServerCFNet.cpp in Sources */,
+                               6F995A331A70833700A735F4 /* JSWebGLSampler.cpp in Sources */,
                                FF945ECB161F7F3600971BC8 /* PseudoElement.cpp in Sources */,
                                0081FEFF16B0A2B6008AAA7A /* PublicSuffixMac.mm in Sources */,
                                CDEE393717974259001D7580 /* PublicURLManager.cpp in Sources */,
                                08FB17C113BC7E9100040086 /* SVGAttributeToPropertyMap.cpp in Sources */,
                                B222799B0D00BF220071B782 /* SVGCircleElement.cpp in Sources */,
                                B222799E0D00BF220071B782 /* SVGClipPathElement.cpp in Sources */,
+                               6F995A311A70833700A735F4 /* JSWebGLQuery.cpp in Sources */,
                                B22279A10D00BF220071B782 /* SVGColor.cpp in Sources */,
                                B22279A40D00BF220071B782 /* SVGComponentTransferFunctionElement.cpp in Sources */,
                                B2227B050D00BFF10071B782 /* SVGCSSComputedStyleDeclaration.cpp in Sources */,
                                B2227AC40D00BF220071B782 /* SVGTests.cpp in Sources */,
                                B2227AC70D00BF220071B782 /* SVGTextContentElement.cpp in Sources */,
                                B2227ACA0D00BF220071B782 /* SVGTextElement.cpp in Sources */,
+                               6F995A371A70833700A735F4 /* JSWebGLTransformFeedback.cpp in Sources */,
                                B2227ACD0D00BF220071B782 /* SVGTextPathElement.cpp in Sources */,
                                B2227AD00D00BF220071B782 /* SVGTextPositioningElement.cpp in Sources */,
                                B2227AD30D00BF220071B782 /* SVGTitleElement.cpp in Sources */,
                                9343CB8112F25E510033C5EE /* TextCodecUTF8.cpp in Sources */,
                                142B97C913138943008BEF4B /* TextControlInnerElements.cpp in Sources */,
                                1AF7AFC71A48A8BC00C8E4E7 /* SecurityOriginPolicy.cpp in Sources */,
+                               6F995A351A70833700A735F4 /* JSWebGLSync.cpp in Sources */,
                                97BC84B312371180000C6161 /* TextDocument.cpp in Sources */,
                                97BC84831236FD93000C6161 /* TextDocumentParser.cpp in Sources */,
                                B2C3DA460D006C1D00EF6F26 /* TextEncoding.cpp in Sources */,
                                2E4346480F546A8200B0F1BA /* WorkerGlobalScope.cpp in Sources */,
                                51D719FB181106E00016DC51 /* WorkerGlobalScopeIndexedDatabase.cpp in Sources */,
                                97F8E665151D4A4B00D2D181 /* WorkerGlobalScopeNotifications.cpp in Sources */,
+                               6F995A151A70756200A735F4 /* WebGLSync.cpp in Sources */,
                                F36E07A41358A8BE00AACBC9 /* WorkerInspectorController.cpp in Sources */,
                                2E43464C0F546A8200B0F1BA /* WorkerLocation.cpp in Sources */,
                                2E43464F0F546A8200B0F1BA /* WorkerMessagingProxy.cpp in Sources */,
diff --git a/Source/WebCore/html/canvas/WebGLQuery.cpp b/Source/WebCore/html/canvas/WebGLQuery.cpp
new file mode 100644 (file)
index 0000000..21c37d5
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(WEBGL)
+#include "WebGLQuery.h"
+
+#include "WebGLContextGroup.h"
+#include "WebGLRenderingContextBase.h"
+
+namespace WebCore {
+    
+PassRefPtr<WebGLQuery> WebGLQuery::create(WebGLRenderingContextBase* ctx)
+{
+    return adoptRef(new WebGLQuery(ctx));
+}
+
+WebGLQuery::~WebGLQuery()
+{
+    deleteObject(0);
+}
+
+WebGLQuery::WebGLQuery(WebGLRenderingContextBase* ctx)
+    : WebGLSharedObject(ctx)
+{
+    // FIXME: Call createQuery from GraphicsContext3D.
+}
+
+void WebGLQuery::deleteObjectImpl(GraphicsContext3D* context3d, Platform3DObject object)
+{
+    UNUSED_PARAM(context3d);
+    UNUSED_PARAM(object);
+    // FIXME: Call deleteQuery from GraphicsContext3D.
+}
+
+}
+
+#endif // ENABLE(WEBGL)
diff --git a/Source/WebCore/html/canvas/WebGLQuery.h b/Source/WebCore/html/canvas/WebGLQuery.h
new file mode 100644 (file)
index 0000000..9a82372
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#ifndef WebGLQuery_h
+#define WebGLQuery_h
+
+#include "WebGLSharedObject.h"
+
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+class WebGLQuery final : public WebGLSharedObject {
+public:
+    virtual ~WebGLQuery();
+
+    static PassRefPtr<WebGLQuery> create(WebGLRenderingContextBase*);
+
+protected:
+    WebGLQuery(WebGLRenderingContextBase*);
+
+    virtual void deleteObjectImpl(GraphicsContext3D*, Platform3DObject) override;
+
+private:
+    virtual bool isQuery() const override { return true; }
+};
+
+} // namespace WebCore
+
+#endif // WebGLQuery_h
diff --git a/Source/WebCore/html/canvas/WebGLQuery.idl b/Source/WebCore/html/canvas/WebGLQuery.idl
new file mode 100644 (file)
index 0000000..23d353c
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+[
+    Conditional=WEBGL
+] interface WebGLQuery {
+};
diff --git a/Source/WebCore/html/canvas/WebGLSampler.cpp b/Source/WebCore/html/canvas/WebGLSampler.cpp
new file mode 100644 (file)
index 0000000..585a8af
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(WEBGL)
+#include "WebGLSampler.h"
+
+#include "WebGLContextGroup.h"
+#include "WebGLRenderingContextBase.h"
+
+namespace WebCore {
+    
+PassRefPtr<WebGLSampler> WebGLSampler::create(WebGLRenderingContextBase* ctx)
+{
+    return adoptRef(new WebGLSampler(ctx));
+}
+
+WebGLSampler::~WebGLSampler()
+{
+    deleteObject(0);
+}
+
+WebGLSampler::WebGLSampler(WebGLRenderingContextBase* ctx)
+    : WebGLSharedObject(ctx)
+{
+    // FIXME: Call createSampler from GraphicsContext3D.
+}
+
+void WebGLSampler::deleteObjectImpl(GraphicsContext3D* context3d, Platform3DObject object)
+{
+    UNUSED_PARAM(context3d);
+    UNUSED_PARAM(object);
+    // FIXME: Call deleteSampler from GraphicsContext3D.
+}
+
+}
+
+#endif // ENABLE(WEBGL)
diff --git a/Source/WebCore/html/canvas/WebGLSampler.h b/Source/WebCore/html/canvas/WebGLSampler.h
new file mode 100644 (file)
index 0000000..1f2648b
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#ifndef WebGLSampler_h
+#define WebGLSampler_h
+
+#include "WebGLSharedObject.h"
+
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+class WebGLSampler final : public WebGLSharedObject {
+public:
+    virtual ~WebGLSampler();
+
+    static PassRefPtr<WebGLSampler> create(WebGLRenderingContextBase*);
+
+protected:
+    WebGLSampler(WebGLRenderingContextBase*);
+
+    virtual void deleteObjectImpl(GraphicsContext3D*, Platform3DObject) override;
+
+private:
+    virtual bool isSampler() const override { return true; }
+};
+
+} // namespace WebCore
+
+#endif // WebGLSampler_h
diff --git a/Source/WebCore/html/canvas/WebGLSampler.idl b/Source/WebCore/html/canvas/WebGLSampler.idl
new file mode 100644 (file)
index 0000000..4e544ca
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+[
+    Conditional=WEBGL
+] interface WebGLSampler {
+};
index db79856384a2888eb7caec7b1aaf529d37f1dec3..80e56289e3ba542c96cb45618cfa1f3cb0b9f83e 100644 (file)
@@ -44,9 +44,14 @@ public:
 
     virtual bool isBuffer() const { return false; }
     virtual bool isProgram() const { return false; }
+    virtual bool isQuery() const { return false; }
     virtual bool isRenderbuffer() const { return false; }
+    virtual bool isSampler() const { return false; }
     virtual bool isShader() const { return false; }
+    virtual bool isSync() const { return false; }
     virtual bool isTexture() const { return false; }
+    virtual bool isTransformFeedback() const { return false; }
+    virtual bool isVertexArrayObject() const { return false; }
 
     virtual bool validate(const WebGLContextGroup* contextGroup, const WebGLRenderingContextBase*) const override
     {
diff --git a/Source/WebCore/html/canvas/WebGLSync.cpp b/Source/WebCore/html/canvas/WebGLSync.cpp
new file mode 100644 (file)
index 0000000..fae21bf
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(WEBGL)
+#include "WebGLSync.h"
+
+#include "WebGLContextGroup.h"
+#include "WebGLRenderingContextBase.h"
+
+namespace WebCore {
+    
+PassRefPtr<WebGLSync> WebGLSync::create(WebGLRenderingContextBase* ctx)
+{
+    return adoptRef(new WebGLSync(ctx));
+}
+
+WebGLSync::~WebGLSync()
+{
+    deleteObject(0);
+}
+
+WebGLSync::WebGLSync(WebGLRenderingContextBase* ctx)
+    : WebGLSharedObject(ctx)
+{
+    // FIXME: Call fenceSync from GraphicsContext3D.
+}
+
+void WebGLSync::deleteObjectImpl(GraphicsContext3D* context3d, Platform3DObject object)
+{
+    UNUSED_PARAM(context3d);
+    UNUSED_PARAM(object);
+    // FIXME: Call deleteSync from GraphicsContext3D.
+}
+
+}
+
+#endif // ENABLE(WEBGL)
diff --git a/Source/WebCore/html/canvas/WebGLSync.h b/Source/WebCore/html/canvas/WebGLSync.h
new file mode 100644 (file)
index 0000000..898605f
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#ifndef WebGLSync_h
+#define WebGLSync_h
+
+#include "WebGLSharedObject.h"
+
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+class WebGLSync final : public WebGLSharedObject {
+public:
+    virtual ~WebGLSync();
+
+    static PassRefPtr<WebGLSync> create(WebGLRenderingContextBase*);
+
+protected:
+    WebGLSync(WebGLRenderingContextBase*);
+
+    virtual void deleteObjectImpl(GraphicsContext3D*, Platform3DObject) override;
+
+private:
+    virtual bool isSync() const override { return true; }
+};
+
+} // namespace WebCore
+
+#endif // WebGLSync_h
diff --git a/Source/WebCore/html/canvas/WebGLSync.idl b/Source/WebCore/html/canvas/WebGLSync.idl
new file mode 100644 (file)
index 0000000..e1a9947
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+[
+    Conditional=WEBGL
+] interface WebGLSync {
+};
diff --git a/Source/WebCore/html/canvas/WebGLTransformFeedback.cpp b/Source/WebCore/html/canvas/WebGLTransformFeedback.cpp
new file mode 100644 (file)
index 0000000..cd9ee9d
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(WEBGL)
+#include "WebGLTransformFeedback.h"
+
+#include "WebGLContextGroup.h"
+#include "WebGLRenderingContextBase.h"
+
+namespace WebCore {
+    
+PassRefPtr<WebGLTransformFeedback> WebGLTransformFeedback::create(WebGLRenderingContextBase* ctx)
+{
+    return adoptRef(new WebGLTransformFeedback(ctx));
+}
+
+WebGLTransformFeedback::~WebGLTransformFeedback()
+{
+    deleteObject(0);
+}
+
+WebGLTransformFeedback::WebGLTransformFeedback(WebGLRenderingContextBase* ctx)
+    : WebGLSharedObject(ctx)
+{
+    // FIXME: Call createTransformFeedback from GraphicsContext3D.
+}
+
+void WebGLTransformFeedback::deleteObjectImpl(GraphicsContext3D* context3d, Platform3DObject object)
+{
+    UNUSED_PARAM(context3d);
+    UNUSED_PARAM(object);
+    // FIXME: Call deleteTransformFeedback from GraphicsContext3D.
+}
+
+}
+
+#endif // ENABLE(WEBGL)
diff --git a/Source/WebCore/html/canvas/WebGLTransformFeedback.h b/Source/WebCore/html/canvas/WebGLTransformFeedback.h
new file mode 100644 (file)
index 0000000..1dc88eb
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#ifndef WebGLTransformFeedback_h
+#define WebGLTransformFeedback_h
+
+#include "WebGLSharedObject.h"
+
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+class WebGLTransformFeedback final : public WebGLSharedObject {
+public:
+    virtual ~WebGLTransformFeedback();
+
+    static PassRefPtr<WebGLTransformFeedback> create(WebGLRenderingContextBase*);
+
+protected:
+    WebGLTransformFeedback(WebGLRenderingContextBase*);
+
+    virtual void deleteObjectImpl(GraphicsContext3D*, Platform3DObject) override;
+
+private:
+    virtual bool isTransformFeedback() const override { return true; }
+};
+
+} // namespace WebCore
+
+#endif // WebGLTransformFeedback_h
diff --git a/Source/WebCore/html/canvas/WebGLTransformFeedback.idl b/Source/WebCore/html/canvas/WebGLTransformFeedback.idl
new file mode 100644 (file)
index 0000000..22b8847
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+[
+    Conditional=WEBGL
+] interface WebGLTransformFeedback {
+};
diff --git a/Source/WebCore/html/canvas/WebGLVertexArrayObject.cpp b/Source/WebCore/html/canvas/WebGLVertexArrayObject.cpp
new file mode 100644 (file)
index 0000000..9bb54d1
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(WEBGL)
+#include "WebGLVertexArrayObject.h"
+
+#include "WebGLContextGroup.h"
+#include "WebGLRenderingContextBase.h"
+
+namespace WebCore {
+    
+PassRefPtr<WebGLVertexArrayObject> WebGLVertexArrayObject::create(WebGLRenderingContextBase* ctx)
+{
+    return adoptRef(new WebGLVertexArrayObject(ctx));
+}
+
+WebGLVertexArrayObject::~WebGLVertexArrayObject()
+{
+    deleteObject(0);
+}
+
+WebGLVertexArrayObject::WebGLVertexArrayObject(WebGLRenderingContextBase* ctx)
+    : WebGLSharedObject(ctx)
+{
+    // FIXME: Call createVertexArray from GraphicsContext3D.
+}
+
+void WebGLVertexArrayObject::deleteObjectImpl(GraphicsContext3D* context3d, Platform3DObject object)
+{
+    UNUSED_PARAM(context3d);
+    UNUSED_PARAM(object);
+    // FIXME: Call deleteVertexArray from GraphicsContext3D.
+}
+
+}
+
+#endif // ENABLE(WEBGL)
diff --git a/Source/WebCore/html/canvas/WebGLVertexArrayObject.h b/Source/WebCore/html/canvas/WebGLVertexArrayObject.h
new file mode 100644 (file)
index 0000000..3c88053
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#ifndef WebGLVertexArrayObject_h
+#define WebGLVertexArrayObject_h
+
+#include "WebGLSharedObject.h"
+
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+class WebGLVertexArrayObject final : public WebGLSharedObject {
+public:
+    virtual ~WebGLVertexArrayObject();
+
+    static PassRefPtr<WebGLVertexArrayObject> create(WebGLRenderingContextBase*);
+
+protected:
+    WebGLVertexArrayObject(WebGLRenderingContextBase*);
+
+    virtual void deleteObjectImpl(GraphicsContext3D*, Platform3DObject) override;
+
+private:
+    virtual bool isTransformFeedback() const override { return true; }
+};
+
+} // namespace WebCore
+
+#endif // WebGLVertexArrayObject_h
diff --git a/Source/WebCore/html/canvas/WebGLVertexArrayObject.idl b/Source/WebCore/html/canvas/WebGLVertexArrayObject.idl
new file mode 100644 (file)
index 0000000..87ffab6
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+[
+    Conditional=WEBGL
+] interface WebGLVertexArrayObject {
+};