diff options
author | Josh Abraham <sinisterpatrician@gmail.com> | 2018-11-17 08:18:12 -0500 |
---|---|---|
committer | Josh Abraham <sinisterpatrician@gmail.com> | 2018-11-17 08:18:12 -0500 |
commit | 4b5b3c3adb11b7eb8c123bc67ae5e852589ce18f (patch) | |
tree | ba475b37e89ecf8f0110c2e7584275e81b6690d8 /components/script/dom/webglrenderingcontext.rs | |
parent | 369983211da48f6e8c2d54792b8d34192582f7bc (diff) | |
download | servo-4b5b3c3adb11b7eb8c123bc67ae5e852589ce18f.tar.gz servo-4b5b3c3adb11b7eb8c123bc67ae5e852589ce18f.zip |
Add GetShaderPrecisionFormat argument validation
This patch adds a check on the shader_type argument. If it is not one either
FRAGMENT_SHADER or VERTEX_SHADER, we return INVALID_ENUM.
Diffstat (limited to 'components/script/dom/webglrenderingcontext.rs')
-rw-r--r-- | components/script/dom/webglrenderingcontext.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs index a129a05fcfd..3b1ea63088e 100644 --- a/components/script/dom/webglrenderingcontext.rs +++ b/components/script/dom/webglrenderingcontext.rs @@ -2588,6 +2588,14 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { shader_type: u32, precision_type: u32, ) -> Option<DomRoot<WebGLShaderPrecisionFormat>> { + match shader_type { + constants::FRAGMENT_SHADER | constants::VERTEX_SHADER => (), + _ => { + self.webgl_error(InvalidEnum); + return None; + }, + } + match precision_type { constants::LOW_FLOAT | constants::MEDIUM_FLOAT | |