Auto merge of #9070 - antrik:debug-fonts, r=nox

Derive Debug for more font-related types

Needs to pull in newer ipc-channel and azure.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9070)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2016-01-03 08:11:57 +05:30
commit ebf4ce8288
6 changed files with 17 additions and 12 deletions

View file

@ -80,7 +80,7 @@ impl FontTemplates {
}
/// Commands that the FontContext sends to the font cache task.
#[derive(Deserialize, Serialize)]
#[derive(Deserialize, Serialize, Debug)]
pub enum Command {
GetFontTemplate(FontFamily, FontTemplateDescriptor, IpcSender<Reply>),
GetLastResortFontTemplate(FontTemplateDescriptor, IpcSender<Reply>),
@ -90,7 +90,7 @@ pub enum Command {
}
/// Reply messages sent from the font cache task to the FontContext caller.
#[derive(Deserialize, Serialize)]
#[derive(Deserialize, Serialize, Debug)]
pub enum Reply {
GetFontTemplateReply(Option<Arc<FontTemplateData>>),
}
@ -315,7 +315,7 @@ impl FontCache {
/// The public interface to the font cache task, used exclusively by
/// the per-thread/task FontContext structures.
#[derive(Clone, Deserialize, Serialize)]
#[derive(Clone, Deserialize, Serialize, Debug)]
pub struct FontCacheTask {
chan: IpcSender<Command>,
}

View file

@ -44,17 +44,20 @@ fn create_scaled_font(template: &Arc<FontTemplateData>, pt_size: Au) -> ScaledFo
static SMALL_CAPS_SCALE_FACTOR: f32 = 0.8; // Matches FireFox (see gfxFont.h)
#[derive(Debug)]
struct LayoutFontCacheEntry {
family: String,
font: Option<Rc<RefCell<Font>>>,
}
#[derive(Debug)]
struct FallbackFontCacheEntry {
font: Rc<RefCell<Font>>,
}
/// A cached azure font (per paint task) that
/// can be shared by multiple text runs.
#[derive(Debug)]
struct PaintFontCacheEntry {
pt_size: Au,
identifier: Atom,
@ -69,6 +72,7 @@ static FONT_CACHE_EPOCH: AtomicUsize = ATOMIC_USIZE_INIT;
/// working with fonts. It is the public API used by the layout and
/// paint code. It talks directly to the font cache task where
/// required.
#[derive(Debug)]
pub struct FontContext {
platform_handle: FontContextHandle,
font_cache_task: FontCacheTask,
@ -316,6 +320,7 @@ impl HeapSizeOf for FontContext {
}
}
#[derive(Debug)]
struct LayoutFontGroupCacheKey {
pointer: Arc<SpecifiedFontStyle>,
size: Au,