Turn on UCONFIG_NO_NON_HTML5_CONVERTER
UCONFIG_NO_NON_HTML5_CONVERTER was added earlier to our copy of ICU, but
it was never set to 1. It's my oversight.
1. Turns UCON..CONVERTER on in icu.gyp to drop all the encodings not
required by the Encoding spec. Dropped encodings include
UTF-7, BOCU, SCSU, CESU, ISCII, ISO-2022-{KR, CN*}, HZ-GB, ISO-2022-JP's
other than the original.
2. A lot more sections of the ICU converter code are excluded when
it's set to 1 including the code for LMB (Lotus Multibyte) encodings and
X11 compound text encoding (icu common).
3. The character encoding detections for encodings excluded are also disabled.
(icu i18n)
4. ISO-2022-{KR, CN*} and HZ-GB can be dropped now because Blink treats them
as replacement encoding. The corresponding alias entries from convertrs.txt
are also removed.
5. ibm-874 was removed. We used to need it before Blink started, but not any
more. We only need windows-874.
6. A mistaken in convertrs.txt was corrected : Big5-HKSCS was pointing to
an old mapping table.
7. Per ICU upstream's suggestion, use '-html' suffix instead of '-html5'
for the encoding tables derived from the WHATWG's encoding spec (ibm866,
shift_jis and euc-jp).
The static 64-bit release build of Chrome on Linux went down from
141,596,616 to 141,491,968 bytes (~ 100 kB reduction). Besides, the icu data
size got smaller by ~ 19 kB ( 10,490,576 to 10,471,008 bytes).
See http://bugs.icu-project.org/trac/ticket/11296 for an upstream bug
I've filed on the issue.
BUG=76328
TEST=browser_tests --gtest_filter="*ncoding*"
TEST=net_unittest --gtest_filter="*ilenameUtil*"
TEST=base_unittests --gtest_filter="*Conv*"
TEST=Blink: fast/encoding/*
TEST=With shared library build, the following has no match.
nm libicuuc.so | egrep -i '(bocu|scsu|utf7|2022kr|2022cn|iscii)'
nm libicui18n.so | egrep -i '(2022kr|2022cn|ibm42)'
TEST=With static library build, the following has no match.
nm chrome | egrep -i '(bocu|scsu|utf7|2022kr|2022cn|iscii|ibm42)'
R=jsbell@chromium.org, mark@chromium.org
Review URL: https://codereview.chromium.org/587833004
git-svn-id: http://src.chromium.org/svn/trunk/deps/third_party/icu52@292131 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
27 files changed