diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2017-10-16 17:07:50 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-16 17:07:50 -0500 |
commit | e8a6f2862c2a6084e4f4e64ab466c89ae83cff59 (patch) | |
tree | 645db1e37eceef034743c28f9af1544a3fff6d8d /components/script/dom/webgl_extensions | |
parent | 3209d22968046b5c3d29a37b79a655497db2050a (diff) | |
parent | 49e4540ece8641afcb6534a9c3b74e88895f5447 (diff) | |
download | servo-e8a6f2862c2a6084e4f4e64ab466c89ae83cff59.tar.gz servo-e8a6f2862c2a6084e4f4e64ab466c89ae83cff59.zip |
Auto merge of #18875 - servo:stable-js, r=nox,jdm
Remove the need for rust-mozjs to use unstable Rust features
<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18875)
<!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/webgl_extensions')
3 files changed, 10 insertions, 12 deletions
diff --git a/components/script/dom/webgl_extensions/ext/webglvertexarrayobjectoes.rs b/components/script/dom/webgl_extensions/ext/webglvertexarrayobjectoes.rs index 70ed5a6f778..4ca8c7b7add 100644 --- a/components/script/dom/webgl_extensions/ext/webglvertexarrayobjectoes.rs +++ b/components/script/dom/webgl_extensions/ext/webglvertexarrayobjectoes.rs @@ -3,8 +3,6 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use canvas_traits::webgl::WebGLVertexArrayId; -use core::cell::Ref; -use core::iter::FromIterator; use dom::bindings::cell::DomRefCell; use dom::bindings::codegen::Bindings::WebGLVertexArrayObjectOESBinding; use dom::bindings::reflector::reflect_dom_object; @@ -13,8 +11,9 @@ use dom::globalscope::GlobalScope; use dom::webglbuffer::WebGLBuffer; use dom::webglobject::WebGLObject; use dom_struct::dom_struct; -use std::cell::Cell; +use std::cell::{Cell, Ref}; use std::collections::HashMap; +use std::iter::FromIterator; #[dom_struct] pub struct WebGLVertexArrayObjectOES { diff --git a/components/script/dom/webgl_extensions/extensions.rs b/components/script/dom/webgl_extensions/extensions.rs index 7cb478f9fb0..9b022ac7def 100644 --- a/components/script/dom/webgl_extensions/extensions.rs +++ b/components/script/dom/webgl_extensions/extensions.rs @@ -3,23 +3,23 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use canvas_traits::webgl::WebGLError; -use core::iter::FromIterator; -use core::nonzero::NonZero; use dom::bindings::cell::DomRefCell; use dom::bindings::codegen::Bindings::OESStandardDerivativesBinding::OESStandardDerivativesConstants; use dom::bindings::codegen::Bindings::OESTextureHalfFloatBinding::OESTextureHalfFloatConstants; use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::WebGLRenderingContextConstants as constants; +use dom::bindings::nonnull::NonNullJSObjectPtr; use dom::bindings::root::DomRoot; use dom::bindings::trace::JSTraceable; use dom::webglrenderingcontext::WebGLRenderingContext; use fnv::{FnvHashMap, FnvHashSet}; use gleam::gl::GLenum; use heapsize::HeapSizeOf; -use js::jsapi::{JSContext, JSObject}; +use js::jsapi::JSContext; use js::jsval::JSVal; use ref_filter_map::ref_filter_map; use std::cell::Ref; use std::collections::HashMap; +use std::iter::FromIterator; use super::{ext, WebGLExtension}; use super::wrapper::{WebGLExtensionWrapper, TypedWebGLExtensionWrapper}; @@ -109,7 +109,7 @@ impl WebGLExtensions { .collect() } - pub fn get_or_init_extension(&self, name: &str, ctx: &WebGLRenderingContext) -> Option<NonZero<*mut JSObject>> { + pub fn get_or_init_extension(&self, name: &str, ctx: &WebGLRenderingContext) -> Option<NonNullJSObjectPtr> { let name = name.to_uppercase(); self.extensions.borrow().get(&name).and_then(|extension| { if extension.is_supported(self) { diff --git a/components/script/dom/webgl_extensions/wrapper.rs b/components/script/dom/webgl_extensions/wrapper.rs index 7b4452ad7dc..49d698bf14c 100644 --- a/components/script/dom/webgl_extensions/wrapper.rs +++ b/components/script/dom/webgl_extensions/wrapper.rs @@ -2,13 +2,12 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use core::nonzero::NonZero; +use dom::bindings::nonnull::NonNullJSObjectPtr; use dom::bindings::reflector::DomObject; use dom::bindings::root::{DomRoot, MutNullableDom}; use dom::bindings::trace::JSTraceable; use dom::webglrenderingcontext::WebGLRenderingContext; use heapsize::HeapSizeOf; -use js::jsapi::JSObject; use std::any::Any; use super::{WebGLExtension, WebGLExtensions}; @@ -18,7 +17,7 @@ pub trait WebGLExtensionWrapper: JSTraceable + HeapSizeOf { fn instance_or_init(&self, ctx: &WebGLRenderingContext, ext: &WebGLExtensions) - -> NonZero<*mut JSObject>; + -> NonNullJSObjectPtr; fn is_supported(&self, &WebGLExtensions) -> bool; fn is_enabled(&self) -> bool; fn enable(&self, ext: &WebGLExtensions); @@ -48,7 +47,7 @@ impl<T> WebGLExtensionWrapper for TypedWebGLExtensionWrapper<T> fn instance_or_init(&self, ctx: &WebGLRenderingContext, ext: &WebGLExtensions) - -> NonZero<*mut JSObject> { + -> NonNullJSObjectPtr { let mut enabled = true; let extension = self.extension.or_init(|| { enabled = false; @@ -58,7 +57,7 @@ impl<T> WebGLExtensionWrapper for TypedWebGLExtensionWrapper<T> self.enable(ext); } unsafe { - NonZero::new_unchecked(extension.reflector().get_jsobject().get()) + NonNullJSObjectPtr::new_unchecked(extension.reflector().get_jsobject().get()) } } |