diff options
author | bashi@chromium.org <bashi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-24 08:43:13 +0000 |
---|---|---|
committer | bashi@chromium.org <bashi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-24 08:43:13 +0000 |
commit | 15b0000ae1721c3643e1e2bbd1cff074ff9dbbb4 (patch) | |
tree | 35d2c2be6e5191d2da382e67a53bba88e06f4c19 | |
parent | 3b6190fc87f8c40bdd553d0cbf607bbf596f9278 (diff) | |
download | chromium_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
-rw-r--r-- | third_party/harfbuzz/chromium.patch | 16 | ||||
-rw-r--r-- | third_party/harfbuzz/src/harfbuzz-shaper.cpp | 2 |
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; |