Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adopt char32_t instead of UChar32 to sidestep ambiguity with int and …
…int32_t https://bugs.webkit.org/show_bug.cgi?id=265478 rdar://118900819 Reviewed by Alex Christensen. Use char32_t instead of UChar32 almost everywhere. This allows us to remove StringBuilder::appendCharacter since we can make StringBuilder::append handle char32_t as a character rather than as int32_t (what UChar32 is defined as). The ICU functions and macros that work with UChar32 mostly just work with char32_t. There is a tiny number of exceptions to that rule that result in us using UChar32 in a couple places, but this changes every other instance outside ICU. Also fixed UTF-8 conversion in the XSLT code to work more efficiently with StringBuilder; added a new FromUTF8 adapter to makeString and StringBuilder::append. * Source/JavaScriptCore/parser/Lexer.cpp: (JSC::ParsedUnicodeEscapeValue::ParsedUnicodeEscapeValue): Use char32_t. (JSC::ParsedUnicodeEscapeValue::isValid const): Ditto. (JSC::ParsedUnicodeEscapeValue::value const): Ditto. (JSC::Lexer<CharacterType>::parseUnicodeEscape): Ditto. (JSC::isNonLatin1IdentStart): Ditto. (JSC::isIdentStart): Ditto. (JSC::isSingleCharacterIdentStart): Ditto. (JSC::isNonLatin1IdentPart): Ditto. (JSC::isIdentPart): Ditto. (JSC::isSingleCharacterIdentPart): Ditto. (JSC::Lexer<LChar>::currentCodePoint const): Ditto. (JSC::Lexer<UChar>::currentCodePoint const): Ditto. (JSC::Lexer<CharacterType>::recordUnicodeCodePoint): Ditto. (JSC::Lexer<CharacterType>::parseIdentifierSlowCase): Ditto. (JSC::Lexer<T>::lexWithoutClearingLineTerminator): Ditto. * Source/JavaScriptCore/parser/Lexer.h: Use char32_t. Define errorCodePoint. * Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): Use char32_t. (JSC::decode): Use char32_t and U_SENTINEL. * Source/JavaScriptCore/runtime/StringPrototype.cpp: (JSC::codePointAt): Use char32_t. * Source/JavaScriptCore/yarr/YarrCanonicalize.h: (JSC::Yarr::canonicalCharacterSetInfo): Ditto. (JSC::Yarr::canonicalRangeInfoFor): Ditto. (JSC::Yarr::getCanonicalPair): Ditto. (JSC::Yarr::isCanonicallyUnique): Ditto. (JSC::Yarr::areCanonicallyEquivalent): Ditto. * Source/JavaScriptCore/yarr/YarrCanonicalizeUCS2.cpp: Ditto. * Source/JavaScriptCore/yarr/YarrCanonicalizeUCS2.js: (printHeader): Ditto. * Source/JavaScriptCore/yarr/YarrInterpreter.cpp: (JSC::Yarr::Interpreter::InputStream::read): Use char32_t and errorCodePoint. (JSC::Yarr::Interpreter::InputStream::readChecked): Ditto. (JSC::Yarr::Interpreter::InputStream::readCheckedDontAdvance): Ditto. (JSC::Yarr::Interpreter::InputStream::readForCharacterDump): Ditto. (JSC::Yarr::Interpreter::InputStream::tryReadBackward): Ditto. (JSC::Yarr::Interpreter::InputStream::readSurrogatePairChecked): Ditto. (JSC::Yarr::Interpreter::InputStream::reread): Ditto. (JSC::Yarr::Interpreter::InputStream::prev): Ditto. (JSC::Yarr::Interpreter::testCharacterClass): Ditto. (JSC::Yarr::Interpreter::checkCharacter): Ditto. (JSC::Yarr::Interpreter::checkSurrogatePair): Ditto. (JSC::Yarr::Interpreter::checkCasedCharacter): Ditto. (JSC::Yarr::Interpreter::checkCharacterClass): Ditto. (JSC::Yarr::Interpreter::checkCharacterClassDontAdvanceInputForNonBMP): Ditto. (JSC::Yarr::ByteCompiler::atomPatternCharacter): Ditto. * Source/JavaScriptCore/yarr/YarrInterpreter.h: (JSC::Yarr::ByteTerm::ByteTerm): Use char32_t. * Source/JavaScriptCore/yarr/YarrJIT.cpp: (JSC::Yarr::BoyerMooreInfo::set): Ditto. (JSC::Yarr::BoyerMooreInfo::addCharacters): Ditto. * Source/JavaScriptCore/yarr/YarrJIT.h: (JSC::Yarr::BoyerMooreFastCandidates::at const): Ditto. (JSC::Yarr::BoyerMooreFastCandidates::add): Ditto. (JSC::Yarr::BoyerMooreBitmap::add): Ditto. (JSC::Yarr::BoyerMooreBitmap::addCharacters): Ditto. (JSC::Yarr::BoyerMooreBitmap::addRanges): Ditto. * Source/JavaScriptCore/yarr/YarrParser.h: Use char32_t and errorCodePoint. (JSC::Yarr::Parser::CharacterClassParserDelegate::atomPatternCharacter): Ditto. (JSC::Yarr::Parser::ClassSetParserDelegate::atomPatternCharacter): Ditto. (JSC::Yarr::Parser::ClassStringDisjunctionParserDelegate::atomPatternCharacter): Ditto. (JSC::Yarr::Parser::isIdentityEscapeAnError): Ditto. (JSC::Yarr::Parser::parseEscape): Ditto. (JSC::Yarr::Parser::consumePossibleSurrogatePair): Ditto. (JSC::Yarr::Parser::consumeAndCheckIfValidClassSetCharacter): Ditto. (JSC::Yarr::Parser::parseClassSet): Ditto. (JSC::Yarr::Parser::parseClassStringDisjunction): Ditto. (JSC::Yarr::Parser::peek): Ditto. (JSC::Yarr::Parser::tryConsumeUnicodeEscape): Ditto. (JSC::Yarr::Parser::tryConsumeIdentifierCharacter): Ditto. (JSC::Yarr::Parser::isIdentifierStart): Ditto. (JSC::Yarr::Parser::isIdentifierPart): Ditto. (JSC::Yarr::Parser::isUnicodePropertyValueExpressionChar): Ditto. (JSC::Yarr::Parser::consume): Ditto. (JSC::Yarr::Parser::tryConsumeHex): Ditto. (JSC::Yarr::Parser::tryConsumeGroupName): Ditto. (JSC::Yarr::Parser::tryConsumeUnicodePropertyExpression): Ditto. * Source/JavaScriptCore/yarr/YarrPattern.cpp: (JSC::Yarr::CharacterClassConstructor::appendInverted): Use char32_t. (JSC::Yarr::CharacterClassConstructor::putChar): Ditto. (JSC::Yarr::CharacterClassConstructor::putCharNonUnion): Ditto. (JSC::Yarr::CharacterClassConstructor::putUnicodeIgnoreCase): Ditto. (JSC::Yarr::CharacterClassConstructor::putRange): Ditto. (JSC::Yarr::CharacterClassConstructor::atomClassStringDisjunction): Ditto. (JSC::Yarr::CharacterClassConstructor::performSetOpWithStrings): Ditto. (JSC::Yarr::CharacterClassConstructor::performSetOpWithMatches): Ditto. (JSC::Yarr::CharacterClassConstructor::compareUTF32Strings): Ditto. (JSC::Yarr::CharacterClassConstructor::sort): Ditto. (JSC::Yarr::CharacterClassConstructor::addSorted): Ditto. (JSC::Yarr::CharacterClassConstructor::addSortedRange): Ditto. (JSC::Yarr::CharacterClassConstructor::unionStrings): Ditto. (JSC::Yarr::CharacterClassConstructor::intersectionStrings): Ditto. (JSC::Yarr::CharacterClassConstructor::subtractionStrings): Ditto. (JSC::Yarr::CharacterClassConstructor::asciiOpSorted): Ditto. (JSC::Yarr::CharacterClassConstructor::unicodeOpSorted): Ditto. (JSC::Yarr::CharacterClassConstructor::coalesceTables): Ditto. (JSC::Yarr::YarrPatternConstructor::atomPatternCharacter): Ditto. (JSC::Yarr::YarrPatternConstructor::atomCharacterClassAtom): Ditto. (JSC::Yarr::YarrPatternConstructor::atomCharacterClassRange): Ditto. (JSC::Yarr::YarrPatternConstructor::atomClassStringDisjunction): Ditto. (JSC::Yarr::dumpUChar32): Ditto. (JSC::Yarr::dumpCharacterClass): Ditto. * Source/JavaScriptCore/yarr/YarrPattern.h: (JSC::Yarr::CharacterRange::CharacterRange): Ditto. (JSC::Yarr::CharacterClass::CharacterClass): Ditto. (JSC::Yarr::ClassSet::ClassSet): Ditto. (JSC::Yarr::PatternTerm::PatternTerm): Ditto. * Source/JavaScriptCore/yarr/YarrSyntaxChecker.cpp: (JSC::Yarr::SyntaxChecker::atomPatternCharacter): Ditto. (JSC::Yarr::SyntaxChecker::atomClassStringDisjunction): Ditto. * Source/JavaScriptCore/yarr/generateYarrCanonicalizeUnicode: (Canonicalize.createTables): Ditto. * Source/JavaScriptCore/yarr/generateYarrUnicodePropertyTables.py: (PropertyData.convertStringToCppFormat): Ditto. (PropertyData.dump): Ditto. * Source/WTF/wtf/ASCIICType.h: (WTF::isASCIIAlphaCaselessEqual): Updated to compile without warnings both on platforms where char is signed and platforms where char is unsigned. * Source/WTF/wtf/PrintStream.cpp: (WTF::printInternal): Use char32_t. * Source/WTF/wtf/PrintStream.h: Ditto. * Source/WTF/wtf/URLHelpers.cpp: (WTF::URLHelpers::isLookalikeCharacterOfScriptType<USCRIPT_ARMENIAN>): Ditto. (WTF::URLHelpers::isLookalikeCharacterOfScriptType<USCRIPT_TAMIL>): Ditto. (WTF::URLHelpers::isLookalikeCharacterOfScriptType<USCRIPT_CANADIAN_ABORIGINAL>): Ditto. (WTF::URLHelpers::isLookalikeCharacterOfScriptType<USCRIPT_THAI>): Ditto. (WTF::URLHelpers::isOfScriptType): Ditto. (WTF::URLHelpers::isLookalikeSequence): Ditto. (WTF::URLHelpers::isLookalikeSequence<USCRIPT_ARABIC>): Ditto. (WTF::URLHelpers::isLookalikeCharacter): Ditto. (WTF::URLHelpers::allCharactersInAllowedIDNScriptList): Ditto. (WTF::URLHelpers::escapeUnsafeCharacters): Ditto. * Source/WTF/wtf/URLParser.cpp: (WTF::appendCodePoint): Ditto. (WTF::URLParser::appendToASCIIBuffer): Ditto. (WTF::URLParser::utf8PercentEncode): Ditto. (WTF::URLParser::utf8QueryEncode): Ditto. (WTF::URLParser::isSingleDotPathSegment): Ditto. (WTF::URLParser::isDoubleDotPathSegment): Ditto. (WTF::URLParser::consumeSingleDotPathSegment): Ditto. (WTF::URLParser::consumeDoubleDotPathSegment): Ditto. (WTF::URLParser::checkLocalhostCodePoint): Ditto. * Source/WTF/wtf/URLParser.h: Ditto. * Source/WTF/wtf/text/AtomString.cpp: (WTF::replaceUnpairedSurrogatesWithReplacementCharacterInternal): Use append. * Source/WTF/wtf/text/CodePointIterator.h: (WTF::CodePointIterator<LChar>::operator const): Use char32_t. (WTF::CodePointIterator<UChar>::operator const): Ditto. * Source/WTF/wtf/text/StringBuilder.h: (WTF::StringBuilder::appendCharacter): Deleted. * Source/WTF/wtf/text/StringConcatenate.h: Added two new adapters. One makes char32_t work with makeString and StringBuilder::append, and the other, FromUT8, supports converting from UTF-8 as part of the process of calling makeString or StringBuilder::append. * Source/WTF/wtf/text/StringImpl.cpp: (WTF::StringImpl::characterStartingAt): Use char32_t. * Source/WTF/wtf/text/StringImpl.h: Ditto. * Source/WTF/wtf/text/StringView.h: (WTF::StringView::CodePoints::Iterator::operator* const): Ditto. * Source/WTF/wtf/text/WTFString.cpp: (WTF::String::characterStartingAt const): Ditto. (WTF::String::fromCodePoint): Ditto. * Source/WTF/wtf/text/WTFString.h: Ditto. * Source/WTF/wtf/unicode/CharacterNames.h: Ditto. * Source/WTF/wtf/unicode/UTF8Conversion.cpp: (WTF::Unicode::convertLatin1ToUTF8): Use char32_t and sentinelCodePoint. Removed unneeded reinterpret_cast. (WTF::Unicode::convertUTF16ToUTF8): Ditto. (WTF::Unicode::convertUTF8ToUTF16Impl): Ditto. (WTF::Unicode::calculateStringHashAndLengthFromUTF8MaskingTop8Bits): Ditto. (WTF::Unicode::equalUTF16WithUTF8): Rewrite in a straightforward way using U8_NEXT and U16_NEXT_UNSAFE instead of our own more complex code. (WTF::Unicode::equalLatin1WithUTF8): Rewrite in a straightforward way using U8_NEXT instead of our own more complex code. (WTF::Unicode::computeUTFLengths): Added. * Source/WTF/wtf/unicode/UTF8Conversion.h: Added computeUTFLengths. * Source/WebCore/PAL/pal/text/EncodingTables.cpp: Use char32_t. * Source/WebCore/PAL/pal/text/EncodingTables.h: Ditto. * Source/WebCore/PAL/pal/text/TextCodec.cpp: (PAL::TextCodec::getUnencodableReplacement): Ditto. * Source/WebCore/PAL/pal/text/TextCodec.h: Ditto. * Source/WebCore/PAL/pal/text/TextCodecCJK.cpp: (PAL::TextCodecCJK::eucJPDecode): Ditto. (PAL::eucJPEncode): Ditto. (PAL::iso2022JPEncode): Ditto. (PAL::shiftJISEncode): Ditto. (PAL::eucKREncode): Ditto. (PAL::big5Encode): Ditto. (PAL::gb18030Ranges): Ditto. (PAL::gb18030RangesCodePoint): Ditto. (PAL::gb18030RangesPointer): Ditto. (PAL::gb180302022Encode): Ditto. (PAL::gb180302022Decode): Ditto. (PAL::TextCodecCJK::gb18030Decode): Ditto. (PAL::gbEncodeShared): Ditto. (PAL::gb18030Encode): Ditto. (PAL::gbkEncode): Ditto. (PAL::appendDecimal): Ditto. (PAL::urlEncodedEntityUnencodableHandler): Ditto. (PAL::entityUnencodableHandler): Ditto. (PAL::unencodableHandler): Ditto. (PAL::TextCodecCJK::big5Decode): Ditto. Use append. The old code was using appendCharacter, which was overkill for appending BMP characters. * Source/WebCore/PAL/pal/text/TextCodecSingleByte.cpp: (PAL::encode): Use char32_t. * Source/WebCore/PAL/pal/text/TextCodecUTF16.cpp: (PAL::TextCodecUTF16::decode): Ditto. * Source/WebCore/accessibility/AXObjectCache.cpp: (WebCore::characterForCharacterOffset): Ditto. (WebCore::AXObjectCache::characterAfter): Ditto. (WebCore::AXObjectCache::characterBefore): Ditto. * Source/WebCore/accessibility/AXObjectCache.h: Ditto. * Source/WebCore/accessibility/atspi/AccessibilityObjectTextAtspi.cpp: (WebCore::offsetMapping): Ditto. * Source/WebCore/contentextensions/URLFilterParser.cpp: (WebCore::ContentExtensions::PatternParser::atomClassStringDisjunction): Ditto. * Source/WebCore/css/CSSFontFace.cpp: (WebCore::CSSFontFace::rangesMatchCodePoint const): Ditto. * Source/WebCore/css/CSSFontFace.h: Ditto. * Source/WebCore/css/CSSFontFaceSet.cpp: (WebCore::codePointsFromString): Ditto. * Source/WebCore/css/CSSMarkup.cpp: (WebCore::serializeCharacter): Use append and char32_t. (WebCore::serializeCharacterAsCodePoint): Ditto. (WebCore::serializeIdentifier): Ditto. (WebCore::serializeString): Ditto. * Source/WebCore/css/CSSUnicodeRangeValue.h: Use char32_t. * Source/WebCore/css/parser/CSSPropertyParserWorkerSafe.cpp: (WebCore::CSSPropertyParserHelpersWorkerSafe::consumeUnicodeRange): Ditto. * Source/WebCore/css/parser/CSSTokenizer.cpp: (WebCore::CSSTokenizer::consumeStringTokenUntil): Use append. (WebCore::CSSTokenizer::consumeURLToken): Ditto. (WebCore::CSSTokenizer::consumeName): Ditto. (WebCore::CSSTokenizer::consumeEscape): Use char32_t. * Source/WebCore/css/parser/CSSTokenizer.h: Ditto. * Source/WebCore/dom/Document.cpp: (WebCore::isValidNameStart): Use char32_t. (WebCore::isValidNamePart): Ditto. (WebCore::operator<): Ditto. (WebCore::isPotentialCustomElementNameCharacter): Ditto. (WebCore::isValidNameNonASCII): Ditto. (WebCore::Document::parseQualifiedName): Ditto. * Source/WebCore/editing/Editor.cpp: (WebCore::Editor::editorUIUpdateTimerFired): Ditto. (WebCore::candidateWouldReplaceText): Ditto. * Source/WebCore/editing/ReplaceSelectionCommand.cpp: (WebCore::isCharacterSmartReplaceExemptConsideringNonBreakingSpace): Ditto. * Source/WebCore/editing/SmartReplace.cpp: (WebCore::isCharacterSmartReplaceExempt): Ditto. * Source/WebCore/editing/SmartReplace.h: Ditto. * Source/WebCore/editing/SmartReplaceCF.cpp: (WebCore::isCharacterSmartReplaceExempt): Ditto. * Source/WebCore/editing/TextIterator.cpp: (WebCore::isNonLatin1Separator): Ditto. (WebCore::isSeparator): Ditto. (WebCore::SearchBuffer::SearchBuffer): Ditto. (WebCore::SearchBuffer::isWordStartMatch const): Ditto. * Source/WebCore/editing/TypingCommand.cpp: (WebCore::TypingCommand::markMisspellingsAfterTyping): Ditto. * Source/WebCore/editing/VisiblePosition.cpp: (WebCore::VisiblePosition::characterAfter const): Ditto. * Source/WebCore/editing/VisiblePosition.h: (WebCore::VisiblePosition::characterBefore const): Ditto. * Source/WebCore/editing/VisibleUnits.cpp: (WebCore::charactersAroundPosition): Ditto. * Source/WebCore/editing/VisibleUnits.h: Ditto. * Source/WebCore/html/parser/HTMLEntityParser.cpp: (WebCore::makeEntity): Use char32_t. (WebCore::consumeDecimalHTMLEntity): Use uint32_t. (WebCore::consumeHexHTMLEntity): Ditto. * Source/WebCore/layout/formattingContexts/inline/InlineContentBreaker.cpp: (WebCore::Layout::canBreakBefore): Use char32_t. * Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp: (WebCore::Layout::replaceNonPreservedNewLineAndTabCharactersAndAppend): Ditto. * Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp: (WebCore::Layout::fallbackFontsForRunWithIterator): Use char32_t. Removed unhelpful second call to u_toupper. (WebCore::Layout::enclosingGlyphBoundsForRunWithIterator): Ditto. (WebCore::Layout::TextUtil::isStrongDirectionalityCharacter): Ditto. (WebCore::Layout::TextUtil::containsStrongDirectionalityText): Ditto. (WebCore::Layout::TextUtil::firstUserPerceivedCharacterLength): Ditto. (WebCore::Layout::TextUtil::hasPositionDependentContentWidth): Ditto. * Source/WebCore/layout/formattingContexts/inline/text/TextUtil.h: Ditto. * Source/WebCore/mathml/MathMLOperatorDictionary.cpp: (WebCore::ExtractChar): Use char32_t. (WebCore::ExtractKeyHorizontal): Ditto. (WebCore::MathMLOperatorDictionary::search): Ditto. (WebCore::MathMLOperatorDictionary::isVertical): Ditto. * Source/WebCore/mathml/MathMLOperatorDictionary.h: Ditto. * Source/WebCore/mathml/MathMLOperatorElement.h: Ditto. * Source/WebCore/mathml/MathMLTokenElement.cpp: (WebCore::MathMLTokenElement::convertToSingleCodePoint): Ditto. * Source/WebCore/mathml/MathMLTokenElement.h: Ditto. * Source/WebCore/platform/graphics/ComplexTextController.cpp: (WebCore::ComplexTextController::advanceByCombiningCharacterSequence): Ditto. (WebCore::ComplexTextController::collectComplexTextRuns): Ditto. (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Ditto. (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Ditto. * Source/WebCore/platform/graphics/ComplexTextController.h: Ditto. * Source/WebCore/platform/graphics/ComposedCharacterClusterTextIterator.h: (WebCore::ComposedCharacterClusterTextIterator::consume): Ditto. * Source/WebCore/platform/graphics/Font.cpp: (WebCore::Font::platformGlyphInit): Ditto. (WebCore::codePointSupportIndex): Ditto. (WebCore::Font::glyphForCharacter const): Ditto. (WebCore::Font::glyphDataForCharacter const): Ditto. (WebCore::Font::supportsCodePoint const): Ditto. * Source/WebCore/platform/graphics/Font.h: Ditto. * Source/WebCore/platform/graphics/FontCascade.cpp: (WebCore::FontCascade::glyphDataForCharacter const): Ditto. (WebCore::FontCascade::characterRangeCodePath): Ditto. (WebCore::FontCascade::isCJKIdeograph): Ditto. (WebCore::FontCascade::isCJKIdeographOrSymbol): Ditto. (WebCore::FontCascade::expansionOpportunityCountInternal): Ditto. (WebCore::FontCascade::leftExpansionOpportunity): Ditto. (WebCore::FontCascade::rightExpansionOpportunity): Ditto. (WebCore::FontCascade::canReceiveTextEmphasis): Ditto. (WebCore::computeUnderlineType): Ditto. (WebCore::FontCascade::getEmphasisMarkGlyphData const): Ditto. (WebCore::FontCascade::fontForCombiningCharacterSequence const): Ditto. (WebCore::shouldSynthesizeSmallCaps): Ditto. (WebCore::capitalized): Ditto. * Source/WebCore/platform/graphics/FontCascade.h: Ditto. (WebCore::FontCascade::treatAsSpace): Ditto. (WebCore::FontCascade::isCharacterWhoseGlyphsShouldBeDeletedForTextRendering): Ditto. (WebCore::FontCascade::treatAsZeroWidthSpace): Ditto. (WebCore::FontCascade::treatAsZeroWidthSpaceInComplexScript): Ditto. * Source/WebCore/platform/graphics/FontCascadeFonts.cpp: (WebCore::MixedFontGlyphPage::glyphDataForCharacter const): Ditto. (WebCore::MixedFontGlyphPage::setGlyphDataForCharacter): Ditto. (WebCore::FontCascadeFonts::GlyphPageCacheEntry::glyphDataForCharacter): Ditto. (WebCore::FontCascadeFonts::GlyphPageCacheEntry::setGlyphDataForCharacter): Ditto. (WebCore::isInRange): Ditto. (WebCore::shouldIgnoreRotation): Ditto. (WebCore::glyphDataForNonCJKCharacterWithGlyphOrientation): Ditto. (WebCore::findBestFallbackFont): Ditto. (WebCore::FontCascadeFonts::glyphDataForSystemFallback): Ditto. (WebCore::FontCascadeFonts::glyphDataForVariant): Ditto. (WebCore::glyphPageFromFontRanges): Ditto. (WebCore::FontCascadeFonts::glyphDataForCharacter): Ditto. * Source/WebCore/platform/graphics/FontCascadeFonts.h: Ditto. * Source/WebCore/platform/graphics/FontRanges.cpp: (WebCore::FontRanges::glyphDataForCharacter const): Ditto. (WebCore::FontRanges::fontForCharacter const): Ditto. * Source/WebCore/platform/graphics/FontRanges.h: Ditto. (WebCore::FontRanges::Range::Range): Ditto. (WebCore::FontRanges::Range::from const): Ditto. (WebCore::FontRanges::Range::to const): Ditto. * Source/WebCore/platform/graphics/GlyphPage.h: (WebCore::GlyphPage::indexForCodePoint): Ditto. (WebCore::GlyphPage::pageNumberForCodePoint): Ditto. (WebCore::GlyphPage::startingCodePointInPageNumber): Ditto. (WebCore::GlyphPage::glyphDataForCharacter const): Ditto. (WebCore::GlyphPage::glyphForCharacter const): Ditto. * Source/WebCore/platform/graphics/Latin1TextIterator.h: (WebCore::Latin1TextIterator::consume): Ditto. * Source/WebCore/platform/graphics/SurrogatePairAwareTextIterator.h: (WebCore::SurrogatePairAwareTextIterator::consume): Ditto. * Source/WebCore/platform/graphics/WidthIterator.cpp: (WebCore::addToGlyphBuffer): Ditto. (WebCore::updateCharacterAndSmallCapsIfNeeded): Ditto. (WebCore::WidthIterator::advanceInternal): Ditto. (WebCore::WidthIterator::characterCanUseSimplifiedTextMeasuring): Ditto. * Source/WebCore/platform/graphics/WidthIterator.h: Ditto. * Source/WebCore/platform/graphics/cairo/FontCairo.cpp: (WebCore::FontCascade::resolveEmojiPolicy): Ditto. * Source/WebCore/platform/graphics/cairo/FontCairoHarfbuzzNG.cpp: (WebCore::characterSequenceIsEmoji): Ditto. (WebCore::FontCascade::fontForCombiningCharacterSequence const): * Source/WebCore/platform/graphics/coretext/FontCascadeCoreText.cpp: (WebCore::FontCascade::fontForCombiningCharacterSequence const): Ditto. (WebCore::FontCascade::resolveEmojiPolicy): Ditto. * Source/WebCore/platform/graphics/coretext/FontCoreText.cpp: (WebCore::Font::platformSupportsCodePoint const): Ditto. * Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp: Remove unused UTF16UChar32Iterator.h. * Source/WebCore/platform/graphics/freetype/FontSetCache.cpp: Remove unused UTF16UChar32Iterator.h. (WebCore::FontSetCache::bestForCharacters): Use char32_t. * Source/WebCore/platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp: Remove UTF16UChar32Iterator.h. (WebCore::GlyphPage::fill): Use char32_t and U16_NEXT. * Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp: Remove unused UTF16UChar32Iterator.h. (WebCore::Font::platformSupportsCodePoint const): Use char32_t. * Source/WebCore/platform/graphics/freetype/UTF16UChar32Iterator.h: Removed. * Source/WebCore/platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp: (WebCore::characterScript): Use char32_t. (WebCore::findNextRun): Ditto. * Source/WebCore/platform/graphics/mac/ComplexTextControllerCoreText.mm: (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Ditto. * Source/WebCore/platform/graphics/win/FontCacheWin.cpp: (WebCore::currentFontContainsCharacter): Ditto. * Source/WebCore/platform/graphics/win/SimpleFontDataCairoWin.cpp: (WebCore::Font::platformSupportsCodePoint const): Ditto. * Source/WebCore/platform/libwpe/PlatformKeyboardEventLibWPE.cpp: (WebCore::PlatformKeyboardEvent::keyValueForWPEKeyCode): Use char32_t and makeString. (WebCore::PlatformKeyboardEvent::singleCharacterString): Ditto. * Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp: (WebCore::sanitizeFilename): Use HashSet<uint16_t> for a set of UChar rather than a HashSet<UChar32>. * Source/WebCore/platform/text/CharacterProperties.h: (WebCore::isEmojiGroupCandidate): Use char32_t. (WebCore::isEmojiFitzpatrickModifier): Ditto. (WebCore::isVariationSelector): Ditto. (WebCore::isEmojiKeycapBase): Ditto. (WebCore::isEmojiRegionalIndicator): Ditto. (WebCore::isEmojiWithPresentationByDefault): Ditto. (WebCore::isEmojiModifierBase): Ditto. (WebCore::isDefaultIgnorableCodePoint): Ditto. (WebCore::isControlCharacter): Ditto. (WebCore::isPrivateUseAreaCharacter): Ditto. * Source/WebCore/platform/text/TextBoundaries.cpp: (WebCore::endOfFirstWordBoundaryContext): Ditto. (WebCore::startOfLastWordBoundaryContext): Ditto. * Source/WebCore/platform/text/TextBoundaries.h: (WebCore::requiresContextForWordBoundary): Ditto. * Source/WebCore/platform/text/hyphen/HyphenationLibHyphen.cpp: (WebCore::countLeadingSpaces): Use char32_t and U_SENTINEL. * Source/WebCore/platform/text/mac/TextBoundaries.mm: (WebCore::isSkipCharacter): Use char32_t. (WebCore::isWhitespaceCharacter): Ditto. (WebCore::isWordDelimitingCharacter): Ditto. (WebCore::isSymbolCharacter): Ditto. (WebCore::isAmbiguousBoundaryCharacter): Ditto. (WebCore::findSimpleWordBoundary): Ditto. (WebCore::findWordBoundary): Ditto. * Source/WebCore/rendering/LegacyInlineIterator.h: (WebCore::LegacyInlineIterator::incrementByCodePointInTextNode): Ditto. * Source/WebCore/rendering/RenderText.cpp: (WebCore::capitalize): Use char32_t. (WebCore::RenderText::initiateFontLoadingByAccessingGlyphDataAndComputeCanUseSimplifiedTextMeasuring): Use char32_t and append. (WebCore::convertToFullSizeKana): Use char32_t. Updated fast path where no conversion is needed to be even faster by not allocating a StringBuilder. * Source/WebCore/rendering/mathml/MathOperator.cpp: (WebCore::MathOperator::setOperator): Use char32_t. (WebCore::MathOperator::getGlyph const): Ditto. (WebCore::glyphDataForCodePointOrFallbackGlyph): Ditto. * Source/WebCore/rendering/mathml/MathOperator.h: Ditto. * Source/WebCore/rendering/mathml/RenderMathMLFencedOperator.h: Ditto. * Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp: Ditto. (WebCore::RenderMathMLOperator::textContent const): Ditto. (WebCore::RenderMathMLOperator::isInvisibleOperator const): Ditto. * Source/WebCore/rendering/mathml/RenderMathMLOperator.h: Ditto. * Source/WebCore/rendering/mathml/RenderMathMLToken.cpp: (WebCore::ExtractKey): Ditto. (WebCore::MathVariantMappingSearch): Ditto. (WebCore::mathVariant): Ditto. (WebCore::RenderMathMLToken::updateMathVariantGlyph): Ditto. * Source/WebCore/rendering/mathml/RenderMathMLToken.h: Ditto. * Source/WebCore/rendering/updating/RenderTreeBuilderFirstLetter.cpp: (WebCore::isPunctuationForFirstLetter): Ditto. (WebCore::shouldSkipForFirstLetter): Ditto. (WebCore::RenderTreeBuilder::FirstLetter::createRenderers): Ditto. * Source/WebCore/svg/SVGParserUtilities.h: Ditto. * Source/WebCore/svg/SVGToOTFFontConversion.cpp: (WebCore::SVGToOTFFontConverter::appendFormat12CMAPTable): Ditto. (WebCore::SVGToOTFFontConverter::appendFormat4CMAPTable): Ditto. (WebCore::SVGToOTFFontConverter::appendCMAPTable): Ditto. (WebCore::SVGToOTFFontConverter::firstGlyph const): Ditto. (WebCore::codepointToString): Ditto. (WebCore::SVGToOTFFontConverter::glyphsForCodepoint const): Ditto. (WebCore::SVGToOTFFontConverter::appendLigatureGlyphs): Ditto. (WebCore::SVGToOTFFontConverter::compareCodepointsLexicographically): Ditto. * Source/WebCore/xml/XSLTProcessorLibxslt.cpp: (WebCore::writeToStringBuilder): Use FromUTF8, resolving the inefficiency mentioned here in a FIXME comment and removing a use of UChar32. * Source/WebKit/Shared/EditorState.h: Use char32_t. * Source/WebKit/Shared/EditorState.serialization.in: Ditto. * Source/WebKit/Shared/wpe/WebKeyboardEventWPE.cpp: (WebKit::WebKeyboardEvent::keyValueStringForWPEKeyval): Use char32_t and makeString. (WebKit::WebKeyboardEvent::singleCharacterStringForWPEKeyval): Ditto. * Source/WebKit/UIProcess/Automation/SimulatedInputDispatcher.h: Ditto. * Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp: (WebKit::pressedCharKey): Ditto. * Source/WebKit/UIProcess/ios/WKContentViewInteraction.h: Ditto. * Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm: (textRelativeToSelectionStart): Use char32_t and append. * Source/WebKitLegacy/ios/WebCoreSupport/WebFrameIOS.mm: (isAlphaNumericCharacter): Use char32_t. (SimpleSmartExtendStart): Ditto. (SimpleSmartExtendEnd): Ditto. * Source/WebKitLegacy/ios/WebCoreSupport/WebVisiblePosition.mm: (-[WebVisiblePosition positionAtStartOrEndOfWord]): Ditto. (-[WebVisiblePosition atAlphaNumericBoundaryInDirection:]): Ditto. * Tools/TestWebKitAPI/Tests/WTF/StringBuilder.cpp: Use char32_t and literals of type char32_t and char16_t. * Tools/TestWebKitAPI/Tests/WTF/StringView.cpp: Ditto. Canonical link: https://commits.webkit.org/271373@main
- Loading branch information
Should have just used
auto*
here.