--- a/servo/components/style/gecko/wrapper.rs
+++ b/servo/components/style/gecko/wrapper.rs
@@ -17,17 +17,17 @@
use app_units::Au;
use atomic_refcell::AtomicRefCell;
use context::{SharedStyleContext, UpdateAnimationsTasks};
use data::ElementData;
use dom::{self, AnimationRules, DescendantsBit, LayoutIterator, NodeInfo, TElement, TNode, UnsafeNode};
use dom::{OpaqueNode, PresentationalHintsSynthetizer};
use element_state::ElementState;
use error_reporting::StdoutErrorReporter;
-use font_metrics::{FontMetrics, FontMetricsProvider, FontMetricsQueryResult};
+use font_metrics::{FontMetricsProvider, FontMetricsQueryResult};
use gecko::global_style_data::GLOBAL_STYLE_DATA;
use gecko::selector_parser::{SelectorImpl, NonTSPseudoClass, PseudoElement};
use gecko::snapshot_helpers;
use gecko_bindings::bindings;
use gecko_bindings::bindings::{Gecko_DropStyleChildrenIterator, Gecko_MaybeCreateStyleChildrenIterator};
use gecko_bindings::bindings::{Gecko_ElementState, Gecko_GetLastChild, Gecko_GetNextStyleChild};
use gecko_bindings::bindings::{Gecko_IsRootElement, Gecko_MatchesElement, Gecko_Namespace};
use gecko_bindings::bindings::{Gecko_SetNodeFlags, Gecko_UnsetNodeFlags};
@@ -467,32 +467,35 @@ impl FontMetricsProvider for GeckoFontMe
}
let sizes = unsafe {
Gecko_GetBaseSize(font_name.as_ptr())
};
cache.push((font_name.clone(), sizes));
sizes.size_for_generic(font_family)
}
- fn query(&self, font: &Font, font_size: Au, wm: WritingMode,
- in_media_query: bool, device: &Device) -> FontMetricsQueryResult {
- use gecko_bindings::bindings::Gecko_GetFontMetrics;
- let gecko_metrics = unsafe {
- Gecko_GetFontMetrics(&*device.pres_context,
- wm.is_vertical() && !wm.is_sideways(),
- font.gecko(),
- font_size.0,
- // we don't use the user font set in a media query
- !in_media_query)
- };
- let metrics = FontMetrics {
- x_height: Au(gecko_metrics.mXSize),
- zero_advance_measure: Au(gecko_metrics.mChSize),
- };
- FontMetricsQueryResult::Available(metrics)
+ fn query(&self, _font: &Font, _font_size: Au, _wm: WritingMode,
+ _in_media_query: bool, _device: &Device) -> FontMetricsQueryResult {
+ // Disabled until we can make font metrics thread safe (bug 1356105)
+ //
+ // use gecko_bindings::bindings::Gecko_GetFontMetrics;
+ // let gecko_metrics = unsafe {
+ // Gecko_GetFontMetrics(&*device.pres_context,
+ // wm.is_vertical() && !wm.is_sideways(),
+ // font.gecko(),
+ // font_size.0,
+ // // we don't use the user font set in a media query
+ // !in_media_query)
+ // };
+ // let metrics = FontMetrics {
+ // x_height: Au(gecko_metrics.mXSize),
+ // zero_advance_measure: Au(gecko_metrics.mChSize),
+ // };
+ // FontMetricsQueryResult::Available(metrics)
+ FontMetricsQueryResult::NotAvailable
}
}
impl structs::FontSizePrefs {
fn size_for_generic(&self, font_family: u8) -> Au {
Au(match font_family {
structs::kPresContext_DefaultVariableFont_ID => self.mDefaultVariableSize,
structs::kPresContext_DefaultFixedFont_ID => self.mDefaultFixedSize,