mirror of
https://github.com/servo/servo.git
synced 2025-07-23 07:13:52 +01:00
Prevent use of reserved names in BindAttribLocation
This commit is contained in:
parent
b00c2740e3
commit
a67a744057
3 changed files with 11 additions and 8 deletions
|
@ -147,7 +147,7 @@ impl WebGLProgram {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if the name is reserved
|
// Check if the name is reserved
|
||||||
if name.starts_with("webgl") || name.starts_with("_webgl_") {
|
if name.starts_with("gl_") || name.starts_with("webgl") || name.starts_with("_webgl_") {
|
||||||
return Err(WebGLError::InvalidOperation);
|
return Err(WebGLError::InvalidOperation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -185,6 +185,10 @@ impl WebGLProgram {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if the name is reserved
|
// Check if the name is reserved
|
||||||
|
if name.starts_with("gl_") {
|
||||||
|
return Err(WebGLError::InvalidOperation);
|
||||||
|
}
|
||||||
|
|
||||||
if name.starts_with("webgl") || name.starts_with("_webgl_") {
|
if name.starts_with("webgl") || name.starts_with("_webgl_") {
|
||||||
return Ok(None);
|
return Ok(None);
|
||||||
}
|
}
|
||||||
|
|
|
@ -979,12 +979,10 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
||||||
fn GetUniformLocation(&self,
|
fn GetUniformLocation(&self,
|
||||||
program: Option<&WebGLProgram>,
|
program: Option<&WebGLProgram>,
|
||||||
name: DOMString) -> Option<Root<WebGLUniformLocation>> {
|
name: DOMString) -> Option<Root<WebGLUniformLocation>> {
|
||||||
if let Some(program) = program {
|
program.and_then(|p| {
|
||||||
handle_potential_webgl_error!(self, program.get_uniform_location(name), None)
|
handle_potential_webgl_error!(self, p.get_uniform_location(name), None)
|
||||||
.map(|location| WebGLUniformLocation::new(self.global().r(), location, program.id()))
|
.map(|location| WebGLUniformLocation::new(self.global().r(), location, p.id()))
|
||||||
} else {
|
})
|
||||||
None
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.3
|
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.3
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
[gl-bind-attrib-location-test.html]
|
[gl-bind-attrib-location-test.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
expected: CRASH
|
[WebGL test #6: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).]
|
||||||
|
expected: FAIL
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue