[Win] Remove -DUCHAR_TYPE=wchar_t stopgap and learn to live with char16_t.
[WebKit-https.git] / Source / WTF / ChangeLog
index e182763..0d9c9a4 100644 (file)
@@ -1,3 +1,865 @@
+2019-03-06  Ross Kirsling  <ross.kirsling@sony.com>
+
+        [Win] Remove -DUCHAR_TYPE=wchar_t stopgap and learn to live with char16_t.
+        https://bugs.webkit.org/show_bug.cgi?id=195346
+
+        Reviewed by Fujii Hironori.
+
+        * wtf/PlatformWin.cmake:
+        * wtf/text/AtomicString.h:
+        (WTF::AtomicString::AtomicString):
+        * wtf/text/WTFString.h:
+        (WTF::String::String):
+        * wtf/text/win/StringWin.cpp: Added.
+        (WTF::String::wideCharacters const): Renamed from WTF::stringToNullTerminatedWChar.
+        * wtf/text/win/WCharStringExtras.h:
+        (WTF::ucharFrom):
+        (WTF::wcharFrom):
+        (WTF::stringToNullTerminatedWChar): Deleted.
+        (WTF::wcharToString): Deleted.
+        (WTF::nullTerminatedWCharToString): Deleted.
+        Add static_assert-guarded reinterpret_cast wrappers for going between UChar* and wchar_t*.
+        Move existing to/from-String helpers into the String (and AtomicString) class(es).
+
+        * wtf/win/FileSystemWin.cpp:
+        (WTF::FileSystemImpl::getFindData):
+        (WTF::FileSystemImpl::getFinalPathName):
+        (WTF::FileSystemImpl::createSymbolicLink):
+        (WTF::FileSystemImpl::deleteFile):
+        (WTF::FileSystemImpl::deleteEmptyDirectory):
+        (WTF::FileSystemImpl::moveFile):
+        (WTF::FileSystemImpl::pathByAppendingComponent):
+        (WTF::FileSystemImpl::fileSystemRepresentation):
+        (WTF::FileSystemImpl::makeAllDirectories):
+        (WTF::FileSystemImpl::pathGetFileName):
+        (WTF::FileSystemImpl::storageDirectory):
+        (WTF::FileSystemImpl::generateTemporaryPath):
+        (WTF::FileSystemImpl::openTemporaryFile):
+        (WTF::FileSystemImpl::openFile):
+        (WTF::FileSystemImpl::hardLinkOrCopyFile):
+        (WTF::FileSystemImpl::deleteNonEmptyDirectory):
+        * wtf/win/LanguageWin.cpp:
+        (WTF::localeInfo):
+        * wtf/win/PathWalker.cpp:
+        (WTF::PathWalker::PathWalker):
+        Use wchar helpers as needed.
+
+2019-02-28  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Add WeakHashSet
+        https://bugs.webkit.org/show_bug.cgi?id=195152
+
+        Reviewed by Antti Koivisto.
+
+        Added WeakHashSet which is a HashSet of WeakPtr. When the object pointed by WeakPtr is deleted,
+        WeakHashSet treats the key to be no longer in the set. That is, WeakHashSet::contains returns false
+        and const_iterator skips such a WeakPtr in the set.
+
+        We decided not to make HashSet<WeahPtr<T>> work because it involves weird semantics such as making
+        find(X) delete the table entry as remove(find(X)) would be a no-op otherwise as find(X) would return
+        necessarily need to return HashSet<WeakPtr<T>>::end().
+
+        Furthermore, we cannot determine the true size of this set in O(1) because the objected pointed by
+        some of WeakPtr in the set may have already been deleted. This has implications that we can't have
+        size(), isEmpty(), random(), etc... as O(1) operation.
+
+        WeakHashSet is implemented as HashSet<WeakReference<T>>. HashTable::rehash has been updated to delete
+        WeakReference<T>'s whose m_ptr has become null, and HashTable::expand first deletes any such entry
+        before deciding an actual expansion is needed. This is accomplished via newly added hash trait,
+        hasIsReleasedWeakValueFunction, and HashTraits<Ref<WeakReference<T>>>::isReleasedWeakValue which
+        returns true for when WeakReference<T> pointed by Ref<WeakReference<T>> has null m_ptr, not to be
+        confused with Ref<WeakReference<T>> itself pointing to a null WeakReference<T>.
+
+        * WTF.xcodeproj/project.pbxproj:
+        * wtf/CMakeLists.txt:
+        * wtf/Forward.h:
+        * wtf/HashSet.h:
+        (WTF::HashSet<T, U, V>::checkConsistency const): Added.
+        * wtf/HashTable.h:
+        (WTF::HashTable::isReleasedWeakBucket): Added.
+        (WTF::HashTable::expand): Delete WeakReference<T> with null m_ptr first. This updates m_keyCount
+        and may make mustRehashInPlace() return true.
+        (WTF::HashTable::deleteReleasedWeakBuckets): Added.
+        (WTF::HashTable::rehash): Delete WeakReference<T> with null m_ptr. Also refactored the code a bit
+        to avoid keep repeating oldTable[i].
+        * wtf/HashTraits.h:
+        (WTF::HashTraits<T>::isHashTraitsReleasedWeakValue): Added.
+        (WTF::RefHashTraits<T>): Extracted from HashTraits<Ref<P>> to share code with
+        HashTraits<Ref<WeakReference<T>>>.
+        (WTF::HashTraitsReleasedWeakValueChecker<Traits, hasIsReleasedWeakValueFunction>): Added.
+        (WTF::isHashTraitsReleasedWeakValue<Traits, hasIsReleasedWeakValueFunction>): Added.
+        * wtf/WeakHashSet.h: Added.
+        (WTF::WeakHashSet): Added.
+        (WTF::WeakHashSet::WeakHashSetConstIterator::WeakHashSetConstIterator):
+        (WTF::WeakHashSet::WeakHashSetConstIterator::get const):
+        (WTF::WeakHashSet::WeakHashSetConstIterator::operator* const):
+        (WTF::WeakHashSet::WeakHashSetConstIterator::operator-> const):
+        (WTF::WeakHashSet::WeakHashSetConstIterator::operator++):
+        (WTF::WeakHashSet::WeakHashSetConstIterator::skipEmptyBuckets):
+        (WTF::WeakHashSet::WeakHashSetConstIterator::operator== const):
+        (WTF::WeakHashSet::WeakHashSetConstIterator::operator!= const):
+        (WTF::WeakHashSet::WeakHashSet):
+        (WTF::WeakHashSet::begin const):
+        (WTF::WeakHashSet::end const):
+        (WTF::WeakHashSet::add):
+        (WTF::WeakHashSet::remove):
+        (WTF::WeakHashSet::contains const):
+        (WTF::WeakHashSet::capacity const):
+        (WTF::WeakHashSet::computeSize const): Deletes any WeakReference<T> with null m_ptr first.
+        (WTF::WeakHashSet::checkConsistency const):
+        (WTF::HashTraits<Ref<WeakReference<T>>>): Added. This hash traits triggers the new code in HashTable's
+        expand and rehash methods to delete WeakReference<T> with null m_ptr.
+        (WTF::HashTraits<Ref<WeakReference<T>>>::isReleasedWeakValue):
+        * wtf/WeakPtr.h:
+        (WTF::WeakReference::~WeakReference): Added so that we can keep track the number of live WeakReference
+        in API tests by template specializations.
+
+2019-03-03  Darin Adler  <darin@apple.com>
+
+        Prepare to improve handling of conversion of float to strings
+        https://bugs.webkit.org/show_bug.cgi?id=195262
+
+        Reviewed by Daniel Bates.
+
+        * wtf/dtoa.cpp:
+        (WTF::truncateTrailingZeros): Renamed from
+        formatStringTruncatingTrailingZerosIfNeeded and removed the calls
+        to double_conversion::StringBuilder::Finalizer, since the caller
+        already does that.
+        (WTF::numberToFixedPrecisionString): Added an overload for float
+        and updated to use the new truncateTrailingZeros.
+        (WTF::numberToFixedWidthString): Added an overload for float.
+
+        * wtf/text/AtomicString.cpp:
+        (WTF::AtomicString::number): Added float overload. This is a
+        behavior change, but in all cases for the better. The old behavior
+        was to convert to double first and then do "shortest form"
+        conversion, and it's always better to just do that as float.
+        * wtf/text/AtomicString.h: Added float overload of AtomicString::number.
+
+        * wtf/text/StringBuilder.cpp:
+        (WTF::StringBuilder::appendFixedPrecisionNumber): Added float
+        overload.
+        (WTF::StringBuilder::appendShortestFormNumber): Renamed from
+        appendECMAScriptNumber and did the above.
+        (WTF::StringBuilder::appendFixedWidthNumber): Ditto.
+        * wtf/text/StringBuilder.h: Added overloads for float and
+        appendShortestFormNumber. The appendNumber and appendECMAScriptNumber
+        functions are now inlines in the header, since they are expressed
+        entirely in terms of the other functions.
+
+        * wtf/text/WTFString.cpp:
+        (WTF::String::numberToStringFixedPrecision): Added float overload.
+        Removed unnecessary explicit conversion to String.
+        (WTF::String::numberToStringShortest): Renamed from
+        numberToStringECMAScript and did the above.
+        (WTF::String::numberToStringFixedWidth): Ditto.
+
+        * wtf/text/WTFString.h: Added overloads for float and
+        numberToStringShortest. The number and numberToStringECMAScript
+        functions are now inlines in the header, since they are expressed
+        entirely in terms of the other functions.
+
+2019-03-04  Andy Estes  <aestes@apple.com>
+
+        [Apple Pay] Move WebPaymentCoordinatorProxy from Source/WebKit/UIProcess to Source/WebKit/Shared
+        https://bugs.webkit.org/show_bug.cgi?id=195080
+        <rdar://problem/48421558>
+
+        Reviewed by Antti Koivisto.
+
+        * wtf/FeatureDefines.h:
+
+2019-03-04  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        URLHelpers should use unorm2_quickCheck before converting to NFC
+        https://bugs.webkit.org/show_bug.cgi?id=194272
+
+        Reviewed by Darin Adler.
+
+        If the string is already in normalization form C, don't try to normalize it.
+
+        * wtf/URLHelpers.cpp:
+        (WTF::URLHelpers::toNormalizationFormC):
+
+2019-03-02  Darin Adler  <darin@apple.com>
+
+        Retire legacy dtoa function and DecimalNumber class
+        https://bugs.webkit.org/show_bug.cgi?id=195253
+
+        Reviewed by Daniel Bates.
+
+        * WTF.xcodeproj/project.pbxproj: Removed DecimalNumber.cpp/h.
+        * wtf/CMakeLists.txt: Ditto.
+
+        * wtf/DecimalNumber.cpp: Removed.
+        * wtf/DecimalNumber.h: Removed.
+
+        * wtf/JSONValues.cpp:
+        (WTF::JSONImpl::Value::writeJSON const): Use
+        StringBuilder::appendECMAScriptNumber instead of custom logic
+        using the DecimalNumber class.
+
+        * wtf/dtoa.cpp:
+        (WTF::storeInc): Deleted.
+        (WTF::BigInt): Deleted.
+        (WTF::multadd): Deleted.
+        (WTF::hi0bits): Deleted.
+        (WTF::lo0bits): Deleted.
+        (WTF::i2b): Deleted.
+        (WTF::mult): Deleted.
+        (WTF::P5Node::P5Node): Deleted.
+        (WTF::pow5mult): Deleted.
+        (WTF::lshift): Deleted.
+        (WTF::cmp): Deleted.
+        (WTF::diff): Deleted.
+        (WTF::d2b): Deleted.
+        (WTF::quorem): Deleted.
+        (WTF::dtoa): Deleted.
+
+        * wtf/dtoa.h: Removed DtoaBuffer, dtoa, and NumberToStringBufferLength.
+
+2019-02-27  Darin Adler  <darin@apple.com>
+
+        Fixed makeString(float) to do shortest-form serialization without first converting to double
+        https://bugs.webkit.org/show_bug.cgi?id=195142
+
+        Reviewed by Daniel Bates.
+
+        * wtf/DecimalNumber.cpp: Removed unneeded includes.
+
+        * wtf/DecimalNumber.h: Removed unused constructors; over time we will be
+        deprecating DecimalNumber, so we should removed the unused parts. Also
+        marked the constructor explicit, removed types used only for arguments for
+        the constructors, and removed the sign, exponent, significand, and precision
+        member functions.
+
+        * wtf/JSONValues.cpp:
+        (WTF::JSONImpl::Value::writeJSON const): Updated for changes to DecimalNumber
+        switched from NumberToLStringBuffer to NumberToStringBuffer, and for use of
+        std::array instead of C arrays.
+
+        * wtf/dtoa.cpp: Removed unused dtoaRoundSF and dtoaRoundDP functions.
+        (WTF::dtoa): Updated to use std::array instead of C arrays.
+        (WTF::dtoaRoundSF): Removed.
+        (WTF::dtoaRoundDP): Removed.
+        (WTF::numberToString): Added an overload for float and updated to use std::array.
+        (WTF::formatStringTruncatingTrailingZerosIfNeeded): Updated to use std::array.
+        (WTF::numberToFixedPrecisionString): Ditto.
+        (WTF::numberToFixedWidthString): Ditto.
+
+        * wtf/dtoa.h: Changed arrays to be std::array instead of C arrays so the
+        array types will be checked. Removed dtoaRoundSF and dtoaRoundDP.
+        Added float overloads for numberToString, numberToFixedPrecisionString,
+        and numberToFixedWidthString. The only one of these that is called at this
+        time is numberToString, called by the floating point StringTypeAdapter in
+        StringConcatenateNummbers.h.
+
+        * wtf/text/StringConcatenateNumbers.h: Updated for std::array.
+
+2019-03-01  Darin Adler  <darin@apple.com>
+
+        Finish removing String::format
+        https://bugs.webkit.org/show_bug.cgi?id=194893
+
+        Reviewed by Daniel Bates.
+
+        * wtf/Assertions.cpp:
+        (WTF::createWithFormatAndArguments): Moved this here from WTFString.cpp.
+        (WTFLog): Use WTF::createWithFormatAndArguments instead of String::format.
+
+        * wtf/HexNumber.h: Deleted unneeded toString function.
+
+        * wtf/text/StringConcatenate.h: Got rid of unneeded forward declaration of
+        StringTypeAdapter, since that's now in Forward.h. Tweaked formatting of templates
+        a bit. Use function templates for writeTo functions rather than having two of each.
+        Removed unused toString functions. Optimized case where we use have a UChar* and
+        a length of zero to not force the result to be 16-bit. Also gets rid of a small
+        NO_RETURN_DUE_TO_CRASH mess that we don't need. Refactored constructors to use some
+        static member helper functions to compute string lengths. Added the pad function
+        and the PaddingSpecification struct template, so we can add padding to anything
+        we can turn into a string. Got rid of the special case overload for single
+        arguments, since it only worked for things that the String constructor can handle.
+        Instead we will now use StringTypeAdapter, which works for more types. Possibly
+        less optimal for some special cases, which we could specialize for later if we like.
+        * wtf/text/StringConcatenateNumbers.h: Ditto.
+        * wtf/text/StringOperators.h: Ditto.
+        * wtf/text/StringView.h: Ditto.
+
+        * wtf/text/WTFString.cpp:
+        (WTF::createWithFormatAndArguments): Deleted.
+        (WTF::String::format): Deleted.
+        * wtf/text/WTFString.h: Deleted declaration of String::format.
+
+2019-03-01  Alex Christensen  <achristensen@webkit.org>
+
+        Revert r241223, r241235, and r241287
+        https://bugs.webkit.org/show_bug.cgi?id=194427
+        <rdar://48045861>
+
+        * wtf/spi/darwin/XPCSPI.h:
+
+2019-03-01  Simon Fraser  <simon.fraser@apple.com>
+
+        Add a system trace scope for event region building
+        https://bugs.webkit.org/show_bug.cgi?id=195226
+
+        Reviewed by Jon Lee.
+
+        This trace scope measures the time spend converting element rects into Region objects,
+        which can be large on some pages.
+
+        The value for "Display Refresh Dispatch to main thread" was wrong and I fixed it.
+
+        * wtf/SystemTracing.h:
+
+2019-02-28  Yusuke Suzuki  <ysuzuki@apple.com>
+
+        [JSC] sizeof(JSString) should be 16
+        https://bugs.webkit.org/show_bug.cgi?id=194375
+
+        Reviewed by Saam Barati.
+
+        * wtf/text/StringImpl.h:
+        (WTF::StringImpl::flagIs8Bit):
+        (WTF::StringImpl::flagIsAtomic):
+        (WTF::StringImpl::flagIsSymbol):
+        (WTF::StringImpl::maskStringKind):
+        * wtf/text/WTFString.cpp:
+        (WTF::nullString):
+        * wtf/text/WTFString.h:
+
+2019-02-28  Mark Lam  <mark.lam@apple.com>
+
+        Change CheckedArithmetic to not use std::enable_if_t.
+        https://bugs.webkit.org/show_bug.cgi?id=195187
+        <rdar://problem/48464665>
+
+        Reviewed by Keith Miller.
+
+        Because C++11 does not like std::enable_if_t and there's a need to use this file with C++11.
+
+        * wtf/CheckedArithmetic.h:
+
+2019-02-27  Simon Fraser  <simon.fraser@apple.com>
+
+        Roll out r242014; it caused crashes in compositing logging (webkit.org/b/195141)
+
+        * wtf/Assertions.cpp:
+        (WTF::createWithFormatAndArguments): Deleted.
+        * wtf/HexNumber.h:
+        (WTF::StringTypeAdapter<HexNumberBuffer>::toString const):
+        * wtf/text/StringConcatenate.h:
+        (WTF::makeString):
+        (WTF::pad): Deleted.
+        (WTF::StringTypeAdapter<PaddingSpecification<UnderlyingAdapterType>>::StringTypeAdapter): Deleted.
+        (WTF::StringTypeAdapter<PaddingSpecification<UnderlyingAdapterType>>::length const): Deleted.
+        (WTF::StringTypeAdapter<PaddingSpecification<UnderlyingAdapterType>>::is8Bit const): Deleted.
+        (WTF::StringTypeAdapter<PaddingSpecification<UnderlyingAdapterType>>::writeTo const): Deleted.
+        * wtf/text/StringConcatenateNumbers.h:
+        (WTF::FormattedNumber::fixedPrecision):
+        (WTF::FormattedNumber::fixedWidth):
+        (WTF::StringTypeAdapter<FormattedNumber>::toString const):
+        * wtf/text/StringOperators.h:
+        (WTF::StringAppend::StringAppend):
+        * wtf/text/StringView.h:
+        (WTF::StringView::invalidate):
+        * wtf/text/WTFString.cpp:
+        (WTF::createWithFormatAndArguments):
+        (WTF::String::format):
+        * wtf/text/WTFString.h:
+
+2019-02-26  Mark Lam  <mark.lam@apple.com>
+
+        Remove remaining poisoning code.
+        https://bugs.webkit.org/show_bug.cgi?id=194138
+
+        Reviewed by Saam Barati.
+
+        This patch removes the instantiation of Poisoned variants of the various containers
+        but retains the ability of those containers to work with pointer traits.  This
+        allows us to use them with smart pointers in the future (just like we used to with
+        Poisoned values).  At minimum, this ability will be useful when we want to insert
+        an observer into the container storage type for debugging purposes, or to collect
+        statistics for profiling.
+
+        * WTF.xcodeproj/project.pbxproj:
+        * wtf/Bag.h:
+        * wtf/CMakeLists.txt:
+        * wtf/Platform.h:
+        * wtf/Poisoned.cpp: Removed.
+        * wtf/Poisoned.h: Removed.
+        * wtf/PoisonedUniquePtr.h: Removed.
+        * wtf/Ref.h:
+        * wtf/RefCountedArray.h:
+        * wtf/RefPtr.h:
+        * wtf/WTFAssertions.cpp:
+
+2019-02-26  Keith Miller  <keith_miller@apple.com>
+
+        Code quality cleanup in NeverDestroyed
+        https://bugs.webkit.org/show_bug.cgi?id=194824
+
+        Reviewed by Yusuke Suzuki.
+
+        First, move data members to the end of the class per WebKit
+        style. Also, add forbid heap allocation since we expect the
+        NeverDestroyed classes to be static.
+
+        * wtf/NeverDestroyed.h:
+
+2019-02-25  Xabier Rodriguez Calvar  <calvaris@igalia.com>
+
+        Fix WTFLogVerbose variadic parameters forwarding
+        https://bugs.webkit.org/show_bug.cgi?id=194920
+
+        Reviewed by Alex Christensen.
+
+        WTFLogVerbose was passing the va_list to WTFLog but this function
+        also used variadic parameters and this is not allowed in C (that
+        part of the code is extern "C").
+
+        * wtf/Assertions.cpp:
+        (WTF::WTFLogVaList): Created to take a va_list argument instead of
+        variadic parameters.
+        (WTF::WTFLog): Kept with variadic parameters, which are
+        transformed to va_list and passed to WTFLogVaList.
+        (WTF::WTFLogVerbose): Use WTFLogVaList instead of WTFLog.
+
+2019-02-25  Sam Weinig  <sam@webkit.org>
+
+        Update double-conversion to the latest version
+        https://bugs.webkit.org/show_bug.cgi?id=194994
+
+        Import the latest version of the double-conversion library based on
+        https://github.com/google/double-conversion/commit/990c44707c70832dc1ce1578048c2198bafd3307
+
+        In additon to importing the code, the following changes were applied (or re-applied) to maintain 
+        parity with what we had previously:
+             - Add #include "config.h" to each cpp file.
+             - Put everything inside the WTF namespace.
+             - Changed all in library includes to be of the form #include <wtf/dtoa/FILE.h>.
+             - Renamed double_conversion::Vector<> to double_conversion::BufferReference<>.
+             - Replaced duplicated functions with ASCIICType.h variants
+             - Made CachedPower table a constexpr.
+             - Exported (via WTF_EXPORT_PRIVATE) several functions in double-conversion.h.
+             - Made substantial changes to StringToDoubleConverter to avoid unnecessary overhead of 
+               parameterization, as we only ever want one configuration. Instead of constructing a
+               configured class and calling StringToDouble on it, StringToDouble is now a static
+               function. This allows a bunch of now dead code (hex support, octal support, etc.) to
+               be eliminated. As StringToDoubleConverter now supports single precision floats, some
+               additional templating of StringToIeee was added to avoid extra unnecessary branching.
+             - Added RemoveCharacters function to double_conversion::StringBuilder.
+
+        Reviewed by Darin Adler.
+
+        * WTF.xcodeproj/project.pbxproj:
+        * wtf/CMakeLists.txt:
+        * wtf/dtoa/AUTHORS: Added.
+        * wtf/dtoa/README: Removed.
+        * wtf/dtoa/README.md: Added.
+        * wtf/dtoa/bignum-dtoa.cc:
+        * wtf/dtoa/bignum-dtoa.h:
+        * wtf/dtoa/bignum.cc:
+        * wtf/dtoa/bignum.h:
+        (WTF::double_conversion::Bignum::Times10):
+        (WTF::double_conversion::Bignum::Equal):
+        (WTF::double_conversion::Bignum::LessEqual):
+        (WTF::double_conversion::Bignum::Less):
+        (WTF::double_conversion::Bignum::PlusEqual):
+        (WTF::double_conversion::Bignum::PlusLessEqual):
+        (WTF::double_conversion::Bignum::PlusLess):
+        (WTF::double_conversion::Bignum::EnsureCapacity):
+        (WTF::double_conversion::Bignum::BigitLength const):
+        * wtf/dtoa/cached-powers.cc:
+        * wtf/dtoa/cached-powers.h:
+        * wtf/dtoa/diy-fp.cc:
+        * wtf/dtoa/diy-fp.h:
+        (WTF::double_conversion::DiyFp::DiyFp):
+        (WTF::double_conversion::DiyFp::Subtract):
+        (WTF::double_conversion::DiyFp::Minus):
+        (WTF::double_conversion::DiyFp::Times):
+        (WTF::double_conversion::DiyFp::Normalize):
+        (WTF::double_conversion::DiyFp::f const):
+        (WTF::double_conversion::DiyFp::e const):
+        (WTF::double_conversion::DiyFp::set_f):
+        (WTF::double_conversion::DiyFp::set_e):
+        * wtf/dtoa/double-conversion.cc:
+        * wtf/dtoa/double-conversion.h:
+        (WTF::double_conversion::DoubleToStringConverter::DoubleToStringConverter):
+        (WTF::double_conversion::DoubleToStringConverter::ToShortest const):
+        (WTF::double_conversion::DoubleToStringConverter::ToShortestSingle const):
+        (WTF::double_conversion::StringToDoubleConverter::StringToDoubleConverter):
+        * wtf/dtoa/double.h: Removed.
+        * wtf/dtoa/fast-dtoa.cc:
+        * wtf/dtoa/fast-dtoa.h:
+        * wtf/dtoa/fixed-dtoa.cc:
+        * wtf/dtoa/fixed-dtoa.h:
+        * wtf/dtoa/ieee.h: Added.
+        (WTF::double_conversion::double_to_uint64):
+        (WTF::double_conversion::uint64_to_double):
+        (WTF::double_conversion::float_to_uint32):
+        (WTF::double_conversion::uint32_to_float):
+        (WTF::double_conversion::Double::Double):
+        (WTF::double_conversion::Double::AsDiyFp const):
+        (WTF::double_conversion::Double::AsNormalizedDiyFp const):
+        (WTF::double_conversion::Double::AsUint64 const):
+        (WTF::double_conversion::Double::NextDouble const):
+        (WTF::double_conversion::Double::PreviousDouble const):
+        (WTF::double_conversion::Double::Exponent const):
+        (WTF::double_conversion::Double::Significand const):
+        (WTF::double_conversion::Double::IsDenormal const):
+        (WTF::double_conversion::Double::IsSpecial const):
+        (WTF::double_conversion::Double::IsNan const):
+        (WTF::double_conversion::Double::IsInfinite const):
+        (WTF::double_conversion::Double::Sign const):
+        (WTF::double_conversion::Double::UpperBoundary const):
+        (WTF::double_conversion::Double::NormalizedBoundaries const):
+        (WTF::double_conversion::Double::LowerBoundaryIsCloser const):
+        (WTF::double_conversion::Double::value const):
+        (WTF::double_conversion::Double::SignificandSizeForOrderOfMagnitude):
+        (WTF::double_conversion::Double::Infinity):
+        (WTF::double_conversion::Double::NaN):
+        (WTF::double_conversion::Double::DiyFpToUint64):
+        (WTF::double_conversion::Single::Single):
+        (WTF::double_conversion::Single::AsDiyFp const):
+        (WTF::double_conversion::Single::AsUint32 const):
+        (WTF::double_conversion::Single::Exponent const):
+        (WTF::double_conversion::Single::Significand const):
+        (WTF::double_conversion::Single::IsDenormal const):
+        (WTF::double_conversion::Single::IsSpecial const):
+        (WTF::double_conversion::Single::IsNan const):
+        (WTF::double_conversion::Single::IsInfinite const):
+        (WTF::double_conversion::Single::Sign const):
+        (WTF::double_conversion::Single::NormalizedBoundaries const):
+        (WTF::double_conversion::Single::UpperBoundary const):
+        (WTF::double_conversion::Single::LowerBoundaryIsCloser const):
+        (WTF::double_conversion::Single::value const):
+        (WTF::double_conversion::Single::Infinity):
+        (WTF::double_conversion::Single::NaN):
+        * wtf/dtoa/strtod.cc:
+        * wtf/dtoa/strtod.h:
+        * wtf/dtoa/utils.h:
+        (abort_noreturn):
+        (WTF::double_conversion::Max):
+        (WTF::double_conversion::Min):
+        (WTF::double_conversion::StrLength):
+        (WTF::double_conversion::BufferReference::BufferReference):
+        (WTF::double_conversion::BufferReference::SubVector):
+        (WTF::double_conversion::BufferReference::length const):
+        (WTF::double_conversion::BufferReference::is_empty const):
+        (WTF::double_conversion::BufferReference::start const):
+        (WTF::double_conversion::BufferReference::operator[] const):
+        (WTF::double_conversion::BufferReference::first):
+        (WTF::double_conversion::BufferReference::last):
+        (WTF::double_conversion::StringBuilder::StringBuilder):
+        (WTF::double_conversion::StringBuilder::~StringBuilder):
+        (WTF::double_conversion::StringBuilder::size const):
+        (WTF::double_conversion::StringBuilder::position const):
+        (WTF::double_conversion::StringBuilder::Reset):
+        (WTF::double_conversion::StringBuilder::AddCharacter):
+        (WTF::double_conversion::StringBuilder::AddString):
+        (WTF::double_conversion::StringBuilder::AddSubstring):
+        (WTF::double_conversion::StringBuilder::AddPadding):
+        (WTF::double_conversion::StringBuilder::RemoveCharacters):
+        (WTF::double_conversion::StringBuilder::Finalize):
+        (WTF::double_conversion::StringBuilder::is_finalized const):
+        (WTF::double_conversion::BitCast):
+        (WTF::double_conversion::BufferReference::SubBufferReference): Deleted.
+        (WTF::double_conversion::StringBuilder::SetPosition): Deleted.
+
+2019-02-20  Darin Adler  <darin@apple.com>
+
+        Finish removing String::format
+        https://bugs.webkit.org/show_bug.cgi?id=194893
+
+        Reviewed by Daniel Bates.
+
+        * wtf/Assertions.cpp:
+        (WTF::createWithFormatAndArguments): Moved this here from WTFString.cpp.
+        (WTFLog): Use WTF::createWithFormatAndArguments instead of String::format.
+
+        * wtf/HexNumber.h: Deleted unneeded toString function.
+
+        * wtf/text/StringConcatenate.h: Got rid of unneeded forward declaration of
+        StringTypeAdapter, since that's now in Forward.h. Tweaked formatting of templates
+        a bit. Use function templates for writeTo functions rather than having two of each.
+        Removed unused toString functions. Optimized case where we use have a UChar* and
+        a length of zero to not force the result to be 16-bit. Also gets rid of a small
+        NO_RETURN_DUE_TO_CRASH mess that we don't need. Refactored constructors to use some
+        static member helper functions to compute string lengths. Added the pad function
+        and the PaddingSpecification struct template, so we can add padding to anything
+        we can turn into a string. Got rid of the special case overload for single
+        arguments, since it only worked for things that the String constructor can handle.
+        Instead we will now use StringTypeAdapter, which works for more types. Possibly
+        less optimal for some special cases, which we could specialize for later if we like.
+        * wtf/text/StringConcatenateNumbers.h: Ditto.
+        * wtf/text/StringOperators.h: Ditto.
+        * wtf/text/StringView.h: Ditto.
+
+        * wtf/text/WTFString.cpp:
+        (WTF::createWithFormatAndArguments): Deleted.
+        (WTF::String::format): Deleted.
+        * wtf/text/WTFString.h: Deleted declaration of String::format.
+
+2019-02-23  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        Unreviewed, fix find/replace error from r232178
+
+        Looks like this was the only such error in that commit.
+
+        * wtf/URLHelpers.cpp:
+        (WTF::URLHelpers::isLookalikeCharacter):
+
+2019-02-23  Mark Lam  <mark.lam@apple.com>
+
+        Add an exception check and some assertions in StringPrototype.cpp.
+        https://bugs.webkit.org/show_bug.cgi?id=194962
+        <rdar://problem/48013416>
+
+        Reviewed by Yusuke Suzuki and Saam Barati.
+
+        Add an AssertNoOverflow overflow handler which allows us to do CheckedArithmetic
+        for assertion purpose only on debug builds but sacrifices no performance on
+        release builds.
+
+        * wtf/CheckedArithmetic.h:
+        (WTF::AssertNoOverflow::overflowed):
+        (WTF::AssertNoOverflow::clearOverflow):
+        (WTF::AssertNoOverflow::crash):
+        (WTF::AssertNoOverflow::hasOverflowed const):
+        (WTF::observesOverflow):
+        (WTF::observesOverflow<AssertNoOverflow>):
+        (WTF::safeAdd):
+        (WTF::safeSub):
+        (WTF::safeMultiply):
+        (WTF::Checked::operator+=):
+        (WTF::Checked::operator-=):
+        (WTF::Checked::operator*=):
+        (WTF::operator+):
+        (WTF::operator-):
+        (WTF::operator*):
+
+2019-02-23  Keith Miller  <keith_miller@apple.com>
+
+        Add new mac target numbers
+        https://bugs.webkit.org/show_bug.cgi?id=194955
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+
+2019-02-21  Antoine Quint  <graouts@apple.com>
+
+        Move UIWebTouchEventsGestureRecognizer.activeTouchesByIdentifier to SPI
+        https://bugs.webkit.org/show_bug.cgi?id=194531
+        <rdar://problem/47714562>
+
+        Reviewed by Tim Horton.
+
+        Follow-up commit to ensure this SPI is only called on newer versions of iOS.
+
+        * wtf/Platform.h:
+
+2019-02-21  Dean Jackson  <dino@apple.com>
+
+        Rotation animations sometimes use the wrong origin (affects apple.com)
+        https://bugs.webkit.org/show_bug.cgi?id=194878
+        <rdar://problem/43908047>
+
+        Follow-up commit to ensure this change only affects newer versions
+        of iOS.
+
+        * wtf/Platform.h: Add a version check.
+
+2019-02-20  Alex Christensen  <achristensen@webkit.org>
+
+        URL percent-encode operations should use checked arithmetic for buffer allocation length
+        https://bugs.webkit.org/show_bug.cgi?id=194877
+        <rdar://problem/48212062>
+
+        Reviewed by Tim Horton.
+
+        * wtf/URLHelpers.cpp:
+        (WTF::URLHelpers::userVisibleURL):
+        * wtf/cocoa/NSURLExtras.mm:
+        (WTF::dataWithUserTypedString):
+
+2019-02-20  Dean Jackson  <dino@apple.com>
+
+        Rotation animations sometimes use the wrong origin (affects apple.com)
+        https://bugs.webkit.org/show_bug.cgi?id=194878
+        <rdar://problem/43908047>
+
+        Reviewed by Simon Fraser.
+
+        * wtf/Platform.h: Add HAVE(CA_WHERE_ADDITIVE_TRANSFORMS_ARE_REVERSED).
+
+2019-02-20  Andy Estes  <aestes@apple.com>
+
+        [Xcode] Add SDKVariant.xcconfig to various Xcode projects
+        https://bugs.webkit.org/show_bug.cgi?id=194869
+
+        Rubber-stamped by Jer Noble.
+
+        * WTF.xcodeproj/project.pbxproj:
+
+2019-02-20  Adrian Perez de Castro  <aperez@igalia.com>
+
+        [WPE][GTK] Enable support for CONTENT_EXTENSIONS
+        https://bugs.webkit.org/show_bug.cgi?id=167941
+
+        Reviewed by Carlos Garcia Campos.
+
+        Add specialization of the refGPtr() and derefGPtr() templates for GMappedFile.
+
+        * wtf/glib/GRefPtr.cpp:
+        (WTF::refGPtr): Added.
+        (WTF::derefGPtr): Added.
+        * wtf/glib/GRefPtr.h: Declare template specializations.
+
+2019-02-19  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r241770.
+        https://bugs.webkit.org/show_bug.cgi?id=194833
+
+        Caused crashes (Requested by smfr on #webkit).
+
+        Reverted changeset:
+
+        "Code quality cleanup in NeverDestroyed"
+        https://bugs.webkit.org/show_bug.cgi?id=194824
+        https://trac.webkit.org/changeset/241770
+
+2019-02-19  Keith Miller  <keith_miller@apple.com>
+
+        Code quality cleanup in NeverDestroyed
+        https://bugs.webkit.org/show_bug.cgi?id=194824
+
+        Reviewed by Yusuke Suzuki.
+
+        First, move data members to the end of the class per WebKit
+        style. Also, add forbid heap allocation since we expect the
+        NeverDestroyed classes to be static.
+
+        * wtf/NeverDestroyed.h:
+
+2019-02-16  Darin Adler  <darin@apple.com>
+
+        Continue reducing use of String::format, now focusing on hex: "%p", "%x", etc.
+        https://bugs.webkit.org/show_bug.cgi?id=194752
+
+        Reviewed by Daniel Bates.
+
+        * WTF.xcodeproj/project.pbxproj: Added HexNumber.cpp and Logger.cpp.
+        * wtf/CMakeLists.txt: Ditto.
+
+        * wtf/HexNumber.cpp: Added.
+        (WTF::Internal::appendHex): Non-inline, non-template hex formatting logic.
+
+        * wtf/HexNumber.h:
+        (WTF::Internal::appendHex): Refactored main logic of appendUnsignedAsHex and
+        appendUnsignedAsHexFixedSize so they can be reused in a function named hex for
+        use with StringTypeAdapter.
+        (WTF::appendUnsignedAsHex): Ditto.
+        (WTF::appendUnsignedAsHexFixedSize): Ditto.
+        (WTF::hex): Added.
+        (WTF::StringTypeAdapter<HexNumberBuffer>): Added.
+
+        * wtf/Logger.cpp: Added.
+        (WTF::Logger::LogSiteIdentifier::toString const): Made this a non-template
+        function and moved it here so that we don't need to include HexNumber.h
+        in Logger.h. Since HexNumber.h has substantial code in it, it's good if we
+        don't include it in any other headers.
+
+        * wtf/Logger.h:
+        (WTF::LogArgument<Logger::LogSiteIdentifier>::toString): Changed to call
+        a non-template function, LogSiteIdentifier::toString.
+
+        * wtf/text/StringConcatenateNumbers.h: Replaced overloaded writeTo functions
+        with function templates and used StringImpl::copyCharacters instead of
+        hand-written loops.
+
+2019-02-18  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Web Inspector: Better categorize CPU usage per-thread / worker
+        https://bugs.webkit.org/show_bug.cgi?id=194564
+
+        Reviewed by Devin Rousso.
+
+        * wtf/Threading.h:
+        * wtf/Threading.cpp:
+        (WTF::Thread::allThreadsMutex):
+        (WTF::Thread::create):
+        (WTF::Thread::didExit):
+        Add a set of all WTF::Thread created threads.
+
+2019-02-18  Tadeu Zagallo  <tzagallo@apple.com>
+
+        Bytecode cache should a have a boot-specific validation
+        https://bugs.webkit.org/show_bug.cgi?id=194769
+        <rdar://problem/48149509>
+
+        Reviewed by Keith Miller.
+
+        Add helper to get kern.bootsessionuuid from sysctl
+
+        * wtf/UUID.cpp:
+        (WTF::bootSessionUUIDString):
+        * wtf/UUID.h:
+
+2019-02-17  David Kilzer  <ddkilzer@apple.com>
+
+        Unreviewed, rolling out r241620.
+
+        "Causes use-after-free crashes running layout tests with ASan and GuardMalloc."
+        (Requested by ddkilzer on #webkit.)
+
+        Reverted changeset:
+
+        "[WTF] Add environment variable helpers"
+        https://bugs.webkit.org/show_bug.cgi?id=192405
+        https://trac.webkit.org/changeset/241620
+
+2019-02-15  Ross Kirsling  <ross.kirsling@sony.com>
+
+        [WTF] Add environment variable helpers
+        https://bugs.webkit.org/show_bug.cgi?id=192405
+
+        Reviewed by Michael Catanzaro.
+
+        Create a new Environment API as a platform-independent, thread-safe(r)
+        way to get and set environment variables.
+
+        * WTF.xcodeproj/project.pbxproj:
+        * wtf/CMakeLists.txt:
+        * wtf/Environment.h: Added.
+        * wtf/PlatformGTK.cmake:
+        * wtf/PlatformJSCOnly.cmake:
+        * wtf/PlatformMac.cmake:
+        * wtf/PlatformPlayStation.cmake:
+        * wtf/PlatformWPE.cmake:
+        * wtf/PlatformWin.cmake:
+        * wtf/posix/EnvironmentPOSIX.cpp: Added.
+        * wtf/win/EnvironmentWin.cpp: Added.
+        Introduce WTF::Environment.
+
+        * wtf/Threading.cpp:
+        (WTF::threadingIsInitialized):
+        (WTF::initializeThreading):
+        * wtf/Threading.h:
+        Introduce WTF::threadingIsInitialized() so that we can ASSERT that it's
+        false before setting an environment variable through the new API.
+
+        * wtf/DataLog.cpp:
+        (WTF::initializeLogFileOnce):
+        * wtf/NumberOfCores.cpp:
+        (WTF::numberOfProcessorCores):
+        * wtf/posix/FileSystemPOSIX.cpp:
+        (WTF::FileSystemImpl::openTemporaryFile):
+        Utilize WTF::Environment where possible.
+
 2019-02-15  Brian Burg  <bburg@apple.com>
 
         [Mac] WebInspectorUI.framework does not need to be soft-linked anymore