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

Unified Diff: third_party/WebKit/Source/platform/fonts/SegmentedFontData.cpp

Issue 1806653002: Shape unicode-range: font faces in only one iteration (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update UnicodeRangeSetTests to RefPtrtr, rm copy constructor and test Created 4 years, 9 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
Index: third_party/WebKit/Source/platform/fonts/SegmentedFontData.cpp
diff --git a/third_party/WebKit/Source/platform/fonts/SegmentedFontData.cpp b/third_party/WebKit/Source/platform/fonts/SegmentedFontData.cpp
index 7bf553929e8289d16b272c14f4b8af483bef626a..e2f00607d4f6981aa54c13b51bfa97e42c4c24b3 100644
--- a/third_party/WebKit/Source/platform/fonts/SegmentedFontData.cpp
+++ b/third_party/WebKit/Source/platform/fonts/SegmentedFontData.cpp
@@ -38,19 +38,19 @@ SegmentedFontData::~SegmentedFontData()
const SimpleFontData* SegmentedFontData::fontDataForCharacter(UChar32 c) const
{
- Vector<FontDataRange>::const_iterator end = m_ranges.end();
- for (Vector<FontDataRange>::const_iterator it = m_ranges.begin(); it != end; ++it) {
- if (it->from() <= c && it->to() >= c)
+ Vector<FontDataForRangeSet>::const_iterator end = m_faces.end();
+ for (Vector<FontDataForRangeSet>::const_iterator it = m_faces.begin(); it != end; ++it) {
+ if (it->contains(c))
return it->fontData().get();
}
- return m_ranges[0].fontData().get();
+ return m_faces[0].fontData().get();
}
bool SegmentedFontData::containsCharacter(UChar32 c) const
{
- Vector<FontDataRange>::const_iterator end = m_ranges.end();
- for (Vector<FontDataRange>::const_iterator it = m_ranges.begin(); it != end; ++it) {
- if (c >= it->from() && c <= it->to())
+ Vector<FontDataForRangeSet>::const_iterator end = m_faces.end();
+ for (Vector<FontDataForRangeSet>::const_iterator it = m_faces.begin(); it != end; ++it) {
+ if (it->contains(c))
return true;
}
return false;
@@ -64,8 +64,8 @@ bool SegmentedFontData::isCustomFont() const
bool SegmentedFontData::isLoading() const
{
- Vector<FontDataRange>::const_iterator end = m_ranges.end();
- for (Vector<FontDataRange>::const_iterator it = m_ranges.begin(); it != end; ++it) {
+ Vector<FontDataForRangeSet>::const_iterator end = m_faces.end();
+ for (Vector<FontDataForRangeSet>::const_iterator it = m_faces.begin(); it != end; ++it) {
if (it->fontData()->isLoading())
return true;
}
@@ -75,8 +75,8 @@ bool SegmentedFontData::isLoading() const
// Returns true if any of the sub fonts are loadingFallback.
bool SegmentedFontData::isLoadingFallback() const
{
- Vector<FontDataRange>::const_iterator end = m_ranges.end();
- for (Vector<FontDataRange>::const_iterator it = m_ranges.begin(); it != end; ++it) {
+ Vector<FontDataForRangeSet>::const_iterator end = m_faces.end();
+ for (Vector<FontDataForRangeSet>::const_iterator it = m_faces.begin(); it != end; ++it) {
if (it->fontData()->isLoadingFallback())
return true;
}
@@ -90,8 +90,8 @@ bool SegmentedFontData::isSegmented() const
bool SegmentedFontData::shouldSkipDrawing() const
{
- Vector<FontDataRange>::const_iterator end = m_ranges.end();
- for (Vector<FontDataRange>::const_iterator it = m_ranges.begin(); it != end; ++it) {
+ Vector<FontDataForRangeSet>::const_iterator end = m_faces.end();
+ for (Vector<FontDataForRangeSet>::const_iterator it = m_faces.begin(); it != end; ++it) {
if (it->fontData()->shouldSkipDrawing())
return true;
}

Powered by Google App Engine
This is Rietveld 408576698