From c9434ec4dc94466ce5fe5cfbe2f0f3df11560284 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Mon, 3 Dec 2012 22:22:16 +0000 Subject: [PATCH] Fixed: CPFontManager attempt to access DOM in non-DOM apps. The DOM access caused `CPFontManagerTest` when executed with rhino. --- AppKit/CPFontManager.j | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/AppKit/CPFontManager.j b/AppKit/CPFontManager.j index cee4f062d..cfeede594 100644 --- a/AppKit/CPFontManager.j +++ b/AppKit/CPFontManager.j @@ -99,6 +99,9 @@ var CPSharedFontManager = nil, { if (!_availableFonts) { + _availableFonts = []; + +#if PLATFORM(DOM) _CPFontDetectSpan = document.createElement("span"); _CPFontDetectSpan.fontSize = "24px"; _CPFontDetectSpan.appendChild(document.createTextNode("mmmmmmmmmml")); @@ -110,13 +113,16 @@ var CPSharedFontManager = nil, _CPFontDetectReferenceFonts = _CPFontDetectPickTwoDifferentFonts(["monospace", "serif", "sans-serif", "cursive"]); - _availableFonts = []; for (var i = 0; i < _CPFontDetectAllFonts.length; i++) { var available = _CPFontDetectFontAvailable(_CPFontDetectAllFonts[i]); if (available) _availableFonts.push(_CPFontDetectAllFonts[i]); } +#else + // If there's no font detection, just assume all fonts are available. + _availableFonts = _CPFontDetectAllFonts; +#endif } return _availableFonts; }