aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webglrenderingcontext.rs
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2016-04-07 03:59:01 +0530
committerbors-servo <lbergstrom+bors@mozilla.com>2016-04-07 03:59:01 +0530
commit4cc241c858ce8ee7894495d082a3bfc6233d80e8 (patch)
treebbbd2c0403cc8aa49a57a793057aca22c9e9e526 /components/script/dom/webglrenderingcontext.rs
parent256b865055c10082731b218f41373d47ad632062 (diff)
parent56eef10718dfb8c43430c58c0a236fae1d11b5bc (diff)
downloadservo-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.rs12
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)