From 3a744d475b947283bf4d30d5337d8e850436e6dd Mon Sep 17 00:00:00 2001 From: Lee Salzman Date: Thu, 19 Apr 2018 14:53:44 -0400 Subject: [PATCH] add clear_namespace hook to BlobImageRenderer trait --- webrender/examples/blob.rs | 1 + webrender/src/resource_cache.rs | 4 ++++ webrender_api/src/image.rs | 2 ++ wrench/src/blob.rs | 2 ++ 4 files changed, 9 insertions(+) diff --git a/webrender/examples/blob.rs b/webrender/examples/blob.rs index 9d7cfa7fb2..42c1002b85 100644 --- a/webrender/examples/blob.rs +++ b/webrender/examples/blob.rs @@ -215,6 +215,7 @@ impl api::BlobImageRenderer for CheckerboardRenderer { } fn delete_font(&mut self, _font: api::FontKey) {} fn delete_font_instance(&mut self, _instance: api::FontInstanceKey) {} + fn clear_namespace(&mut self, _namespace: api::IdNamespace) {} } struct App {} diff --git a/webrender/src/resource_cache.rs b/webrender/src/resource_cache.rs index ba469e0282..a6ce5fc725 100644 --- a/webrender/src/resource_cache.rs +++ b/webrender/src/resource_cache.rs @@ -1105,6 +1105,10 @@ impl ResourceCache { .retain(|key, _| key.0 != namespace); self.cached_glyphs .clear_fonts(|font| font.font_key.0 == namespace); + + if let Some(ref mut r) = self.blob_image_renderer { + r.clear_namespace(namespace); + } } } diff --git a/webrender_api/src/image.rs b/webrender_api/src/image.rs index c806b93f14..31cfcb4028 100644 --- a/webrender_api/src/image.rs +++ b/webrender_api/src/image.rs @@ -191,6 +191,8 @@ pub trait BlobImageRenderer: Send { fn delete_font(&mut self, key: FontKey); fn delete_font_instance(&mut self, key: FontInstanceKey); + + fn clear_namespace(&mut self, namespace: IdNamespace); } pub type BlobImageData = Vec; diff --git a/wrench/src/blob.rs b/wrench/src/blob.rs index 2c198981ab..c66a2a3b32 100644 --- a/wrench/src/blob.rs +++ b/wrench/src/blob.rs @@ -164,4 +164,6 @@ impl BlobImageRenderer for CheckerboardRenderer { fn delete_font(&mut self, _key: FontKey) {} fn delete_font_instance(&mut self, _key: FontInstanceKey) {} + + fn clear_namespace(&mut self, _namespace: IdNamespace) {} }