From d485bbec0911ada0db5b16c38506d5336287ba1b Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Wed, 14 Dec 2016 17:07:43 +0100 Subject: [PATCH 1/2] Implement Display for LowercaseString. --- components/gfx/font_cache_thread.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/components/gfx/font_cache_thread.rs b/components/gfx/font_cache_thread.rs index edad5aa56d1..746b5834dd6 100644 --- a/components/gfx/font_cache_thread.rs +++ b/components/gfx/font_cache_thread.rs @@ -18,6 +18,7 @@ use servo_atoms::Atom; use servo_url::ServoUrl; use std::borrow::ToOwned; use std::collections::HashMap; +use std::fmt; use std::mem; use std::ops::Deref; use std::sync::{Arc, Mutex}; @@ -246,7 +247,7 @@ impl FontCache { Err(_) => { // FIXME(servo/fontsan#1): get an error message debug!("Sanitiser rejected web font: \ - family={:?} url={:?}", family_name, url); + family={} url={:?}", family_name, url); let msg = Command::AddWebFont(family_name.clone(), sources.clone(), sender.clone()); channel_to_self.send(msg).unwrap(); return; @@ -488,3 +489,9 @@ impl Deref for LowercaseString { &*self.inner } } + +impl fmt::Display for LowercaseString { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + self.inner.fmt(f) + } +} From 476a209c45c21b48f37273a591f264340c8aa51f Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Wed, 14 Dec 2016 17:28:56 +0100 Subject: [PATCH 2/2] Add logging to font-face loading. --- components/gfx/font_cache_thread.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/components/gfx/font_cache_thread.rs b/components/gfx/font_cache_thread.rs index 746b5834dd6..925f56b2e62 100644 --- a/components/gfx/font_cache_thread.rs +++ b/components/gfx/font_cache_thread.rs @@ -223,25 +223,30 @@ impl FontCache { let channel_to_self = self.channel_to_self.clone(); let bytes = Mutex::new(Vec::new()); let response_valid = Mutex::new(false); + debug!("Loading @font-face {} from {}", family_name, url); fetch_async(request, &self.core_resource_thread, move |response| { match response { FetchResponseMsg::ProcessRequestBody | FetchResponseMsg::ProcessRequestEOF => (), FetchResponseMsg::ProcessResponse(meta_result) => { + trace!("@font-face {} metadata ok={:?}", family_name, meta_result.is_ok()); *response_valid.lock().unwrap() = meta_result.is_ok(); } FetchResponseMsg::ProcessResponseChunk(new_bytes) => { + trace!("@font-face {} chunk={:?}", family_name, new_bytes); if *response_valid.lock().unwrap() { bytes.lock().unwrap().extend(new_bytes.into_iter()) } } FetchResponseMsg::ProcessResponseEOF(response) => { + trace!("@font-face {} EOF={:?}", family_name, response); if response.is_err() || !*response_valid.lock().unwrap() { let msg = Command::AddWebFont(family_name.clone(), sources.clone(), sender.clone()); channel_to_self.send(msg).unwrap(); return; } let bytes = mem::replace(&mut *bytes.lock().unwrap(), vec![]); + trace!("@font-face {} data={:?}", family_name, bytes); let bytes = match fontsan::process(&bytes) { Ok(san) => san, Err(_) => {