diff options
author | Glenn Watson <github@intuitionlibrary.com> | 2016-10-12 10:13:27 +1000 |
---|---|---|
committer | Glenn Watson <github@intuitionlibrary.com> | 2016-10-18 10:21:27 +1000 |
commit | acfdfd2fa98562c9f891fbee2dbc3424803c1a3c (patch) | |
tree | bc66667bab89db2ab6a1c4d4113525190fb82d3a /components/net/image_cache_thread.rs | |
parent | 4af21e3ae1676f943a9a01688fef854487bcddfc (diff) | |
download | servo-acfdfd2fa98562c9f891fbee2dbc3424803c1a3c.tar.gz servo-acfdfd2fa98562c9f891fbee2dbc3424803c1a3c.zip |
Remove old rendering backend.
This removes paint threads, rust-layers dependency, and changes
optional webrender types to be required.
The use_webrender option has been removed, however I've left
the "-w" command line option in place so that wpt
runner can continue to pass that. Once it's removed from there
we can also remove the -w option.
Once this stage is complete, it should be fine to change the
display list building code to generate webrender display
lists directly and avoid the conversion step.
Diffstat (limited to 'components/net/image_cache_thread.rs')
-rw-r--r-- | components/net/image_cache_thread.rs | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/components/net/image_cache_thread.rs b/components/net/image_cache_thread.rs index 92c0aa0fd83..8925e6198ca 100644 --- a/components/net/image_cache_thread.rs +++ b/components/net/image_cache_thread.rs @@ -252,8 +252,8 @@ struct ImageCache { // The placeholder image used when an image fails to load placeholder_image: Option<Arc<Image>>, - // Webrender API instance, if enabled. - webrender_api: Option<webrender_traits::RenderApi>, + // Webrender API instance. + webrender_api: webrender_traits::RenderApi, } /// Message that the decoder worker threads send to main image cache thread. @@ -318,24 +318,23 @@ impl LoadOrigin for ImageCacheOrigin { } } -fn get_placeholder_image(webrender_api: &Option<webrender_traits::RenderApi>) -> io::Result<Arc<Image>> { +fn get_placeholder_image(webrender_api: &webrender_traits::RenderApi) -> io::Result<Arc<Image>> { let mut placeholder_path = try!(resources_dir_path()); placeholder_path.push("rippy.png"); let mut file = try!(File::open(&placeholder_path)); let mut image_data = vec![]; try!(file.read_to_end(&mut image_data)); let mut image = load_from_memory(&image_data).unwrap(); - if let Some(ref webrender_api) = *webrender_api { - let format = convert_format(image.format); - let mut bytes = Vec::new(); - bytes.extend_from_slice(&*image.bytes); - image.id = Some(webrender_api.add_image(image.width, image.height, format, bytes)); - } + let format = convert_format(image.format); + let mut bytes = Vec::new(); + bytes.extend_from_slice(&*image.bytes); + image.id = Some(webrender_api.add_image(image.width, image.height, format, bytes)); Ok(Arc::new(image)) } + impl ImageCache { fn run(core_resource_thread: CoreResourceThread, - webrender_api: Option<webrender_traits::RenderApi>, + webrender_api: webrender_traits::RenderApi, ipc_command_receiver: IpcReceiver<ImageCacheCommand>) { // Preload the placeholder image, used when images fail to load. let placeholder_image = get_placeholder_image(&webrender_api).ok(); @@ -479,16 +478,14 @@ impl ImageCache { fn complete_load(&mut self, key: LoadKey, mut load_result: LoadResult) { let pending_load = self.pending_loads.remove(&key).unwrap(); - if let Some(ref webrender_api) = self.webrender_api { - match load_result { - LoadResult::Loaded(ref mut image) => { - let format = convert_format(image.format); - let mut bytes = Vec::new(); - bytes.extend_from_slice(&*image.bytes); - image.id = Some(webrender_api.add_image(image.width, image.height, format, bytes)); - } - LoadResult::PlaceholderLoaded(..) | LoadResult::None => {} + match load_result { + LoadResult::Loaded(ref mut image) => { + let format = convert_format(image.format); + let mut bytes = Vec::new(); + bytes.extend_from_slice(&*image.bytes); + image.id = Some(self.webrender_api.add_image(image.width, image.height, format, bytes)); } + LoadResult::PlaceholderLoaded(..) | LoadResult::None => {} } let image_response = match load_result { @@ -627,7 +624,7 @@ impl ImageCache { /// Create a new image cache. pub fn new_image_cache_thread(core_resource_thread: CoreResourceThread, - webrender_api: Option<webrender_traits::RenderApi>) -> ImageCacheThread { + webrender_api: webrender_traits::RenderApi) -> ImageCacheThread { let (ipc_command_sender, ipc_command_receiver) = ipc::channel().unwrap(); spawn_named("ImageCacheThread".to_owned(), move || { |