summaryrefslogtreecommitdiffstats
path: root/third_party/harfbuzz
diff options
context:
space:
mode:
authorbashi@chromium.org <bashi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-24 08:43:13 +0000
committerbashi@chromium.org <bashi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-24 08:43:13 +0000
commit15b0000ae1721c3643e1e2bbd1cff074ff9dbbb4 (patch)
tree35d2c2be6e5191d2da382e67a53bba88e06f4c19 /third_party/harfbuzz
parent3b6190fc87f8c40bdd553d0cbf607bbf596f9278 (diff)
downloadchromium_src-15b0000ae1721c3643e1e2bbd1cff074ff9dbbb4.zip
chromium_src-15b0000ae1721c3643e1e2bbd1cff074ff9dbbb4.tar.gz
chromium_src-15b0000ae1721c3643e1e2bbd1cff074ff9dbbb4.tar.bz2
editing/selection/regional-indicators.html timing out on Linux
Removes an assertion in third_party/harfbuzz/src/harfbuzz-shaper.cpp because it fails when text contains surrogate pairs. R=agl@chromium.org TEST=ran WebKit layout tests. BUG=93481 Review URL: http://codereview.chromium.org/7712020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98011 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/harfbuzz')
-rw-r--r--third_party/harfbuzz/chromium.patch16
-rw-r--r--third_party/harfbuzz/src/harfbuzz-shaper.cpp2
2 files changed, 8 insertions, 10 deletions
diff --git a/third_party/harfbuzz/chromium.patch b/third_party/harfbuzz/chromium.patch
index e287b70..d9c87c8 100644
--- a/third_party/harfbuzz/chromium.patch
+++ b/third_party/harfbuzz/chromium.patch
@@ -49,19 +49,19 @@ index a216005..7bd3b3b 100644
&mark2_index );
if ( error )
diff --git a/src/harfbuzz-shaper.cpp b/src/harfbuzz-shaper.cpp
-index ce4d4ac..0f50799 100644
+index ce4d4ac..5999e08 100644
--- a/src/harfbuzz-shaper.cpp
+++ b/src/harfbuzz-shaper.cpp
-@@ -430,7 +430,7 @@ void HB_HeuristicSetGlyphAttributes(HB_ShaperItem *item)
+@@ -430,8 +430,6 @@ void HB_HeuristicSetGlyphAttributes(HB_ShaperItem *item)
// ### zeroWidth and justification are missing here!!!!!
- assert(item->num_glyphs <= length);
-+ assert(length <= item->num_glyphs);
-
+-
// qDebug("QScriptEngine::heuristicSetGlyphAttributes, num_glyphs=%d", item->num_glyphs);
HB_GlyphAttributes *attributes = item->attributes;
-@@ -448,7 +448,6 @@ void HB_HeuristicSetGlyphAttributes(HB_ShaperItem *item)
+ unsigned short *logClusters = item->log_clusters;
+@@ -448,7 +446,6 @@ void HB_HeuristicSetGlyphAttributes(HB_ShaperItem *item)
}
++glyph_pos;
}
@@ -69,7 +69,7 @@ index ce4d4ac..0f50799 100644
// first char in a run is never (treated as) a mark
int cStart = 0;
-@@ -1151,10 +1150,12 @@ HB_Bool HB_OpenTypeShape(HB_ShaperItem *item, const hb_uint32 *properties)
+@@ -1151,10 +1148,12 @@ HB_Bool HB_OpenTypeShape(HB_ShaperItem *item, const hb_uint32 *properties)
return false;
face->tmpLogClusters = tmpLogClusters;
@@ -83,7 +83,7 @@ index ce4d4ac..0f50799 100644
}
#ifdef OT_DEBUG
-@@ -1190,6 +1191,24 @@ HB_Bool HB_OpenTypeShape(HB_ShaperItem *item, const hb_uint32 *properties)
+@@ -1190,6 +1189,24 @@ HB_Bool HB_OpenTypeShape(HB_ShaperItem *item, const hb_uint32 *properties)
return true;
}
@@ -108,7 +108,7 @@ index ce4d4ac..0f50799 100644
HB_Bool HB_OpenTypePosition(HB_ShaperItem *item, int availableGlyphs, HB_Bool doLogClusters)
{
HB_Face face = item->face;
-@@ -1204,6 +1223,8 @@ HB_Bool HB_OpenTypePosition(HB_ShaperItem *item, int availableGlyphs, HB_Bool do
+@@ -1204,6 +1221,8 @@ HB_Bool HB_OpenTypePosition(HB_ShaperItem *item, int availableGlyphs, HB_Bool do
if (!face->glyphs_substituted && !glyphs_positioned) {
HB_GetGlyphAdvances(item);
diff --git a/third_party/harfbuzz/src/harfbuzz-shaper.cpp b/third_party/harfbuzz/src/harfbuzz-shaper.cpp
index 0f50799..5999e08 100644
--- a/third_party/harfbuzz/src/harfbuzz-shaper.cpp
+++ b/third_party/harfbuzz/src/harfbuzz-shaper.cpp
@@ -430,8 +430,6 @@ void HB_HeuristicSetGlyphAttributes(HB_ShaperItem *item)
// ### zeroWidth and justification are missing here!!!!!
- assert(length <= item->num_glyphs);
-
// qDebug("QScriptEngine::heuristicSetGlyphAttributes, num_glyphs=%d", item->num_glyphs);
HB_GlyphAttributes *attributes = item->attributes;
unsigned short *logClusters = item->log_clusters;