Auto merge of #6183 - ecoal95:webglcontextattributes, r=nox

r? @jdm

I couldn't add the `getContextAttributes` method since `CodegenRust`
doesn't know how to return a dictionary value, I'll take a look at it ASAP.

I think the helper functions can return directly the renderer, since they're used just for that, but I wanted to hear your opinions about this.

By the way I'm interested in adding more serious tests for WebGL, and I think the [khronos conformance suit](https://github.com/KhronosGroup/WebGL/tree/master/conformance-suites/1.0.3) should be the best option.

Should I try to integrate it in wpt, or making a `tests/webgl` directory (or similar) inside the servo tree? (Maybe this question should be for @Ms2ger)

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6183)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2015-06-01 08:37:48 -05:00
commit 0de09b936e
16 changed files with 254 additions and 80 deletions

View file

@ -0,0 +1,39 @@
<meta charset="utf-8">
<title>WebGL Context Attributes test</title>
<script>
(function () {
var canvas = document.createElement('canvas'),
closure = function() {},
gl, attributes;
closure.alpha = false;
closure.antialias = "";
gl = canvas.getContext("webgl", closure);
if ( ! gl ) {
console.log("Passing a closure to `getContext` didn't generate a context");
gl = canvas.getContext("webgl", { alpha: false, antialias: "" });
}
if ( ! gl ) {
console.error("Unable to generate a WebGL context");
return;
}
attributes = gl.getContextAttributes();
console.log("Got context attributes: ", JSON.stringify(attributes));
if ( attributes.alpha )
console.error("Alpha not expected");
if ( attributes.antialias )
console.error("Antialias not expected, should be casted to false");
gl = canvas.getContext("webgl", { alpha: true });
attributes = gl.getContextAttributes();
if ( attributes.alpha )
console.error("Should have returned the previous context attributes");
})();
</script>