summaryrefslogtreecommitdiffstats
path: root/WebKit/android/WebCoreSupport/WebRequestContext.cpp
diff options
context:
space:
mode:
authorclaireho <chinglanho@gmail.com>2010-11-02 14:26:59 -0700
committerclaireho <chinglanho@gmail.com>2010-11-03 10:56:04 -0700
commit5e45e11e0649161823ace17ca9e020111624a486 (patch)
treec8e26eaacb53eb26c8783b58006dd7ce60a02635 /WebKit/android/WebCoreSupport/WebRequestContext.cpp
parent48735f195bdb1f681dba8e1d67f0b85b9b74c1a8 (diff)
downloadexternal_webkit-5e45e11e0649161823ace17ca9e020111624a486.zip
external_webkit-5e45e11e0649161823ace17ca9e020111624a486.tar.gz
external_webkit-5e45e11e0649161823ace17ca9e020111624a486.tar.bz2
Bug 3158404 : Performance improvement for browser complex script handle.
1. Reduce the number of calls of normalization function. The purpose of NFC normalization is to compose base letter and non-spacing combining marks to be accented character. i.e. Convert A(U+0041) and acute(U+0301) to A with Acute(U+00C1). NFC includes three parts - decomposition, canonical sort and composition for entire string. It is very expensive. TextRunWalker class would like to convert '\t', '\n' and non-break space(\U+00A0) to space. NFC cannot achieve this purpose. So, it is not necessary to call normalization for Font::treatAsSpace(). This improvement saves the NFC nomalization calls for complex script text has '\t', '\n' or 0xA0 and does not have non-spacing combining marks. 2. FontAndroid.cpp scans text for space and punctuation in 2 separate loops. Combine these 2 loops to one pass. Change-Id: I6b1ff20dd1072cf1f03066ce1c87ad39d0040779
Diffstat (limited to 'WebKit/android/WebCoreSupport/WebRequestContext.cpp')
0 files changed, 0 insertions, 0 deletions