aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/canvas/media_mode/inprocess.rs6
-rw-r--r--components/servo/lib.rs11
2 files changed, 12 insertions, 5 deletions
diff --git a/components/canvas/media_mode/inprocess.rs b/components/canvas/media_mode/inprocess.rs
index 7a1c781bfee..86ce201020b 100644
--- a/components/canvas/media_mode/inprocess.rs
+++ b/components/canvas/media_mode/inprocess.rs
@@ -13,9 +13,11 @@ use euclid::Size2D;
pub struct GLPlayerThreads(GLPlayerSender<GLPlayerMsg>);
impl GLPlayerThreads {
- pub fn new() -> GLPlayerThreads {
+ pub fn new() -> (GLPlayerThreads, Box<dyn webrender::ExternalImageHandler>) {
let channel = GLPlayerThread::start();
- GLPlayerThreads(channel)
+ let external =
+ GLPlayerExternalImageHandler::new(GLPlayerExternalImages::new(channel.clone()));
+ (GLPlayerThreads(channel), Box::new(external))
}
/// Gets the GLPlayerThread handle for each script pipeline.
diff --git a/components/servo/lib.rs b/components/servo/lib.rs
index f95a2f804de..185d5c5838e 100644
--- a/components/servo/lib.rs
+++ b/components/servo/lib.rs
@@ -309,8 +309,13 @@ where
let gl_context = window.get_gl_context();
let glplayer_threads = match gl_context {
GlContext::Unknown => None,
- _ => Some(GLPlayerThreads::new()),
+ _ => {
+ let (glplayer_threads, image_handler) = GLPlayerThreads::new();
+ webrender.set_external_image_handler(image_handler);
+ Some(glplayer_threads)
+ },
};
+
let player_context = WindowGLContext {
gl_context,
native_display: window.get_native_display(),
@@ -697,7 +702,7 @@ fn create_constellation(
// Initialize WebGL Thread entry point.
let webgl_threads = gl_factory.map(|factory| {
- let (webgl_threads, image_handler, output_handler) = WebGLThreads::new(
+ let (webgl_threads, _image_handler, output_handler) = WebGLThreads::new(
factory,
window_gl,
webrender_api_sender.clone(),
@@ -705,7 +710,7 @@ fn create_constellation(
);
// Set webrender external image handler for WebGL textures
- webrender.set_external_image_handler(image_handler);
+ //webrender.set_external_image_handler(image_handler);
// Set DOM to texture handler, if enabled.
if let Some(output_handler) = output_handler {