diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2016-04-07 03:59:01 +0530 |
---|---|---|
committer | bors-servo <lbergstrom+bors@mozilla.com> | 2016-04-07 03:59:01 +0530 |
commit | 4cc241c858ce8ee7894495d082a3bfc6233d80e8 (patch) | |
tree | bbbd2c0403cc8aa49a57a793057aca22c9e9e526 /components/script/dom/webglrenderingcontext.rs | |
parent | 256b865055c10082731b218f41373d47ad632062 (diff) | |
parent | 56eef10718dfb8c43430c58c0a236fae1d11b5bc (diff) | |
download | servo-4cc241c858ce8ee7894495d082a3bfc6233d80e8.tar.gz servo-4cc241c858ce8ee7894495d082a3bfc6233d80e8.zip |
Auto merge of #10433 - saurvs:pr3, r=emilio
Implement WebGLRenderingContext.getActiveUniform()
Fixes https://github.com/servo/servo/issues/10397
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10433)
<!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/webglrenderingcontext.rs')
-rw-r--r-- | components/script/dom/webglrenderingcontext.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs index 185615302c6..920fd91bbad 100644 --- a/components/script/dom/webglrenderingcontext.rs +++ b/components/script/dom/webglrenderingcontext.rs @@ -16,6 +16,7 @@ use dom::event::{Event, EventBubbles, EventCancelable}; use dom::htmlcanvaselement::HTMLCanvasElement; use dom::htmlcanvaselement::utils as canvas_utils; use dom::node::{Node, NodeDamage, window_from_node}; +use dom::webglactiveinfo::WebGLActiveInfo; use dom::webglbuffer::WebGLBuffer; use dom::webglcontextevent::WebGLContextEvent; use dom::webglframebuffer::WebGLFramebuffer; @@ -795,6 +796,17 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { } // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.10 + fn GetActiveUniform(&self, program: Option<&WebGLProgram>, index: u32) -> Option<Root<WebGLActiveInfo>> { + program.and_then(|p| match p.get_active_uniform(index) { + Ok(ret) => Some(ret), + Err(error) => { + self.webgl_error(error); + None + }, + }) + } + + // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.10 fn GetAttribLocation(&self, program: Option<&WebGLProgram>, name: DOMString) -> i32 { if let Some(program) = program { handle_potential_webgl_error!(self, program.get_attrib_location(name), None).unwrap_or(-1) |