From 432653453a8facb744e5239be94c9043128259cb Mon Sep 17 00:00:00 2001 From: Henri Sivonen Date: Thu, 27 Apr 2017 13:27:03 +0300 Subject: [PATCH] Bug 1261841 part 2 - Use encoding_rs instead of uconv. r=emk,mystor. MozReview-Commit-ID: 15Y5GTX98bv --- .../migration/360seProfileMigrator.js | 2 +- browser/components/preferences/fonts.xul | 16 +- docshell/base/nsDocShell.cpp | 8 +- dom/base/BodyUtil.cpp | 58 +- dom/base/EventSource.cpp | 76 +- dom/base/EventSource.h | 1 - dom/base/FormData.cpp | 5 +- dom/base/WebSocket.cpp | 1 - dom/base/nsContentUtils.cpp | 55 +- dom/base/nsContentUtils.h | 6 + dom/base/nsDocumentEncoder.cpp | 153 +- dom/base/nsIContentSerializer.h | 7 +- dom/base/nsPlainTextSerializer.cpp | 12 +- dom/base/nsPlainTextSerializer.h | 6 +- dom/base/nsXHTMLContentSerializer.cpp | 11 +- dom/base/nsXHTMLContentSerializer.h | 10 +- dom/base/nsXMLContentSerializer.cpp | 12 +- dom/base/nsXMLContentSerializer.h | 10 +- dom/base/test/unit/test_xml_serializer.js | 63 +- dom/encoding/EncodingUtils.cpp | 41 +- dom/encoding/EncodingUtils.h | 41 +- dom/encoding/TextDecoder.cpp | 80 +- dom/encoding/TextDecoder.h | 9 +- dom/encoding/TextEncoder.cpp | 50 +- dom/encoding/TextEncoder.h | 4 +- dom/encoding/domainsfallbacks.properties | 16 +- dom/encoding/encodingsgroups.properties | 2 +- dom/encoding/localesfallbacks.properties | 6 +- dom/encoding/test/test_TLD.html | 2 +- dom/encoding/test/unit/test_misc.js | 2 +- dom/fetch/BodyExtractor.cpp | 33 +- dom/fetch/Fetch.cpp | 1 - dom/fetch/FetchUtil.cpp | 2 - dom/html/HTMLFormSubmission.cpp | 92 +- dom/html/HTMLFormSubmission.h | 27 +- dom/html/nsHTMLDocument.cpp | 2 +- dom/json/nsJSON.cpp | 196 +-- dom/json/nsJSON.h | 15 +- dom/json/test/unit/test_encode.js | 17 +- dom/plugins/base/nsPluginTags.cpp | 58 +- dom/script/ScriptLoadHandler.cpp | 74 +- dom/script/ScriptLoadHandler.h | 2 +- dom/script/ScriptLoader.cpp | 85 +- dom/script/ScriptLoader.h | 2 +- dom/url/URLSearchParams.cpp | 36 +- dom/url/URLSearchParams.h | 2 - dom/url/tests/test_urlSearchParams_utf8.html | 5 +- dom/webidl/TextEncoder.webidl | 10 +- dom/workers/ServiceWorkerEvents.cpp | 40 +- dom/xhr/XMLHttpRequestMainThread.cpp | 40 +- dom/xhr/XMLHttpRequestMainThread.h | 4 +- .../spellcheck/hunspell/glue/mozHunspell.cpp | 104 +- .../spellcheck/hunspell/glue/mozHunspell.h | 7 +- extensions/spellcheck/hunspell/src/csutil.cxx | 74 +- .../spellcheck/src/mozEnglishWordUtils.h | 14 +- .../spellcheck/src/mozPersonalDictionary.cpp | 11 +- .../spellcheck/src/mozPersonalDictionary.h | 7 +- gfx/thebes/gfxFontUtils.cpp | 42 +- intl/Encoding.h | 1390 +++++++++++++++++ intl/encoding_glue/Cargo.toml | 16 + intl/encoding_glue/src/lib.rs | 580 +++++++ intl/gtest/TestEncoding.cpp | 73 + intl/gtest/moz.build | 11 + intl/locale/mac/nsMacCharset.cpp | 5 +- intl/locale/unix/nsUNIXCharset.cpp | 1 - intl/locale/unix/unixcharset.properties | 6 +- intl/locale/windows/nsWinCharset.cpp | 5 +- intl/moz.build | 47 +- intl/uconv/moz.build | 142 +- intl/uconv/nsConverterInputStream.cpp | 128 +- intl/uconv/nsConverterInputStream.h | 26 +- intl/uconv/nsConverterOutputStream.cpp | 128 +- intl/uconv/nsConverterOutputStream.h | 4 +- intl/uconv/nsIScriptableUConv.idl | 10 +- intl/uconv/nsITextToSubURI.idl | 18 +- intl/uconv/nsIUTF8ConverterService.idl | 28 +- intl/uconv/nsScriptableUConv.cpp | 338 ++-- intl/uconv/nsScriptableUConv.h | 11 +- intl/uconv/nsTextToSubURI.cpp | 175 +-- intl/uconv/nsUConvModule.cpp | 532 +------ intl/uconv/nsUTF8ConverterService.cpp | 79 +- intl/uconv/tests/moz.build | 15 - intl/uconv/tests/unit/hangulTestStrings.js | 760 --------- intl/uconv/tests/unit/test_bug1008832.js | 13 - intl/uconv/tests/unit/test_bug116882.js | 4 +- intl/uconv/tests/unit/test_bug340714.js | 14 +- intl/uconv/tests/unit/test_bug563283.js | 22 +- .../tests/unit/test_charset_conversion.js | 48 - .../tests/unit/test_decode_EUCKR_Hangul.js | 31 - .../tests/unit/test_decode_x_mac_arabic.js | 15 - .../unit/test_decode_x_mac_arabic_internal.js | 13 - intl/uconv/tests/unit/test_decode_x_mac_ce.js | 13 - .../tests/unit/test_decode_x_mac_croatian.js | 13 - .../unit/test_decode_x_mac_devanagari.js | 13 - .../tests/unit/test_decode_x_mac_farsi.js | 15 - .../unit/test_decode_x_mac_farsi_internal.js | 13 - .../tests/unit/test_decode_x_mac_greek.js | 13 - .../tests/unit/test_decode_x_mac_gujarati.js | 13 - .../tests/unit/test_decode_x_mac_gurmukhi.js | 13 - .../tests/unit/test_decode_x_mac_hebrew.js | 15 - .../unit/test_decode_x_mac_hebrew_internal.js | 13 - .../tests/unit/test_decode_x_mac_icelandic.js | 13 - .../tests/unit/test_decode_x_mac_romanian.js | 13 - .../tests/unit/test_decode_x_mac_turkish.js | 13 - .../tests/unit/test_encode_x_mac_arabic.js | 15 - intl/uconv/tests/unit/test_encode_x_mac_ce.js | 15 - .../tests/unit/test_encode_x_mac_croatian.js | 15 - .../unit/test_encode_x_mac_devanagari.js | 15 - .../tests/unit/test_encode_x_mac_farsi.js | 15 - .../tests/unit/test_encode_x_mac_greek.js | 15 - .../tests/unit/test_encode_x_mac_gujarati.js | 15 - .../tests/unit/test_encode_x_mac_gurmukhi.js | 15 - .../tests/unit/test_encode_x_mac_hebrew.js | 15 - .../tests/unit/test_encode_x_mac_icelandic.js | 15 - .../tests/unit/test_encode_x_mac_romanian.js | 15 - .../tests/unit/test_encode_x_mac_turkish.js | 15 - intl/uconv/tests/unit/test_unmapped.js | 5 +- intl/uconv/tests/unit/xpcshell.ini | 30 - intl/unicharutil/nsSaveAsCharset.cpp | 25 +- intl/unicharutil/nsSaveAsCharset.h | 5 +- js/xpconnect/src/xpc.msg | 2 +- layout/reftests/bugs/116882-1-ref.html | 3 +- layout/style/Loader.cpp | 6 +- netwerk/base/nsStandardURL.cpp | 57 +- netwerk/base/nsStandardURL.h | 8 +- netwerk/base/nsUnicharStreamLoader.cpp | 47 +- netwerk/base/nsUnicharStreamLoader.h | 4 +- netwerk/mime/nsMIMEHeaderParamImpl.cpp | 1 - .../protocol/wyciwyg/WyciwygChannelChild.cpp | 2 +- netwerk/protocol/wyciwyg/nsWyciwygChannel.cpp | 2 +- .../converters/nsDirIndexParser.cpp | 11 +- .../streamconv/converters/nsIndexedToHTML.cpp | 8 +- parser/html/nsHtml5AttributeName.cpp | 1 - parser/html/nsHtml5AttributeName.h | 1 - parser/html/nsHtml5ElementName.cpp | 1 - parser/html/nsHtml5ElementName.h | 1 - parser/html/nsHtml5HtmlAttributes.cpp | 1 - parser/html/nsHtml5HtmlAttributes.h | 1 - parser/html/nsHtml5MetaScanner.cpp | 1 - parser/html/nsHtml5MetaScanner.h | 1 - parser/html/nsHtml5MetaScannerCppSupplement.h | 1 - parser/html/nsHtml5OwningUTF16Buffer.cpp | 12 + parser/html/nsHtml5OwningUTF16Buffer.h | 11 + parser/html/nsHtml5Parser.cpp | 12 +- parser/html/nsHtml5Portability.h | 1 - parser/html/nsHtml5StackNode.cpp | 1 - parser/html/nsHtml5StackNode.h | 1 - parser/html/nsHtml5StateSnapshot.cpp | 1 - parser/html/nsHtml5StateSnapshot.h | 1 - parser/html/nsHtml5StreamParser.cpp | 94 +- parser/html/nsHtml5StreamParser.h | 4 +- parser/html/nsHtml5UTF16Buffer.cpp | 1 - parser/html/nsHtml5UTF16Buffer.h | 1 - parser/htmlparser/nsParser.cpp | 3 +- parser/htmlparser/nsScanner.cpp | 81 +- parser/htmlparser/nsScanner.h | 6 +- ...cument-characterSet-normalization.html.ini | 182 --- .../encoding/iso-2022-jp-decoder.html.ini | 65 - .../encoding/single-byte-decoder.html.ini | 11 - .../meta/encoding/textdecoder-labels.html.ini | 5 - .../meta/eventsource/format-bom-2.htm.ini | 5 - .../meta/url/urlencoded-parser.html.ini | 29 - .../tests/encoding/iso-2022-jp-decoder.html | 4 +- .../tests/encoding/single-byte-decoder.html | 2 +- .../osfile/NativeOSFileInternals.cpp | 50 +- .../components/passwordmgr/OSCrypto_win.js | 17 +- toolkit/library/gtest/rust/Cargo.lock | 10 + toolkit/library/gtest/rust/Cargo.toml | 3 + toolkit/library/rust/Cargo.lock | 10 + toolkit/library/rust/Cargo.toml | 3 + toolkit/library/rust/gkrust-features.mozbuild | 1 + toolkit/library/rust/shared/Cargo.toml | 7 +- toolkit/library/rust/shared/lib.rs | 1 + .../chrome/global/charsetMenu.properties | 2 +- toolkit/modules/CharsetMenu.jsm | 8 +- widget/gtk/nsClipboard.cpp | 53 +- xpcom/base/ErrorList.py | 1 + xpcom/io/nsIUnicharOutputStream.idl | 2 - 178 files changed, 3560 insertions(+), 4174 deletions(-) create mode 100644 intl/Encoding.h create mode 100644 intl/encoding_glue/Cargo.toml create mode 100644 intl/encoding_glue/src/lib.rs create mode 100644 intl/gtest/TestEncoding.cpp create mode 100644 intl/gtest/moz.build delete mode 100644 intl/uconv/tests/unit/hangulTestStrings.js delete mode 100644 intl/uconv/tests/unit/test_bug1008832.js delete mode 100644 intl/uconv/tests/unit/test_decode_EUCKR_Hangul.js delete mode 100644 intl/uconv/tests/unit/test_decode_x_mac_arabic.js delete mode 100644 intl/uconv/tests/unit/test_decode_x_mac_arabic_internal.js delete mode 100644 intl/uconv/tests/unit/test_decode_x_mac_ce.js delete mode 100644 intl/uconv/tests/unit/test_decode_x_mac_croatian.js delete mode 100644 intl/uconv/tests/unit/test_decode_x_mac_devanagari.js delete mode 100644 intl/uconv/tests/unit/test_decode_x_mac_farsi.js delete mode 100644 intl/uconv/tests/unit/test_decode_x_mac_farsi_internal.js delete mode 100644 intl/uconv/tests/unit/test_decode_x_mac_greek.js delete mode 100644 intl/uconv/tests/unit/test_decode_x_mac_gujarati.js delete mode 100644 intl/uconv/tests/unit/test_decode_x_mac_gurmukhi.js delete mode 100644 intl/uconv/tests/unit/test_decode_x_mac_hebrew.js delete mode 100644 intl/uconv/tests/unit/test_decode_x_mac_hebrew_internal.js delete mode 100644 intl/uconv/tests/unit/test_decode_x_mac_icelandic.js delete mode 100644 intl/uconv/tests/unit/test_decode_x_mac_romanian.js delete mode 100644 intl/uconv/tests/unit/test_decode_x_mac_turkish.js delete mode 100644 intl/uconv/tests/unit/test_encode_x_mac_arabic.js delete mode 100644 intl/uconv/tests/unit/test_encode_x_mac_ce.js delete mode 100644 intl/uconv/tests/unit/test_encode_x_mac_croatian.js delete mode 100644 intl/uconv/tests/unit/test_encode_x_mac_devanagari.js delete mode 100644 intl/uconv/tests/unit/test_encode_x_mac_farsi.js delete mode 100644 intl/uconv/tests/unit/test_encode_x_mac_greek.js delete mode 100644 intl/uconv/tests/unit/test_encode_x_mac_gujarati.js delete mode 100644 intl/uconv/tests/unit/test_encode_x_mac_gurmukhi.js delete mode 100644 intl/uconv/tests/unit/test_encode_x_mac_hebrew.js delete mode 100644 intl/uconv/tests/unit/test_encode_x_mac_icelandic.js delete mode 100644 intl/uconv/tests/unit/test_encode_x_mac_romanian.js delete mode 100644 intl/uconv/tests/unit/test_encode_x_mac_turkish.js delete mode 100644 testing/web-platform/meta/dom/nodes/Document-characterSet-normalization.html.ini delete mode 100644 testing/web-platform/meta/encoding/iso-2022-jp-decoder.html.ini delete mode 100644 testing/web-platform/meta/encoding/single-byte-decoder.html.ini delete mode 100644 testing/web-platform/meta/encoding/textdecoder-labels.html.ini delete mode 100644 testing/web-platform/meta/eventsource/format-bom-2.htm.ini delete mode 100644 testing/web-platform/meta/url/urlencoded-parser.html.ini diff --git a/browser/components/migration/360seProfileMigrator.js b/browser/components/migration/360seProfileMigrator.js index ca25af61deec..59a2852effa5 100644 --- a/browser/components/migration/360seProfileMigrator.js +++ b/browser/components/migration/360seProfileMigrator.js @@ -234,7 +234,7 @@ Object.defineProperty(Qihoo360seProfileMigrator.prototype, "sourceProfiles", { throw new Error("360 Secure Browser's 'login.ini' file could not be read."); } - let loginIniInUtf8 = copyToTempUTF8File(loginIni, "gbk"); + let loginIniInUtf8 = copyToTempUTF8File(loginIni, "GBK"); let loginIniObj = parseINIStrings(loginIniInUtf8); try { loginIniInUtf8.remove(false); diff --git a/browser/components/preferences/fonts.xul b/browser/components/preferences/fonts.xul index f87cf16a2a48..7099fedc33c0 100644 --- a/browser/components/preferences/fonts.xul +++ b/browser/components/preferences/fonts.xul @@ -25,7 +25,7 @@ - + - +