diff options
author | Benjamin Dahse <ronoueb@gmail.com> | 2017-06-06 19:18:40 +0200 |
---|---|---|
committer | Benjamin Dahse <ronoueb@gmail.com> | 2017-06-06 23:08:57 +0200 |
commit | c034d99880c1e2fe8e955cf673ce7f5e8b1e2a85 (patch) | |
tree | 29c1ab7e24ebfad1909e4097e69bb3816562f909 /components/script/dom/webglrenderingcontext.rs | |
parent | 2da8eb0342f6701b5365116b96113c83a1599b1f (diff) | |
download | servo-c034d99880c1e2fe8e955cf673ce7f5e8b1e2a85.tar.gz servo-c034d99880c1e2fe8e955cf673ce7f5e8b1e2a85.zip |
Add pref to force WebGL context creation failure
The pref `webgl.testing.context_creation_error` will cause creation of a new WebGLRenderingContext to fail, iff set to true.
Also update test expectation of `context_creation_error.html` to pass.
Diffstat (limited to 'components/script/dom/webglrenderingcontext.rs')
-rw-r--r-- | components/script/dom/webglrenderingcontext.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs index eb1578d1b3a..8267c5bf2d1 100644 --- a/components/script/dom/webglrenderingcontext.rs +++ b/components/script/dom/webglrenderingcontext.rs @@ -51,6 +51,7 @@ use net_traits::image::base::PixelFormat; use net_traits::image_cache::ImageResponse; use offscreen_gl_context::{GLContextAttributes, GLLimits}; use script_traits::ScriptMsg as ConstellationMsg; +use servo_config::prefs::PREFS; use std::cell::Cell; use std::collections::HashMap; use webrender_traits; @@ -166,6 +167,10 @@ impl WebGLRenderingContext { size: Size2D<i32>, attrs: GLContextAttributes) -> Result<WebGLRenderingContext, String> { + if let Some(true) = PREFS.get("webgl.testing.context_creation_error").as_boolean() { + return Err("WebGL context creation error forced by pref `webgl.testing.context_creation_error`".into()); + } + let (sender, receiver) = ipc::channel().unwrap(); let constellation_chan = window.upcast::<GlobalScope>().constellation_chan(); constellation_chan.send(ConstellationMsg::CreateWebGLPaintThread(size, attrs, sender)) |