aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2016-11-27 13:29:22 +0100
committerAnthony Ramine <n.oxyde@gmail.com>2016-11-30 23:23:39 +0100
commit8af2327e95fe2f229df27074b868aad56bce2252 (patch)
tree889b7ddc7fd0353990a7194e3e81e3629727b4bd
parent6210bede8b978a353b217f96de3ac120c25ff17c (diff)
downloadservo-8af2327e95fe2f229df27074b868aad56bce2252.tar.gz
servo-8af2327e95fe2f229df27074b868aad56bce2252.zip
Expose WebGL-related interfaces only in Window
-rw-r--r--components/script/dom/document.rs2
-rw-r--r--components/script/dom/htmlcanvaselement.rs2
-rw-r--r--components/script/dom/webglactiveinfo.rs6
-rw-r--r--components/script/dom/webglbuffer.rs10
-rw-r--r--components/script/dom/webglcontextevent.rs11
-rw-r--r--components/script/dom/webglframebuffer.rs10
-rw-r--r--components/script/dom/webglobject.rs6
-rw-r--r--components/script/dom/webglprogram.rs14
-rw-r--r--components/script/dom/webglrenderbuffer.rs10
-rw-r--r--components/script/dom/webglrenderingcontext.rs27
-rw-r--r--components/script/dom/webglshader.rs13
-rw-r--r--components/script/dom/webglshaderprecisionformat.rs6
-rw-r--r--components/script/dom/webgltexture.rs10
-rw-r--r--components/script/dom/webgluniformlocation.rs6
-rw-r--r--components/script/dom/webidls/WebGLActiveInfo.webidl1
-rw-r--r--components/script/dom/webidls/WebGLBuffer.webidl1
-rw-r--r--components/script/dom/webidls/WebGLContextEvent.webidl3
-rw-r--r--components/script/dom/webidls/WebGLFramebuffer.webidl1
-rw-r--r--components/script/dom/webidls/WebGLObject.webidl1
-rw-r--r--components/script/dom/webidls/WebGLProgram.webidl1
-rw-r--r--components/script/dom/webidls/WebGLRenderbuffer.webidl1
-rw-r--r--components/script/dom/webidls/WebGLRenderingContext.webidl3
-rw-r--r--components/script/dom/webidls/WebGLShader.webidl1
-rw-r--r--components/script/dom/webidls/WebGLShaderPrecisionFormat.webidl1
-rw-r--r--components/script/dom/webidls/WebGLTexture.webidl1
-rw-r--r--components/script/dom/webidls/WebGLUniformLocation.webidl1
26 files changed, 82 insertions, 67 deletions
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs
index 7c2e284dd2c..5334402867c 100644
--- a/components/script/dom/document.rs
+++ b/components/script/dom/document.rs
@@ -2426,7 +2426,7 @@ impl DocumentMethods for Document {
)
)),
"webglcontextevent" =>
- Ok(Root::upcast(WebGLContextEvent::new_uninitialized(self.window.upcast()))),
+ Ok(Root::upcast(WebGLContextEvent::new_uninitialized(&self.window))),
"storageevent" => {
let USVString(url) = self.URL();
Ok(Root::upcast(StorageEvent::new_uninitialized(&self.window, DOMString::from(url))))
diff --git a/components/script/dom/htmlcanvaselement.rs b/components/script/dom/htmlcanvaselement.rs
index b5621364c13..b9d7731d652 100644
--- a/components/script/dom/htmlcanvaselement.rs
+++ b/components/script/dom/htmlcanvaselement.rs
@@ -177,7 +177,7 @@ impl HTMLCanvasElement {
GLContextAttributes::default()
};
- let maybe_ctx = WebGLRenderingContext::new(window.upcast(), self, size, attrs);
+ let maybe_ctx = WebGLRenderingContext::new(&window, self, size, attrs);
*self.context.borrow_mut() = maybe_ctx.map( |ctx| CanvasContext::WebGL(JS::from_ref(&*ctx)));
}
diff --git a/components/script/dom/webglactiveinfo.rs b/components/script/dom/webglactiveinfo.rs
index ff82ce3b05f..515d6afa4a0 100644
--- a/components/script/dom/webglactiveinfo.rs
+++ b/components/script/dom/webglactiveinfo.rs
@@ -8,7 +8,7 @@ use dom::bindings::codegen::Bindings::WebGLActiveInfoBinding::WebGLActiveInfoMet
use dom::bindings::js::Root;
use dom::bindings::reflector::{Reflector, reflect_dom_object};
use dom::bindings::str::DOMString;
-use dom::globalscope::GlobalScope;
+use dom::window::Window;
#[dom_struct]
pub struct WebGLActiveInfo {
@@ -29,8 +29,8 @@ impl WebGLActiveInfo {
}
}
- pub fn new(global: &GlobalScope, size: i32, ty: u32, name: DOMString) -> Root<WebGLActiveInfo> {
- reflect_dom_object(box WebGLActiveInfo::new_inherited(size, ty, name), global, WebGLActiveInfoBinding::Wrap)
+ pub fn new(window: &Window, size: i32, ty: u32, name: DOMString) -> Root<WebGLActiveInfo> {
+ reflect_dom_object(box WebGLActiveInfo::new_inherited(size, ty, name), window, WebGLActiveInfoBinding::Wrap)
}
}
diff --git a/components/script/dom/webglbuffer.rs b/components/script/dom/webglbuffer.rs
index 6e19c00ae9f..752511df67a 100644
--- a/components/script/dom/webglbuffer.rs
+++ b/components/script/dom/webglbuffer.rs
@@ -7,8 +7,8 @@ use canvas_traits::CanvasMsg;
use dom::bindings::codegen::Bindings::WebGLBufferBinding;
use dom::bindings::js::Root;
use dom::bindings::reflector::reflect_dom_object;
-use dom::globalscope::GlobalScope;
use dom::webglobject::WebGLObject;
+use dom::window::Window;
use ipc_channel::ipc::IpcSender;
use std::cell::Cell;
use webrender_traits;
@@ -40,21 +40,21 @@ impl WebGLBuffer {
}
}
- pub fn maybe_new(global: &GlobalScope, renderer: IpcSender<CanvasMsg>)
+ pub fn maybe_new(window: &Window, renderer: IpcSender<CanvasMsg>)
-> Option<Root<WebGLBuffer>> {
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
renderer.send(CanvasMsg::WebGL(WebGLCommand::CreateBuffer(sender))).unwrap();
let result = receiver.recv().unwrap();
- result.map(|buffer_id| WebGLBuffer::new(global, renderer, buffer_id))
+ result.map(|buffer_id| WebGLBuffer::new(window, renderer, buffer_id))
}
- pub fn new(global: &GlobalScope,
+ pub fn new(window: &Window,
renderer: IpcSender<CanvasMsg>,
id: WebGLBufferId)
-> Root<WebGLBuffer> {
reflect_dom_object(box WebGLBuffer::new_inherited(renderer, id),
- global, WebGLBufferBinding::Wrap)
+ window, WebGLBufferBinding::Wrap)
}
}
diff --git a/components/script/dom/webglcontextevent.rs b/components/script/dom/webglcontextevent.rs
index c128515e81a..60b8209c56a 100644
--- a/components/script/dom/webglcontextevent.rs
+++ b/components/script/dom/webglcontextevent.rs
@@ -13,6 +13,7 @@ use dom::bindings::reflector::reflect_dom_object;
use dom::bindings::str::DOMString;
use dom::event::{Event, EventBubbles, EventCancelable};
use dom::globalscope::GlobalScope;
+use dom::window::Window;
use servo_atoms::Atom;
#[dom_struct]
@@ -41,25 +42,25 @@ impl WebGLContextEvent {
}
}
- pub fn new_uninitialized(global_ref: &GlobalScope) -> Root<WebGLContextEvent> {
+ pub fn new_uninitialized(window: &Window) -> Root<WebGLContextEvent> {
// according to https://www.khronos.org/registry/webgl/specs/1.0/#5.15 this is
// additional information or the empty string if no additional information is
// available.
let status_message = DOMString::new();
reflect_dom_object(
box WebGLContextEvent::new_inherited(status_message),
- global_ref,
+ window,
WebGLContextEventBinding::Wrap)
}
- pub fn new(global: &GlobalScope,
+ pub fn new(window: &Window,
type_: Atom,
bubbles: EventBubbles,
cancelable: EventCancelable,
status_message: DOMString) -> Root<WebGLContextEvent> {
let event = reflect_dom_object(
box WebGLContextEvent::new_inherited(status_message),
- global,
+ window,
WebGLContextEventBinding::Wrap);
{
@@ -82,7 +83,7 @@ impl WebGLContextEvent {
let cancelable = EventCancelable::from(init.parent.cancelable);
- Ok(WebGLContextEvent::new(global,
+ Ok(WebGLContextEvent::new(global.as_window(),
Atom::from(type_),
bubbles,
cancelable,
diff --git a/components/script/dom/webglframebuffer.rs b/components/script/dom/webglframebuffer.rs
index 643661d67d4..02a767958e2 100644
--- a/components/script/dom/webglframebuffer.rs
+++ b/components/script/dom/webglframebuffer.rs
@@ -9,10 +9,10 @@ use dom::bindings::codegen::Bindings::WebGLFramebufferBinding;
use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::WebGLRenderingContextConstants as constants;
use dom::bindings::js::{HeapGCValue, JS, Root};
use dom::bindings::reflector::reflect_dom_object;
-use dom::globalscope::GlobalScope;
use dom::webglobject::WebGLObject;
use dom::webglrenderbuffer::WebGLRenderbuffer;
use dom::webgltexture::WebGLTexture;
+use dom::window::Window;
use ipc_channel::ipc::IpcSender;
use std::cell::Cell;
use webrender_traits;
@@ -66,21 +66,21 @@ impl WebGLFramebuffer {
}
}
- pub fn maybe_new(global: &GlobalScope, renderer: IpcSender<CanvasMsg>)
+ pub fn maybe_new(window: &Window, renderer: IpcSender<CanvasMsg>)
-> Option<Root<WebGLFramebuffer>> {
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
renderer.send(CanvasMsg::WebGL(WebGLCommand::CreateFramebuffer(sender))).unwrap();
let result = receiver.recv().unwrap();
- result.map(|fb_id| WebGLFramebuffer::new(global, renderer, fb_id))
+ result.map(|fb_id| WebGLFramebuffer::new(window, renderer, fb_id))
}
- pub fn new(global: &GlobalScope,
+ pub fn new(window: &Window,
renderer: IpcSender<CanvasMsg>,
id: WebGLFramebufferId)
-> Root<WebGLFramebuffer> {
reflect_dom_object(box WebGLFramebuffer::new_inherited(renderer, id),
- global,
+ window,
WebGLFramebufferBinding::Wrap)
}
}
diff --git a/components/script/dom/webglobject.rs b/components/script/dom/webglobject.rs
index 0964fc5d0cf..9c7382ce5b5 100644
--- a/components/script/dom/webglobject.rs
+++ b/components/script/dom/webglobject.rs
@@ -6,7 +6,7 @@
use dom::bindings::codegen::Bindings::WebGLObjectBinding;
use dom::bindings::js::Root;
use dom::bindings::reflector::{Reflector, reflect_dom_object};
-use dom::globalscope::GlobalScope;
+use dom::window::Window;
#[dom_struct]
pub struct WebGLObject {
@@ -20,7 +20,7 @@ impl WebGLObject {
}
}
- pub fn new(global: &GlobalScope) -> Root<WebGLObject> {
- reflect_dom_object(box WebGLObject::new_inherited(), global, WebGLObjectBinding::Wrap)
+ pub fn new(window: &Window) -> Root<WebGLObject> {
+ reflect_dom_object(box WebGLObject::new_inherited(), window, WebGLObjectBinding::Wrap)
}
}
diff --git a/components/script/dom/webglprogram.rs b/components/script/dom/webglprogram.rs
index 47807a8086e..2e5188269fa 100644
--- a/components/script/dom/webglprogram.rs
+++ b/components/script/dom/webglprogram.rs
@@ -9,11 +9,11 @@ use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::WebGLRenderi
use dom::bindings::js::{JS, MutNullableHeap, Root};
use dom::bindings::reflector::{Reflectable, reflect_dom_object};
use dom::bindings::str::DOMString;
-use dom::globalscope::GlobalScope;
use dom::webglactiveinfo::WebGLActiveInfo;
use dom::webglobject::WebGLObject;
use dom::webglrenderingcontext::MAX_UNIFORM_AND_ATTRIBUTE_LEN;
use dom::webglshader::WebGLShader;
+use dom::window::Window;
use ipc_channel::ipc::IpcSender;
use std::cell::Cell;
use webrender_traits;
@@ -49,21 +49,21 @@ impl WebGLProgram {
}
}
- pub fn maybe_new(global: &GlobalScope, renderer: IpcSender<CanvasMsg>)
+ pub fn maybe_new(window: &Window, renderer: IpcSender<CanvasMsg>)
-> Option<Root<WebGLProgram>> {
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
renderer.send(CanvasMsg::WebGL(WebGLCommand::CreateProgram(sender))).unwrap();
let result = receiver.recv().unwrap();
- result.map(|program_id| WebGLProgram::new(global, renderer, program_id))
+ result.map(|program_id| WebGLProgram::new(window, renderer, program_id))
}
- pub fn new(global: &GlobalScope,
+ pub fn new(window: &Window,
renderer: IpcSender<CanvasMsg>,
id: WebGLProgramId)
-> Root<WebGLProgram> {
reflect_dom_object(box WebGLProgram::new_inherited(renderer, id),
- global,
+ window,
WebGLProgramBinding::Wrap)
}
}
@@ -231,7 +231,7 @@ impl WebGLProgram {
.unwrap();
receiver.recv().unwrap().map(|(size, ty, name)|
- WebGLActiveInfo::new(&self.global(), size, ty, DOMString::from(name)))
+ WebGLActiveInfo::new(self.global().as_window(), size, ty, DOMString::from(name)))
}
/// glGetActiveAttrib
@@ -245,7 +245,7 @@ impl WebGLProgram {
.unwrap();
receiver.recv().unwrap().map(|(size, ty, name)|
- WebGLActiveInfo::new(&self.global(), size, ty, DOMString::from(name)))
+ WebGLActiveInfo::new(self.global().as_window(), size, ty, DOMString::from(name)))
}
/// glGetAttribLocation
diff --git a/components/script/dom/webglrenderbuffer.rs b/components/script/dom/webglrenderbuffer.rs
index d74d045363a..b9d36f33d1c 100644
--- a/components/script/dom/webglrenderbuffer.rs
+++ b/components/script/dom/webglrenderbuffer.rs
@@ -8,8 +8,8 @@ use dom::bindings::codegen::Bindings::WebGLRenderbufferBinding;
use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::WebGLRenderingContextConstants as constants;
use dom::bindings::js::Root;
use dom::bindings::reflector::reflect_dom_object;
-use dom::globalscope::GlobalScope;
use dom::webglobject::WebGLObject;
+use dom::window::Window;
use ipc_channel::ipc::IpcSender;
use std::cell::Cell;
use webrender_traits;
@@ -42,21 +42,21 @@ impl WebGLRenderbuffer {
}
}
- pub fn maybe_new(global: &GlobalScope, renderer: IpcSender<CanvasMsg>)
+ pub fn maybe_new(window: &Window, renderer: IpcSender<CanvasMsg>)
-> Option<Root<WebGLRenderbuffer>> {
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
renderer.send(CanvasMsg::WebGL(WebGLCommand::CreateRenderbuffer(sender))).unwrap();
let result = receiver.recv().unwrap();
- result.map(|renderbuffer_id| WebGLRenderbuffer::new(global, renderer, renderbuffer_id))
+ result.map(|renderbuffer_id| WebGLRenderbuffer::new(window, renderer, renderbuffer_id))
}
- pub fn new(global: &GlobalScope,
+ pub fn new(window: &Window,
renderer: IpcSender<CanvasMsg>,
id: WebGLRenderbufferId)
-> Root<WebGLRenderbuffer> {
reflect_dom_object(box WebGLRenderbuffer::new_inherited(renderer, id),
- global,
+ window,
WebGLRenderbufferBinding::Wrap)
}
}
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs
index f43576fba63..706dee4834b 100644
--- a/components/script/dom/webglrenderingcontext.rs
+++ b/components/script/dom/webglrenderingcontext.rs
@@ -34,6 +34,7 @@ use dom::webglrenderbuffer::WebGLRenderbuffer;
use dom::webglshader::WebGLShader;
use dom::webgltexture::{TexParameterValue, WebGLTexture};
use dom::webgluniformlocation::WebGLUniformLocation;
+use dom::window::Window;
use euclid::size::Size2D;
use ipc_channel::ipc::{self, IpcSender};
use js::conversions::ConversionBehavior;
@@ -135,13 +136,13 @@ pub struct WebGLRenderingContext {
}
impl WebGLRenderingContext {
- fn new_inherited(global: &GlobalScope,
+ fn new_inherited(window: &Window,
canvas: &HTMLCanvasElement,
size: Size2D<i32>,
attrs: GLContextAttributes)
-> Result<WebGLRenderingContext, String> {
let (sender, receiver) = ipc::channel().unwrap();
- let constellation_chan = global.constellation_chan();
+ let constellation_chan = window.upcast::<GlobalScope>().constellation_chan();
constellation_chan.send(ConstellationMsg::CreateWebGLPaintThread(size, attrs, sender))
.unwrap();
let result = receiver.recv().unwrap();
@@ -167,13 +168,13 @@ impl WebGLRenderingContext {
}
#[allow(unrooted_must_root)]
- pub fn new(global: &GlobalScope, canvas: &HTMLCanvasElement, size: Size2D<i32>, attrs: GLContextAttributes)
+ pub fn new(window: &Window, canvas: &HTMLCanvasElement, size: Size2D<i32>, attrs: GLContextAttributes)
-> Option<Root<WebGLRenderingContext>> {
- match WebGLRenderingContext::new_inherited(global, canvas, size, attrs) {
- Ok(ctx) => Some(reflect_dom_object(box ctx, global, WebGLRenderingContextBinding::Wrap)),
+ match WebGLRenderingContext::new_inherited(window, canvas, size, attrs) {
+ Ok(ctx) => Some(reflect_dom_object(box ctx, window, WebGLRenderingContextBinding::Wrap)),
Err(msg) => {
error!("Couldn't create WebGLRenderingContext: {}", msg);
- let event = WebGLContextEvent::new(global,
+ let event = WebGLContextEvent::new(window,
atom!("webglcontextcreationerror"),
EventBubbles::DoesNotBubble,
EventCancelable::Cancelable,
@@ -1248,27 +1249,27 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
// generated objects, either here or in the webgl thread
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.5
fn CreateBuffer(&self) -> Option<Root<WebGLBuffer>> {
- WebGLBuffer::maybe_new(&self.global(), self.ipc_renderer.clone())
+ WebGLBuffer::maybe_new(self.global().as_window(), self.ipc_renderer.clone())
}
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.6
fn CreateFramebuffer(&self) -> Option<Root<WebGLFramebuffer>> {
- WebGLFramebuffer::maybe_new(&self.global(), self.ipc_renderer.clone())
+ WebGLFramebuffer::maybe_new(self.global().as_window(), self.ipc_renderer.clone())
}
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.7
fn CreateRenderbuffer(&self) -> Option<Root<WebGLRenderbuffer>> {
- WebGLRenderbuffer::maybe_new(&self.global(), self.ipc_renderer.clone())
+ WebGLRenderbuffer::maybe_new(self.global().as_window(), self.ipc_renderer.clone())
}
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.8
fn CreateTexture(&self) -> Option<Root<WebGLTexture>> {
- WebGLTexture::maybe_new(&self.global(), self.ipc_renderer.clone())
+ WebGLTexture::maybe_new(self.global().as_window(), self.ipc_renderer.clone())
}
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.9
fn CreateProgram(&self) -> Option<Root<WebGLProgram>> {
- WebGLProgram::maybe_new(&self.global(), self.ipc_renderer.clone())
+ WebGLProgram::maybe_new(self.global().as_window(), self.ipc_renderer.clone())
}
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.9
@@ -1280,7 +1281,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
return None;
}
}
- WebGLShader::maybe_new(&self.global(), self.ipc_renderer.clone(), shader_type)
+ WebGLShader::maybe_new(self.global().as_window(), self.ipc_renderer.clone(), shader_type)
}
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.5
@@ -1612,7 +1613,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
name: DOMString) -> Option<Root<WebGLUniformLocation>> {
program.and_then(|p| {
handle_potential_webgl_error!(self, p.get_uniform_location(name), None)
- .map(|location| WebGLUniformLocation::new(&self.global(), location, p.id()))
+ .map(|location| WebGLUniformLocation::new(self.global().as_window(), location, p.id()))
})
}
diff --git a/components/script/dom/webglshader.rs b/components/script/dom/webglshader.rs
index 93da1ca0bc5..d846ac34aa7 100644
--- a/components/script/dom/webglshader.rs
+++ b/components/script/dom/webglshader.rs
@@ -10,8 +10,8 @@ use dom::bindings::codegen::Bindings::WebGLShaderBinding;
use dom::bindings::js::Root;
use dom::bindings::reflector::reflect_dom_object;
use dom::bindings::str::DOMString;
-use dom::globalscope::GlobalScope;
use dom::webglobject::WebGLObject;
+use dom::window::Window;
use ipc_channel::ipc::IpcSender;
use std::cell::Cell;
use std::sync::{ONCE_INIT, Once};
@@ -66,23 +66,24 @@ impl WebGLShader {
}
}
- pub fn maybe_new(global: &GlobalScope,
+ pub fn maybe_new(window: &Window,
renderer: IpcSender<CanvasMsg>,
- shader_type: u32) -> Option<Root<WebGLShader>> {
+ shader_type: u32)
+ -> Option<Root<WebGLShader>> {
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
renderer.send(CanvasMsg::WebGL(WebGLCommand::CreateShader(shader_type, sender))).unwrap();
let result = receiver.recv().unwrap();
- result.map(|shader_id| WebGLShader::new(global, renderer, shader_id, shader_type))
+ result.map(|shader_id| WebGLShader::new(window, renderer, shader_id, shader_type))
}
- pub fn new(global: &GlobalScope,
+ pub fn new(window: &Window,
renderer: IpcSender<CanvasMsg>,
id: WebGLShaderId,
shader_type: u32)
-> Root<WebGLShader> {
reflect_dom_object(box WebGLShader::new_inherited(renderer, id, shader_type),
- global,
+ window,
WebGLShaderBinding::Wrap)
}
}
diff --git a/components/script/dom/webglshaderprecisionformat.rs b/components/script/dom/webglshaderprecisionformat.rs
index 18ba8c189a5..c0f954c8d4d 100644
--- a/components/script/dom/webglshaderprecisionformat.rs
+++ b/components/script/dom/webglshaderprecisionformat.rs
@@ -7,7 +7,7 @@ use dom::bindings::codegen::Bindings::WebGLShaderPrecisionFormatBinding;
use dom::bindings::codegen::Bindings::WebGLShaderPrecisionFormatBinding::WebGLShaderPrecisionFormatMethods;
use dom::bindings::js::Root;
use dom::bindings::reflector::{Reflector, reflect_dom_object};
-use dom::globalscope::GlobalScope;
+use dom::window::Window;
#[dom_struct]
pub struct WebGLShaderPrecisionFormat {
@@ -27,13 +27,13 @@ impl WebGLShaderPrecisionFormat {
}
}
- pub fn new(global: &GlobalScope,
+ pub fn new(window: &Window,
range_min: i32,
range_max: i32,
precision: i32) -> Root<WebGLShaderPrecisionFormat> {
reflect_dom_object(
box WebGLShaderPrecisionFormat::new_inherited(range_min, range_max, precision),
- global,
+ window,
WebGLShaderPrecisionFormatBinding::Wrap)
}
}
diff --git a/components/script/dom/webgltexture.rs b/components/script/dom/webgltexture.rs
index 26cf14f7972..9a1e4663152 100644
--- a/components/script/dom/webgltexture.rs
+++ b/components/script/dom/webgltexture.rs
@@ -9,9 +9,9 @@ use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::WebGLRenderi
use dom::bindings::codegen::Bindings::WebGLTextureBinding;
use dom::bindings::js::Root;
use dom::bindings::reflector::reflect_dom_object;
-use dom::globalscope::GlobalScope;
use dom::webgl_validations::types::{TexImageTarget, TexFormat, TexDataType};
use dom::webglobject::WebGLObject;
+use dom::window::Window;
use ipc_channel::ipc::IpcSender;
use std::cell::Cell;
use std::cmp;
@@ -61,21 +61,21 @@ impl WebGLTexture {
}
}
- pub fn maybe_new(global: &GlobalScope, renderer: IpcSender<CanvasMsg>)
+ pub fn maybe_new(window: &Window, renderer: IpcSender<CanvasMsg>)
-> Option<Root<WebGLTexture>> {
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
renderer.send(CanvasMsg::WebGL(WebGLCommand::CreateTexture(sender))).unwrap();
let result = receiver.recv().unwrap();
- result.map(|texture_id| WebGLTexture::new(global, renderer, texture_id))
+ result.map(|texture_id| WebGLTexture::new(window, renderer, texture_id))
}
- pub fn new(global: &GlobalScope,
+ pub fn new(window: &Window,
renderer: IpcSender<CanvasMsg>,
id: WebGLTextureId)
-> Root<WebGLTexture> {
reflect_dom_object(box WebGLTexture::new_inherited(renderer, id),
- global,
+ window,
WebGLTextureBinding::Wrap)
}
}
diff --git a/components/script/dom/webgluniformlocation.rs b/components/script/dom/webgluniformlocation.rs
index 6e0683ec833..1b355bd8582 100644
--- a/components/script/dom/webgluniformlocation.rs
+++ b/components/script/dom/webgluniformlocation.rs
@@ -6,7 +6,7 @@
use dom::bindings::codegen::Bindings::WebGLUniformLocationBinding;
use dom::bindings::js::Root;
use dom::bindings::reflector::{Reflector, reflect_dom_object};
-use dom::globalscope::GlobalScope;
+use dom::window::Window;
use webrender_traits::WebGLProgramId;
#[dom_struct]
@@ -27,12 +27,12 @@ impl WebGLUniformLocation {
}
}
- pub fn new(global: &GlobalScope,
+ pub fn new(window: &Window,
id: i32,
program_id: WebGLProgramId)
-> Root<WebGLUniformLocation> {
reflect_dom_object(box WebGLUniformLocation::new_inherited(id, program_id),
- global,
+ window,
WebGLUniformLocationBinding::Wrap)
}
diff --git a/components/script/dom/webidls/WebGLActiveInfo.webidl b/components/script/dom/webidls/WebGLActiveInfo.webidl
index 7195e8bacaa..be9e6f4e2db 100644
--- a/components/script/dom/webidls/WebGLActiveInfo.webidl
+++ b/components/script/dom/webidls/WebGLActiveInfo.webidl
@@ -6,6 +6,7 @@
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.7
//
+[Exposed=Window]
interface WebGLActiveInfo {
readonly attribute GLint size;
readonly attribute GLenum type;
diff --git a/components/script/dom/webidls/WebGLBuffer.webidl b/components/script/dom/webidls/WebGLBuffer.webidl
index 344850d42e6..ca2697bb9be 100644
--- a/components/script/dom/webidls/WebGLBuffer.webidl
+++ b/components/script/dom/webidls/WebGLBuffer.webidl
@@ -6,5 +6,6 @@
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.4
//
+[Exposed=Window]
interface WebGLBuffer : WebGLObject {
};
diff --git a/components/script/dom/webidls/WebGLContextEvent.webidl b/components/script/dom/webidls/WebGLContextEvent.webidl
index 6a699754d2c..b5c70b8b17f 100644
--- a/components/script/dom/webidls/WebGLContextEvent.webidl
+++ b/components/script/dom/webidls/WebGLContextEvent.webidl
@@ -3,7 +3,8 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.15
-[Constructor(DOMString type, optional WebGLContextEventInit eventInit)]
+[Constructor(DOMString type, optional WebGLContextEventInit eventInit),
+ Exposed=Window]
interface WebGLContextEvent : Event {
readonly attribute DOMString statusMessage;
};
diff --git a/components/script/dom/webidls/WebGLFramebuffer.webidl b/components/script/dom/webidls/WebGLFramebuffer.webidl
index 2f21edafc0a..306e2c479ed 100644
--- a/components/script/dom/webidls/WebGLFramebuffer.webidl
+++ b/components/script/dom/webidls/WebGLFramebuffer.webidl
@@ -6,5 +6,6 @@
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.7
//
+[Exposed=Window]
interface WebGLFramebuffer : WebGLObject {
};
diff --git a/components/script/dom/webidls/WebGLObject.webidl b/components/script/dom/webidls/WebGLObject.webidl
index 040c76be0c7..3ac7514830a 100644
--- a/components/script/dom/webidls/WebGLObject.webidl
+++ b/components/script/dom/webidls/WebGLObject.webidl
@@ -6,5 +6,6 @@
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.3
//
+[Exposed=Window]
interface WebGLObject {
};
diff --git a/components/script/dom/webidls/WebGLProgram.webidl b/components/script/dom/webidls/WebGLProgram.webidl
index 0c9ede907e0..2ee21b2a6a1 100644
--- a/components/script/dom/webidls/WebGLProgram.webidl
+++ b/components/script/dom/webidls/WebGLProgram.webidl
@@ -6,5 +6,6 @@
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.6
//
+[Exposed=Window]
interface WebGLProgram : WebGLObject {
};
diff --git a/components/script/dom/webidls/WebGLRenderbuffer.webidl b/components/script/dom/webidls/WebGLRenderbuffer.webidl
index 451621ec30c..3024dc7513e 100644
--- a/components/script/dom/webidls/WebGLRenderbuffer.webidl
+++ b/components/script/dom/webidls/WebGLRenderbuffer.webidl
@@ -6,5 +6,6 @@
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.5
//
+[Exposed=Window]
interface WebGLRenderbuffer : WebGLObject {
};
diff --git a/components/script/dom/webidls/WebGLRenderingContext.webidl b/components/script/dom/webidls/WebGLRenderingContext.webidl
index 3f20d89ce96..dd91d53d2d7 100644
--- a/components/script/dom/webidls/WebGLRenderingContext.webidl
+++ b/components/script/dom/webidls/WebGLRenderingContext.webidl
@@ -41,7 +41,7 @@ dictionary WebGLContextAttributes {
GLboolean failIfMajorPerformanceCaveat = false;
};
-[NoInterfaceObject]
+[Exposed=Window, NoInterfaceObject]
interface WebGLRenderingContextBase
{
@@ -762,6 +762,7 @@ interface WebGLRenderingContextBase
void viewport(GLint x, GLint y, GLsizei width, GLsizei height);
};
+[Exposed=Window]
interface WebGLRenderingContext
{
};
diff --git a/components/script/dom/webidls/WebGLShader.webidl b/components/script/dom/webidls/WebGLShader.webidl
index f160602cba7..671da6405ff 100644
--- a/components/script/dom/webidls/WebGLShader.webidl
+++ b/components/script/dom/webidls/WebGLShader.webidl
@@ -6,5 +6,6 @@
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.8
//
+[Exposed=Window]
interface WebGLShader : WebGLObject {
};
diff --git a/components/script/dom/webidls/WebGLShaderPrecisionFormat.webidl b/components/script/dom/webidls/WebGLShaderPrecisionFormat.webidl
index 2d299232e90..eb7b1370b31 100644
--- a/components/script/dom/webidls/WebGLShaderPrecisionFormat.webidl
+++ b/components/script/dom/webidls/WebGLShaderPrecisionFormat.webidl
@@ -6,6 +6,7 @@
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.7
//
+[Exposed=Window]
interface WebGLShaderPrecisionFormat {
readonly attribute GLint rangeMin;
readonly attribute GLint rangeMax;
diff --git a/components/script/dom/webidls/WebGLTexture.webidl b/components/script/dom/webidls/WebGLTexture.webidl
index f1b7fa20f1e..42313c98683 100644
--- a/components/script/dom/webidls/WebGLTexture.webidl
+++ b/components/script/dom/webidls/WebGLTexture.webidl
@@ -6,5 +6,6 @@
// https://www.khronos.org/registry/webgl/specs/latest/#5.9
//
+[Exposed=Window]
interface WebGLTexture : WebGLObject {
};
diff --git a/components/script/dom/webidls/WebGLUniformLocation.webidl b/components/script/dom/webidls/WebGLUniformLocation.webidl
index 467c2d00572..f068eead6e2 100644
--- a/components/script/dom/webidls/WebGLUniformLocation.webidl
+++ b/components/script/dom/webidls/WebGLUniformLocation.webidl
@@ -6,5 +6,6 @@
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.10
//
+[Exposed=Window]
interface WebGLUniformLocation {
};