aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/context.rs
diff options
context:
space:
mode:
authorGlenn Watson <github@intuitionlibrary.com>2016-10-12 10:13:27 +1000
committerGlenn Watson <github@intuitionlibrary.com>2016-10-18 10:21:27 +1000
commitacfdfd2fa98562c9f891fbee2dbc3424803c1a3c (patch)
treebc66667bab89db2ab6a1c4d4113525190fb82d3a /components/layout/context.rs
parent4af21e3ae1676f943a9a01688fef854487bcddfc (diff)
downloadservo-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/layout/context.rs')
-rw-r--r--components/layout/context.rs31
1 files changed, 11 insertions, 20 deletions
diff --git a/components/layout/context.rs b/components/layout/context.rs
index eb9024c2c5b..7125c6ab44d 100644
--- a/components/layout/context.rs
+++ b/components/layout/context.rs
@@ -15,7 +15,7 @@ use gfx::font_cache_thread::FontCacheThread;
use gfx::font_context::FontContext;
use gfx_traits::LayerId;
use heapsize::HeapSizeOf;
-use ipc_channel::ipc::{self, IpcSharedMemory};
+use ipc_channel::ipc;
use net_traits::image::base::Image;
use net_traits::image_cache_thread::{ImageCacheChan, ImageCacheThread, ImageResponse, ImageState};
use net_traits::image_cache_thread::{ImageOrMetadataAvailable, UsePlaceholder};
@@ -196,36 +196,27 @@ impl SharedLayoutContext {
pub fn get_webrender_image_for_url(&self,
url: &Url,
- use_placeholder: UsePlaceholder,
- fetch_image_data_as_well: bool)
- -> Option<(WebRenderImageInfo, Option<IpcSharedMemory>)> {
- if !fetch_image_data_as_well {
- let webrender_image_cache = self.webrender_image_cache.read().unwrap();
- if let Some(existing_webrender_image) =
- webrender_image_cache.get(&((*url).clone(), use_placeholder)) {
- return Some(((*existing_webrender_image).clone(), None))
- }
+ use_placeholder: UsePlaceholder)
+ -> Option<WebRenderImageInfo> {
+ if let Some(existing_webrender_image) = self.webrender_image_cache
+ .read()
+ .unwrap()
+ .get(&((*url).clone(), use_placeholder)) {
+ return Some((*existing_webrender_image).clone())
}
match self.get_or_request_image_or_meta((*url).clone(), use_placeholder) {
Some(ImageOrMetadataAvailable::ImageAvailable(image)) => {
let image_info = WebRenderImageInfo::from_image(&*image);
if image_info.key.is_none() {
- let bytes = if !fetch_image_data_as_well {
- None
- } else {
- Some(image.bytes.clone())
- };
- Some((image_info, bytes))
- } else if !fetch_image_data_as_well {
+ Some(image_info)
+ } else {
let mut webrender_image_cache = self.webrender_image_cache
.write()
.unwrap();
webrender_image_cache.insert(((*url).clone(), use_placeholder),
image_info);
- Some((image_info, None))
- } else {
- Some((image_info, Some(image.bytes.clone())))
+ Some(image_info)
}
}
None | Some(ImageOrMetadataAvailable::MetadataAvailable(_)) => None,