Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1390)

Unified Diff: Source/core/platform/graphics/SimpleFontData.cpp

Issue 23446007: Use unicode-range to prevent unnecessary @font-face donwnloads (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebase and add toSegmentedFontData() Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/platform/graphics/SimpleFontData.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/platform/graphics/SimpleFontData.cpp
diff --git a/Source/core/platform/graphics/SimpleFontData.cpp b/Source/core/platform/graphics/SimpleFontData.cpp
index 7276f15eea7fdf515f590afe3cdb671ab0e07bdb..8dcc30f78a7955b0f368b3018b7edf9b10fcd9d9 100644
--- a/Source/core/platform/graphics/SimpleFontData.cpp
+++ b/Source/core/platform/graphics/SimpleFontData.cpp
@@ -30,6 +30,7 @@
#include "config.h"
#include "core/platform/graphics/SimpleFontData.h"
+#include "core/css/CSSFontFaceSource.h"
#include "core/platform/graphics/opentype/OpenTypeVerticalData.h"
#include "wtf/MathExtras.h"
@@ -42,19 +43,18 @@ namespace WebCore {
const float smallCapsFontSizeMultiplier = 0.7f;
const float emphasisMarkFontSizeMultiplier = 0.5f;
-SimpleFontData::SimpleFontData(const FontPlatformData& platformData, bool isCustomFont, bool isLoading, bool isTextOrientationFallback)
+SimpleFontData::SimpleFontData(const FontPlatformData& platformData, bool isCustomFont, bool isLoadingFallback, bool isTextOrientationFallback)
: m_maxCharWidth(-1)
, m_avgCharWidth(-1)
, m_platformData(platformData)
, m_treatAsFixedPitch(false)
- , m_isCustomFont(isCustomFont)
- , m_isLoading(isLoading)
, m_isTextOrientationFallback(isTextOrientationFallback)
, m_isBrokenIdeographFallback(false)
#if ENABLE(OPENTYPE_VERTICAL)
, m_verticalData(0)
#endif
, m_hasVerticalGlyphs(false)
+ , m_customFontData(isCustomFont, isLoadingFallback)
{
platformInit();
platformGlyphInit();
@@ -71,14 +71,13 @@ SimpleFontData::SimpleFontData(PassOwnPtr<AdditionalFontData> fontData, float fo
: m_platformData(FontPlatformData(fontSize, syntheticBold, syntheticItalic))
, m_fontData(fontData)
, m_treatAsFixedPitch(false)
- , m_isCustomFont(true)
- , m_isLoading(false)
, m_isTextOrientationFallback(false)
, m_isBrokenIdeographFallback(false)
#if ENABLE(OPENTYPE_VERTICAL)
, m_verticalData(0)
#endif
, m_hasVerticalGlyphs(false)
+ , m_customFontData(true, false)
{
m_fontData->initializeFontData(this, fontSize);
}
@@ -226,6 +225,14 @@ PassRefPtr<SimpleFontData> SimpleFontData::brokenIdeographFontData() const
return m_derivedFontData->brokenIdeograph;
}
+void SimpleFontData::beginLoadIfNeeded() const
+{
+ if (!m_customFontData.isUsed && m_customFontData.isLoadingFallback && m_customFontData.fontFaceSource) {
+ m_customFontData.isUsed = true;
+ m_customFontData.fontFaceSource->beginLoadingFontSoon();
+ }
+}
+
#ifndef NDEBUG
String SimpleFontData::description() const
{
« no previous file with comments | « Source/core/platform/graphics/SimpleFontData.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698