--- chromium-77.0.3865.35/build/linux/unbundle/icu.gn.system-icu 2019-08-15 00:01:58.000000000 +0200 +++ chromium-77.0.3865.35/build/linux/unbundle/icu.gn 2019-08-19 00:42:24.966514077 +0200 @@ -89,6 +89,7 @@ shim_headers("icui18n_shim") { "unicode/fieldpos.h", "unicode/fmtable.h", "unicode/format.h", + "unicode/formattedvalue.h", "unicode/fpositer.h", "unicode/gender.h", "unicode/gregocal.h", @@ -97,6 +98,9 @@ shim_headers("icui18n_shim") { "unicode/measunit.h", "unicode/measure.h", "unicode/msgfmt.h", + "unicode/nounit.h", + "unicode/numberformatter.h", + "unicode/numberrangeformatter.h", "unicode/numfmt.h", "unicode/numsys.h", "unicode/plurfmt.h", @@ -124,18 +128,21 @@ shim_headers("icui18n_shim") { "unicode/tzrule.h", "unicode/tztrans.h", "unicode/ucal.h", - "unicode/ucol.h", "unicode/ucoleitr.h", + "unicode/ucol.h", "unicode/ucsdet.h", - "unicode/udat.h", "unicode/udateintervalformat.h", + "unicode/udat.h", "unicode/udatpg.h", "unicode/ufieldpositer.h", "unicode/uformattable.h", + "unicode/uformattedvalue.h", "unicode/ugender.h", + "unicode/ulistformatter.h", "unicode/ulocdata.h", "unicode/umsg.h", "unicode/unirepl.h", + "unicode/unumberformatter.h", "unicode/unum.h", "unicode/unumsys.h", "unicode/upluralrules.h", @@ -159,8 +166,8 @@ shim_headers("icuuc_shim") { "unicode/appendable.h", "unicode/brkiter.h", "unicode/bytestream.h", - "unicode/bytestrie.h", "unicode/bytestriebuilder.h", + "unicode/bytestrie.h", "unicode/caniter.h", "unicode/casemap.h", "unicode/char16ptr.h", @@ -175,6 +182,7 @@ shim_headers("icuuc_shim") { "unicode/icudataver.h", "unicode/icuplug.h", "unicode/idna.h", + "unicode/localebuilder.h", "unicode/localematcher.h", "unicode/localpointer.h", "unicode/locdspnm.h", @@ -194,6 +202,7 @@ shim_headers("icuuc_shim") { "unicode/simpleformatter.h", "unicode/std_string.h", "unicode/strenum.h", + "unicode/stringoptions.h", "unicode/stringpiece.h", "unicode/stringtriebuilder.h", "unicode/symtable.h", @@ -203,15 +212,17 @@ shim_headers("icuuc_shim") { "unicode/ucasemap.h", "unicode/ucat.h", "unicode/uchar.h", - "unicode/ucharstrie.h", "unicode/ucharstriebuilder.h", + "unicode/ucharstrie.h", "unicode/uchriter.h", "unicode/uclean.h", - "unicode/ucnv.h", "unicode/ucnv_cb.h", "unicode/ucnv_err.h", + "unicode/ucnv.h", "unicode/ucnvsel.h", "unicode/uconfig.h", + "unicode/ucpmap.h", + "unicode/ucptrie.h", "unicode/ucurr.h", "unicode/udata.h", "unicode/udisplaycontext.h", @@ -219,17 +230,17 @@ shim_headers("icuuc_shim") { "unicode/uidna.h", "unicode/uiter.h", "unicode/uldnames.h", - "unicode/ulistformatter.h", "unicode/uloc.h", "unicode/umachine.h", "unicode/umisc.h", + "unicode/umutablecptrie.h", "unicode/unifilt.h", "unicode/unifunct.h", "unicode/unimatch.h", "unicode/uniset.h", "unicode/unistr.h", - "unicode/unorm.h", "unicode/unorm2.h", + "unicode/unorm.h", "unicode/uobject.h", "unicode/urename.h", "unicode/urep.h", @@ -242,10 +253,10 @@ shim_headers("icuuc_shim") { "unicode/ustring.h", "unicode/ustringtrie.h", "unicode/utext.h", - "unicode/utf.h", "unicode/utf16.h", "unicode/utf32.h", "unicode/utf8.h", + "unicode/utf.h", "unicode/utf_old.h", "unicode/utrace.h", "unicode/utypes.h", --- chromium-77.0.3865.10/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc.gcc9 2019-08-06 13:56:51.000000000 +0200 +++ chromium-77.0.3865.10/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc 2019-08-17 23:04:49.310587794 +0200 @@ -594,24 +594,6 @@ static void GbkUrlEscapedEntityCallack( UCNV_FROM_U_CALLBACK_ESCAPE(context, from_unicode_args, code_units, length, code_point, reason, err); } - -static void GbkCallbackSubstitute(const void* context, - UConverterFromUnicodeArgs* from_unicode_args, - const UChar* code_units, - int32_t length, - UChar32 code_point, - UConverterCallbackReason reason, - UErrorCode* err) { - UChar out_char; - if (reason == UCNV_UNASSIGNED && (out_char = FallbackForGBK(code_point))) { - const UChar* source = &out_char; - *err = U_ZERO_ERROR; - ucnv_cbFromUWriteUChars(from_unicode_args, &source, source + 1, 0, err); - return; - } - UCNV_FROM_U_CALLBACK_SUBSTITUTE(context, from_unicode_args, code_units, - length, code_point, reason, err); -} #endif // USING_SYSTEM_ICU static void NotReachedEntityCallback(const void* context, --- chromium-79.0.3945.16/base/BUILD.gn.system-icu 2019-10-29 23:01:52.000000000 +0100 +++ chromium-79.0.3945.16/base/BUILD.gn 2019-11-03 17:02:49.728917472 +0100 @@ -3469,15 +3469,6 @@ test("base_unittests") { ] } - if (icu_use_data_file) { - if (is_android) { - deps += [ "//third_party/icu:icu_extra_assets" ] - } else { - deps += [ "//third_party/icu:extra_icudata" ] - data += [ "$root_out_dir/icudtl_extra.dat" ] - } - } - if (is_ios) { sources += [ "ios/device_util_unittest.mm", --- chromium-83.0.4103.7/base/i18n/icu_util.cc.system-icu 2020-04-09 00:27:50.000000000 +0200 +++ chromium-83.0.4103.7/base/i18n/icu_util.cc 2020-04-17 10:13:15.405682577 +0200 @@ -370,117 +370,6 @@ enum class ICUCreateInstance { kMaxValue = kChineseJapaneseBreakEngine }; -// Callback functions to report the opening of ICU Data File, and creation of -// key objects to UMA. This help us to understand what built-in ICU data files -// are rarely used in the user's machines and the distribution of ICU usage. -static void U_CALLCONV TraceICUEntry(const void*, int32_t fn_number) { - switch (fn_number) { - case UTRACE_UBRK_CREATE_CHARACTER: - base::UmaHistogramEnumeration(kICUCreateInstance, - ICUCreateInstance::kCharacterBreakIterator); - break; - case UTRACE_UBRK_CREATE_SENTENCE: - base::UmaHistogramEnumeration(kICUCreateInstance, - ICUCreateInstance::kSentenceBreakIterator); - break; - case UTRACE_UBRK_CREATE_TITLE: - base::UmaHistogramEnumeration(kICUCreateInstance, - ICUCreateInstance::kTitleBreakIterator); - break; - case UTRACE_UBRK_CREATE_WORD: - base::UmaHistogramEnumeration(kICUCreateInstance, - ICUCreateInstance::kWordBreakIterator); - break; - default: - return; - } -} - -static void U_CALLCONV TraceICUData(const void* context, - int32_t fn_number, - int32_t level, - const char* fmt, - va_list args) { - switch (fn_number) { - case UTRACE_UDATA_DATA_FILE: { - std::string icu_data_file_name(va_arg(args, const char*)); - va_end(args); - // Skip icu version specified prefix if exist. - // path is prefixed with icu version prefix such as "icudt65l-". - // Histogram only the part after the -. - if (icu_data_file_name.find("icudt") == 0) { - size_t dash = icu_data_file_name.find("-"); - if (dash != std::string::npos) { - icu_data_file_name = icu_data_file_name.substr(dash + 1); - } - } - // UmaHistogramSparse should track less than 100 values. - // We currently have about total 55 built-in data files inside ICU - // so it fit the UmaHistogramSparse usage. - int hash = base::HashMetricName(icu_data_file_name); - base::UmaHistogramSparse(kICUDataFile, hash); - return; - } - case UTRACE_UBRK_CREATE_LINE: { - const char* lb_type = va_arg(args, const char*); - va_end(args); - ICUCreateInstance value; - switch (lb_type[0]) { - case '\0': - value = ICUCreateInstance::kLineBreakIterator; - break; - case 'l': - DCHECK(strcmp(lb_type, "loose") == 0); - value = ICUCreateInstance::kLineBreakIteratorTypeLoose; - break; - case 'n': - DCHECK(strcmp(lb_type, "normal") == 0); - value = ICUCreateInstance::kLineBreakIteratorTypeNormal; - break; - case 's': - DCHECK(strcmp(lb_type, "strict") == 0); - value = ICUCreateInstance::kLineBreakIteratorTypeStrict; - break; - default: - return; - } - base::UmaHistogramEnumeration(kICUCreateInstance, value); - return; - } - case UTRACE_UBRK_CREATE_BREAK_ENGINE: { - const char* script = va_arg(args, const char*); - va_end(args); - ICUCreateInstance value; - switch (script[0]) { - case 'H': - DCHECK(strcmp(script, "Hani") == 0); - value = ICUCreateInstance::kChineseJapaneseBreakEngine; - break; - case 'K': - DCHECK(strcmp(script, "Khmr") == 0); - value = ICUCreateInstance::kKhmerBreakEngine; - break; - case 'L': - DCHECK(strcmp(script, "Laoo") == 0); - value = ICUCreateInstance::kLaoBreakEngine; - break; - case 'M': - DCHECK(strcmp(script, "Mymr") == 0); - value = ICUCreateInstance::kBurmeseBreakEngine; - break; - case 'T': - DCHECK(strcmp(script, "Thai") == 0); - value = ICUCreateInstance::kThaiBreakEngine; - break; - default: - return; - } - base::UmaHistogramEnumeration(kICUCreateInstance, value); - return; - } - } -} - // Common initialization to run regardless of how ICU is initialized. // There are multiple exposed InitializeIcu* functions. This should be called // as at the end of (the last functions in the sequence of) these functions. @@ -489,10 +378,6 @@ bool DoCommonInitialization() { // add a boolean argument to this function to init the default tz only // when requested. InitializeIcuTimeZone(); - - const void* context = nullptr; - utrace_setFunctions(context, TraceICUEntry, nullptr, TraceICUData); - utrace_setLevel(UTRACE_VERBOSE); return true; }