Auto merge of #5926 - ecoal95:webgl-object-inheritance, r=jdm

Uses WebGLObject inheritance as specified by the WebGL 1.0 spec.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5926)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2015-05-03 19:59:08 -05:00
commit 72ca16ed55
5 changed files with 17 additions and 13 deletions

View file

@ -6,18 +6,19 @@
use dom::bindings::codegen::Bindings::WebGLBufferBinding; use dom::bindings::codegen::Bindings::WebGLBufferBinding;
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::{Temporary, JSRef}; use dom::bindings::js::{Temporary, JSRef};
use dom::bindings::utils::{Reflector, reflect_dom_object}; use dom::bindings::utils::reflect_dom_object;
use dom::webglobject::WebGLObject;
#[dom_struct] #[dom_struct]
pub struct WebGLBuffer { pub struct WebGLBuffer {
reflector_: Reflector, webgl_object: WebGLObject,
id: u32, id: u32,
} }
impl WebGLBuffer { impl WebGLBuffer {
fn new_inherited(id: u32) -> WebGLBuffer { fn new_inherited(id: u32) -> WebGLBuffer {
WebGLBuffer { WebGLBuffer {
reflector_: Reflector::new(), webgl_object: WebGLObject::new_inherited(),
id: id, id: id,
} }
} }

View file

@ -14,7 +14,7 @@ pub struct WebGLObject {
} }
impl WebGLObject { impl WebGLObject {
fn new_inherited() -> WebGLObject { pub fn new_inherited() -> WebGLObject {
WebGLObject { WebGLObject {
reflector_: Reflector::new(), reflector_: Reflector::new(),
} }

View file

@ -6,18 +6,19 @@
use dom::bindings::codegen::Bindings::WebGLProgramBinding; use dom::bindings::codegen::Bindings::WebGLProgramBinding;
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::{Temporary, JSRef}; use dom::bindings::js::{Temporary, JSRef};
use dom::bindings::utils::{Reflector, reflect_dom_object}; use dom::bindings::utils::reflect_dom_object;
use dom::webglobject::WebGLObject;
#[dom_struct] #[dom_struct]
pub struct WebGLProgram { pub struct WebGLProgram {
reflector_: Reflector, webgl_object: WebGLObject,
id: u32, id: u32,
} }
impl WebGLProgram { impl WebGLProgram {
fn new_inherited(id: u32) -> WebGLProgram { fn new_inherited(id: u32) -> WebGLProgram {
WebGLProgram { WebGLProgram {
reflector_: Reflector::new(), webgl_object: WebGLObject::new_inherited(),
id: id, id: id,
} }
} }

View file

@ -6,18 +6,19 @@
use dom::bindings::codegen::Bindings::WebGLShaderBinding; use dom::bindings::codegen::Bindings::WebGLShaderBinding;
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::{Temporary, JSRef}; use dom::bindings::js::{Temporary, JSRef};
use dom::bindings::utils::{Reflector, reflect_dom_object}; use dom::bindings::utils::reflect_dom_object;
use dom::webglobject::WebGLObject;
#[dom_struct] #[dom_struct]
pub struct WebGLShader { pub struct WebGLShader {
reflector_: Reflector, webgl_object: WebGLObject,
id: u32, id: u32,
} }
impl WebGLShader { impl WebGLShader {
fn new_inherited(id: u32) -> WebGLShader { fn new_inherited(id: u32) -> WebGLShader {
WebGLShader { WebGLShader {
reflector_: Reflector::new(), webgl_object: WebGLObject::new_inherited(),
id: id, id: id,
} }
} }

View file

@ -6,18 +6,19 @@
use dom::bindings::codegen::Bindings::WebGLUniformLocationBinding; use dom::bindings::codegen::Bindings::WebGLUniformLocationBinding;
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::{Temporary, JSRef}; use dom::bindings::js::{Temporary, JSRef};
use dom::bindings::utils::{Reflector, reflect_dom_object}; use dom::bindings::utils::reflect_dom_object;
use dom::webglobject::WebGLObject;
#[dom_struct] #[dom_struct]
pub struct WebGLUniformLocation { pub struct WebGLUniformLocation {
reflector_: Reflector, webgl_object: WebGLObject,
id: u32, id: u32,
} }
impl WebGLUniformLocation { impl WebGLUniformLocation {
fn new_inherited(id: u32) -> WebGLUniformLocation { fn new_inherited(id: u32) -> WebGLUniformLocation {
WebGLUniformLocation { WebGLUniformLocation {
reflector_: Reflector::new(), webgl_object: WebGLObject::new_inherited(),
id: id, id: id,
} }
} }