--- scripts/webgl-perf-tests/webgl-performance-tests.html	2012-03-29 19:54:37.000000000 
+++ scripts/webgl-perf-tests/webgl-performance-tests.html	2012-04-10 18:11:21.000000000 
@@ -42,13 +42,28 @@
         else
           result = testsRun[i].testResult + "&nbsp;ms";
         t += "<tr style='background-color:" + color + "'><td><a href='" + testPageURLs[i] + "'>" + testPageURLs[i] + "</a></td><td>" + result + "</td><td><i>" + testsRun[i].testDescription + "</i></td></tr>";
       }
       t += "</table>";
       resultsDiv.innerHTML = t;
+      var msg = "&time_ms_geom_mean=";
+      msg += (Math.round(100 * Math.exp(sumOfLogResults / numberOfResults)) / 100);
+      msg += "&summary=" + escape(t);
+      postFinalResults(msg);
     }
+  }
+  
+  // send results to autotest graphics_WebGLConformance.py
+  postFinalResults = function(msg) {
+    var xhr = new XMLHttpRequest();
+    xhr.open('POST', 'http://localhost:8000/WebGL/results', false);
+    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+    xhr.onreadystatechange = function() {
+      if (xhr.readyState != 4) { return; }
+    }
+    xhr.send(msg);
   }
 
   function messageListener(e) {
     if (e.data.testDescription) {
       testsRun.push(e.data);
       if (e.data.testResult) {

