Rex Dieter 41a11e7
Index: trunk/Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp
Rex Dieter 41a11e7
===================================================================
Rex Dieter 41a11e7
--- trunk/Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp	(revision 136430)
Rex Dieter 41a11e7
+++ trunk/Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp	(revision 142567)
Rex Dieter 41a11e7
@@ -33,7 +33,14 @@
Rex Dieter 41a11e7
 namespace WebCore {
Rex Dieter 41a11e7
 
Rex Dieter 41a11e7
-inline static int getValidationResultValue(const ShHandle compiler, ShShaderInfo shaderInfo)
Rex Dieter 41a11e7
-{
Rex Dieter 41a11e7
-    int value = -1;
Rex Dieter 41a11e7
+// Temporary typedef to support an incompatible change in the ANGLE API.
Rex Dieter 41a11e7
+#if !defined(ANGLE_SH_VERSION) || ANGLE_SH_VERSION < 108
Rex Dieter 41a11e7
+typedef int ANGLEGetInfoType;
Rex Dieter 41a11e7
+#else
Rex Dieter 41a11e7
+typedef size_t ANGLEGetInfoType;
Rex Dieter 41a11e7
+#endif
Rex Dieter 41a11e7
+
Rex Dieter 41a11e7
+inline static ANGLEGetInfoType getValidationResultValue(const ShHandle compiler, ShShaderInfo shaderInfo)
Rex Dieter 41a11e7
+{
Rex Dieter 41a11e7
+    ANGLEGetInfoType value = 0;
Rex Dieter 41a11e7
     ShGetInfo(compiler, shaderInfo, &value);
Rex Dieter 41a11e7
     return value;
Rex Dieter 41a11e7
@@ -56,13 +63,11 @@
Rex Dieter 41a11e7
     }
Rex Dieter 41a11e7
 
Rex Dieter 41a11e7
-    int numSymbols = getValidationResultValue(compiler, symbolType);
Rex Dieter 41a11e7
-    if (numSymbols < 0)
Rex Dieter 41a11e7
-        return false;
Rex Dieter 41a11e7
-
Rex Dieter 41a11e7
-    int maxNameLength = getValidationResultValue(compiler, symbolMaxNameLengthType);
Rex Dieter 41a11e7
+    ANGLEGetInfoType numSymbols = getValidationResultValue(compiler, symbolType);
Rex Dieter 41a11e7
+
Rex Dieter 41a11e7
+    ANGLEGetInfoType maxNameLength = getValidationResultValue(compiler, symbolMaxNameLengthType);
Rex Dieter 41a11e7
     if (maxNameLength <= 1)
Rex Dieter 41a11e7
         return false;
Rex Dieter 41a11e7
 
Rex Dieter 41a11e7
-    int maxMappedNameLength = getValidationResultValue(compiler, SH_MAPPED_NAME_MAX_LENGTH);
Rex Dieter 41a11e7
+    ANGLEGetInfoType maxMappedNameLength = getValidationResultValue(compiler, SH_MAPPED_NAME_MAX_LENGTH);
Rex Dieter 41a11e7
     if (maxMappedNameLength <= 1)
Rex Dieter 41a11e7
         return false;
Rex Dieter 41a11e7
@@ -72,7 +77,7 @@
Rex Dieter 41a11e7
     Vector<char, 256> mappedNameBuffer(maxMappedNameLength);
Rex Dieter 41a11e7
     
Rex Dieter 41a11e7
-    for (int i = 0; i < numSymbols; ++i) {
Rex Dieter 41a11e7
+    for (ANGLEGetInfoType i = 0; i < numSymbols; ++i) {
Rex Dieter 41a11e7
         ANGLEShaderSymbol symbol;
Rex Dieter 41a11e7
-        int nameLength = -1;
Rex Dieter 41a11e7
+        ANGLEGetInfoType nameLength = 0;
Rex Dieter 41a11e7
         switch (symbolType) {
Rex Dieter 41a11e7
         case SH_ACTIVE_ATTRIBUTES:
Rex Dieter 41a11e7
@@ -88,5 +93,5 @@
Rex Dieter 41a11e7
             return false;
Rex Dieter 41a11e7
         }
Rex Dieter 41a11e7
-        if (nameLength <= 0)
Rex Dieter 41a11e7
+        if (!nameLength)
Rex Dieter 41a11e7
             return false;
Rex Dieter 41a11e7