aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webglrenderingcontext.rs
diff options
context:
space:
mode:
authorJosh Abraham <sinisterpatrician@gmail.com>2018-11-17 08:18:12 -0500
committerJosh Abraham <sinisterpatrician@gmail.com>2018-11-17 08:18:12 -0500
commit4b5b3c3adb11b7eb8c123bc67ae5e852589ce18f (patch)
treeba475b37e89ecf8f0110c2e7584275e81b6690d8 /components/script/dom/webglrenderingcontext.rs
parent369983211da48f6e8c2d54792b8d34192582f7bc (diff)
downloadservo-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.rs8
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 |