| 2019-05-16 Keith Miller <keith_miller@apple.com> |
| |
| Wasm should cage the memory base pointers in structs |
| https://bugs.webkit.org/show_bug.cgi?id=197620 |
| |
| Reviewed by Saam Barati. |
| |
| Rename reauthenticate to recage. |
| |
| * wtf/CagedPtr.h: |
| (WTF::CagedPtr::recage): |
| (WTF::CagedPtr::reauthenticate): Deleted. |
| |
| 2019-05-16 Alex Christensen <achristensen@webkit.org> |
| |
| Add a unit test for client certificate authentication |
| https://bugs.webkit.org/show_bug.cgi?id=197800 |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/spi/cocoa/SecuritySPI.h: |
| Move declarations from ArgumentCodersCF.cpp so they can be shared. |
| |
| 2019-05-16 Eike Rathke <erack@redhat.com> |
| |
| Fix memcpy() call for big endian |
| https://bugs.webkit.org/show_bug.cgi?id=197945 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * wtf/Packed.h: |
| (WTF::alignof): |
| |
| 2019-05-15 Ross Kirsling <ross.kirsling@sony.com> |
| |
| [PlayStation] WTFCrash should preserve register state. |
| https://bugs.webkit.org/show_bug.cgi?id=197932 |
| |
| Reviewed by Don Olmstead. |
| |
| * wtf/Assertions.cpp: |
| * wtf/Assertions.h: |
| Let r196397 apply to PlayStation port as well. |
| |
| 2019-05-15 Simon Fraser <simon.fraser@apple.com> |
| |
| Make LOG_WITH_STREAM more efficient |
| https://bugs.webkit.org/show_bug.cgi?id=197905 |
| |
| Reviewed by Alex Christensen. |
| |
| Add a streamable repeat() class that can be used to output a series of characters. |
| This is useful for indenting output. |
| |
| * wtf/text/TextStream.h: |
| (WTF::TextStream::repeat::repeat): |
| (WTF::TextStream::operator<<): |
| |
| 2019-05-15 Víctor Manuel Jáquez Leal <vjaquez@igalia.com> |
| |
| compilation failure with clang 9 |
| https://bugs.webkit.org/show_bug.cgi?id=197911 |
| |
| Reviewed by Alex Christensen. |
| |
| Use std namespace for nullptr_t in tagArrayPtr templates. |
| |
| * wtf/PtrTag.h: |
| (WTF::tagArrayPtr): |
| |
| 2019-05-14 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r245281. |
| https://bugs.webkit.org/show_bug.cgi?id=197887 |
| |
| Broke API Test TestWebKitAPI.Challenge.ClientCertificate |
| (Requested by aakashjain on #webkit). |
| |
| Reverted changeset: |
| |
| "Add a unit test for client certificate authentication" |
| https://bugs.webkit.org/show_bug.cgi?id=197800 |
| https://trac.webkit.org/changeset/245281 |
| |
| 2019-05-14 Alex Christensen <achristensen@webkit.org> |
| |
| Add a unit test for client certificate authentication |
| https://bugs.webkit.org/show_bug.cgi?id=197800 |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/spi/cocoa/SecuritySPI.h: |
| Move declarations from ArgumentCodersCF.cpp so they can be shared. |
| |
| 2019-05-13 Robin Morisset <rmorisset@apple.com> |
| |
| IndexSet::isEmpty should use BitVector::isEmpty() instead of size() |
| https://bugs.webkit.org/show_bug.cgi?id=197857 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/IndexSet.h: |
| (WTF::IndexSet::isEmpty const): |
| |
| 2019-05-13 Youenn Fablet <youenn@apple.com> |
| |
| [Mac] Use realpath for dlopen_preflight |
| https://bugs.webkit.org/show_bug.cgi?id=197803 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/cocoa/SoftLinking.h: |
| |
| 2019-05-13 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, wrokaround for MACH_VM_MAX_ADDRESS in ARM32_64 |
| https://bugs.webkit.org/show_bug.cgi?id=197730 |
| |
| Interestingly, MACH_VM_MAX_ADDRESS is larger than 32bit in ARM32_64, I think this is a bug. |
| But for now, we workaround for this case by using `CPU(ADDRESS64)`. |
| |
| * wtf/WTFAssertions.cpp: |
| |
| 2019-05-13 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Remove Threading workaround for support libraries in Windows |
| https://bugs.webkit.org/show_bug.cgi?id=197350 |
| |
| Reviewed by Darin Adler. |
| |
| We kept old APIs for some support libraries at 2017. This patch removes them. |
| |
| * wtf/Threading.h: |
| * wtf/win/ThreadingWin.cpp: |
| (WTF::createThread): Deleted. |
| (WTF::waitForThreadCompletion): Deleted. |
| |
| 2019-05-13 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Simplify GCThread and CompilationThread flags by adding them to WTF::Thread |
| https://bugs.webkit.org/show_bug.cgi?id=197146 |
| |
| Reviewed by Saam Barati. |
| |
| Since GCThread and CompilationThread flags exist in WTF, we put these flags into WTF::Thread directly instead of holding them in ThreadSpecific<>. |
| And this patch removes dependency from Threading.h to ThreadSpecific.h. ThreadSpecific.h's OS threading primitives are moved to ThreadingPrimitives.h, |
| and Threading.h relies on it instead. |
| |
| * wtf/CompilationThread.cpp: |
| (WTF::isCompilationThread): |
| (WTF::initializeCompilationThreads): Deleted. |
| (WTF::exchangeIsCompilationThread): Deleted. |
| * wtf/CompilationThread.h: |
| (WTF::CompilationScope::CompilationScope): |
| (WTF::CompilationScope::~CompilationScope): |
| (WTF::CompilationScope::leaveEarly): |
| * wtf/MainThread.cpp: |
| (WTF::initializeMainThread): |
| (WTF::initializeMainThreadToProcessMainThread): |
| (WTF::isMainThreadOrGCThread): |
| (WTF::initializeGCThreads): Deleted. |
| (WTF::registerGCThread): Deleted. |
| (WTF::mayBeGCThread): Deleted. |
| * wtf/MainThread.h: |
| * wtf/ThreadSpecific.h: |
| (WTF::canBeGCThread>::ThreadSpecific): |
| (WTF::canBeGCThread>::set): |
| (WTF::threadSpecificKeyCreate): Deleted. |
| (WTF::threadSpecificKeyDelete): Deleted. |
| (WTF::threadSpecificSet): Deleted. |
| (WTF::threadSpecificGet): Deleted. |
| * wtf/Threading.cpp: |
| (WTF::Thread::exchangeIsCompilationThread): |
| (WTF::Thread::registerGCThread): |
| (WTF::Thread::mayBeGCThread): |
| * wtf/Threading.h: |
| (WTF::Thread::isCompilationThread const): |
| (WTF::Thread::gcThreadType const): |
| (WTF::Thread::joinableState const): |
| (WTF::Thread::hasExited const): |
| (WTF::Thread::Thread): |
| (WTF::Thread::joinableState): Deleted. |
| (WTF::Thread::hasExited): Deleted. |
| * wtf/ThreadingPrimitives.h: |
| (WTF::threadSpecificKeyCreate): |
| (WTF::threadSpecificKeyDelete): |
| (WTF::threadSpecificSet): |
| (WTF::threadSpecificGet): |
| * wtf/win/ThreadSpecificWin.cpp: |
| (WTF::flsKeys): |
| |
| 2019-05-13 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, follow-up after r245214 |
| https://bugs.webkit.org/show_bug.cgi?id=197730 |
| |
| Suggested by Sam. We should have static_assert with MACH_VM_MAX_ADDRESS. |
| |
| * wtf/WTFAssertions.cpp: |
| |
| 2019-05-13 Youenn Fablet <youenn@apple.com> |
| |
| Use kDNSServiceFlagsKnownUnique for DNSServiceRegisterRecord only on platforms supporting it |
| https://bugs.webkit.org/show_bug.cgi?id=197802 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/Platform.h: |
| |
| 2019-05-13 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Compress miscelaneous JIT related data structures with Packed<> |
| https://bugs.webkit.org/show_bug.cgi?id=197830 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/Packed.h: |
| (WTF::alignof): |
| |
| 2019-05-13 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Unreviewed, fix unused variable warnings in release builds |
| |
| * wtf/URLHelpers.cpp: |
| (WTF::URLHelpers::escapeUnsafeCharacters): |
| |
| 2019-05-12 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Compress Watchpoint size by using enum type and Packed<> data structure |
| https://bugs.webkit.org/show_bug.cgi?id=197730 |
| |
| Reviewed by Filip Pizlo. |
| |
| This patch introduces a new data structures, WTF::Packed, WTF::PackedPtr, and WTF::PackedAlignedPtr. |
| |
| - WTF::Packed |
| |
| WTF::Packed is data storage. We can read and write trivial (in C++ term [1]) data to this storage. The difference to |
| the usual storage is that the alignment of this storage is always 1. We access the underlying data by using unalignedLoad/unalignedStore. |
| This class offers alignment = 1 data structure instead of missing the following characteristics. |
| |
| 1. Load / Store are non atomic even if the data size is within a pointer width. We should not use this for a member which can be accessed |
| in a racy way. (e.g. fields accessed optimistically from the concurrent compilers). |
| |
| 2. We cannot take reference / pointer to the underlying storage since they are unaligned. |
| |
| 3. Access to this storage is unaligned access. The code is using memcpy, and the compiler will convert to an appropriate unaligned access |
| in certain architectures (x86_64 / ARM64). It could be slow. So use it for non performance sensitive & memory sensitive places. |
| |
| - WTF::PackedPtr |
| |
| WTF::PackedPtr is a specialization of WTF::Packed<T*>. And it is basically WTF::PackedAlignedPtr with alignment = 1. We further compact |
| the pointer by leveraging the platform specific knowledge. In 64bit architectures, the effective width of pointers are less than 64 bit. |
| In x86_64, it is 48 bits. And Darwin ARM64 is further smaller, 36 bits. This information allows us to compact the pointer to 6 bytes in |
| x86_64 and 5 bytes in Darwin ARM64. |
| |
| - WTF::PackedAlignedPtr |
| |
| WTF::PackedAlignedPtr is the WTF::PackedPtr with alignment information of the T. If we use this alignment information, we could reduce the |
| size of packed pointer further in some cases. For example, since we guarantee that JSCells are 16 byte aligned, low 4 bits are empty. Leveraging |
| this information in Darwin ARM64 platform allows us to make packed JSCell pointer 4 bytes (36 - 4 bits). We do not use passed alignment |
| information if it is not profitable. |
| |
| We also have PackedPtrTraits. This is new PtrTraits and use it for various data structures such as Bag<>. |
| |
| [1]: https://en.cppreference.com/w/cpp/types/is_trivial |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/Bag.h: |
| (WTF::Bag::clear): |
| (WTF::Bag::iterator::operator++): |
| * wtf/CMakeLists.txt: |
| * wtf/DumbPtrTraits.h: |
| * wtf/DumbValueTraits.h: |
| * wtf/MathExtras.h: |
| (WTF::clzConstexpr): |
| (WTF::clz): |
| (WTF::ctzConstexpr): |
| (WTF::ctz): |
| (WTF::getLSBSetConstexpr): |
| (WTF::getMSBSetConstexpr): |
| * wtf/Packed.h: Added. |
| (WTF::Packed::Packed): |
| (WTF::Packed::get const): |
| (WTF::Packed::set): |
| (WTF::Packed::operator=): |
| (WTF::Packed::exchange): |
| (WTF::Packed::swap): |
| (WTF::alignof): |
| (WTF::PackedPtrTraits::exchange): |
| (WTF::PackedPtrTraits::swap): |
| (WTF::PackedPtrTraits::unwrap): |
| * wtf/Platform.h: |
| * wtf/SentinelLinkedList.h: |
| (WTF::BasicRawSentinelNode::BasicRawSentinelNode): |
| (WTF::BasicRawSentinelNode::prev): |
| (WTF::BasicRawSentinelNode::next): |
| (WTF::PtrTraits>::remove): |
| (WTF::PtrTraits>::prepend): |
| (WTF::PtrTraits>::append): |
| (WTF::RawNode>::SentinelLinkedList): |
| (WTF::RawNode>::remove): |
| (WTF::BasicRawSentinelNode<T>::remove): Deleted. |
| (WTF::BasicRawSentinelNode<T>::prepend): Deleted. |
| (WTF::BasicRawSentinelNode<T>::append): Deleted. |
| * wtf/StdLibExtras.h: |
| (WTF::roundUpToMultipleOfImpl): |
| (WTF::roundUpToMultipleOfImpl0): Deleted. |
| * wtf/UnalignedAccess.h: |
| (WTF::unalignedLoad): |
| (WTF::unalignedStore): |
| |
| 2019-05-10 Saam barati <sbarati@apple.com> |
| |
| Bag's move operator= leaks memory |
| https://bugs.webkit.org/show_bug.cgi?id=197757 |
| |
| Reviewed by Keith Miller. |
| |
| It was unused. So I'm just removing it. We can implement it properly |
| if we ever need it. |
| |
| * wtf/Bag.h: |
| (WTF::Bag::operator=): Deleted. |
| |
| 2019-05-10 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [WinCairo] storage/indexeddb tests are timing out |
| https://bugs.webkit.org/show_bug.cgi?id=196289 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/FileSystem.h: Added hardLink. |
| * wtf/glib/FileSystemGlib.cpp: |
| (WTF::FileSystemImpl::hardLink): |
| (WTF::FileSystemImpl::hardLinkOrCopyFile): |
| * wtf/posix/FileSystemPOSIX.cpp: |
| (WTF::FileSystemImpl::hardLink): |
| (WTF::FileSystemImpl::hardLinkOrCopyFile): |
| * wtf/win/FileSystemWin.cpp: |
| (WTF::FileSystemImpl::hardLink): |
| (WTF::FileSystemImpl::hardLinkOrCopyFile): |
| Added hardLink. Let hardLinkOrCopyFile use the hardLink. |
| |
| 2019-05-10 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Remove "private:" from Noncopyable and Nonmovable macros |
| https://bugs.webkit.org/show_bug.cgi?id=197767 |
| |
| Reviewed by Saam Barati. |
| |
| We no longer need "private:". |
| |
| * wtf/Noncopyable.h: |
| * wtf/Nonmovable.h: |
| |
| 2019-05-08 Zan Dobersek <zdobersek@igalia.com> |
| |
| [GLib] Rework WPE RunLoopSourcePriority values |
| https://bugs.webkit.org/show_bug.cgi?id=197167 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| The GLib priorities for the WPE port were initially aligned on the -70 |
| value, theory being that this would help avoid any default-priority |
| GSources spawned in different dependency libraries affecting our |
| scheduling. Today it seems that extra caution might not be really |
| necessary. |
| |
| This change aligns the base priority value with GLib's default priority |
| value of 0. We maintain the relativity of priority values by effectively |
| increasing each priority by 70. |
| |
| * wtf/glib/RunLoopSourcePriority.h: |
| |
| 2019-05-08 Alex Christensen <achristensen@webkit.org> |
| |
| Add SPI to set HSTS storage directory |
| https://bugs.webkit.org/show_bug.cgi?id=197259 |
| |
| Reviewed by Brady Eidson. |
| |
| * wtf/Platform.h: |
| |
| 2019-05-08 Keith Miller <keith_miller@apple.com> |
| |
| Remove Gigacage from arm64 and use PAC for arm64e instead |
| https://bugs.webkit.org/show_bug.cgi?id=197110 |
| |
| Reviewed by Saam Barati. |
| |
| This patch changes the Gigacage to use PAC on arm64e. As part of |
| this process all platforms must provide their length when |
| materializing the caged pointer. Since it would be somewhat |
| confusing to have two parameters for an operator [] those methods |
| have been removed. Lastly, this patch removes the specializations |
| for void* caged pointers, instead opting to use enable_if on the |
| methods that would normally fail on void* e.g. anything that |
| returns a T&. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/CagedPtr.h: |
| (WTF::CagedPtr::CagedPtr): |
| (WTF::CagedPtr::get const): |
| (WTF::CagedPtr::getMayBeNull const): |
| (WTF::CagedPtr::getUnsafe const): |
| (WTF::CagedPtr::at const): |
| (WTF::CagedPtr::reauthenticate): |
| (WTF::CagedPtr::operator=): |
| (WTF::CagedPtr::operator== const): |
| (WTF::CagedPtr::operator bool const): |
| (WTF::CagedPtr::operator* const): Deleted. |
| (WTF::CagedPtr::operator-> const): Deleted. |
| (WTF::CagedPtr::operator[] const): Deleted. |
| (): Deleted. |
| * wtf/CagedUniquePtr.h: |
| (WTF::CagedUniquePtr::CagedUniquePtr): |
| (WTF::CagedUniquePtr::create): |
| (WTF::CagedUniquePtr::~CagedUniquePtr): |
| (WTF::CagedUniquePtr::destroy): |
| (): Deleted. |
| * wtf/Gigacage.h: |
| (Gigacage::cagedMayBeNull): |
| * wtf/PtrTag.h: |
| (WTF::tagArrayPtr): |
| (WTF::untagArrayPtr): |
| (WTF::removeArrayPtrTag): |
| (WTF::retagArrayPtr): |
| * wtf/TaggedArrayStoragePtr.h: Copied from Source/JavaScriptCore/runtime/ArrayBufferView.cpp. |
| (WTF::TaggedArrayStoragePtr::TaggedArrayStoragePtr): |
| (WTF::TaggedArrayStoragePtr::get const): |
| (WTF::TaggedArrayStoragePtr::getUnsafe const): |
| (WTF::TaggedArrayStoragePtr::resize): |
| (WTF::TaggedArrayStoragePtr::operator bool const): |
| |
| 2019-05-08 Robin Morisset <rmorisset@apple.com> |
| |
| WTF::TimingScope should show the total duration and not just the mean |
| https://bugs.webkit.org/show_bug.cgi?id=197672 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/TimingScope.cpp: |
| (WTF::TimingScope::scopeDidEnd): |
| |
| 2019-05-07 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] LLIntPrototypeLoadAdaptiveStructureWatchpoint does not require Bag<> |
| https://bugs.webkit.org/show_bug.cgi?id=197645 |
| |
| Reviewed by Saam Barati. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/Nonmovable.h: Copied from Source/JavaScriptCore/bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.h. |
| * wtf/Vector.h: |
| (WTF::minCapacity>::uncheckedConstructAndAppend): |
| |
| 2019-05-07 Eric Carlson <eric.carlson@apple.com> |
| |
| Define media buffering policy |
| https://bugs.webkit.org/show_bug.cgi?id=196979 |
| <rdar://problem/28383861> |
| |
| Reviewed by Jer Noble. |
| |
| * wtf/Platform.h: |
| |
| 2019-05-07 Robin Morisset <rmorisset@apple.com> |
| |
| WTF::BitVector should have an isEmpty() method |
| https://bugs.webkit.org/show_bug.cgi?id=197637 |
| |
| Reviewed by Keith Miller. |
| |
| * wtf/BitVector.cpp: |
| (WTF::BitVector::isEmptySlow const): |
| * wtf/BitVector.h: |
| (WTF::BitVector::isEmpty const): |
| |
| 2019-05-07 Brent Fulgham <bfulgham@apple.com> |
| |
| Correct JSON parser to address unterminated escape character |
| https://bugs.webkit.org/show_bug.cgi?id=197582 |
| <rdar://problem/50459177> |
| |
| Reviewed by Alex Christensen. |
| |
| Correct JSON parser code to properly deal with unterminated escape |
| characters. |
| |
| * wtf/JSONValues.cpp: |
| (WTF::JSONImpl::decodeString): |
| (WTF::JSONImpl::parseStringToken): |
| |
| 2019-05-07 Alex Christensen <achristensen@webkit.org> |
| |
| Add a release assertion that Functions can only be constructed from non-null CompletionHandlers |
| https://bugs.webkit.org/show_bug.cgi?id=197641 |
| |
| Reviewed by Chris Dumez. |
| |
| This will help us find the cause of rdar://problem/48679972 by seeing the crash when the Function is dispatched, |
| not when it's called with no interesting stack trace. I manually verified this assertion is hit in such a case. |
| We should also have no legitimate use of creating a Function out of a null CompletionHandler then never calling it. |
| |
| * wtf/CompletionHandler.h: |
| (WTF::Detail::CallableWrapper<CompletionHandler<Out): |
| * wtf/Function.h: |
| (WTF::Detail::CallableWrapperBase::~CallableWrapperBase): |
| (WTF::Detail::CallableWrapper::CallableWrapper): |
| (WTF::Function<Out): |
| |
| 2019-05-06 Christopher Reid <chris.reid@sony.com> |
| |
| [JSC] Respect already defined USE_LLINT_EMBEDDED_OPCODE_ID compiler variable. |
| https://bugs.webkit.org/show_bug.cgi?id=197633 |
| |
| Reviewed by Don Olmstead. |
| |
| When the variable `USE_LLINT_EMBEDDED_OPCODE_ID` is defined, stop defining |
| its value with platform default one. |
| |
| * wtf/Platform.h: |
| |
| 2019-05-03 Sihui Liu <sihui_liu@apple.com> |
| |
| Add assertion to check whether shm files have maximum FileProtection of CompleteUnlessOpen |
| https://bugs.webkit.org/show_bug.cgi?id=197390 |
| <rdar://problem/42685773> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::isSafeToUseMemoryMapForPath): |
| (WTF::FileSystemImpl::makeSafeToUseMemoryMapForPath): |
| * wtf/FileSystem.h: |
| * wtf/cocoa/FileSystemCocoa.mm: |
| (WTF::FileSystemImpl::isSafeToUseMemoryMapForPath): |
| (WTF::FileSystemImpl::makeSafeToUseMemoryMapForPath): |
| |
| 2019-05-03 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r244881. |
| https://bugs.webkit.org/show_bug.cgi?id=197559 |
| |
| Breaks compilation of jsconly on linux, breaking compilation |
| for jsc-i386-ews, jsc-mips-ews and jsc-armv7-ews (Requested by |
| guijemont on #webkit). |
| |
| Reverted changeset: |
| |
| "[CMake] Refactor WEBKIT_MAKE_FORWARDING_HEADERS into |
| WEBKIT_COPY_FILES" |
| https://bugs.webkit.org/show_bug.cgi?id=197174 |
| https://trac.webkit.org/changeset/244881 |
| |
| 2019-05-02 Alex Christensen <achristensen@webkit.org> |
| |
| Mark U+01C0 as a homograph of U+006C |
| https://bugs.webkit.org/show_bug.cgi?id=197526 |
| <rdar://problem/50301904> |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/URLHelpers.cpp: |
| (WTF::URLHelpers::isLookalikeCharacter): |
| |
| 2019-05-02 Don Olmstead <don.olmstead@sony.com> |
| |
| [CMake] Refactor WEBKIT_MAKE_FORWARDING_HEADERS into WEBKIT_COPY_FILES |
| https://bugs.webkit.org/show_bug.cgi?id=197174 |
| |
| Reviewed by Alex Christensen. |
| |
| Replace WEBKIT_MAKE_FORWARDING_HEADERS with WEBKIT_COPY_FILES. |
| |
| * wtf/CMakeLists.txt: |
| |
| 2019-05-01 Darin Adler <darin@apple.com> |
| |
| WebKit has too much of its own UTF-8 code and should rely more on ICU's UTF-8 support |
| https://bugs.webkit.org/show_bug.cgi?id=195535 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * wtf/text/AtomicString.cpp: |
| (WTF::AtomicString::fromUTF8Internal): Added code to compute string length when the |
| end is nullptr; this behavior used to be implemented inside the |
| calculateStringHashAndLengthFromUTF8MaskingTop8Bits function. |
| |
| * wtf/text/AtomicStringImpl.cpp: |
| (WTF::HashAndUTF8CharactersTranslator::translate): Updated for change to |
| convertUTF8ToUTF16. |
| |
| * wtf/text/AtomicStringImpl.h: Took the WTF_EXPORT_PRIVATE off of the |
| AtomicStringImpl::addUTF8 function. This is used only inside a non-inlined function in |
| the AtomicString class and its behavior changed subtly in this patch; it's helpful |
| to document that it's not exported. |
| |
| * wtf/text/StringImpl.cpp: |
| (WTF::StringImpl::utf8Impl): Don't pass "true" for strictness to convertUTF16ToUTF8 |
| since strict is the default. Also updated for changes to ConversionResult. |
| (WTF::StringImpl::utf8ForCharacters): Updated for change to convertLatin1ToUTF8. |
| (WTF::StringImpl::tryGetUtf8ForRange const): Ditto. |
| |
| * wtf/text/StringView.cpp: Removed uneeded include of UTF8Conversion.h. |
| |
| * wtf/text/WTFString.cpp: |
| (WTF::String::fromUTF8): Updated for change to convertUTF8ToUTF16. |
| |
| * wtf/unicode/UTF8Conversion.cpp: |
| (WTF::Unicode::inlineUTF8SequenceLengthNonASCII): Deleted. |
| (WTF::Unicode::inlineUTF8SequenceLength): Deleted. |
| (WTF::Unicode::UTF8SequenceLength): Deleted. |
| (WTF::Unicode::decodeUTF8Sequence): Deleted. |
| (WTF::Unicode::convertLatin1ToUTF8): Use U8_APPEND, enabling us to remove |
| almost everything in the function. Also changed resturn value to be a boolean |
| to indicate success since there is only one possible failure (target exhausted). |
| There is room for further simplification, since most callers have lengths rather |
| than end pointers for the source buffer, and all but one caller supplies a buffer |
| size known to be sufficient, so those don't need a return value, nor do they need |
| to pass an end of buffer pointer. |
| (WTF::Unicode::convertUTF16ToUTF8): Use U_IS_LEAD, U_IS_TRAIL, |
| U16_GET_SUPPLEMENTARY, U_IS_SURROGATE, and U8_APPEND. Also changed behavior |
| for non-strict mode so that unpaired surrogates will be turned into the |
| replacement character instead of invalid UTF-8 sequences, because U8_APPEND |
| won't create an invalid UTF-8 sequence, and because we don't need to do that |
| for any good reason at any call site. |
| (WTF::Unicode::isLegalUTF8): Deleted. |
| (WTF::Unicode::readUTF8Sequence): Deleted. |
| (WTF::Unicode::convertUTF8ToUTF16): Use U8_NEXT instead of |
| inlineUTF8SequenceLength, isLegalUTF8, and readUTF8Sequence. Use |
| U16_APPEND instead of lots of code that does the same thing. There is |
| room for further simplification since most callers don't need the "all ASCII" |
| feature and could probably pass the arguments in a more natural way. |
| (WTF::Unicode::calculateStringHashAndLengthFromUTF8MaskingTop8Bits): |
| Use U8_NEXT instead of isLegalUTF8, readUTF8Sequence, and various |
| error handling checks for things that are handled by U8_NEXT. Also removed |
| support for passing nullptr for end to specify a null-terminated string. |
| (WTF::Unicode::equalUTF16WithUTF8): Ditto. |
| |
| * wtf/unicode/UTF8Conversion.h: Removed UTF8SequenceLength and |
| decodeUTF8Sequence. Changed the ConversionResult to match WebKit coding |
| style, with an eye toward perhaps removing it in the future. Changed |
| the convertUTF8ToUTF16 return value to a boolean and removed the "strict" |
| argument since no caller was passing false. Changed the convertLatin1ToUTF8 |
| return value to a boolean. Tweaked comments. |
| |
| 2019-05-01 Shawn Roberts <sroberts@apple.com> |
| |
| Unreviewed, rolling out r244821. |
| |
| Causing |
| |
| Reverted changeset: |
| |
| "WebKit has too much of its own UTF-8 code and should rely |
| more on ICU's UTF-8 support" |
| https://bugs.webkit.org/show_bug.cgi?id=195535 |
| https://trac.webkit.org/changeset/244821 |
| |
| 2019-05-01 Shawn Roberts <sroberts@apple.com> |
| |
| Unreviewed, rolling out r244822. |
| |
| Causing 4 Test262 failures on JSC Release and Debug |
| |
| Reverted changeset: |
| |
| https://trac.webkit.org/changeset/244822 https://trac.webkit.org/changeset/244821 |
| |
| 2019-04-29 Darin Adler <darin@apple.com> |
| |
| WebKit has too much of its own UTF-8 code and should rely more on ICU's UTF-8 support |
| https://bugs.webkit.org/show_bug.cgi?id=195535 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * wtf/text/AtomicString.cpp: |
| (WTF::AtomicString::fromUTF8Internal): Added code to compute string length when the |
| end is nullptr; this behavior used to be implemented inside the |
| calculateStringHashAndLengthFromUTF8MaskingTop8Bits function. |
| |
| * wtf/text/AtomicStringImpl.cpp: |
| (WTF::HashAndUTF8CharactersTranslator::translate): Updated for change to |
| convertUTF8ToUTF16. |
| |
| * wtf/text/AtomicStringImpl.h: Took the WTF_EXPORT_PRIVATE off of the |
| AtomicStringImpl::addUTF8 function. This is used only inside a non-inlined function in |
| the AtomicString class and its behavior changed subtly in this patch; it's helpful |
| to document that it's not exported. |
| |
| * wtf/text/StringImpl.cpp: |
| (WTF::StringImpl::utf8Impl): Don't pass "true" for strictness to convertUTF16ToUTF8 |
| since strict is the default. Also updated for changes to ConversionResult. |
| (WTF::StringImpl::utf8ForCharacters): Updated for change to convertLatin1ToUTF8. |
| (WTF::StringImpl::tryGetUtf8ForRange const): Ditto. |
| |
| * wtf/text/StringView.cpp: Removed uneeded include of UTF8Conversion.h. |
| |
| * wtf/text/WTFString.cpp: |
| (WTF::String::fromUTF8): Updated for change to convertUTF8ToUTF16. |
| |
| * wtf/unicode/UTF8Conversion.cpp: |
| (WTF::Unicode::inlineUTF8SequenceLengthNonASCII): Deleted. |
| (WTF::Unicode::inlineUTF8SequenceLength): Deleted. |
| (WTF::Unicode::UTF8SequenceLength): Deleted. |
| (WTF::Unicode::decodeUTF8Sequence): Deleted. |
| (WTF::Unicode::convertLatin1ToUTF8): Use U8_APPEND, enabling us to remove |
| almost everything in the function. Also changed resturn value to be a boolean |
| to indicate success since there is only one possible failure (target exhausted). |
| There is room for further simplification, since most callers have lengths rather |
| than end pointers for the source buffer, and all but one caller supplies a buffer |
| size known to be sufficient, so those don't need a return value, nor do they need |
| to pass an end of buffer pointer. |
| (WTF::Unicode::convertUTF16ToUTF8): Use U_IS_LEAD, U_IS_TRAIL, |
| U16_GET_SUPPLEMENTARY, U_IS_SURROGATE, and U8_APPEND. Also changed behavior |
| for non-strict mode so that unpaired surrogates will be turned into the |
| replacement character instead of invalid UTF-8 sequences, because U8_APPEND |
| won't create an invalid UTF-8 sequence, and because we don't need to do that |
| for any good reason at any call site. |
| (WTF::Unicode::isLegalUTF8): Deleted. |
| (WTF::Unicode::readUTF8Sequence): Deleted. |
| (WTF::Unicode::convertUTF8ToUTF16): Use U8_NEXT instead of |
| inlineUTF8SequenceLength, isLegalUTF8, and readUTF8Sequence. Use |
| U16_APPEND instead of lots of code that does the same thing. There is |
| room for further simplification since most callers don't need the "all ASCII" |
| feature and could probably pass the arguments in a more natural way. |
| (WTF::Unicode::calculateStringHashAndLengthFromUTF8MaskingTop8Bits): |
| Use U8_NEXT instead of isLegalUTF8, readUTF8Sequence, and various |
| error handling checks for things that are handled by U8_NEXT. Also removed |
| support for passing nullptr for end to specify a null-terminated string. |
| (WTF::Unicode::equalUTF16WithUTF8): Ditto. |
| |
| * wtf/unicode/UTF8Conversion.h: Removed UTF8SequenceLength and |
| decodeUTF8Sequence. Changed the ConversionResult to match WebKit coding |
| style, with an eye toward perhaps removing it in the future. Changed |
| the convertUTF8ToUTF16 return value to a boolean and removed the "strict" |
| argument since no caller was passing false. Changed the convertLatin1ToUTF8 |
| return value to a boolean. Tweaked comments. |
| |
| 2019-04-30 John Wilander <wilander@apple.com> |
| |
| Add logging of Ad Click Attribution errors and events to a dedicated channel |
| https://bugs.webkit.org/show_bug.cgi?id=197332 |
| <rdar://problem/49918800> |
| |
| Reviewed by Youenn Fablet. |
| |
| Added missing RELEASE_LOG_INFO and RELEASE_LOG_INFO_IF dummies |
| for RELEASE_LOG_DISABLED. |
| |
| * wtf/Assertions.h: |
| |
| 2019-04-30 Youenn Fablet <youenn@apple.com> |
| |
| Make Document audio producers use WeakPtr |
| https://bugs.webkit.org/show_bug.cgi?id=197382 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/WeakHashSet.h: |
| (WTF::WeakHashSet::hasNullReferences const): |
| |
| 2019-04-30 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r244773. |
| https://bugs.webkit.org/show_bug.cgi?id=197436 |
| |
| Causing assertion failures on debug queues (Requested by |
| ShawnRoberts on #webkit). |
| |
| Reverted changeset: |
| |
| "Make Document audio producers use WeakPtr" |
| https://bugs.webkit.org/show_bug.cgi?id=197382 |
| https://trac.webkit.org/changeset/244773 |
| |
| 2019-04-30 Youenn Fablet <youenn@apple.com> |
| |
| Make Document audio producers use WeakPtr |
| https://bugs.webkit.org/show_bug.cgi?id=197382 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/WeakHashSet.h: |
| (WTF::WeakHashSet::hasNullReferences const): |
| |
| 2019-04-29 Alex Christensen <achristensen@webkit.org> |
| |
| <rdar://problem/50299396> Fix internal High Sierra build |
| https://bugs.webkit.org/show_bug.cgi?id=197388 |
| |
| * Configurations/Base.xcconfig: |
| |
| 2019-04-29 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| JITStubRoutineSet wastes 180KB of HashTable capacity on can.com |
| https://bugs.webkit.org/show_bug.cgi?id=186732 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/Range.h: |
| (WTF::Range::contains const): |
| |
| 2019-04-29 Basuke Suzuki <Basuke.Suzuki@sony.com> |
| |
| [Win] Add flag to enable version information stamping and disable by default. |
| https://bugs.webkit.org/show_bug.cgi?id=197249 |
| <rdar://problem/50224412> |
| |
| Reviewed by Ross Kirsling. |
| |
| This feature is only used in AppleWin port. Add flag for this task and make it OFF by default. |
| Then enable it by default on AppleWin. |
| |
| * wtf/CMakeLists.txt: |
| |
| 2019-04-26 Don Olmstead <don.olmstead@sony.com> |
| |
| Add WTF::findIgnoringASCIICaseWithoutLength to replace strcasestr |
| https://bugs.webkit.org/show_bug.cgi?id=197291 |
| |
| Reviewed by Konstantin Tokarev. |
| |
| Adds an implementation of strcasestr within WTF. |
| |
| * wtf/text/StringCommon.h: |
| (WTF::findIgnoringASCIICaseWithoutLength): |
| |
| 2019-04-26 Sihui Liu <sihui_liu@apple.com> |
| |
| Stop IDB transactions to release locked database files when network process is ready to suspend |
| https://bugs.webkit.org/show_bug.cgi?id=196372 |
| <rdar://problem/48930116> |
| |
| Reviewed by Brady Eidson. |
| |
| Provide a method to suspend the thread and block main thread until the thread is suspended. |
| |
| * wtf/CrossThreadTaskHandler.cpp: |
| (WTF::CrossThreadTaskHandler::taskRunLoop): |
| (WTF::CrossThreadTaskHandler::suspendAndWait): |
| (WTF::CrossThreadTaskHandler::resume): |
| * wtf/CrossThreadTaskHandler.h: |
| |
| 2019-04-25 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| Unreviewed, rolling out r244669. |
| |
| Windows ports can't clean build. |
| |
| Reverted changeset: |
| |
| "[Win] Add flag to enable version information stamping and |
| disable by default." |
| https://bugs.webkit.org/show_bug.cgi?id=197249 |
| https://trac.webkit.org/changeset/244669 |
| |
| 2019-04-25 Basuke Suzuki <Basuke.Suzuki@sony.com> |
| |
| [Win] Add flag to enable version information stamping and disable by default. |
| https://bugs.webkit.org/show_bug.cgi?id=197249 |
| |
| Reviewed by Ross Kirsling. |
| |
| This feature is only used in AppleWin port. Add flag for this task and make it OFF by default. |
| Then enable it by default on AppleWin. |
| |
| * wtf/CMakeLists.txt: |
| |
| 2019-04-25 Timothy Hatcher <timothy@apple.com> |
| |
| Disable date and time inputs on iOSMac. |
| https://bugs.webkit.org/show_bug.cgi?id=197287 |
| rdar://problem/46794376 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2019-04-25 Alex Christensen <achristensen@webkit.org> |
| |
| Fix High Sierra build after r244653 |
| https://bugs.webkit.org/show_bug.cgi?id=197131 |
| |
| * wtf/StdLibExtras.h: |
| High Sierra thinks __cplusplus is 201406 even when using C++17. |
| Removing the __cplusplus check resolves the build failure on High Sierra. |
| We can clean up StdLibExtras more later. |
| |
| 2019-04-25 Alex Christensen <achristensen@webkit.org> |
| |
| Start using C++17 |
| https://bugs.webkit.org/show_bug.cgi?id=197131 |
| |
| Reviewed by Darin Adler. |
| |
| * Configurations/Base.xcconfig: |
| * wtf/CMakeLists.txt: |
| * wtf/Variant.h: |
| (WTF::switchOn): |
| |
| 2019-04-25 Alex Christensen <achristensen@webkit.org> |
| |
| Remove DeprecatedOptional |
| https://bugs.webkit.org/show_bug.cgi?id=197161 |
| |
| Reviewed by Darin Adler. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/DeprecatedOptional.h: Removed. |
| |
| 2019-04-24 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Hardcoded text color in input fields |
| https://bugs.webkit.org/show_bug.cgi?id=126907 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Define HAVE_OS_DARK_MODE_SUPPORT for GTK port. |
| |
| * wtf/Platform.h: |
| |
| 2019-04-24 Tim Horton <timothy_horton@apple.com> |
| |
| Clean up WKActionSheetAssistant's use of LaunchServices |
| https://bugs.webkit.org/show_bug.cgi?id=194645 |
| <rdar://problem/47707952> |
| |
| Reviewed by Andy Estes. |
| |
| * wtf/Platform.h: |
| |
| 2019-04-24 chris fleizach <cfleizach@apple.com> |
| |
| AX: Remove deprecated Accessibility Object Model events |
| https://bugs.webkit.org/show_bug.cgi?id=197073 |
| <rdar://problem/50027819> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * wtf/Platform.h: |
| |
| 2019-04-23 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r244558. |
| https://bugs.webkit.org/show_bug.cgi?id=197219 |
| |
| Causing crashes on iOS Sim Release and Debug (Requested by |
| ShawnRoberts on #webkit). |
| |
| Reverted changeset: |
| |
| "Remove DeprecatedOptional" |
| https://bugs.webkit.org/show_bug.cgi?id=197161 |
| https://trac.webkit.org/changeset/244558 |
| |
| 2019-04-23 Alex Christensen <achristensen@webkit.org> |
| |
| Remove DeprecatedOptional |
| https://bugs.webkit.org/show_bug.cgi?id=197161 |
| |
| Reviewed by Darin Adler. |
| |
| This was added in r209326 to be compatible with a shipping version of Safari. |
| We have released several versions of Safari since then, so do what the comments say and remove it. |
| The existence of this std::optional makes migrating to C++17 harder, and there's no reason to keep it. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/DeprecatedOptional.h: Removed. |
| |
| 2019-04-21 Zan Dobersek <zdobersek@igalia.com> |
| |
| [WTF] Generic memoryFootprint() implementation should use bmalloc on Linux |
| https://bugs.webkit.org/show_bug.cgi?id=196963 |
| |
| Reviewed by Don Olmstead. |
| |
| Have the generic memoryFootprint() implementation use bmalloc's |
| memoryFootprint() API on Linux, whenever the system malloc option is |
| not enabled. Limitation to Linux platforms is due to the bmalloc |
| implementation being limited to those configurations (excluding iOS |
| which doesn't use MemoryFootprintGeneric.cpp). |
| |
| * wtf/PlatformWPE.cmake: Switch to building MemoryFootprintGeneric.cpp. |
| * wtf/generic/MemoryFootprintGeneric.cpp: |
| (WTF::memoryFootprint): |
| |
| 2019-04-19 Ryosuke Niwa <rniwa@webkit.org> |
| |
| HashTable::removeIf always shrinks the hash table by half even if there is nothing left |
| https://bugs.webkit.org/show_bug.cgi?id=196681 |
| <rdar://problem/49917764> |
| |
| Reviewed by Darin Adler. |
| |
| Address Darin's comments by removing the explicit type from std::max. |
| |
| * wtf/HashTable.h: |
| (WTF::KeyTraits>::computeBestTableSize): |
| (WTF::KeyTraits>::shrinkToBestSize): |
| |
| 2019-04-18 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Improve detection of when web views go to background / foreground |
| https://bugs.webkit.org/show_bug.cgi?id=197035 |
| <rdar://problem/45281182> |
| |
| Reviewed by Tim Horton. |
| |
| Add build time flag. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2019-04-18 Jer Noble <jer.noble@apple.com> |
| |
| Add support for parsing FairPlayStreaming PSSH boxes. |
| https://bugs.webkit.org/show_bug.cgi?id=197064 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/Platform.h: |
| |
| 2019-04-18 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] StringBuilder should set correct m_is8Bit flag when merging |
| https://bugs.webkit.org/show_bug.cgi?id=197053 |
| |
| Reviewed by Saam Barati. |
| |
| When appending StringBuilder to the other StringBuilder, we have a path that does not set m_is8Bit flag correctly. |
| This patch correctly sets this flag. And we also change 0 to nullptr when we are using 0 as a pointer. |
| |
| * wtf/text/StringBuilder.cpp: |
| (WTF::StringBuilder::reserveCapacity): |
| (WTF::StringBuilder::appendUninitializedSlow): |
| (WTF::StringBuilder::append): |
| * wtf/text/StringBuilder.h: |
| (WTF::StringBuilder::append): |
| (WTF::StringBuilder::characters8 const): |
| (WTF::StringBuilder::characters16 const): |
| (WTF::StringBuilder::clear): |
| |
| 2019-04-17 Tim Horton <timothy_horton@apple.com> |
| |
| Adopt different scroll view flashing SPI |
| https://bugs.webkit.org/show_bug.cgi?id=197043 |
| <rdar://problem/49996476> |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/Platform.h: |
| |
| 2019-04-17 Jer Noble <jer.noble@apple.com> |
| |
| Enable HAVE_AVFOUNDATION_VIDEO_OUTPUT on PLATFORM(IOSMAC) |
| https://bugs.webkit.org/show_bug.cgi?id=196994 |
| <rdar://problem/44158331> |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/Platform.h: |
| |
| 2019-04-16 Stephan Szabo <stephan.szabo@sony.com> |
| |
| [PlayStation] Update port for system library changes |
| https://bugs.webkit.org/show_bug.cgi?id=196978 |
| |
| Reviewed by Ross Kirsling. |
| |
| * wtf/PlatformPlayStation.cmake: |
| Remove reference to deleted system library |
| |
| 2019-04-16 Jer Noble <jer.noble@apple.com> |
| |
| Enable HAVE_AVKIT on PLATFORM(IOSMAC) |
| https://bugs.webkit.org/show_bug.cgi?id=196987 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/Platform.h: |
| |
| 2019-04-16 Robin Morisset <rmorisset@apple.com> |
| |
| [WTF] holdLock should be marked WARN_UNUSED_RETURN |
| https://bugs.webkit.org/show_bug.cgi?id=196922 |
| |
| Reviewed by Keith Miller. |
| |
| * wtf/Locker.h: |
| |
| 2019-04-16 Don Olmstead <don.olmstead@sony.com> |
| |
| [CMake] Set WTF_SCRIPTS_DIR |
| https://bugs.webkit.org/show_bug.cgi?id=196917 |
| |
| Reviewed by Konstantin Tokarev. |
| |
| Use WTF_SCRIPTS_DIR for copying the unified sources script. |
| |
| * wtf/CMakeLists.txt: |
| |
| 2019-04-15 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Cocoa] FontPlatformData objects aren't cached at all when using font-family:system-ui |
| https://bugs.webkit.org/show_bug.cgi?id=196846 |
| <rdar://problem/49499971> |
| |
| Reviewed by Simon Fraser and Darin Adler. |
| |
| * wtf/RetainPtr.h: |
| (WTF::safeCFEqual): |
| (WTF::safeCFHash): |
| |
| 2019-04-12 Ryosuke Niwa <rniwa@webkit.org> |
| |
| HashTable::removeIf always shrinks the hash table by half even if there is nothing left |
| https://bugs.webkit.org/show_bug.cgi?id=196681 |
| |
| Reviewed by Darin Adler. |
| |
| Made HashTable::removeIf shrink to the "best size", which is the least power of two bigger |
| than twice the key count as already used in the copy constructor. |
| |
| * wtf/HashTable.h: |
| (WTF::HashTable::computeBestTableSize): Extracted from the copy constructor. |
| (WTF::HashTable::shrinkToBestSize): Added. |
| (WTF::HashTable::removeIf): Use shrinkToBestSize instead of shrink. |
| (WTF::HashTable::HashTable): |
| |
| 2019-04-12 Eric Carlson <eric.carlson@apple.com> |
| |
| Update AudioSession route sharing policy |
| https://bugs.webkit.org/show_bug.cgi?id=196776 |
| <rdar://problem/46501611> |
| |
| Reviewed by Jer Noble. |
| |
| * wtf/Platform.h: Define HAVE_ROUTE_SHARING_POLICY_LONG_FORM_VIDEO. |
| |
| 2019-04-10 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| requestAnimationFrame should execute before the next frame |
| https://bugs.webkit.org/show_bug.cgi?id=177484 |
| |
| Reviewed by Simon Fraser. |
| |
| Add trace points for the page RenderingUpdate. |
| |
| * wtf/SystemTracing.h: |
| |
| 2019-04-10 Claudio Saavedra <csaavedra@igalia.com> |
| |
| Do not generate empty unified sources when unified builds are disabled |
| https://bugs.webkit.org/show_bug.cgi?id=196767 |
| |
| Reviewed by Konstantin Tokarev. |
| |
| If unified builds are disabled, the ruby script to generate them |
| is still used to list the sources that need to be |
| compiled. Currently, the script always generates bundled unified |
| sources, even if it's being used just to list all the sources. So |
| when the unified builds are disabled and no files are going to be |
| bundled, the script generates one empty file per bundle manager |
| (that is, one C++ and one ObjectiveC), that gets added to the |
| sources to be compiled. |
| |
| * Scripts/generate-unified-source-bundles.rb: Only go through the |
| bundle managers file generation when not running in |
| PrintAllSources mode, to avoid generating empty bundle files. |
| |
| 2019-04-10 Enrique Ocaña González <eocanha@igalia.com> |
| |
| [WPE] Avoid async IO starving timers |
| https://bugs.webkit.org/show_bug.cgi?id=196733 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| If AsyncIONetwork and DiskCacheRead priorities are higher than |
| MainThreadSharedTimer the timers get starved. This causes the NetworkProcess |
| to accumulate MB of data instead of handing it down to the WebProcess (done |
| using a Timer). This eventually causes an Out Of Memory kill on the |
| NetworkProcess on some embedded platforms with low memory limits. |
| |
| This patch levels the three priorities to the same value, while still leaving |
| DiskCacheWrite with less priority than DiskCacheRead. |
| |
| * wtf/glib/RunLoopSourcePriority.h: Changed RunLoopSourcePriority values for WPE. |
| |
| 2019-04-09 Don Olmstead <don.olmstead@sony.com> |
| |
| [CMake] WTF derived sources should only be referenced inside WTF |
| https://bugs.webkit.org/show_bug.cgi?id=196706 |
| |
| Reviewed by Konstantin Tokarev. |
| |
| Use ${WTF_DERIVED_SOURCES_DIR} instead of ${DERIVED_SOURCES_DIR} within WTF. |
| |
| * wtf/CMakeLists.txt: |
| * wtf/PlatformJSCOnly.cmake: |
| * wtf/PlatformMac.cmake: |
| |
| 2019-04-09 Don Olmstead <don.olmstead@sony.com> |
| |
| [CMake] Apple builds should use ICU_INCLUDE_DIRS |
| https://bugs.webkit.org/show_bug.cgi?id=196720 |
| |
| Reviewed by Konstantin Tokarev. |
| |
| Copy ICU headers for Apple builds into ICU_INCLUDE_DIRS. |
| |
| * CMakeLists.txt: |
| * wtf/PlatformMac.cmake: |
| |
| 2019-04-08 Don Olmstead <don.olmstead@sony.com> |
| |
| [CMake][WinCairo] Separate copied headers into different directories |
| https://bugs.webkit.org/show_bug.cgi?id=196655 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * wtf/CMakeLists.txt: |
| |
| 2019-04-08 Guillaume Emont <guijemont@igalia.com> |
| |
| Enable DFG on MIPS |
| https://bugs.webkit.org/show_bug.cgi?id=196689 |
| |
| Reviewed by Žan Doberšek. |
| |
| Since the bytecode change, we enabled the baseline JIT on mips in |
| r240432, but DFG is still missing. With this change, all tests are |
| passing on a ci20 board. |
| |
| * wtf/Platform.h: Enable DFG on MIPS by default. |
| |
| 2019-04-06 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Added tests for WeakHashSet::computesEmpty and WeakHashSet::computeSize |
| https://bugs.webkit.org/show_bug.cgi?id=196669 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Removed the superflous type names from forward declarations, and made WeakHashSet::add |
| take a const object to match other container types in WTF. |
| |
| * wtf/WeakHashSet.h: |
| (WTF::WeakHashSet::add): |
| * wtf/WeakPtr.h: |
| |
| 2019-04-05 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Make WeakPtr<Element> possible and deploy it in form associated elements code |
| https://bugs.webkit.org/show_bug.cgi?id=196626 |
| |
| Reviewed by Antti Koivisto. |
| |
| Make it possible to call WeakHashSet::remove and WeakHashSet::contains with |
| a subclass type U of a type T used to define WeakReference<T>. |
| |
| Also added computesEmpty, which is slightly more efficient than computeSize |
| when m_set is either empty or when there are non-released weak references in the set. |
| |
| * wtf/WeakHashSet.h: |
| (WTF::WeakHashSet::remove): |
| (WTF::WeakHashSet::contains const): |
| (WTF::WeakHashSet::computesEmpty const): Added. |
| * wtf/WeakPtr.h: Added an explicit forward declaration of WeakHashSet to avoid |
| build failures in GTK+ and WPE ports. |
| |
| 2019-04-05 Eric Carlson <eric.carlson@apple.com> |
| |
| Remove AUDIO_TOOLBOX_AUDIO_SESSION |
| https://bugs.webkit.org/show_bug.cgi?id=196653 |
| <rdar://problem/49652098> |
| |
| Reviewed by Jer Noble. |
| |
| * wtf/Platform.h: |
| |
| 2019-04-05 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Unreviewed manual rollout of r243929 |
| https://bugs.webkit.org/show_bug.cgi?id=196626 |
| |
| * wtf/WeakHashSet.h: |
| (WTF::WeakHashSet::remove): |
| (WTF::WeakHashSet::contains const): |
| (WTF::WeakHashSet::computesEmpty const): Deleted. |
| |
| 2019-04-05 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r243833. |
| https://bugs.webkit.org/show_bug.cgi?id=196645 |
| |
| This change breaks build of WPE and GTK ports (Requested by |
| annulen on #webkit). |
| |
| Reverted changeset: |
| |
| "[CMake][WTF] Mirror XCode header directories" |
| https://bugs.webkit.org/show_bug.cgi?id=191662 |
| https://trac.webkit.org/changeset/243833 |
| |
| 2019-04-05 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Make WeakPtr<Element> possible and deploy it in form associated elements code |
| https://bugs.webkit.org/show_bug.cgi?id=196626 |
| |
| Reviewed by Antti Koivisto. |
| |
| Make it possible to call WeakHashSet::remove and WeakHashSet::contains with |
| a subclass type U of a type T used to define WeakReference<T>. |
| |
| Also added computesEmpty, which is slightly more efficient than computeSize |
| when m_set is either empty or when there are non-released weak references in the set. |
| |
| * wtf/WeakHashSet.h: |
| (WTF::WeakHashSet::remove): |
| (WTF::WeakHashSet::contains const): |
| (WTF::WeakHashSet::computesEmpty const): Added. |
| |
| 2019-04-04 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WebCore] Put most of derived classes of ScriptWrappable into IsoHeap |
| https://bugs.webkit.org/show_bug.cgi?id=196475 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/ForbidHeapAllocation.h: |
| * wtf/IsoMalloc.h: |
| * wtf/IsoMallocInlines.h: |
| |
| 2019-04-03 Don Olmstead <don.olmstead@sony.com> |
| |
| [CMake][WTF] Mirror XCode header directories |
| https://bugs.webkit.org/show_bug.cgi?id=191662 |
| |
| Reviewed by Konstantin Tokarev. |
| |
| Rename WTF forwarding header target to WTFFramework and update the install location |
| to WTF_FRAMEWORK_HEADERS_DIR. |
| |
| * wtf/CMakeLists.txt: |
| |
| 2019-04-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Remote Inspector indicate callback should always happen on the main thread |
| https://bugs.webkit.org/show_bug.cgi?id=196513 |
| <rdar://problem/49498284> |
| |
| Reviewed by Devin Rousso. |
| |
| * wtf/MainThread.h: |
| * wtf/cocoa/MainThreadCocoa.mm: |
| (WTF::dispatchAsyncOnMainThreadWithWebThreadLockIfNeeded): |
| * wtf/ios/WebCoreThread.cpp: |
| * wtf/ios/WebCoreThread.h: |
| |
| 2019-04-02 Keith Rollin <krollin@apple.com> |
| |
| Inhibit CFNetwork logging in private sessions |
| https://bugs.webkit.org/show_bug.cgi?id=196268 |
| <rdar://problem/48210793> |
| |
| Fix a conditional in Platform.h where IOS should have been used |
| instead of IOS_FAMILY. The latter happened to work, but we really want |
| to be using the proper symbol here. |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * wtf/Platform.h: |
| |
| 2019-04-01 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Stop trying to support building JSC with clang 3.8 |
| https://bugs.webkit.org/show_bug.cgi?id=195947 |
| <rdar://problem/49069219> |
| |
| Reviewed by Darin Adler. |
| |
| It seems WebKit hasn't built with clang 3.8 in a while, no devs are using this compiler, we |
| don't know how much effort it would be to make JSC work again, and it's making the code |
| worse. Remove my hacks to support clang 3.8 from WTF. |
| |
| * wtf/MetaAllocator.cpp: |
| (WTF::MetaAllocator::allocate): |
| * wtf/text/StringConcatenate.h: |
| (WTF::tryMakeStringFromAdapters): |
| |
| 2019-03-31 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Butterfly allocation from LargeAllocation should try "realloc" behavior if collector thread is not active |
| https://bugs.webkit.org/show_bug.cgi?id=196160 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/FastMalloc.h: |
| (WTF::FastMalloc::tryRealloc): |
| * wtf/Gigacage.cpp: |
| (Gigacage::tryRealloc): |
| * wtf/Gigacage.h: |
| |
| 2019-03-31 Andy Estes <aestes@apple.com> |
| |
| [iOS] WebKit should consult the navigation response policy delegate before previewing a QuickLook document |
| https://bugs.webkit.org/show_bug.cgi?id=196433 |
| <rdar://problem/49293305> |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/NeverDestroyed.h: |
| (WTF::NeverDestroyed::operator->): |
| (WTF::NeverDestroyed::operator-> const): |
| |
| 2019-03-28 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| Unreviewed build fix. |
| |
| * wtf/CMakeLists.txt: Added SpanningTree.h to WTF_PUBLIC_HEADERS. |
| |
| 2019-03-28 Saam Barati <sbarati@apple.com> |
| |
| BackwardsGraph needs to consider back edges as the backward's root successor |
| https://bugs.webkit.org/show_bug.cgi?id=195991 |
| |
| Reviewed by Filip Pizlo. |
| |
| Previously, our backwards graph analysis was slightly wrong. The idea of |
| backwards graph is that the root of the graph has edges to terminals in |
| the original graph. And then the original directed edges in the graph are flipped. |
| |
| However, we weren't considering loops as a form of terminality. For example, |
| we wouldn't consider an infinite loop as a terminal. So there were no edges |
| from the root to a node in the infinite loop. This lead us to make mistakes |
| when we used backwards dominators to compute control flow equivalence. |
| |
| This is better understood in an example: |
| |
| ``` |
| preheader: |
| while (1) { |
| if (!isCell(v)) |
| continue; |
| load structure ID |
| if (cond) |
| continue; |
| return |
| } |
| ``` |
| |
| In the previous version of this algorithm, the only edge from the backwards |
| root would be to the block containing the return. This would lead us to |
| believe that the loading of the structureID backwards dominates the preheader, |
| leading us to believe it's control flow equivalent to preheader. This is |
| obviously wrong, since we can loop forever if "v" isn't a cell. |
| |
| The solution here is to treat any backedge in the graph as a "terminal" node. |
| Since a backedge implies the existence of a loop. |
| |
| In the above example, the backwards root now has an edge to both blocks with |
| "continue". This prevents us from falsely claiming that the return is control |
| flow equivalent with the preheader. |
| |
| This patch uses DFS spanning trees to compute back edges. An edge |
| u->v is a back edge when u is a descendent of v in the DFS spanning |
| tree of the Graph. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/BackwardsGraph.h: |
| (WTF::BackwardsGraph::BackwardsGraph): |
| * wtf/SpanningTree.h: Added. |
| (SpanningTree::SpanningTree): |
| (SpanningTree::isDescendent): |
| |
| 2019-03-28 Tim Horton <timothy_horton@apple.com> |
| |
| Un-fix the build |
| |
| * wtf/Platform.h: |
| It is no longer necessary to exclude this from PLATFORM(IOSMAC). |
| |
| 2019-03-27 Per Arne Vollan <pvollan@apple.com> |
| |
| Layout Test js/math-clz32.html is failing |
| https://bugs.webkit.org/show_bug.cgi?id=196209 |
| |
| Reviewed by Ross Kirsling. |
| |
| Use the correct number of loop iterations when counting leading zeros. Also, the |
| count was off by one for the Win64 case. |
| |
| * wtf/MathExtras.h: |
| (WTF::clz): |
| |
| 2019-03-26 Keith Rollin <krollin@apple.com> |
| |
| Inhibit CFNetwork logging in private sessions |
| https://bugs.webkit.org/show_bug.cgi?id=196268 |
| <rdar://problem/48210793> |
| |
| Reviewed by Alex Christensen. |
| |
| Before performing any logging, the NetworkProcess checks to see if |
| it's performing an operation associated with a private (ephemeral) |
| browsing session. If so, it skips the logging. However, networking |
| layers below the NetworkProcess don't know about private browsing, so |
| they would still perform their own logging. CFNetwork now has a flag |
| that lets us control that, so set it to False if private browsing. |
| |
| * wtf/Platform.h: |
| |
| 2019-03-25 Alex Christensen <achristensen@webkit.org> |
| |
| Expected shouldn't assume its contained types are copyable |
| https://bugs.webkit.org/show_bug.cgi?id=195986 |
| |
| Reviewed by JF Bastien. |
| |
| * wtf/Expected.h: |
| (std::experimental::fundamentals_v3::__expected_detail::constexpr_base::constexpr_base): |
| (std::experimental::fundamentals_v3::operator==): |
| (std::experimental::fundamentals_v3::operator!=): |
| * wtf/Unexpected.h: |
| (std::experimental::fundamentals_v3::unexpected::unexpected): |
| |
| 2019-03-24 Keith Miller <keith_miller@apple.com> |
| |
| Unreviewed, forgot to refactor variable name for windows build in |
| r243418. |
| |
| * wtf/MathExtras.h: |
| (WTF::clz): |
| (WTF::ctz): |
| |
| 2019-03-24 Andy Estes <aestes@apple.com> |
| |
| [watchOS] Remove unused Proximity Networking code |
| https://bugs.webkit.org/show_bug.cgi?id=196188 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2019-03-23 Keith Miller <keith_miller@apple.com> |
| |
| Refactor clz/ctz and fix getLSBSet. |
| https://bugs.webkit.org/show_bug.cgi?id=196162 |
| |
| Reviewed by Saam Barati. |
| |
| This patch makes clz32/64 and ctz32 generic so they work on any |
| numeric type. Since these methods work on any type we don't need |
| to have a separate implementation of getLSBSet, which also |
| happened to be getMSBSet. This patch also adds getMSBSet as there |
| may be users who want that in the future. |
| |
| * wtf/MathExtras.h: |
| (WTF::clz): |
| (WTF::ctz): |
| (WTF::getLSBSet): |
| (WTF::getMSBSet): |
| (getLSBSet): Deleted. |
| (WTF::clz32): Deleted. |
| (WTF::clz64): Deleted. |
| (WTF::ctz32): Deleted. |
| |
| 2019-03-22 Keith Rollin <krollin@apple.com> |
| |
| Enable ThinLTO support in Production builds |
| https://bugs.webkit.org/show_bug.cgi?id=190758 |
| <rdar://problem/45413233> |
| |
| Reviewed by Daniel Bates. |
| |
| Enable building with Thin LTO in Production when using Xcode 10.2 or |
| later. This change results in a 1.45% progression in PLT5. Full |
| Production build times increase about 2-3%. Incremental build times |
| are more severely affected, and so LTO is not enabled for local |
| engineering builds. |
| |
| LTO is enabled only on macOS for now, until rdar://problem/49013399, |
| which affects ARM builds, is fixed. |
| |
| To change the LTO setting when building locally: |
| |
| - If building with `make`, specify WK_LTO_MODE={none,thin,full} on the |
| command line. |
| - If building with `build-webkit`, specify --lto-mode={none,thin,full} |
| on the command line. |
| - If building with `build-root`, specify --lto={none,thin,full} on the |
| command line. |
| - If building with Xcode, create a LocalOverrides.xcconfig file at the |
| top level of your repository directory (if needed) and define |
| WK_LTO_MODE to full, thin, or none. |
| |
| * Configurations/Base.xcconfig: |
| |
| 2019-03-22 Tim Horton <timothy_horton@apple.com> |
| |
| Fix the build after r243354 |
| |
| * wtf/Platform.h: |
| |
| 2019-03-22 Tim Horton <timothy_horton@apple.com> |
| |
| Fix the build after r243354 |
| https://bugs.webkit.org/show_bug.cgi?id=196138 |
| <rdar://problem/49145951> |
| |
| * wtf/Platform.h: |
| |
| 2019-03-21 Eric Carlson <eric.carlson@apple.com> |
| |
| Add UI process WebRTC runtime logging. |
| https://bugs.webkit.org/show_bug.cgi?id=196020 |
| <rdar://problem/49071443> |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/Logger.h: |
| (WTF::LogArgument::toString): Add long long and unsigned long long variants. |
| |
| 2019-03-20 Simon Fraser <simon.fraser@apple.com> |
| |
| Rename ENABLE_ACCELERATED_OVERFLOW_SCROLLING macro to ENABLE_OVERFLOW_SCROLLING_TOUCH |
| https://bugs.webkit.org/show_bug.cgi?id=196049 |
| |
| Reviewed by Tim Horton. |
| |
| This macro is about the -webkit-overflow-scrolling CSS property, not accelerated |
| overflow scrolling in general, so rename it. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2019-03-20 Mark Lam <mark.lam@apple.com> |
| |
| Open source arm64e code. |
| https://bugs.webkit.org/show_bug.cgi?id=196012 |
| <rdar://problem/49066237> |
| |
| Reviewed by Keith Miller. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/BlockPtr.h: |
| * wtf/Platform.h: |
| * wtf/PlatformRegisters.cpp: Added. |
| (WTF::threadStateLRInternal): |
| (WTF::threadStatePCInternal): |
| * wtf/PlatformRegisters.h: |
| * wtf/PointerPreparations.h: |
| * wtf/PtrTag.cpp: Added. |
| (WTF::tagForPtr): |
| (WTF::ptrTagName): |
| (WTF::registerPtrTagLookup): |
| (WTF::reportBadTag): |
| * wtf/PtrTag.h: |
| (WTF::removeCodePtrTag): |
| (WTF::tagCodePtrImpl): |
| (WTF::tagCodePtr): |
| (WTF::untagCodePtrImplHelper): |
| (WTF::untagCodePtrImpl): |
| (WTF::untagCodePtr): |
| (WTF::retagCodePtrImplHelper): |
| (WTF::retagCodePtrImpl): |
| (WTF::retagCodePtr): |
| (WTF::tagCFunctionPtrImpl): |
| (WTF::tagCFunctionPtr): |
| (WTF::untagCFunctionPtrImpl): |
| (WTF::untagCFunctionPtr): |
| (WTF::tagInt): |
| (WTF::assertIsCFunctionPtr): |
| (WTF::assertIsNullOrCFunctionPtr): |
| (WTF::assertIsNotTagged): |
| (WTF::assertIsTagged): |
| (WTF::assertIsNullOrTagged): |
| (WTF::isTaggedWith): |
| (WTF::assertIsTaggedWith): |
| (WTF::assertIsNullOrTaggedWith): |
| (WTF::usesPointerTagging): |
| (WTF::registerPtrTagLookup): |
| (WTF::reportBadTag): |
| (WTF::tagForPtr): Deleted. |
| |
| 2019-03-20 Keith Rollin <krollin@apple.com> |
| |
| Update checks that determine if WebKit is system WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=195756 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| The system WebKit can be installed in additional locations, so check |
| for and allow those, too. |
| |
| * wtf/Platform.h: |
| |
| 2019-03-20 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Unreviewed, further attempt to fix clang 3.8 build |
| https://bugs.webkit.org/show_bug.cgi?id=195947 |
| |
| * wtf/MetaAllocator.cpp: |
| (WTF::MetaAllocator::allocate): |
| |
| 2019-03-20 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| REGRESSION(r243115) breaks build for clang 3.8 |
| https://bugs.webkit.org/show_bug.cgi?id=195947 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/text/StringConcatenate.h: |
| (WTF::tryMakeStringFromAdapters): |
| |
| 2019-03-20 Tim Horton <timothy_horton@apple.com> |
| |
| Add an platform-driven spell-checking mechanism |
| https://bugs.webkit.org/show_bug.cgi?id=195795 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * wtf/Platform.h: |
| Add an ENABLE flag. |
| |
| 2019-03-19 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Build cleanly with GCC 9 |
| https://bugs.webkit.org/show_bug.cgi?id=195920 |
| |
| Reviewed by Chris Dumez. |
| |
| WebKit triggers three new GCC 9 warnings: |
| |
| """ |
| -Wdeprecated-copy, implied by -Wextra, warns about the C++11 deprecation of implicitly |
| declared copy constructor and assignment operator if one of them is user-provided. |
| """ |
| |
| Solution is to either add a copy constructor or copy assignment operator, if required, or |
| else remove one if it is redundant. |
| |
| """ |
| -Wredundant-move, implied by -Wextra, warns about redundant calls to std::move. |
| -Wpessimizing-move, implied by -Wall, warns when a call to std::move prevents copy elision. |
| """ |
| |
| These account for most of this patch. Solution is to just remove the bad WTFMove(). |
| |
| Additionally, -Wclass-memaccess has been enhanced to catch a few cases that GCC 8 didn't. |
| These are solved by casting nontrivial types to void* before using memcpy. (Of course, it |
| would be safer to not use memcpy on nontrivial types, but that's too complex for this |
| patch. Searching for memcpy used with static_cast<void*> will reveal other cases to fix.) |
| |
| * wtf/CheckedArithmetic.h: |
| (WTF::Checked::Checked): |
| * wtf/MetaAllocator.cpp: |
| (WTF::MetaAllocator::allocate): |
| * wtf/URLParser.cpp: |
| (WTF::CodePointIterator::operator!= const): |
| (WTF::CodePointIterator::operator=): Deleted. |
| * wtf/text/StringView.h: |
| (WTF::StringView::CodePoints::Iterator::operator=): Deleted. |
| |
| 2019-03-19 Alex Christensen <achristensen@webkit.org> |
| |
| Make WTFLogChannelState and WTFLogLevel enum classes |
| https://bugs.webkit.org/show_bug.cgi?id=195904 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/Assertions.cpp: |
| * wtf/Assertions.h: |
| * wtf/Logger.h: |
| (WTF::Logger::logAlways const): |
| (WTF::Logger::error const): |
| (WTF::Logger::warning const): |
| (WTF::Logger::info const): |
| (WTF::Logger::debug const): |
| (WTF::Logger::willLog const): |
| (WTF::Logger::log): |
| * wtf/MemoryPressureHandler.cpp: |
| * wtf/RefCountedLeakCounter.cpp: |
| |
| 2019-03-19 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Unreviewed, rolling out r243132. |
| |
| Broke GTK build |
| |
| Reverted changeset: |
| |
| "Make WTFLogChannelState and WTFLogLevel enum classes" |
| https://bugs.webkit.org/show_bug.cgi?id=195904 |
| https://trac.webkit.org/changeset/243132 |
| |
| 2019-03-18 Alex Christensen <achristensen@webkit.org> |
| |
| Make WTFLogChannelState and WTFLogLevel enum classes |
| https://bugs.webkit.org/show_bug.cgi?id=195904 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/Assertions.cpp: |
| * wtf/Assertions.h: |
| * wtf/Logger.h: |
| (WTF::Logger::logAlways const): |
| (WTF::Logger::error const): |
| (WTF::Logger::warning const): |
| (WTF::Logger::info const): |
| (WTF::Logger::debug const): |
| (WTF::Logger::willLog const): |
| (WTF::Logger::log): |
| * wtf/MemoryPressureHandler.cpp: |
| * wtf/RefCountedLeakCounter.cpp: |
| |
| 2019-03-18 Darin Adler <darin@apple.com> |
| |
| Cut down on use of StringBuffer, possibly leading toward removing it entirely |
| https://bugs.webkit.org/show_bug.cgi?id=195870 |
| |
| Reviewed by Daniel Bates. |
| |
| * wtf/URL.cpp: Remove a now-inaccurate comment mentioning StringBuffer. |
| |
| * wtf/text/StringView.cpp: |
| (WTF::convertASCIICase): Use createUninitialized instead of StringBuffer. |
| |
| 2019-03-18 Xan Lopez <xan@igalia.com> |
| |
| [WTF] Remove redundant std::move in StringConcatenate |
| https://bugs.webkit.org/show_bug.cgi?id=195798 |
| |
| Reviewed by Darin Adler. |
| |
| Remove redundant calls to WTFMove in return values for this |
| method. C++ will already do an implicit move here since we are |
| returning a local value where copy/move elision is not applicable. |
| |
| * wtf/text/StringConcatenate.h: |
| (WTF::tryMakeStringFromAdapters): |
| |
| 2019-03-16 Darin Adler <darin@apple.com> |
| |
| Improve normalization code, including moving from unorm.h to unorm2.h |
| https://bugs.webkit.org/show_bug.cgi?id=195330 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * wtf/URLHelpers.cpp: Removed unneeded include of unorm.h since the |
| normalization code is now in StringView.cpp. |
| (WTF::URLHelpers::escapeUnsafeCharacters): Renamed from |
| createStringWithEscapedUnsafeCharacters since it now only creates |
| a new string if one is needed. Use unsigned for string lengths, since |
| that's what WTF::String uses, not size_t. Added a first loop so that |
| we can return the string unmodified if no lookalike characters are |
| found. Removed unnecessary round trip from UTF-16 and then back in |
| the case where the character is not a lookalike. |
| (WTF::URLHelpers::toNormalizationFormC): Deleted. Moved this logic |
| into the WTF::normalizedNFC function in StringView.cpp. |
| (WTF::URLHelpers::userVisibleURL): Call escapeUnsafeCharacters and |
| normalizedNFC. The normalizedNFC function is better in multiple ways, |
| but primarily it handles 8-bit strings and other already-normalized |
| strings much more efficiently. |
| |
| * wtf/text/StringView.cpp: |
| (WTF::normalizedNFC): Added. This has two overloads. One is for when |
| we already have a String, and want to re-use it if no normalization |
| is needed, and another is when we only have a StringView, and may need |
| to allocate a String to hold the result. Includes a fast special case |
| for 8-bit and already-normalized strings, and uses the same strategy |
| that JSC::normalize was already using: calls unorm2_normalize twice, |
| first just to determine the length. |
| |
| * wtf/text/StringView.h: Added normalizedNFC, which can be called with |
| either a StringView or a String. Also moved StringViewWithUnderlyingString |
| here from JSString.h, here for use as the return value of normalizedNFC; |
| it is used for a similar purpose in the JavaScriptCore rope implementation. |
| Also removed an inaccurate comment. |
| |
| 2019-03-16 Diego Pino Garcia <dpino@igalia.com> |
| |
| [GTK] [WPE] Fix compilation errors due to undefined ALWAYS_LOG_IF |
| https://bugs.webkit.org/show_bug.cgi?id=195850 |
| |
| Unreviewed build fix after r243033. |
| |
| * wtf/LoggerHelper.h: |
| |
| 2019-03-15 Per Arne Vollan <pvollan@apple.com> |
| |
| [iOS] Block the accessibility server when accessibility is not enabled. |
| https://bugs.webkit.org/show_bug.cgi?id=195342 |
| |
| Reviewed by Brent Fulgham. |
| |
| Add SPI to issue a mach extension to a process by pid. Also, add a macro for |
| the availability of this SPI. |
| |
| * wtf/Platform.h: |
| * wtf/spi/darwin/SandboxSPI.h: |
| |
| 2019-03-15 Eric Carlson <eric.carlson@apple.com> |
| |
| Add media stream release logging |
| https://bugs.webkit.org/show_bug.cgi?id=195823 |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/LoggerHelper.h: Add LOG_IF variants that check a condition before logging. |
| |
| 2019-03-15 Truitt Savell <tsavell@apple.com> |
| |
| Unreviewed, rolling out r243008. |
| |
| This revision broke High Sierra builders |
| |
| Reverted changeset: |
| |
| "[iOS] Block the accessibility server when accessibility is |
| not enabled." |
| https://bugs.webkit.org/show_bug.cgi?id=195342 |
| https://trac.webkit.org/changeset/243008 |
| |
| 2019-03-15 Per Arne Vollan <pvollan@apple.com> |
| |
| [iOS] Block the accessibility server when accessibility is not enabled. |
| https://bugs.webkit.org/show_bug.cgi?id=195342 |
| |
| Reviewed by Brent Fulgham. |
| |
| Add SPI to issue a mach extension to a process by pid. |
| |
| * wtf/spi/darwin/SandboxSPI.h: |
| |
| 2019-03-13 Sam Weinig <sam@webkit.org> |
| |
| Add utility function to allow easy reverse range-based iteration of a container |
| https://bugs.webkit.org/show_bug.cgi?id=195542 |
| |
| Reviewed by Antti Koivisto. |
| |
| Add functions to create an IteratorRange<T> that will iterate a container backwards. It |
| works with any container that is compatible with std::rbegin() and std::rend(). It is |
| expected to be used in conjunction with range-based for-loops like so: |
| |
| for (auto& value : WTF::makeReversedRange(myContainer)) |
| ... |
| |
| * wtf/IteratorRange.h: |
| (WTF::makeReversedRange): |
| |
| 2019-03-13 Keith Rollin <krollin@apple.com> |
| |
| Add support for new StagedFrameworks layout |
| https://bugs.webkit.org/show_bug.cgi?id=195543 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Opportunistic cleanup: remove unused JAVASCRIPTCORE_FRAMEWORKS_DIR |
| variable. |
| |
| * Configurations/Base.xcconfig: |
| |
| 2019-03-13 Dominik Infuehr <dinfuehr@igalia.com> |
| |
| String overflow when using StringBuilder in JSC::createError |
| https://bugs.webkit.org/show_bug.cgi?id=194957 |
| |
| Reviewed by Mark Lam. |
| |
| When calculating the new capacity of a StringBuilder object, |
| use a limit of MaxLength instead of MaxLength+1. Allocating |
| a string of size MaxLength+1 always fails. This means that expanding |
| a StringBuilder only worked when the newly doubled capacity is less or |
| equal to MaxLength. |
| |
| * wtf/text/StringBuilder.cpp: |
| |
| 2019-03-13 Chris Dumez <cdumez@apple.com> |
| |
| Better build fix after r242901. |
| |
| Reviewed by Jer Noble. |
| |
| * wtf/Logger.h: |
| (WTF::LogArgument::toString): |
| |
| 2019-03-13 Jer Noble <jer.noble@apple.com> |
| |
| Add AggregateLogger, a Logger specialization for singleton classes. |
| https://bugs.webkit.org/show_bug.cgi?id=195644 |
| |
| Reviewed by Eric Carlson. |
| |
| Add a new class, AggregateLogger, which will log messages to each of its aggregated loggers. |
| |
| Drive-by fixes: allow "const void*" to be directly logged by converting the pointer to a hex string. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/AggregateLogger.h: Added. |
| (WTF::AggregateLogger::create): |
| (WTF::AggregateLogger::addLogger): |
| (WTF::AggregateLogger::removeLogger): |
| (WTF::AggregateLogger::logAlways const): |
| (WTF::AggregateLogger::error const): |
| (WTF::AggregateLogger::warning const): |
| (WTF::AggregateLogger::info const): |
| (WTF::AggregateLogger::debug const): |
| (WTF::AggregateLogger::willLog const): |
| (WTF::AggregateLogger::AggregateLogger): |
| (WTF::AggregateLogger::log const): |
| * wtf/CMakeLists.h: |
| * wtf/Logger.cpp: |
| (WTF::>::toString): |
| * wtf/Logger.h: |
| |
| 2019-03-12 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r242747. |
| https://bugs.webkit.org/show_bug.cgi?id=195641 |
| |
| Performance measurement is difficult in this period, rolling |
| out it and rolling in later to isolate it from the other |
| sensitive patches (Requested by yusukesuzuki on #webkit). |
| |
| Reverted changeset: |
| |
| "[JSC] Make StaticStringImpl & StaticSymbolImpl actually |
| static" |
| https://bugs.webkit.org/show_bug.cgi?id=194212 |
| https://trac.webkit.org/changeset/242747 |
| |
| 2019-03-12 Robin Morisset <rmorisset@apple.com> |
| |
| A lot more classes have padding that can be reduced by reordering their fields |
| https://bugs.webkit.org/show_bug.cgi?id=195579 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/CrossThreadQueue.h: |
| * wtf/Logger.h: |
| * wtf/MemoryPressureHandler.h: |
| * wtf/MetaAllocator.h: |
| * wtf/Threading.cpp: |
| |
| 2019-03-11 Alex Christensen <achristensen@webkit.org> |
| |
| WTF::Expected should use std::addressof instead of operator& |
| https://bugs.webkit.org/show_bug.cgi?id=195604 |
| |
| Reviewed by Myles Maxfield. |
| |
| The latter was causing problems with types that do tricky things with constructors and operator&, |
| specifically UniqueRef but I made a reduced test case. When it used operator&, it would get the contained |
| type and call the constructor that takes a contained type instead of the move constructor. |
| |
| * wtf/Expected.h: |
| (std::experimental::fundamentals_v3::__expected_detail::base::base): |
| (std::experimental::fundamentals_v3::expected::swap): |
| |
| 2019-03-11 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Add Optional to Forward.h. |
| https://bugs.webkit.org/show_bug.cgi?id=195586 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/Forward.h: |
| Add forward declaration for Optional. |
| |
| * wtf/CPUTime.h: |
| * wtf/Expected.h: |
| * wtf/MainThread.h: |
| * wtf/MemoryFootprint.h: |
| * wtf/URLHelpers.cpp: |
| * wtf/URLHelpers.h: |
| * wtf/cocoa/CPUTimeCocoa.cpp: |
| * wtf/fuchsia/CPUTimeFuchsia.cpp: |
| * wtf/unix/CPUTimeUnix.cpp: |
| * wtf/win/CPUTimeWin.cpp: |
| Remove unnecessary includes from headers. |
| |
| 2019-03-11 Andy Estes <aestes@apple.com> |
| |
| [Apple Pay] Use PKPaymentAuthorizationController to present the Apple Pay UI remotely from the Networking service on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=195530 |
| <rdar://problem/48747164> |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/FeatureDefines.h: Defined ENABLE_APPLE_PAY_REMOTE_UI. |
| |
| 2019-03-11 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Make StaticStringImpl & StaticSymbolImpl actually static |
| https://bugs.webkit.org/show_bug.cgi?id=194212 |
| |
| Reviewed by Mark Lam. |
| |
| Avoid mutation onto refcounts if `isStatic()` returns true so that the content of StaticStringImpl never gets modified. |
| |
| * wtf/text/StringImpl.h: |
| (WTF::StringImpl::ref): |
| (WTF::StringImpl::deref): |
| |
| 2019-03-11 Sihui Liu <sihui_liu@apple.com> |
| |
| Crash under WebCore::IDBDatabase::connectionToServerLost |
| https://bugs.webkit.org/show_bug.cgi?id=195563 |
| <rdar://problem/37193655> |
| |
| CrossThreadTask should protect callee if it is ThreadSafeRefCounted. |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/CrossThreadTask.h: |
| (WTF::createCrossThreadTask): |
| |
| 2019-03-11 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r242688, r242643, r242624. |
| |
| Caused multiple layout test failures and crashes on iOS and macOS. |
| |
| Reverted changeset: |
| |
| "requestAnimationFrame should execute before the next frame" |
| https://bugs.webkit.org/show_bug.cgi?id=177484 |
| https://trac.webkit.org/changeset/242624/webkit |
| |
| * wtf/SystemTracing.h: |
| |
| 2019-03-11 Darin Adler <darin@apple.com> |
| |
| Specify fixed precision explicitly to prepare to change String::number and StringBuilder::appendNumber floating point behavior |
| https://bugs.webkit.org/show_bug.cgi?id=195533 |
| |
| Reviewed by Brent Fulgham. |
| |
| Soon, we will change String::number and StringBuilder::appendNumber for floating |
| point to use "shortest form" serialization instead of the current default, which is |
| "6-digit fixed precision stripping trailing zeros". To prepare to do this safely |
| without accidentally changing any behavior, changing callers to call the explicit |
| versions. Later, we may want to return and change many of them to use shortest form |
| instead, but that may require rebaselining tests, and in some extreme cases, getting |
| rid of flawed logic that converts between different single and double precision |
| floating point; such problems may be hidden by fixed precision serialization. |
| |
| Since "shortest form" is already the behavior for AtomicString::number and |
| for makeString, no changes required for clients of either of those. |
| |
| * wtf/Logger.h: |
| (WTF::LogArgument::toString): Use numberToStringFixedPrecision. |
| * wtf/MediaTime.cpp: |
| (WTF::MediaTime::toString const): Use appendFixedPrecisionNumber. |
| * wtf/text/ValueToString.h: |
| (WTF::ValueToString<float>::string): Use numberToStringFixedPrecision. |
| (WTF::ValueToString<double>::string): Ditto. |
| |
| 2019-03-11 Truitt Savell <tsavell@apple.com> |
| |
| Unreviewed, rolling out r242702. |
| |
| Broke High Sierra builders. |
| |
| Reverted changeset: |
| |
| "Add utility function to allow easy reverse range-based |
| iteration of a container" |
| https://bugs.webkit.org/show_bug.cgi?id=195542 |
| https://trac.webkit.org/changeset/242702 |
| |
| 2019-03-11 Sam Weinig <sam@webkit.org> |
| |
| Add utility function to allow easy reverse range-based iteration of a container |
| https://bugs.webkit.org/show_bug.cgi?id=195542 |
| |
| Reviewed by Antti Koivisto. |
| |
| Add functions to create an IteratorRange<T> that will iterate a container backwards. It |
| works with any container that is compatible with std::rbegin() and std::rend(). It is |
| expected to be used in conjunction with range-based for-loops like so: |
| |
| for (auto& value : WTF::makeReversedRange(myContainer)) |
| ... |
| |
| * wtf/IteratorRange.h: |
| (WTF::makeReversedRange): |
| |
| 2019-03-10 Yusuke Suzuki <utatane.tea@gmail.com> and Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [WTF] Align assumption in RunLoopWin to the other platform's RunLoop |
| https://bugs.webkit.org/show_bug.cgi?id=181151 |
| |
| Reviewed by Don Olmstead. |
| |
| This patch fixes RunLoop in Windows to align it to the implementations in the other platforms |
| to use RunLoop more aggressively. |
| |
| * wtf/RunLoop.h: |
| (WTF::RunLoop::Timer::Timer): |
| * wtf/win/MainThreadWin.cpp: |
| (initializeMainThreadPlatform): Call RunLoop::registerRunLoopMessageWindowClass. |
| * wtf/win/RunLoopWin.cpp: |
| (WTF::RunLoop::wndProc): |
| (WTF::RunLoop::iterate): |
| (WTF::RunLoop::stop): |
| PostQuitMessage is only available in the RunLoop's thread. We should post a message and call |
| it inside this task. |
| |
| (WTF::RunLoop::registerRunLoopMessageWindowClass): |
| Changed the return type from bool to void, and added RELEASE_ASSERT to check the return value of RegisterClass. |
| |
| (WTF::RunLoop::~RunLoop): |
| When the RunLoop's thread is freed, its associated window is freed. We do not need to do here. |
| |
| (WTF::RunLoop::TimerBase::timerFired): |
| (WTF::RunLoop::TimerBase::TimerBase): |
| (WTF::RunLoop::TimerBase::start): |
| (WTF::RunLoop::TimerBase::stop): |
| (WTF::RunLoop::TimerBase::isActive const): |
| (WTF::RunLoop::TimerBase::secondsUntilFire const): |
| (WTF::generateTimerID): Deleted. |
| We can use TimerBase's pointer as ID since it is uintptr_t. |
| |
| 2019-03-07 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| requestAnimationFrame should execute before the next frame |
| https://bugs.webkit.org/show_bug.cgi?id=177484 |
| |
| Reviewed by Simon Fraser. |
| |
| Add trace points for the page RenderingUpdate. |
| |
| * wtf/SystemTracing.h: |
| |
| 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 |
| https://bugs.webkit.org/show_bug.cgi?id=194411 |
| <rdar://problem/47787614> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * wtf/cocoa/SoftLinking.h: |
| Remove macro that now has no uses. |
| |
| 2019-02-15 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r241559 and r241566. |
| https://bugs.webkit.org/show_bug.cgi?id=194710 |
| |
| Causes layout test crashes under GuardMalloc (Requested by |
| ryanhaddad on #webkit). |
| |
| Reverted changesets: |
| |
| "[WTF] Add environment variable helpers" |
| https://bugs.webkit.org/show_bug.cgi?id=192405 |
| https://trac.webkit.org/changeset/241559 |
| |
| "Unreviewed build fix for WinCairo Debug after r241559." |
| https://trac.webkit.org/changeset/241566 |
| |
| 2019-02-15 Truitt Savell <tsavell@apple.com> |
| |
| Unreviewed, rolling out r241564. |
| |
| Caused 50+ Timeouts on Mac WK2, mostly in the http/ directory |
| |
| Reverted changeset: |
| |
| "[Mac] WebInspectorUI.framework does not need to be soft- |
| linked anymore" |
| https://bugs.webkit.org/show_bug.cgi?id=194411 |
| https://trac.webkit.org/changeset/241564 |
| |
| 2019-02-15 Dominik Infuehr <dinfuehr@igalia.com> |
| |
| Fix deadlock on Linux/x64 between SamplingProfiler and VMTraps |
| https://bugs.webkit.org/show_bug.cgi?id=194014 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Do not block SIGUSR1 when installing signal handlers, since this signal |
| is used to suspend/resume machine threads on Linux. |
| |
| ftl-ai-filter-phantoms-should-clear-clear-value.js deadlocked with |
| enabled watchdog and sampling. |
| |
| Deadlock happened in the following situation: |
| |
| Thread 1 (Sampling): SamplingProfiler.cpp:takeSample takes all needed locks |
| and then tries to suspend the main thread. |
| |
| Thread 2 (Watchdog/VMTraps): Before the Sampling-Thread suspends the main thread |
| a signal is caught and the signal handler is invoked (VMTraps.cpp:SignalSender). |
| SignalSender tries to lock codeBlockSet, but this is already locked by the |
| SamplingProfiler. |
| |
| The SamplingProfiler can only give up the lock when it suspends |
| the thread. However since the VMTraps signal handler is active, all other signals blocked, |
| therefore the SamplingProfiler also waits until its signal handler is invoked. |
| |
| This patch fixes this by not blocking SIGUSR1 in installSignalHandler, since |
| it is used to suspend/resume threads on Linux. |
| |
| * wtf/Threading.h: |
| * wtf/posix/ThreadingPOSIX.cpp: |
| * wtf/threads/Signals.cpp: |
| (WTF::installSignalHandler): |
| |
| 2019-02-15 Saam barati <sbarati@apple.com> |
| |
| [WebAssembly] Write a new register allocator for Air O0 and make BBQ use it |
| https://bugs.webkit.org/show_bug.cgi?id=194036 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/IndexMap.h: |
| (WTF::IndexMap::at): |
| (WTF::IndexMap::at const): |
| (WTF::IndexMap::operator[]): |
| (WTF::IndexMap::operator[] const): |
| |
| 2019-02-14 Brian Burg <bburg@apple.com> |
| |
| [Mac] WebInspectorUI.framework does not need to be soft-linked anymore |
| https://bugs.webkit.org/show_bug.cgi?id=194411 |
| <rdar://problem/47787614> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * wtf/cocoa/SoftLinking.h: |
| Remove macro that now has no uses. |
| |
| 2019-02-14 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-13 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| We should only make rope strings when concatenating strings long enough. |
| https://bugs.webkit.org/show_bug.cgi?id=194465 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/text/StringImpl.h: |
| (WTF::StringImpl::headerSize): |
| |
| 2019-02-12 Tim Horton <timothy_horton@apple.com> |
| |
| Remove WKLegacyPDFView |
| https://bugs.webkit.org/show_bug.cgi?id=194559 |
| |
| Reviewed by Andy Estes. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2019-02-12 David Kilzer <ddkilzer@apple.com> |
| |
| REGRESSION (r238955, r240494): Soft-linking optional Lookup.framework triggers release assertion when missing |
| <https://webkit.org/b/194529> |
| <rdar://problem/47924449> |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/cocoa/SoftLinking.h: |
| (SOFT_LINK_CLASS_FOR_SOURCE_WITH_EXPORT_AND_IS_OPTIONAL): Rename |
| SOFT_LINK_CLASS_FOR_SOURCE_WITH_EXPORT_AND_ASSERTION() to this |
| and change `assertion` argument to `isOptional`. Pass |
| `isOptional` to framework##Library() method to control assertion |
| behavior. Only check RELEASE_ASSERT() if `!isOptional`, else |
| that code should be optimized out by the compiler. This fixes |
| the crash. |
| (NO_ASSERT): Remove macro since it's no longer used. |
| (SOFT_LINK_IS_OPTIONAL): Add macro to use for soft-linking |
| optional classes. |
| (SOFT_LINK_IS_NOT_OPTIONAL): Add macro to use for soft-linking |
| non-optional classes. |
| (SOFT_LINK_CLASS_FOR_SOURCE_WITH_EXPORT): Update to use new |
| SOFT_LINK_CLASS_FOR_SOURCE_WITH_EXPORT_AND_IS_OPTIONAL() macro. |
| (SOFT_LINK_CLASS_FOR_SOURCE_OPTIONAL_WITH_EXPORT): Ditto. |
| (SOFT_LINK_CLASS_FOR_SOURCE): Ditto. |
| (SOFT_LINK_CLASS_FOR_SOURCE_OPTIONAL): Ditto. |
| |
| 2019-02-12 Andy Estes <aestes@apple.com> |
| |
| [iOSMac] Enable Parental Controls Content Filtering |
| https://bugs.webkit.org/show_bug.cgi?id=194521 |
| <rdar://39732376> |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/Platform.h: |
| |
| 2019-02-11 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Cocoa] Ask platform for generic font family mappings |
| https://bugs.webkit.org/show_bug.cgi?id=187723 |
| <rdar://problem/41892438> |
| |
| Reviewed by Brent Fulgham. |
| |
| Add an ENABLE in Platform. |
| |
| * wtf/Platform.h: |
| |
| 2019-02-11 Truitt Savell <tsavell@apple.com> |
| |
| Unreviewed, rolling out r241229. |
| |
| Revision broke internal builds for watchOS. |
| |
| Reverted changeset: |
| |
| "[Cocoa] Ask platform for generic font family mappings" |
| https://bugs.webkit.org/show_bug.cgi?id=187723 |
| https://trac.webkit.org/changeset/241229 |
| |
| 2019-02-10 Darin Adler <darin@apple.com> |
| |
| Switch uses of StringBuilder with String::format for hex numbers to use HexNumber.h instead |
| https://bugs.webkit.org/show_bug.cgi?id=194485 |
| |
| Reviewed by Daniel Bates. |
| |
| * wtf/HexNumber.h: Removed unused functions placeByteAsHexCompressIfPossible and |
| placeByteAsHex. Can always bring them back if someone needs them. Updated |
| appendUnsignedAsHex to be a template so we can use it on any integer type, |
| got rid of unnecessary use of Vector and unnecessary reversing, and got rid of |
| appendUnsigned64AsHex since callers can now just use appendUnsignedAsHex. |
| Rewrote appendUnsignedAsHexFixedSize to share mode code rather than replicating. |
| |
| * wtf/Logger.h: Use appendUnsignedAsHex instead of appendUnsigned64AsHex. |
| |
| * wtf/URL.cpp: Removed unnecessary include of HexNumber.h. |
| |
| * wtf/cocoa/NSURLExtras.h: Added missing include of Foundation.h that was |
| worked around in NSURLExtras.mm. |
| * wtf/cocoa/NSURLExtras.mm: Removed unnecessary includes of HexNumber.h |
| and Foundation.h. |
| |
| 2019-02-09 Darin Adler <darin@apple.com> |
| |
| Eliminate unnecessary String temporaries by using StringConcatenateNumbers |
| https://bugs.webkit.org/show_bug.cgi?id=194021 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::setPort): Remove String::number and let makeString do the conversion |
| without allocating/destroying a String. Added a cast to "unsigned" to sidestep the |
| ambiguity with 16-bit unsigned types that are sometimes used for numbers (uint16_t) |
| and sometimes used for UTF-16 code units (UChar) and can be the same type. |
| |
| * wtf/text/StringConcatenateNumbers.h: |
| Changed FormattedNumber::fixedPrecision to more closely match String::number and |
| StringBuilder::appendNumber by defaulting to truncating trailing zeros and using |
| a named enumeration for the truncation policy rather than a boolean. |
| |
| |
| 2019-02-09 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, rolling in r241237 again |
| https://bugs.webkit.org/show_bug.cgi?id=194469 |
| |
| After the measurement, this patch was unrelated to recent regression. |
| |
| * wtf/text/StringImpl.h: |
| (WTF::StringImpl::isSubString const): |
| (WTF::StringImpl::createSubstringSharingImpl): |
| |
| 2019-02-09 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r241237. |
| https://bugs.webkit.org/show_bug.cgi?id=194474 |
| |
| Shows significant memory increase in WSL (Requested by |
| yusukesuzuki on #webkit). |
| |
| Reverted changeset: |
| |
| "[WTF] Use BufferInternal StringImpl if substring StringImpl |
| takes more memory" |
| https://bugs.webkit.org/show_bug.cgi?id=194469 |
| https://trac.webkit.org/changeset/241237 |
| |
| 2019-02-08 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Use BufferInternal StringImpl if substring StringImpl takes more memory |
| https://bugs.webkit.org/show_bug.cgi?id=194469 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Because pointer is large and aligned in 64bit in 64bit architecture, BufferSubstring StringImpl |
| implementation takes more memory than BufferInternal StringImpl implementation for small strings. |
| And BufferInternal StringImpl does not have a problem like, small substring StringImpl keeps super |
| large owner StringImpl. This patch calculates the required size of memory and selects the more efficient one. |
| |
| * wtf/text/StringImpl.h: |
| (WTF::StringImpl::isSubString const): |
| (WTF::StringImpl::createSubstringSharingImpl): |
| |
| 2019-02-08 Alex Christensen <achristensen@webkit.org> |
| |
| Add SPI to use networking daemon instead of XPC service |
| https://bugs.webkit.org/show_bug.cgi?id=194427 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/spi/darwin/XPCSPI.h: |
| Instead of using XPC bootstrap SPI, we just send a separate message. |
| xpc_copy_bootstrap does not seem to work in daemons. |
| |
| 2019-02-08 Truitt Savell <tsavell@apple.com> |
| |
| Unreviewed, rolling out r241197. |
| |
| Broke iOS Simulator Debug build and casued 1 API failure on |
| High Sierra |
| |
| Reverted changeset: |
| |
| "Add SPI to use networking daemon instead of XPC service" |
| https://bugs.webkit.org/show_bug.cgi?id=194427 |
| https://trac.webkit.org/changeset/241197 |
| |
| 2019-02-08 Alex Christensen <achristensen@webkit.org> |
| |
| Add SPI to use networking daemon instead of XPC service |
| https://bugs.webkit.org/show_bug.cgi?id=194427 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/spi/darwin/XPCSPI.h: |
| Instead of using XPC bootstrap SPI, we just send a separate message. |
| xpc_copy_bootstrap does not seem to work in daemons. |
| |
| 2019-02-08 Benjamin Poulain <benjamin@webkit.org> |
| |
| clampTo(): do not convert the input to double when dealing with integers |
| https://bugs.webkit.org/show_bug.cgi?id=194263 |
| <rdar://problem/47692312> |
| |
| Reviewed by Darin Adler. |
| |
| Previously, every use of clampTo() was converting the input to double, |
| doing the comparison in double, then casting back to whatever type was needed. |
| |
| In many case, that was very wasteful. WebKit has many cases of clampTo() with |
| the same type as input/output, or with integer types of different size/sign. |
| |
| This patch adds a few versions of clampTo() for the common cases seen in WebKit. |
| In each case, I tried to minimize the amount of conversion needed at runtime. |
| |
| * wtf/MathExtras.h: |
| (clampTo): |
| |
| 2019-02-07 Chris Dumez <cdumez@apple.com> |
| |
| Mark more heap-allocated classes as fast allocated |
| https://bugs.webkit.org/show_bug.cgi?id=194422 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * wtf/Function.h: |
| (WTF::Function<Out): |
| * wtf/RefCounter.h: |
| * wtf/URL.h: |
| * wtf/text/StringView.cpp: |
| |
| 2019-02-07 Per Arne Vollan <pvollan@apple.com> |
| |
| [macOS] Block coreservicesd in sandbox. |
| https://bugs.webkit.org/show_bug.cgi?id=192670 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Add HAVE_CSCHECKFIXDISABLE define. |
| |
| * wtf/Platform.h: |
| |
| 2019-02-07 Eric Carlson <eric.carlson@apple.com> |
| |
| [MSE] Convert debug-only logging to runtime logging |
| https://bugs.webkit.org/show_bug.cgi?id=194348 |
| <rdar://problem/47566449> |
| |
| Reviewed by Jer Noble. |
| |
| * wtf/LoggerHelper.h: |
| (WTF::LoggerHelper::childLogIdentifier const): Helper to generate a log identifier for an |
| object that is associated with another logging object. |
| * wtf/MediaTime.cpp: |
| (WTF::MediaTime::toJSONObject const): |
| (WTF::MediaTime::toJSONString const): |
| (WTF::MediaTimeRange::toJSONString const): |
| (WTF::toJSONStringInternal): Deleted. |
| * wtf/MediaTime.h: |
| |
| 2019-02-05 Keith Rollin <krollin@apple.com> |
| |
| Enable the automatic checking and regenerations of .xcfilelists during builds |
| https://bugs.webkit.org/show_bug.cgi?id=194124 |
| <rdar://problem/47721277> |
| |
| Reviewed by Tim Horton. |
| |
| Bug 193790 add a facility for checking -- during build time -- that |
| any needed .xcfilelist files are up-to-date and for updating them if |
| they are not. This facility was initially opt-in by setting |
| WK_ENABLE_CHECK_XCFILELISTS until other pieces were in place and until |
| the process seemed robust. Its now time to enable this facility and |
| make it opt-out. If there is a need to disable this facility, set and |
| export WK_DISABLE_CHECK_XCFILELISTS=1 in your environment before |
| running `make` or `build-webkit`, or before running Xcode from the |
| command line. |
| |
| Additionally, remove the step that generates a list of source files |
| going into the UnifiedSources build step. It's only necessarily to |
| specify Sources.txt and SourcesCocoa.txt as inputs. |
| |
| * Scripts/generate-unified-source-bundles.rb: |
| |
| 2019-02-05 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Shrink sizeof(UnlinkedCodeBlock) |
| https://bugs.webkit.org/show_bug.cgi?id=194281 |
| |
| Reviewed by Michael Saboff. |
| |
| * wtf/TriState.h: |
| |
| 2019-02-05 Zan Dobersek <zdobersek@igalia.com> |
| |
| [GLib] Stop URI-escaping file system representations |
| https://bugs.webkit.org/show_bug.cgi?id=194213 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Stop URI-escaping of file representation strings in |
| FileSystem::stringFromFileSystemRepresentation(), and URI-unescaping |
| of strings in FileSystem::fileSystemRepresentation(). |
| |
| This behavior deviates from POSIX and CF implementations and is |
| currently breaking IndexedDB-specific calculation of database sizes due |
| to directory components used in that process that are URL-based and are |
| as such URI-escaped. When unescaped, those single directory components |
| explode into multiple directory components, leading to incorrect total |
| database size calculation when iterating the database directory. |
| |
| FileSystem::stringFromFileSystemRepresentation() now retrieves GLib's |
| filename charsets and in worst case converts the filesystem |
| representation to UTF-8 before String::fromUTF8() is used. |
| FileSystem::fileSystemRepresentation() reverses that process, taking |
| String's UTF-8 data and converting it to target charset if necessary. |
| |
| Other FileSystem functions are adjusted to convert passed-in String |
| objects to filesystem representations. |
| |
| * wtf/glib/FileSystemGlib.cpp: |
| (WTF::FileSystemImpl::stringFromFileSystemRepresentation): |
| (WTF::FileSystemImpl::fileSystemRepresentation): |
| (WTF::FileSystemImpl::validRepresentation): |
| (WTF::FileSystemImpl::filenameForDisplay): |
| (WTF::FileSystemImpl::fileExists): |
| (WTF::FileSystemImpl::deleteFile): |
| (WTF::FileSystemImpl::deleteEmptyDirectory): |
| (WTF::FileSystemImpl::getFileStat): |
| (WTF::FileSystemImpl::getFileLStat): |
| (WTF::FileSystemImpl::makeAllDirectories): |
| (WTF::FileSystemImpl::createSymbolicLink): |
| (WTF::FileSystemImpl::pathGetFileName): |
| (WTF::FileSystemImpl::getVolumeFreeSpace): |
| (WTF::FileSystemImpl::directoryName): |
| (WTF::FileSystemImpl::listDirectory): |
| (WTF::FileSystemImpl::openFile): |
| (WTF::FileSystemImpl::moveFile): |
| (WTF::FileSystemImpl::hardLinkOrCopyFile): |
| (WTF::FileSystemImpl::getFileDeviceId): Align with POSIX implementation |
| and treat input CString as an existing filesystem representation. |
| (WTF::FileSystemImpl::unescapedFilename): Deleted. |
| |
| 2019-02-04 Ms2ger <Ms2ger@igalia.com> |
| |
| [GTK][WPE] Need a function to convert internal URI to display ("pretty") URI |
| https://bugs.webkit.org/show_bug.cgi?id=174816 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Translate userVisibleString and dependent code into platform-neutral C++ |
| in wtf/URLHelpers.{h,cpp}. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/URLHelpers.cpp: Added. |
| (WTF::URLHelpers::loadIDNScriptWhiteList): |
| (WTF::URLHelpers::isArmenianLookalikeCharacter): |
| (WTF::URLHelpers::isArmenianScriptCharacter): |
| (WTF::URLHelpers::isASCIIDigitOrValidHostCharacter): |
| (WTF::URLHelpers::isLookalikeCharacter): |
| (WTF::URLHelpers::whiteListIDNScript): |
| (WTF::URLHelpers::initializeDefaultIDNScriptWhiteList): |
| (WTF::URLHelpers::allCharactersInIDNScriptWhiteList): |
| (WTF::URLHelpers::isSecondLevelDomainNameAllowedByTLDRules): |
| (WTF::URLHelpers::isRussianDomainNameCharacter): |
| (WTF::URLHelpers::allCharactersAllowedByTLDRules): |
| (WTF::URLHelpers::mapHostName): |
| (WTF::URLHelpers::collectRangesThatNeedMapping): |
| (WTF::URLHelpers::applyHostNameFunctionToMailToURLString): |
| (WTF::URLHelpers::applyHostNameFunctionToURLString): |
| (WTF::URLHelpers::mapHostNames): |
| (WTF::URLHelpers::createStringWithEscapedUnsafeCharacters): |
| (WTF::URLHelpers::toNormalizationFormC): |
| (WTF::URLHelpers::userVisibleURL): |
| * wtf/URLHelpers.h: Added. |
| * wtf/cocoa/NSURLExtras.mm: |
| (WTF::URLHelpers::loadIDNScriptWhiteList): |
| (WTF::decodePercentEscapes): |
| (WTF::decodeHostName): |
| (WTF::encodeHostName): |
| (WTF::URLWithUserTypedString): |
| (WTF::userVisibleString): |
| |
| 2019-02-03 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r240896. |
| https://bugs.webkit.org/show_bug.cgi?id=194202 |
| |
| "Fixes leaks, but is probably not the correct fix." (Requested |
| by ddkilzer on #webkit). |
| |
| Reverted changeset: |
| |
| "Leak of WTF::StringImpl under SymbolImpl::createNullSymbol() |
| (48 bytes) in com.apple.WebKit.WebContent running layout |
| tests" |
| https://bugs.webkit.org/show_bug.cgi?id=193291 |
| https://trac.webkit.org/changeset/240896 |
| |
| 2019-02-02 David Kilzer <ddkilzer@apple.com> |
| |
| Leak of WTF::StringImpl under SymbolImpl::createNullSymbol() (48 bytes) in com.apple.WebKit.WebContent running layout tests |
| <https://webkit.org/b/193291> |
| <rdar://problem/46655953> |
| |
| Reviewed by Keith Miller. |
| |
| * wtf/text/SymbolImpl.h: |
| (WTF::SymbolImpl::~SymbolImpl): Fix the leak by implementing the |
| class destructor that calls StringImpl::deref() on `m_owner`. |
| Two of the three constructors leak the StringImpl when setting |
| `m_owner`, so we need to balance that by manually calling |
| deref(). |
| |
| 2018-12-16 Darin Adler <darin@apple.com> |
| |
| Convert additional String::format clients to alternative approaches |
| https://bugs.webkit.org/show_bug.cgi?id=192746 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * wtf/JSONValues.cpp: |
| (WTF::appendDoubleQuotedStringEscapedCharacter): Renamed from |
| escapeChar and reordered arguments to make sense as an append function. |
| (WTF::appendDoubleQuotedString): Renamed from doubleQuoteString, |
| reordered arguments to make sense as an append function, take a |
| StringView instead of a String, used early exit to make the code |
| a bit easier to read. Use the ASCIIHexDigit functions to construct |
| a hex number a nibble at a time rather than using String::format. |
| (WTF::JSONImpl::Value::writeJSON const): Update for name change. |
| (WTF::JSONImpl::ObjectBase::writeJSON const): Ditto. |
| |
| 2019-01-31 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix WPE compile warnings due to deprecated glib API. |
| |
| * wtf/Platform.h: |
| |
| 2019-01-29 Chris Dumez <cdumez@apple.com> |
| |
| Make sure WTF::generateObjectIdentifier() internal counter does not get duplicated |
| https://bugs.webkit.org/show_bug.cgi?id=193848 |
| |
| Reviewed by Youenn Fablet. |
| |
| Move WTF::generateObjectIdentifier()'s internal counter out-of-line so make sure it never gets |
| duplicated at each call site. This has caused some hard-to-debug issues with duplicate |
| identifiers such as Bug 193761. |
| |
| Also move it to ObjectIdentifier and rename it to generate() as this make call sites nicer |
| when they have a typedef for the ObjectIdentifier<T> type. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/ObjectIdentifier.cpp: Copied from Source/WebCore/platform/Process.cpp. |
| (WTF::ObjectIdentifierBase::generateIdentifierInternal): |
| (WTF::ObjectIdentifierBase::generateThreadSafeIdentifierInternal): |
| * wtf/ObjectIdentifier.h: |
| (WTF::ObjectIdentifier::generate): |
| (WTF::ObjectIdentifier::generateThreadSafe): |
| |
| 2019-01-28 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Move platform-specific files out of WTF root directory. |
| https://bugs.webkit.org/show_bug.cgi?id=193929 |
| |
| Reviewed by Alex Christensen. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/PlatformGTK.cmake: |
| * wtf/PlatformJSCOnly.cmake: |
| * wtf/PlatformMac.cmake: |
| * wtf/PlatformPlayStation.cmake: |
| * wtf/PlatformWPE.cmake: |
| * wtf/PlatformWin.cmake: |
| * wtf/cf/RunLoopTimerCF.cpp: Renamed from Source/WTF/wtf/RunLoopTimerCF.cpp. |
| * wtf/cf/SchedulePairCF.cpp: Renamed from Source/WTF/wtf/SchedulePairCF.cpp. |
| * wtf/mac/SchedulePairMac.mm: Renamed from Source/WTF/wtf/SchedulePairMac.mm. |
| * wtf/posix/OSAllocatorPOSIX.cpp: Renamed from Source/WTF/wtf/OSAllocatorPosix.cpp. |
| * wtf/posix/ThreadingPOSIX.cpp: Renamed from Source/WTF/wtf/ThreadingPthreads.cpp. |
| * wtf/win/CONTRIBUTORS.pthreads-win32: Renamed from Source/WTF/wtf/CONTRIBUTORS.pthreads-win32. |
| * wtf/win/OSAllocatorWin.cpp: Renamed from Source/WTF/wtf/OSAllocatorWin.cpp. |
| * wtf/win/ThreadSpecificWin.cpp: Renamed from Source/WTF/wtf/ThreadSpecificWin.cpp. |
| * wtf/win/ThreadingWin.cpp: Renamed from Source/WTF/wtf/ThreadingWin.cpp. |
| |
| 2019-01-28 Andy Estes <aestes@apple.com> |
| |
| [watchOS] Enable Parental Controls content filtering |
| https://bugs.webkit.org/show_bug.cgi?id=193939 |
| <rdar://problem/46641912> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * wtf/Platform.h: |
| |
| 2019-01-28 Ross Kirsling <ross.kirsling@sony.com> |
| |
| [JSCOnly][WTF] Expose FileSystem. |
| https://bugs.webkit.org/show_bug.cgi?id=193789 |
| |
| Reviewed by Don Olmstead. |
| |
| * wtf/FileSystem.h: |
| * wtf/PlatformJSCOnly.cmake: |
| * wtf/posix/FileSystemPOSIX.cpp: |
| (WTF::FileSystemImpl::getVolumeFreeSpace): |
| * wtf/win/FileSystemWin.cpp: |
| (WTF::FileSystemImpl::fileSystemRepresentation): |
| |
| 2019-01-28 Eric Carlson <eric.carlson@apple.com> |
| |
| AVStreamSession isn't always available, make a HAVE compile flag for it |
| https://bugs.webkit.org/show_bug.cgi?id=193889 |
| <rdar://problem/47452863> |
| |
| Reviewed by Jer Noble. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2018-12-15 Darin Adler <darin@apple.com> |
| |
| Replace many uses of String::format with more type-safe alternatives |
| https://bugs.webkit.org/show_bug.cgi?id=192742 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/WorkQueue.cpp: |
| (WTF::WorkQueue::concurrentApply): Use makeString. |
| |
| * wtf/dtoa.cpp: |
| (WTF::dtoa): Use sprintf instead of String::format in the comments, |
| since these functions have nothing to do with WTF::String. |
| |
| 2019-01-25 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Add support for the download attribute |
| https://bugs.webkit.org/show_bug.cgi?id=167341 |
| <rdar://problem/30296281> |
| |
| Reviewed by Geoffrey Garen. |
| |
| Turn on HTML download attribute support on iOS. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2019-01-25 David Kilzer <ddkilzer@apple.com> |
| |
| Move soft-linking of Lookup.framework out of LookupSPI.h |
| <https://webkit.org/b/193815> |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/cocoa/SoftLinking.h: |
| (SOFT_LINK_CONSTANT_FOR_HEADER): |
| (SOFT_LINK_CONSTANT_FOR_SOURCE_WITH_EXPORT): |
| (SOFT_LINK_CONSTANT_MAY_FAIL_FOR_HEADER): |
| - Remove local declaration of constant. This should be handled |
| by including *SPI.h or "real" headers. |
| (SOFT_LINK_CONSTANT_MAY_FAIL_FOR_SOURCE_WITH_EXPORT): |
| - Remove local declaration of constant. |
| - Rename from SOFT_LINK_CONSTANT_MAY_FAIL_FOR_SOURCE() and add |
| `export` argument to support exporting of functions. |
| (SOFT_LINK_CONSTANT_MAY_FAIL_FOR_SOURCE): |
| - Redefine in terms of |
| SOFT_LINK_CONSTANT_MAY_FAIL_FOR_SOURCE_WITH_EXPORT(). |
| |
| 2019-01-24 Youenn Fablet <youenn@apple.com> |
| |
| Use MonotonicTime in WorkerRunLoop |
| https://bugs.webkit.org/show_bug.cgi?id=193417 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/MessageQueue.h: |
| (WTF::MessageQueue<DataType>::waitForMessage): |
| (WTF::MessageQueue<DataType>::waitForMessageFilteredWithTimeout): |
| |
| 2019-01-24 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Move FileSystem to WTF |
| https://bugs.webkit.org/show_bug.cgi?id=193602 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/FileMetadata.h: Renamed from Source/WebCore/platform/FileMetadata.h. |
| * wtf/FileSystem.cpp: Renamed from Source/WebCore/platform/FileSystem.cpp. |
| * wtf/FileSystem.h: Renamed from Source/WebCore/platform/FileSystem.h. |
| * wtf/PlatformGTK.cmake: |
| * wtf/PlatformMac.cmake: |
| * wtf/PlatformPlayStation.cmake: |
| * wtf/PlatformWPE.cmake: |
| * wtf/PlatformWin.cmake: |
| * wtf/cf/FileSystemCF.cpp: Renamed from Source/WebCore/platform/cf/FileSystemCF.cpp. |
| * wtf/cocoa/FileSystemCocoa.mm: Renamed from Source/WebCore/platform/cocoa/FileSystemCocoa.mm. |
| * wtf/glib/FileSystemGlib.cpp: Renamed from Source/WebCore/platform/glib/FileSystemGlib.cpp. |
| * wtf/mac/FileSystemMac.mm: Renamed from Source/WebCore/platform/mac/FileSystemMac.mm. |
| * wtf/posix/FileSystemPOSIX.cpp: Renamed from Source/WebCore/platform/posix/FileSystemPOSIX.cpp. |
| * wtf/spi/mac/MetadataSPI.h: Renamed from Source/WebCore/PAL/pal/spi/mac/MetadataSPI.h. |
| * wtf/win/FileSystemWin.cpp: Renamed from Source/WebCore/platform/win/FileSystemWin.cpp. |
| * wtf/win/PathWalker.cpp: Renamed from Source/WebCore/platform/win/PathWalker.cpp. |
| * wtf/win/PathWalker.h: Renamed from Source/WebCore/platform/win/PathWalker.h. |
| |
| 2019-01-24 Guillaume Emont <guijemont@igalia.com> |
| |
| [JSC] Reenable baseline JIT on mips |
| https://bugs.webkit.org/show_bug.cgi?id=192983 |
| |
| Reviewed by Mark Lam. |
| |
| Use baseline JIT by default on MIPS. |
| |
| * wtf/Platform.h: |
| |
| 2019-01-24 David Kilzer <ddkilzer@apple.com> |
| |
| Duplicate global variables: WTF::asciiCaseFoldTable |
| <https://webkit.org/b/193726> |
| <rdar://problem/47334622> |
| |
| Reviewed by Michael Catanzaro. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| - Add ASCIICType.cpp to build systems. |
| |
| * wtf/ASCIICType.cpp: Added. |
| (WTF::asciiCaseFoldTable): Move table to here so there is only |
| one copy. Mark as exported for other frameworks to use. |
| * wtf/ASCIICType.h: |
| (WTF::asciiCaseFoldTable): Change to extern declaration, and |
| mark as exported for other frameworks to use. |
| |
| 2019-01-23 Mark Lam <mark.lam@apple.com> |
| |
| ARM64E should not ENABLE(SEPARATED_WX_HEAP). |
| https://bugs.webkit.org/show_bug.cgi?id=193744 |
| <rdar://problem/46262952> |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/Platform.h: |
| |
| 2019-01-23 David Kilzer <ddkilzer@apple.com> |
| |
| Switch remaining CoreMedia soft-linking in WebKit over to CoreMediaSoftLink.{cpp,h} |
| <https://webkit.org/b/193694> |
| <rdar://problem/47464025> |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/win/SoftLinking.h: |
| (SOFT_LINK_CONSTANT_FOR_SOURCE_WITH_EXPORT): |
| - Implement for Windows. |
| (SOFT_LINK_CONSTANT_FOR_SOURCE): |
| - Define using SOFT_LINK_CONSTANT_FOR_SOURCE_WITH_EXPORT(). |
| |
| 2019-01-22 Tadeu Zagallo <tzagallo@apple.com> |
| |
| Cache bytecode to disk |
| https://bugs.webkit.org/show_bug.cgi?id=192782 |
| <rdar://problem/46084932> |
| |
| Reviewed by Keith Miller. |
| |
| BitVectors have to be friends with JSC::CacheBitVector to allow |
| serializing its buffer as part of the bytecode cache encoding. |
| |
| * wtf/BitVector.h: |
| |
| 2019-01-21 Claudio Saavedra <csaavedra@igalia.com> |
| |
| [GTK] Speculative build fix for Ubuntu LTS |
| https://bugs.webkit.org/show_bug.cgi?id=193651 |
| |
| Unreviewed build fix. |
| |
| * wtf/Assertions.h: Add missing <cstdlib> include. |
| |
| 2019-01-20 Saam Barati <sbarati@apple.com> |
| |
| Rollout r240210: It broke tests on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=193640 |
| |
| Unreviewed. |
| |
| * wtf/BitVector.h: |
| |
| 2019-01-20 Tadeu Zagallo <tzagallo@apple.com> |
| |
| Cache bytecode to disk |
| https://bugs.webkit.org/show_bug.cgi?id=192782 |
| <rdar://problem/46084932> |
| |
| Reviewed by Keith Miller. |
| |
| BitVectors have to be friends with JSC::CacheBitVector to allow |
| serializing its buffer as part of the bytecode cache encoding. |
| |
| * wtf/BitVector.h: |
| |
| 2019-01-18 Tim Horton <timothy_horton@apple.com> |
| |
| Get rid of ADVANCED_SPELL_CHECKING |
| https://bugs.webkit.org/show_bug.cgi?id=193592 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/Platform.h: |
| |
| 2019-01-18 Jer Noble <jer.noble@apple.com> |
| |
| SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds |
| https://bugs.webkit.org/show_bug.cgi?id=189553 |
| |
| Reviewed by Tim Horton. |
| |
| * Configurations/Base.xcconfig: |
| * Configurations/SDKVariant.xcconfig: Added. |
| |
| 2019-01-18 Keith Miller <keith_miller@apple.com> |
| |
| Gigacages should start allocations from a slide |
| https://bugs.webkit.org/show_bug.cgi?id=193523 |
| |
| Reviewed by Mark Lam. |
| |
| This patch changes some macros into constants since macros are the |
| devil. |
| |
| * wtf/Gigacage.cpp: |
| * wtf/Gigacage.h: |
| |
| 2019-01-18 Matt Lewis <jlewis3@apple.com> |
| |
| Unreviewed, rolling out r240160. |
| |
| This broke multiple internal builds. |
| |
| Reverted changeset: |
| |
| "Gigacages should start allocations from a slide" |
| https://bugs.webkit.org/show_bug.cgi?id=193523 |
| https://trac.webkit.org/changeset/240160 |
| |
| 2019-01-18 Keith Miller <keith_miller@apple.com> |
| |
| Gigacages should start allocations from a slide |
| https://bugs.webkit.org/show_bug.cgi?id=193523 |
| |
| Reviewed by Mark Lam. |
| |
| This patch changes some macros into constants since macros are the |
| devil. |
| |
| * wtf/Gigacage.cpp: |
| * wtf/Gigacage.h: |
| |
| 2019-01-17 Truitt Savell <tsavell@apple.com> |
| |
| Unreviewed, rolling out r240124. |
| |
| This commit broke an internal build. |
| |
| Reverted changeset: |
| |
| "SDK_VARIANT build destinations should be separate from non- |
| SDK_VARIANT builds" |
| https://bugs.webkit.org/show_bug.cgi?id=189553 |
| https://trac.webkit.org/changeset/240124 |
| |
| 2019-01-17 Jer Noble <jer.noble@apple.com> |
| |
| SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds |
| https://bugs.webkit.org/show_bug.cgi?id=189553 |
| |
| Reviewed by Tim Horton. |
| |
| * Configurations/Base.xcconfig: |
| * Configurations/SDKVariant.xcconfig: Added. |
| |
| 2019-01-16 Keith Miller <keith_miller@apple.com> |
| |
| bmalloc should use JSC VM tag for gigacage |
| https://bugs.webkit.org/show_bug.cgi?id=193496 |
| |
| Reviewed by Mark Lam. |
| |
| Move most of the macros for vm tagging to bmalloc. |
| |
| * wtf/VMTags.h: |
| |
| 2019-01-16 Alberto Garcia <berto@igalia.com> |
| |
| [WTF] Compilation fails with system malloc |
| https://bugs.webkit.org/show_bug.cgi?id=172445 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Follow-up to r217270. The sysinfo() system call is specific to |
| Linux so update the #ifdef checks accordingly. |
| |
| * wtf/RAMSize.cpp: |
| (WTF::computeRAMSize): |
| |
| 2019-01-15 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, revert part of r239997 as it is not needed to fix the build. |
| |
| * wtf/RefCounter.h: |
| |
| 2019-01-15 Alex Christensen <achristensen@webkit.org> |
| |
| Fix iOS build after r239993 |
| https://bugs.webkit.org/show_bug.cgi?id=193361 |
| |
| * wtf/RefCounter.h: |
| |
| 2019-01-14 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Use unorm2_normalize instead of precomposedStringWithCanonicalMapping in userVisibleString |
| https://bugs.webkit.org/show_bug.cgi?id=192945 |
| |
| Reviewed by Alex Christensen. |
| |
| Replace use of the nice NSString function precomposedStringWithCanonicalMapping with the ICU |
| API unorm2_normalize. This is to prep the code for translation to cross-platform C++. Of |
| course this is much worse than the preexisting code, but this is just a transitional |
| measure and not the final state of the code. It wouldn't make sense to do this if the code |
| were to remain Objective C++. |
| |
| * wtf/cocoa/NSURLExtras.mm: |
| (WTF::toNormalizationFormC): |
| (WTF::userVisibleString): |
| |
| 2019-01-14 Alex Christensen <achristensen@webkit.org> |
| |
| Bulgarian TLD should not punycode-encode URLs with Bulgarian Cyrillic characters |
| https://bugs.webkit.org/show_bug.cgi?id=193411 |
| <rdar://problem/47215929> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * wtf/cocoa/NSURLExtras.mm: |
| (WTF::allCharactersAllowedByTLDRules): |
| |
| 2019-01-12 Timothy Hatcher <timothy@apple.com> |
| |
| Have prefers-color-scheme: light always match on macOS versions before Mojave. |
| https://bugs.webkit.org/show_bug.cgi?id=191655 |
| rdar://problem/46074680 |
| |
| Reviewed by Megan Gardner. |
| |
| * wtf/Platform.h: Define HAVE_OS_DARK_MODE_SUPPORT on macOS 10.14. |
| |
| 2019-01-11 David Kilzer <ddkilzer@apple.com> |
| |
| Follow-up: WorkQueue::concurrentApply() passes a raw pointer to a temporary String to Thread::create(). |
| https://bugs.webkit.org/show_bug.cgi?id=191350 |
| |
| * wtf/WorkQueue.cpp: |
| (WTF::WorkQueue::concurrentApply): Fix whitespace. |
| |
| 2019-01-11 Devin Rousso <drousso@apple.com> |
| |
| Fix style CFNetworkSPI style checker warnings from r239698 |
| https://bugs.webkit.org/show_bug.cgi?id=193369 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * wtf/Platform.h: |
| |
| 2019-01-11 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| WorkQueue::concurrentApply() passes a raw pointer to a temporary String to Thread::create(). |
| https://bugs.webkit.org/show_bug.cgi?id=191350 |
| |
| Reviewed by Brent Fulgham. |
| |
| The non COCOA version of WorkQueue::concurrentApply() creates a temporary |
| String for the threadName and passes the raw pointer of this String to |
| Thread::create(). After freeing this String, Thread::entryPoint() uses |
| the raw char pointer to internally initialize the thread. |
| |
| The fix is to use a single literal string for all the threads' names since |
| they are created for a thread-pool. |
| |
| * wtf/WorkQueue.cpp: |
| (WTF::WorkQueue::concurrentApply): |
| |
| 2019-01-11 Dominik Infuehr <dinfuehr@igalia.com> |
| |
| Enable DFG on ARM/Linux again |
| https://bugs.webkit.org/show_bug.cgi?id=192496 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| After changing the bytecode format DFG was disabled on all 32-bit |
| architectures. Enable DFG now again on ARM/Linux. |
| |
| * wtf/Platform.h: |
| |
| 2019-01-10 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r239825. |
| https://bugs.webkit.org/show_bug.cgi?id=193330 |
| |
| Broke tests on armv7/linux bots (Requested by guijemont on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "Enable DFG on ARM/Linux again" |
| https://bugs.webkit.org/show_bug.cgi?id=192496 |
| https://trac.webkit.org/changeset/239825 |
| |
| 2019-01-10 John Wilander <wilander@apple.com> |
| |
| Override the session configuration for cookieAcceptPolicy |
| https://bugs.webkit.org/show_bug.cgi?id=190925 |
| <rdar://problem/45497382> |
| |
| Reviewed by Alexey Proskuryakov and Alex Christensen. |
| |
| * wtf/Platform.h: |
| Definition of HAVE_CFNETWORK_OVERRIDE_SESSION_COOKIE_ACCEPT_POLICY. |
| |
| 2019-01-10 Dominik Infuehr <dinfuehr@igalia.com> |
| |
| Enable DFG on ARM/Linux again |
| https://bugs.webkit.org/show_bug.cgi?id=192496 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| After changing the bytecode format DFG was disabled on all 32-bit |
| architectures. Enable DFG now again on ARM/Linux. |
| |
| * wtf/Platform.h: |
| |
| 2019-01-10 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [FreeType] Color emoji not properly supported |
| https://bugs.webkit.org/show_bug.cgi?id=191976 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Add a name for combining enclosing keycap character. |
| |
| * wtf/unicode/CharacterNames.h: |
| |
| 2019-01-09 Carlos Eduardo Ramalho <cadubentzen@gmail.com> and Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| Use directory local sequential numbers for Unified Sources filenames instead of global sequential numbers for CMake |
| https://bugs.webkit.org/show_bug.cgi?id=192391 |
| |
| Reviewed by Don Olmstead. |
| |
| Unified Source Builds are using global sequential numbers for |
| bundle filenames UnifiedSource{sequential-number}.cpp. As the |
| result, every new source file added would shift the next ones and |
| prevent compiler caches from speeding up consecutive builds e.g. |
| in git-bisect sessions. |
| |
| Changed it to directory local sequential numbers, |
| UnifiedSource-{hash-of-dir-name}-{sequential-number-within-the-dir}.cpp. |
| |
| This is affecting only CMake builds which is where no |
| '--max-cpp-bundle-count' nor '--max-obj-c-bundle-count' options |
| are set. Xcode builds still use the old convention. |
| |
| * Scripts/generate-unified-source-bundles.rb: Add new instance |
| variables @currentDirectory and @extraFiles to BundleManager. |
| Still use global sequential numbers if --max-cpp-bundle-count or |
| --max-obj-c-bundle-count is given. |
| |
| 2019-01-09 Alex Christensen <achristensen@webkit.org> |
| |
| Expand use of sourceApplicationAuditData |
| https://bugs.webkit.org/show_bug.cgi?id=192995 |
| <rdar://problem/46627875> |
| |
| Reviewed by Brady Eidson. |
| |
| * wtf/Platform.h: |
| |
| 2019-01-09 Mark Lam <mark.lam@apple.com> |
| |
| Gigacage disabling checks should handle the GIGACAGE_ALLOCATION_CAN_FAIL case properly. |
| https://bugs.webkit.org/show_bug.cgi?id=193292 |
| <rdar://problem/46485450> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Update the USE_SYSTEM_MALLOC version of Gigacage.h to match the bmalloc version. |
| |
| * wtf/Gigacage.h: |
| |
| 2019-01-07 David Kilzer <ddkilzer@apple.com> |
| |
| Prefer RetainPtr<NSObject> to RetainPtr<NSObject *> |
| <https://webkit.org/b/193056> |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/RetainPtr.h: |
| (WTF::RetainPtr<T>::HelperPtrType): |
| - Use C++ template metaprogramming to define a shared return |
| type for adoptNS() and retainPtr() that uses |
| RetainPtr<NSObject> instead of RetainPtr<NSObject *>. The |
| non-Objective-C typedef is used with retainPtr() for CFTypeRef |
| objects. |
| (WTF::adoptNS): |
| - Only make declarations available when compilng with |
| Objective-C. The inline implementation is only available for |
| Objective-C, so this makes the declarations consistent. |
| - Change return type to remove '*' from NS types using |
| RetainPtr<T>::HelperPtrType. |
| (WTF::retainPtr): |
| - Change return type to remove '*' from NS types using |
| RetainPtr<T>::HelperPtrType. |
| |
| * wtf/SchedulePair.h: |
| - Remove '*' from RetainPtr<> type. |
| |
| 2019-01-07 Eric Carlson <eric.carlson@apple.com> |
| |
| A MediaTime timescale must never be zero |
| https://bugs.webkit.org/show_bug.cgi?id=193156 |
| <rdar://problem/32504501> |
| |
| Reviewed by Jer Noble. |
| |
| * wtf/MediaTime.cpp: |
| (WTF::greatestCommonDivisor): ASSERT if either parameter or return value is zero. |
| (WTF::MediaTime::MediaTime): Create +/- infinity if passed zero timescale. |
| (WTF::MediaTime::createWithFloat): Ditto. |
| (WTF::MediaTime::createWithDouble): Ditto. |
| (WTF::MediaTime::setTimeScale): Ditto. |
| |
| 2019-01-02 Alex Christensen <achristensen@webkit.org> |
| |
| Homograph with LATIN SMALL LETTER R WITH FISHHOOK |
| https://bugs.webkit.org/show_bug.cgi?id=192944 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/cocoa/NSURLExtras.mm: |
| (WTF::isLookalikeCharacter): |
| |
| 2019-01-02 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r239524. |
| https://bugs.webkit.org/show_bug.cgi?id=193083 |
| |
| basic browsing seems not to work (Requested by thorton on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "Expand use of sourceApplicationAuditData" |
| https://bugs.webkit.org/show_bug.cgi?id=192995 |
| https://trac.webkit.org/changeset/239524 |
| |
| 2018-12-28 Yusuke Suzuki <yusukesuzuki@slowstart.org> |
| |
| Add ENABLE_UNIFIED_BUILDS option to cmake ports |
| https://bugs.webkit.org/show_bug.cgi?id=193045 |
| |
| Reviewed by Don Olmstead. |
| |
| * Scripts/generate-unified-source-bundles.rb: |
| |
| 2018-12-27 Alex Christensen <achristensen@webkit.org> |
| |
| Resurrect Mac CMake build |
| https://bugs.webkit.org/show_bug.cgi?id=192658 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/PlatformMac.cmake: |
| * wtf/cf/CFURLExtras.cpp: |
| * wtf/cf/CFURLExtras.h: |
| * wtf/cf/URLCF.cpp: |
| * wtf/cocoa/NSURLExtras.h: |
| * wtf/cocoa/NSURLExtras.mm: |
| * wtf/cocoa/URLCocoa.mm: |
| |
| 2018-12-21 Dan Bernstein <mitz@apple.com> |
| |
| Fixed building for macOS 10.13 using the macOS 10.14 SDK. |
| |
| * wtf/Platform.h: Changed HAVE_AUTHORIZATION_STATUS_FOR_MEDIA_TYPE to depend on the |
| deployment target, not the SDK. |
| |
| 2018-12-20 Yusuke Suzuki <yusukesuzuki@slowstart.org> |
| |
| [JSC] Implement "well-formed JSON.stringify" proposal |
| https://bugs.webkit.org/show_bug.cgi?id=191677 |
| |
| Reviewed by Darin Adler. |
| |
| This patch implements "well-formed JSON.stringify" proposal[1], which is now stage 3. |
| JSON.stringify appended surrogate pair codes even if it is not paired appropriately. |
| The proposal requires that broken surrogate pairs are unicode-escaped. |
| |
| [1]: https://github.com/tc39/proposal-well-formed-stringify |
| |
| * wtf/text/StringBuilderJSON.cpp: |
| (WTF::appendQuotedJSONStringInternal): |
| |
| 2018-12-21 Alex Christensen <achristensen@webkit.org> |
| |
| Expand use of sourceApplicationAuditData |
| https://bugs.webkit.org/show_bug.cgi?id=192995 |
| <rdar://problem/46627875> |
| |
| Reviewed by Brady Eidson. |
| |
| * wtf/Platform.h: |
| |
| 2018-12-21 Alex Christensen <achristensen@webkit.org> |
| |
| Revert r239503. |
| https://bugs.webkit.org/show_bug.cgi?id=192944 |
| |
| * wtf/cocoa/NSURLExtras.mm: |
| (WTF::isLookalikeCharacter): |
| |
| 2018-12-20 Brent Fulgham <bfulgham@apple.com> |
| |
| Show punycode if URL contains Latin small letter dotless i |
| https://bugs.webkit.org/show_bug.cgi?id=192944 |
| <rdar://problem/46103047> |
| |
| Reviewed by Andy Estes. |
| |
| Revise our "lookalike character" logic to include the small Latin |
| dotless i character. |
| |
| Test: fast/url/host.html |
| |
| * wtf/cocoa/NSURLExtras.mm: |
| (WTF::isLookalikeCharacter): |
| |
| 2018-12-20 Chris Dumez <cdumez@apple.com> |
| |
| Use Optional::hasValue() instead of Optional::has_value() |
| https://bugs.webkit.org/show_bug.cgi?id=192948 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/Hasher.h: |
| (WTF::add): |
| * wtf/Optional.h: |
| |
| 2018-12-20 Chris Dumez <cdumez@apple.com> |
| |
| Use Optional::valueOr() instead of Optional::value_or() |
| https://bugs.webkit.org/show_bug.cgi?id=192933 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/Optional.h: |
| (WTF::Optional<T::valueOr const): |
| |
| 2018-12-20 Tadeu Zagallo <tzagallo@apple.com> |
| |
| Consistently use MaxLength for all WTF strings |
| https://bugs.webkit.org/show_bug.cgi?id=192853 |
| <rdar://problem/45726906> |
| |
| Reviewed by Mark Lam. |
| |
| MaxLength was introduced to be INT_MAX for WTF::String and StringImpl, |
| but all the assertions were still done using UINT_MAX. Change it to |
| use MaxLength for all checks. |
| |
| * wtf/text/StringImpl.cpp: |
| (WTF::StringImpl::createUninitializedInternalNonEmpty): |
| (WTF::StringImpl::reallocateInternal): |
| (WTF::StringImpl::create): |
| (WTF::StringImpl::convertToLowercaseWithoutLocale): |
| (WTF::StringImpl::convertToUppercaseWithoutLocale): |
| (WTF::StringImpl::convertToLowercaseWithLocale): |
| (WTF::StringImpl::convertToUppercaseWithLocale): |
| (WTF::StringImpl::foldCase): |
| (WTF::StringImpl::find): |
| (WTF::StringImpl::replace): |
| (WTF::StringImpl::utf8ForCharacters): |
| (WTF::StringImpl::tryGetUtf8ForRange const): |
| * wtf/text/StringImpl.h: |
| (WTF::lengthOfNullTerminatedString): |
| (WTF::StringImpl::tryCreateUninitialized): |
| (WTF::StringImpl::adopt): |
| (WTF::StringImpl::maxInternalLength): |
| * wtf/text/WTFString.cpp: |
| (WTF::String::append): |
| (WTF::String::insert): |
| (WTF::String::fromUTF8): |
| * wtf/text/WTFString.h: |
| (WTF::String::reverseFind const): |
| |
| 2018-12-19 Chris Dumez <cdumez@apple.com> |
| |
| wtf/Optional.h: move-constructor and move-assignment operator should disengage the value being moved from |
| https://bugs.webkit.org/show_bug.cgi?id=192728 |
| <rdar://problem/46746779> |
| |
| Reviewed by Geoff Garen. |
| |
| Update optional's move-constructor and move-assignment operator to disengage the value being moved from. |
| Rename to optional to Optional, make_optional() to makeOptional(), and move class from std to WTF namespace. |
| |
| Based on patch by David Kilzer. |
| |
| * wtf/*: |
| |
| 2018-12-19 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] Force system camera/microphone TCC prompt if necessary |
| https://bugs.webkit.org/show_bug.cgi?id=192820 |
| <rdar://problem/42680098> |
| |
| Reviewed by Jer Noble. |
| |
| * wtf/Platform.h: Define HAVE_AUTHORIZATION_STATUS_FOR_MEDIA_TYPE. |
| |
| 2018-12-17 Chris Fleizach <cfleizach@apple.com> |
| |
| Some builds are broken after r239262 |
| https://bugs.webkit.org/show_bug.cgi?id=192777 |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/Platform.h: |
| |
| 2018-12-17 Daniel Bates <dabates@apple.com> |
| |
| Support concatenating StringView with other string types |
| https://bugs.webkit.org/show_bug.cgi?id=177566 |
| |
| Reviewed by Darin Adler. |
| |
| Add operator+ overloads to StringOperators.h to support concatenating a StringView with |
| other string types (e.g. String). This lets a person write more naturally looking code: |
| |
| stringView + string |
| |
| Instead of: |
| |
| makeString(stringView, string) |
| |
| * wtf/text/StringOperators.h: |
| (WTF::operator+): Added various operator+ overloads. |
| |
| 2018-12-17 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r239265 and r239274. |
| https://bugs.webkit.org/show_bug.cgi?id=192765 |
| |
| unorm_normalize is deprecated, and broke an internal build |
| (Requested by Truitt on #webkit). |
| |
| Reverted changesets: |
| |
| "[GTK][WPE] Need a function to convert internal URI to display |
| ("pretty") URI" |
| https://bugs.webkit.org/show_bug.cgi?id=174816 |
| https://trac.webkit.org/changeset/239265 |
| |
| "Fix the Apple Internal Mac build with a newer SDK" |
| https://trac.webkit.org/changeset/239274 |
| |
| 2018-12-17 Daniel Bates <dabates@apple.com> |
| |
| Fix the Apple Internal Mac build with a newer SDK |
| |
| * wtf/URLHelpers.cpp: |
| (WTF::URLHelpers::userVisibleURL): |
| |
| 2018-12-17 Matt Lewis <jlewis3@apple.com> |
| |
| Unreviewed, rolling out r239254. |
| |
| This broke the Windows 10 Debug build |
| |
| Reverted changeset: |
| |
| "Replace many uses of String::format with more type-safe |
| alternatives" |
| https://bugs.webkit.org/show_bug.cgi?id=192742 |
| https://trac.webkit.org/changeset/239254 |
| |
| 2018-12-17 Ms2ger <Ms2ger@igalia.com> |
| |
| [GTK][WPE] Need a function to convert internal URI to display ("pretty") URI |
| https://bugs.webkit.org/show_bug.cgi?id=174816 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Translate userVisibleString and dependent code into platform-neutral C++ |
| in wtf/URLHelpers.{h,cpp}. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/URLHelpers.cpp: Added. |
| (WTF::URLHelpers::loadIDNScriptWhiteList): |
| (WTF::URLHelpers::isArmenianLookalikeCharacter): |
| (WTF::URLHelpers::isArmenianScriptCharacter): |
| (WTF::URLHelpers::isASCIIDigitOrValidHostCharacter): |
| (WTF::URLHelpers::isLookalikeCharacter): |
| (WTF::URLHelpers::whiteListIDNScript): |
| (WTF::URLHelpers::initializeDefaultIDNScriptWhiteList): |
| (WTF::URLHelpers::allCharactersInIDNScriptWhiteList): |
| (WTF::URLHelpers::isSecondLevelDomainNameAllowedByTLDRules): |
| (WTF::URLHelpers::isRussianDomainNameCharacter): |
| (WTF::URLHelpers::allCharactersAllowedByTLDRules): |
| (WTF::URLHelpers::mapHostName): |
| (WTF::URLHelpers::collectRangesThatNeedMapping): |
| (WTF::URLHelpers::applyHostNameFunctionToMailToURLString): |
| (WTF::URLHelpers::applyHostNameFunctionToURLString): |
| (WTF::URLHelpers::mapHostNames): |
| (WTF::URLHelpers::createStringWithEscapedUnsafeCharacters): |
| (WTF::URLHelpers::userVisibleURL): |
| * wtf/URLHelpers.h: Added. |
| * wtf/cocoa/NSURLExtras.mm: |
| (WTF::URLHelpers::loadIDNScriptWhiteList): |
| (WTF::decodePercentEscapes): |
| (WTF::decodeHostName): |
| (WTF::encodeHostName): |
| (WTF::URLWithUserTypedString): |
| (WTF::userVisibleString): |
| |
| 2018-12-15 Darin Adler <darin@apple.com> |
| |
| Use warning-ignoring macros more consistently and simply |
| https://bugs.webkit.org/show_bug.cgi?id=192743 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/Assertions.h: Use IGNORE_WARNINGS_BEGIN rather than |
| IGNORE_CLANG_WARNINGS_BEGIN since we don't need special handling for |
| non-clang compilers, in part since the code is already inside |
| #if COMPILER(CLANG), but also because it would be harmless to ignore this |
| warning on non-clang; we should almost never use IGNORE_CLANG_WARNINGS_BEGIN. |
| |
| 2018-12-15 Darin Adler <darin@apple.com> |
| |
| Replace many uses of String::format with more type-safe alternatives |
| https://bugs.webkit.org/show_bug.cgi?id=192742 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/WorkQueue.cpp: |
| (WTF::WorkQueue::concurrentApply): Use makeString. |
| |
| * wtf/dtoa.cpp: |
| (WTF::dtoa): Use sprintf instead of String::format in the comments, |
| since these functions have nothing to do with WTF::String. |
| |
| 2018-12-14 Darin Adler <darin@apple.com> |
| |
| Verify size is valid in USE_SYSTEM_MALLOC version of tryAllocateZeroedVirtualPages |
| https://bugs.webkit.org/show_bug.cgi?id=192738 |
| rdar://problem/37502342 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/Gigacage.cpp: |
| (Gigacage::tryAllocateZeroedVirtualPages): Added a RELEASE_ASSERT just |
| like the one in tryLargeZeroedMemalignVirtual in bmalloc. |
| |
| 2018-12-14 David Kilzer <ddkilzer@apple.com> |
| |
| clang-tidy: Fix unnecessary copy of AtomicString each time one is logged |
| <https://webkit.org/b/192710> |
| <rdar://problem/46738962> |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/Logger.h: |
| (WTF::LogArgument::toString): Make argument a const reference to |
| avoid the copy. |
| |
| 2018-12-14 Zan Dobersek <zdobersek@igalia.com> |
| |
| [GLib] RunLoop::dispatchAfter() GSource requires microsecond precision |
| https://bugs.webkit.org/show_bug.cgi?id=192696 |
| |
| Reviewed by Michael Catanzaro. |
| |
| The GSource we set up in GLib's RunLoop::dispatchAfter() implementation |
| should support microsecond-precision delays. Such delays are common in |
| JSC's Watchdog implementation and missing support for them has been |
| causing test failures in the `testapi` program as well as some JSC |
| tests that depend on the termination determination functionality of the |
| JSC::Watchdog class. |
| |
| RunLoop::dispatchAfter() is changed to spawn a raw GSource that uses the |
| existing GSourceFuncs implementation used elsewhere in GLib's RunLoop. |
| The GSource's ready time is set manually, now with the necessary |
| microsecond precision. |
| |
| * wtf/glib/RunLoopGLib.cpp: |
| (WTF::RunLoop::dispatchAfter): |
| |
| 2018-12-13 Saam Barati <sbarati@apple.com> |
| |
| The JSC shell should listen for memory pressure events and respond to them |
| https://bugs.webkit.org/show_bug.cgi?id=192647 |
| |
| Reviewed by Keith Miller. |
| |
| * wtf/MemoryPressureHandler.cpp: |
| (WTF::MemoryPressureHandler::MemoryPressureHandler): |
| (WTF::MemoryPressureHandler::setDispatchQueue): |
| Make it so that we can customize which dispatch queue memory pressure |
| events get handled on. |
| |
| * wtf/MemoryPressureHandler.h: |
| (WTF::MemoryPressureHandler::setShouldLogMemoryMemoryPressureEvents): |
| Make it so that we can disable logging that happens on each memory |
| pressure event. |
| |
| * wtf/cocoa/MemoryPressureHandlerCocoa.mm: |
| (WTF::MemoryPressureHandler::install): |
| (WTF::MemoryPressureHandler::uninstall): |
| (WTF::MemoryPressureHandler::holdOff): |
| |
| 2018-12-13 David Kilzer <ddkilzer@apple.com> |
| |
| clang-tidy: Fix unnecessary parameter copies in ParallelHelperPool.cpp |
| <https://webkit.org/b/192666> |
| <rdar://problem/46697952> |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/ParallelHelperPool.cpp: |
| (WTF::ParallelHelperClient::ParallelHelperClient): Use rvalue |
| reference and WTFMove(). |
| (WTF::ParallelHelperClient::setTask): Ditto. |
| (WTF::ParallelHelperClient::runTaskInParallel): Ditto. |
| (WTF::ParallelHelperClient::runTask): Use const reference. |
| * wtf/ParallelHelperPool.h: Update declarations to match |
| implementations. |
| |
| 2018-12-12 Alex Christensen <achristensen@webkit.org> |
| |
| Implement safe browsing in WebKit on WatchOS |
| https://bugs.webkit.org/show_bug.cgi?id=192641 |
| <rdar://problem/46376188> |
| |
| Reviewed by Geoff Garen. |
| |
| * wtf/Platform.h: |
| WatchOS has safe browsing, too! |
| |
| 2018-12-11 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [Win][Clang] Fix compilation warnings of WTF |
| https://bugs.webkit.org/show_bug.cgi?id=192583 |
| |
| Reviewed by Alex Christensen. |
| |
| clang-cl reports the following warnings. |
| |
| > [92/206] Building CXX object Source\WTF\wtf\CMakeFiles\WTF.dir\StackBounds.cpp.obj |
| > ..\..\Source\WTF\wtf\StackBounds.cpp(163,48): warning: missing field 'AllocationBase' initializer [-Wmissing-field-initializers] |
| > MEMORY_BASIC_INFORMATION stackOrigin = { 0 }; |
| > ^ |
| > 1 warning generated. |
| > [160/206] Building CXX object Source\WTF\wtf\CMakeFiles\WTF.dir\win\RunLoopWin.cpp.obj |
| > ..\..\Source\WTF\wtf\win\RunLoopWin.cpp(34,54): warning: ISO C++11 does not allow conversion from string literal to 'const LPWSTR' (aka 'wchar_t *const') [-Wwritable-strings] |
| > static const LPWSTR kRunLoopMessageWindowClassName = L"RunLoopMessageWindow"; |
| > ^ |
| > ..\..\Source\WTF\wtf\win\RunLoopWin.cpp(86,32): warning: missing field 'lpfnWndProc' initializer [-Wmissing-field-initializers] |
| > WNDCLASS windowClass = { 0 }; |
| > ^ |
| > 2 warnings generated. |
| > [175/206] Building CXX object Source\WTF\wtf\CMakeFiles\WTF.dir\DateMath.cpp.obj |
| > ..\..\Source\WTF\wtf\DateMath.cpp(125,20): warning: unused function 'getLocalTime' [-Wunused-function] |
| > static inline void getLocalTime(const time_t* localTime, struct tm* localTM) |
| > ^ |
| > 1 warning generated. |
| |
| * wtf/DateMath.cpp: |
| (WTF::getLocalTime): Defined only if used. |
| * wtf/StackBounds.cpp: |
| (WTF::StackBounds::currentThreadStackBoundsInternal): Initialize stackOrigin with '{ }'. |
| * wtf/win/RunLoopWin.cpp: Change the type of kRunLoopMessageWindowClassName to LPCWSTR. |
| (WTF::RunLoop::registerRunLoopMessageWindowClass): Initialize windowClass with '{ }'. |
| |
| 2018-12-11 Andy Estes <aestes@apple.com> |
| |
| Introduce makeBlockPtr for lambdas |
| https://bugs.webkit.org/show_bug.cgi?id=192594 |
| |
| Reviewed by Alex Christensen. |
| |
| BlockPtr<...>::fromCallable is cumbersome because it requires repeating the callable's |
| signature as a class template argument. This patch introduces an overload of makeBlockPtr |
| that deduces the correct BlockPtr instantiation from a lambda's operator() signature. |
| |
| * wtf/BlockPtr.h: |
| (WTF::makeBlockPtr): |
| |
| Adopted makeBlockPtr. |
| |
| * wtf/cocoa/WorkQueueCocoa.cpp: |
| (WTF::WorkQueue::dispatch): |
| (WTF::WorkQueue::dispatchAfter): |
| (WTF::WorkQueue::concurrentApply): |
| |
| 2018-12-10 Don Olmstead <don.olmstead@sony.com> |
| |
| Move ENABLE_RESOURCE_LOAD_STATISTICS to FeatureDefines.xcconfig |
| https://bugs.webkit.org/show_bug.cgi?id=192573 |
| |
| Reviewed by Simon Fraser. |
| |
| Remove ENABLE_RESOURCE_LOAD_STATISTICS from Platform.h and instead rely |
| on it being set in FeatureDefines.xcconfig. |
| |
| * wtf/Platform.h: |
| |
| 2018-12-10 Alexey Proskuryakov <ap@apple.com> |
| |
| Move ENABLE_SEC_ITEM_SHIM out of WebKit's config.h |
| https://bugs.webkit.org/show_bug.cgi?id=192428 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/Platform.h: |
| |
| 2018-12-10 Alexey Proskuryakov <ap@apple.com> |
| |
| Move more macros out of WebKit's config.h |
| https://bugs.webkit.org/show_bug.cgi?id=192430 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/Platform.h: |
| |
| 2018-12-09 Yusuke Suzuki <yusukesuzuki@slowstart.org> |
| |
| Unreviewed, fix build failure on GCC 8.2, part 2 |
| |
| Add RefCountedArray::assign, and use it instead of operator= internally. |
| We should have operator=(const RefCountedArray&) since it will be automatically generated |
| if we do not have correct implementation here. |
| |
| * wtf/RefCountedArray.h: |
| (WTF::RefCountedArray::operator=): |
| (WTF::RefCountedArray::assign): |
| |
| 2018-12-09 Yusuke Suzuki <yusukesuzuki@slowstart.org> |
| |
| Unreviewed, fix build failure on GCC 8.2 |
| |
| We remove operator=<PtrTraits> call since it is not necessary. |
| This is a workaround. It seems that GCC 8.2 fails to parse this specialization. |
| |
| * wtf/RefCountedArray.h: |
| |
| 2018-12-08 Darin Adler <darin@apple.com> |
| |
| Fix stray-semicolon warning seen with a new version of clang in Xcode |
| https://bugs.webkit.org/show_bug.cgi?id=192534 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * wtf/Lock.h: Removed an unneeded semicolon. |
| |
| 2018-12-08 Adrian Perez de Castro <aperez@igalia.com> |
| |
| [WTF] Debug build fails due conflicting abort() method |
| https://bugs.webkit.org/show_bug.cgi?id=192491 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * wtf/Assertions.h: Use namespaced std::abort() insted of plain abort() to avoid clashes |
| inside classes which have an ::abort() method, but only when __cplusplus is defined to |
| allow inclusion of the header in plain C sources. |
| |
| 2018-12-07 Andy Estes <aestes@apple.com> |
| |
| [Cocoa] Add optional variants of SOFT_LINK_CLASS_FOR_SOURCE |
| https://bugs.webkit.org/show_bug.cgi?id=192498 |
| |
| Reviewed by Tim Horton. |
| |
| Added SOFT_LINK_CLASS_FOR_SOURCE_OPTIONAL and SOFT_LINK_CLASS_FOR_SOURCE_OPTIONAL_WITH_EXPORT, |
| which behave like their non-optional variants but do not require their classes to exist. |
| |
| * wtf/cocoa/SoftLinking.h: |
| |
| 2018-12-06 Alexey Proskuryakov <ap@apple.com> |
| |
| Move USE_NEW_THEME out of WebCore's config.h |
| https://bugs.webkit.org/show_bug.cgi?id=192426 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/Platform.h: |
| |
| 2018-12-04 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [SOUP] Move URLSoup back to WebCore after r238771 |
| https://bugs.webkit.org/show_bug.cgi?id=192306 |
| |
| Reviewed by Michael Catanzaro. |
| |
| In r238771 URL was moved from WebCore to WTF, including the soup implementation. Unfortunately that added |
| libsoup as a new dependency of libjavascriptcoregtk. |
| |
| * wtf/PlatformGTK.cmake: |
| * wtf/PlatformWPE.cmake: |
| * wtf/URL.h: |
| * wtf/glib/URLGLib.cpp: Copied from Source/WTF/wtf/glib/URLSoup.cpp. |
| |
| 2018-12-03 Don Olmstead <don.olmstead@sony.com> |
| |
| Fix some unused parameter warnings |
| https://bugs.webkit.org/show_bug.cgi?id=192336 |
| |
| Reviewed by Fujii Hironori. |
| |
| * wtf/StackTrace.cpp: |
| (WTFGetBacktrace): |
| (WTF::StackTrace::demangle): |
| * wtf/generic/MemoryPressureHandlerGeneric.cpp: |
| (WTF::MemoryPressureHandler::holdOff): |
| (WTF::MemoryPressureHandler::respondToMemoryPressure): |
| |
| 2018-12-01 Alexey Proskuryakov <ap@apple.com> |
| |
| Modernize version check for _suppressedAutoAddedHTTPHeaders |
| https://bugs.webkit.org/show_bug.cgi?id=192175 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/Platform.h: |
| |
| 2018-11-30 Alex Christensen <achristensen@webkit.org> |
| |
| Fix Windows build after r238771 |
| https://bugs.webkit.org/show_bug.cgi?id=190234 |
| |
| * wtf/URLParser.h: |
| Just make defaultPortForProtocol public so we don't have to worry about DLL linkage. |
| |
| 2018-11-30 Alex Christensen <achristensen@webkit.org> |
| |
| Move URL from WebCore to WTF |
| https://bugs.webkit.org/show_bug.cgi?id=190234 |
| |
| Reviewed by Keith Miller. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/Forward.h: |
| * wtf/PlatformGTK.cmake: |
| * wtf/PlatformMac.cmake: |
| * wtf/PlatformWPE.cmake: |
| * wtf/PlatformWin.cmake: |
| * wtf/URL.cpp: Renamed from Source/WebCore/platform/URL.cpp. |
| (WTF::URL::protocolIs): |
| * wtf/URL.h: Renamed from Source/WebCore/platform/URL.h. |
| * wtf/URLHash.h: Renamed from Source/WebCore/platform/URLHash.h. |
| (WTF::URLHash::hash): |
| (WTF::URLHash::equal): |
| * wtf/URLParser.cpp: Renamed from Source/WebCore/platform/URLParser.cpp. |
| (WTF::URLParser::isInUserInfoEncodeSet): |
| (WTF::URLParser::parseAuthority): |
| * wtf/URLParser.h: Renamed from Source/WebCore/platform/URLParser.h. |
| (WTF::URLParser::URLParser): |
| (WTF::URLParser::result): |
| * wtf/cf/CFURLExtras.cpp: Renamed from Source/WebCore/platform/cf/CFURLExtras.cpp. |
| * wtf/cf/CFURLExtras.h: Renamed from Source/WebCore/platform/cf/CFURLExtras.h. |
| * wtf/cf/URLCF.cpp: Renamed from Source/WebCore/platform/cf/URLCF.cpp. |
| * wtf/cocoa/NSURLExtras.h: Copied from Source/WebCore/loader/archive/ArchiveResourceCollection.h. |
| * wtf/cocoa/NSURLExtras.mm: Copied from Source/WebCore/platform/mac/WebCoreNSURLExtras.mm. |
| (WTF::isArmenianLookalikeCharacter): |
| (WTF::isArmenianScriptCharacter): |
| (WTF::isASCIIDigitOrValidHostCharacter): |
| (WTF::isLookalikeCharacter): |
| (WTF::whiteListIDNScript): |
| (WTF::readIDNScriptWhiteListFile): |
| (WTF::allCharactersInIDNScriptWhiteList): |
| (WTF::isSecondLevelDomainNameAllowedByTLDRules): |
| (WTF::isRussianDomainNameCharacter): |
| (WTF::allCharactersAllowedByTLDRules): |
| (WTF::mapHostNameWithRange): |
| (WTF::hostNameNeedsDecodingWithRange): |
| (WTF::hostNameNeedsEncodingWithRange): |
| (WTF::decodeHostNameWithRange): |
| (WTF::encodeHostNameWithRange): |
| (WTF::decodeHostName): |
| (WTF::encodeHostName): |
| (WTF::collectRangesThatNeedMapping): |
| (WTF::collectRangesThatNeedEncoding): |
| (WTF::collectRangesThatNeedDecoding): |
| (WTF::applyHostNameFunctionToMailToURLString): |
| (WTF::applyHostNameFunctionToURLString): |
| (WTF::mapHostNames): |
| (WTF::stringByTrimmingWhitespace): |
| (WTF::URLByTruncatingOneCharacterBeforeComponent): |
| (WTF::URLByRemovingResourceSpecifier): |
| (WTF::URLWithData): |
| (WTF::dataWithUserTypedString): |
| (WTF::URLWithUserTypedString): |
| (WTF::URLWithUserTypedStringDeprecated): |
| (WTF::hasQuestionMarkOnlyQueryString): |
| (WTF::dataForURLComponentType): |
| (WTF::URLByRemovingComponentAndSubsequentCharacter): |
| (WTF::URLByRemovingUserInfo): |
| (WTF::originalURLData): |
| (WTF::createStringWithEscapedUnsafeCharacters): |
| (WTF::userVisibleString): |
| (WTF::isUserVisibleURL): |
| (WTF::rangeOfURLScheme): |
| (WTF::looksLikeAbsoluteURL): |
| * wtf/cocoa/URLCocoa.mm: Renamed from Source/WebCore/platform/mac/URLMac.mm. |
| (WTF::URL::URL): |
| (WTF::URL::createCFURL const): |
| * wtf/glib/GUniquePtrSoup.h: Renamed from Source/WebCore/platform/network/soup/GUniquePtrSoup.h. |
| * wtf/glib/URLSoup.cpp: Renamed from Source/WebCore/platform/soup/URLSoup.cpp. |
| |
| 2018-11-30 Alexey Proskuryakov <ap@apple.com> |
| |
| Move USE_CFNETWORK_IGNORE_HSTS to its proper place |
| https://bugs.webkit.org/show_bug.cgi?id=192173 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/Platform.h: Also renamed it to better match other version checks. |
| |
| 2018-11-29 Alexey Proskuryakov <ap@apple.com> |
| |
| Modernize the check for kCFURLRequestContentDecoderSkipURLCheck existence |
| https://bugs.webkit.org/show_bug.cgi?id=192041 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/Platform.h: |
| |
| 2018-11-28 Mark Lam <mark.lam@apple.com> |
| |
| ENABLE_SEPARATED_WX_HEAP needs to be defined in Platform.h. |
| https://bugs.webkit.org/show_bug.cgi?id=192110 |
| <rdar://problem/46317746> |
| |
| Reviewed by Saam Barati. |
| |
| Contrary my previous claim in r238564, ENABLE_SEPARATED_WX_HEAP needs to be |
| defined in Platform.h because it is also needed in WebCore for the CSS JIT. Also |
| contrary to my previous claim, ENABLE(FAST_JIT_PERMISSIONS) is defined for WebCore |
| (and other projects) as well as JSC. Hence, there's no reason why |
| ENABLE_SEPARATED_WX_HEAP cannot be defined in Platform.h. |
| |
| * wtf/Platform.h: |
| |
| 2018-11-28 Keith Rollin <krollin@apple.com> |
| |
| Update generate-unified-source-bundles.rb to generate .xcfilelist files |
| https://bugs.webkit.org/show_bug.cgi?id=192029 |
| <rdar://problem/46285918> |
| |
| Reviewed by Alex Christensen. |
| |
| Update generate-unified-source-bundles.rb to generate output for |
| .xcfilelist files. These files are used to indicate the sets of input |
| and output files to Run Script build phases in Xcode. By invoking |
| generate-unified-source-bundles.rb with -generate-xcfilelists, the |
| script generates these .xcfilelist files. These .xcfilelist files can |
| then be used to specify the inputs and outputs of the Generate Unified |
| Sources build phases. |
| |
| * Scripts/generate-unified-source-bundles.rb: |
| |
| 2018-11-28 Alexey Proskuryakov <ap@apple.com> |
| |
| Remove another OS version check from NetworkDataTaskCocoa.mm |
| https://bugs.webkit.org/show_bug.cgi?id=192046 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/Platform.h: |
| |
| 2018-11-28 Alexey Proskuryakov <ap@apple.com> |
| |
| Modernize version checks for same site cookie support |
| https://bugs.webkit.org/show_bug.cgi?id=192054 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/Platform.h: |
| |
| 2018-11-27 Alexey Proskuryakov <ap@apple.com> |
| |
| Modernize the check for async _saveCookies existence |
| https://bugs.webkit.org/show_bug.cgi?id=191987 |
| |
| Reviewed by Dean Jackson. |
| |
| * wtf/Platform.h: Added a specific macro for this. Not changing the behavior here, |
| although it seems very likely that we want to do the same on other iOS family OSes. |
| |
| 2018-11-26 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [Win][Clang] SOFT_LINK reports warning: implicit conversion between pointer-to-function and pointer-to-object is a Microsoft extension [-Wmicrosoft-cast] |
| https://bugs.webkit.org/show_bug.cgi?id=191960 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/win/SoftLinking.h: Do reinterpret_cast<void*> a function |
| pointer argument of EncodePointer. Changed the type of stored |
| function pointer returned by EncodePointer. |
| |
| 2018-11-26 Sam Weinig <sam@webkit.org> |
| |
| Streamline ListHashSet use in floating object code |
| https://bugs.webkit.org/show_bug.cgi?id=191957 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/ListHashSet.h: |
| Reverses the order of the template arguments for the find() and contains() |
| overload that allow specifying a hash translator to allow the compiler to |
| deduce type T. This simplifies call sites and matches other WTF containers. |
| |
| 2018-11-25 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| CRASH() should call abort() except on Darwin and in developer builds |
| https://bugs.webkit.org/show_bug.cgi?id=184408 |
| |
| Reviewed by Daniel Bates. |
| |
| CRASH() should call abort() except on Darwin and in developer builds, as discussed on |
| webkit-dev. This should be slightly nicer than dereferencing 0xbadbeef. |
| |
| On Darwin, CRASH() uses a breakpoint trap, which seems to corrupt the stack on Linux, so we |
| can't do that. |
| |
| Continue to call WTFCrash() in developer mode, and make no changes to WTFCrash(), since it |
| is reportedly useful in nightmare scenarios where core dumps are unavailable. |
| |
| We also have to define CRASH_UNDER_CONSTEXPR_CONTEXT(). It's a bit odd that it's possible to |
| use a non-constexpr function here, but it works. Currently this macro uses WTFCrash(), which |
| is also non-constexpr. |
| |
| * wtf/Assertions.h: |
| |
| 2018-11-25 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Unreviewed, rolling out r238469. |
| |
| Broke the build |
| |
| Reverted changeset: |
| |
| "CRASH() should call abort() except on Darwin and in developer |
| builds" |
| https://bugs.webkit.org/show_bug.cgi?id=184408 |
| https://trac.webkit.org/changeset/238469 |
| |
| 2018-11-24 Andy Estes <aestes@apple.com> |
| |
| [Cocoa] SOFT_LINK_CLASS_FOR_{HEADER,SOURCE} should generate a more concise getter function |
| https://bugs.webkit.org/show_bug.cgi?id=191899 |
| |
| Reviewed by Dean Jackson. |
| |
| Currently, SOFT_LINK_CLASS_FOR_HEADER declares a class getter function that includes the |
| framework name. For example, NSView would have a class getter named |
| namespace::get_AppKit_NSViewClass(). |
| |
| Including the framework name in the getter is unnecessary. Objective-C classes already exist |
| in a global namespace, so there is no need to disambiguate class names by framework. This |
| patch elides the framework name from the getter function. For example, NSView would now have |
| a getter named namespace::getNSViewClass(). |
| |
| * wtf/cocoa/SoftLinking.h: |
| |
| 2018-11-24 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| CRASH() should call abort() except on Darwin and in developer builds |
| https://bugs.webkit.org/show_bug.cgi?id=184408 |
| |
| Reviewed by Daniel Bates. |
| |
| CRASH() should call abort() except on Darwin and in developer builds, as discussed on |
| webkit-dev. This should be slightly nicer than dereferencing 0xbadbeef. |
| |
| On Darwin, CRASH() uses a breakpoint trap, which seems to corrupt the stack on Linux, so we |
| can't do that. |
| |
| Continue to call WTFCrash() in developer mode, and make no changes to WTFCrash(), since it |
| is reportedly useful in nightmare scenarios where core dumps are unavailable. |
| |
| * wtf/Assertions.h: |
| |
| 2018-11-23 Sam Weinig <sam@webkit.org> |
| |
| Add raw pointer overloads to ListHashSet via SmartPtr specialized functions |
| https://bugs.webkit.org/show_bug.cgi?id=191936 |
| |
| Reviewed by Zalan Bujtas. |
| |
| Adds overloads for find, contains, insertBefore and remove that take raw pointers |
| when the value type V of a ListHashSet is true for the predicate IsSmartPtr<V>::value. |
| This brings the interface to ListHashSet closer inline with HashSet, HashMap and HashCountedSet |
| which already have this functionality. Like in the other collections, this is especially |
| useful when using std::unique_ptr<> as the value, since there would be no way to pass it |
| to these functions. One difference between this set of overloads is the inclusion of insertBefore, |
| which is unique to ListHashSet. As would be expected, this specialization only changes the first |
| parameter, the one that needs to be found, to support a raw pointer. |
| |
| * wtf/ListHashSet.h: |
| (WTF::U>::find): |
| (WTF::U>::find const): |
| (WTF::U>::contains const): |
| (WTF::U>::insertBefore): |
| (WTF::U>::remove): |
| |
| 2018-11-21 Yusuke Suzuki <yusukesuzuki@slowstart.org> |
| |
| [JSC] Drop ARM_TRADITIONAL support in LLInt, baseline JIT, and DFG |
| https://bugs.webkit.org/show_bug.cgi?id=191675 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/InlineASM.h: |
| * wtf/Platform.h: |
| |
| 2018-11-21 Andy Estes <aestes@apple.com> |
| |
| [Cocoa] Create a soft-linking file for PassKit |
| https://bugs.webkit.org/show_bug.cgi?id=191875 |
| <rdar://problem/46203215> |
| |
| Reviewed by Myles Maxfield. |
| |
| * wtf/Platform.h: Defined USE_PASSKIT. |
| * wtf/cocoa/SoftLinking.h: Added _WITH_EXPORT variants of SOFT_LINK_FRAMEWORK_FOR_SOURCE, |
| SOFT_LINK_PRIVATE_FRAMEWORK_FOR_SOURCE, SOFT_LINK_CLASS_FOR_SOURCE, |
| SOFT_LINK_FUNCTION_FOR_SOURCE, and SOFT_LINK_CONSTANT_FOR_SOURCE. |
| |
| 2018-11-21 Dominik Infuehr <dinfuehr@igalia.com> |
| |
| Enable JIT on ARM/Linux |
| https://bugs.webkit.org/show_bug.cgi?id=191548 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Enable JIT by default on ARMv7/Linux after it was disabled with |
| recent bytcode format change. |
| |
| * wtf/Platform.h: |
| |
| 2018-11-14 Keith Rollin <krollin@apple.com> |
| |
| Fix #end vs. #endif typo. |
| https://bugs.webkit.org/show_bug.cgi?id=191668 |
| <rdar://problem/46081704> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Source/WebCore/SourcesCocoa.txt had a #end that should have been a |
| #endif. Fix this, an add a check to generate-unified-source-bundles.rb |
| to detect similar typos. |
| |
| * Scripts/generate-unified-source-bundles.rb: |
| |
| 2018-11-12 Mark Lam <mark.lam@apple.com> |
| |
| Add OOM detection to StringPrototype's substituteBackreferences(). |
| https://bugs.webkit.org/show_bug.cgi?id=191563 |
| <rdar://problem/45720428> |
| |
| Reviewed by Saam Barati. |
| |
| Enhanced StringBuilder::toString() to skip the shrinkToFit(), reifyString(), and |
| the hasOverflowed() check if m_string is not null. When m_string is not null, |
| the StringBuilder either only has a single String in m_string (with m_buffer being |
| null), or reifyString() has already been called (resulting in a non-null m_string |
| with a possibly non-null m_buffer). |
| |
| We can skip the overflow check because: |
| 1. if the StringBuilder only has a single String, then there cannot be an overflow. |
| 2. if reifyString() has already been called, then the hasOverflowed() checked has |
| already been done because every code path that calls reifyString() first does |
| the hasOverflowed() check. |
| |
| We can skip shrinkToFit() because it only applies to m_buffer. |
| 1. if the StringBuilder only has a single String, then there's no m_buffer to shrink. |
| 2. if reifyString() has already been called, then we either came down |
| a. the toString() path with a null m_string previously, where we would have |
| already called shrinkToFit() before reifyString(), or |
| b. the toStringPreserveCapacity() path where we don't want to shrinkToFit(). |
| |
| We can skip reifyString() because: |
| 1. if the StringBuilder only has a single String, then the string is already reified. |
| 2. if reifyString() has been already called, then the string is already reified. |
| |
| Note that if m_string is the null string and m_buffer is null, reifyString() will |
| replace it with the empty string. For this reason, we cannot solely check for |
| !m_buffer because we need to reify the null string into the empty string. |
| |
| Note also that if m_string is null and m_buffer is non-null, reifyString() will |
| create a String and set m_string to it. However, m_buffer remains non-null. |
| For this reason, we cannot assert !m_buffer alone when m_string is non-null. |
| We add a m_isReified flag (only when assertions are enabled) to track the reified |
| case where both m_buffer and m_string are non-null. |
| |
| * wtf/text/StringBuilder.cpp: |
| (WTF::StringBuilder::reifyString const): |
| * wtf/text/StringBuilder.h: |
| (WTF::StringBuilder::toString): |
| |
| 2018-11-10 Benjamin Poulain <benjamin@webkit.org> |
| |
| Fix a fixme: rename wtfObjcMsgSend to wtfObjCMsgSend |
| https://bugs.webkit.org/show_bug.cgi?id=191492 |
| |
| Reviewed by Alex Christensen. |
| |
| Because renaming ObjcRuntimeExtras.h to ObjCRuntimeExtras.h only changes |
| the cases, some systems have issues with applying this patch. |
| |
| To work around the problem, the change is made is two patches, first rename to |
| WTFObjCRuntimeExtras.h, then back to ObjCRuntimeExtras.h. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/WTFObjCRuntimeExtras.h: Renamed from Source/WTF/wtf/ObjcRuntimeExtras.h. |
| (wtfObjCMsgSend): |
| |
| 2018-11-09 Keith Miller <keith_miller@apple.com> |
| |
| LLInt VectorSizeOffset should be based on offset extraction |
| https://bugs.webkit.org/show_bug.cgi?id=191468 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Make things friends with LLIntOffsetsExtractor. |
| |
| * wtf/RefCountedArray.h: |
| * wtf/Vector.h: |
| |
| 2018-11-09 Jim Mason <jmason@ibinx.com> |
| |
| [WTF] Changes in bug 188867 break non-Linux Unix builds |
| https://bugs.webkit.org/show_bug.cgi?id=191380 |
| |
| The intention of 188867 was to split out platform-specific |
| heap query/release code. Any unsupported platform |
| would use a generic, no-op stub. However, wtf/PlatformGTK.cmake |
| ended up sending all non-Linux platforms through the Linux |
| implementation, which breaks the build for those platforms. |
| This includes any user of the GTK target which is not Linux, |
| such as the *BSDs, Solaris, etc. |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/PlatformGTK.cmake: Updated to include Linux-specific |
| code only for Linux; all other platforms use the generic stub. |
| |
| 2018-11-06 Geoffrey Garen <ggaren@apple.com> |
| |
| Removed mbmalloc target from WTF |
| https://bugs.webkit.org/show_bug.cgi?id=191313 |
| |
| Reviewed by Saam Barati. |
| |
| For benchmarking, WTF::fastMalloc is no longer meaningfully different |
| from bmalloc. (And bmalloc has its own mbmalloc target.) |
| |
| * Configurations/mbmalloc.xcconfig: Removed. |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/mbmalloc.cpp: Removed. |
| |
| 2018-11-08 Alexey Proskuryakov <ap@apple.com> |
| |
| Re-add PLATFORM(IOS), now with the strict meaning |
| https://bugs.webkit.org/show_bug.cgi?id=191281 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/Platform.h: No change in behavior. Some of the macros look a bit weird |
| when expanded, it might be that the values are incorrect for some flavors of iOS family. |
| |
| 2018-11-08 Dean Jackson <dino@apple.com> |
| |
| Add a String literal that returns a String |
| https://bugs.webkit.org/show_bug.cgi?id=191425 |
| <rdar://problem/45914556> |
| |
| Reviewed by Sam Weinig. |
| |
| Add a new String literal, _str, that will return a String type. |
| This is useful when ""_s won't work, such as for things that |
| don't take an ASCIILiteral directly e.g. ExceptionOr<String> |
| or Variants. |
| |
| * wtf/text/WTFString.h: |
| (WTF::StringLiterals::operator _str): Added. |
| |
| 2018-11-06 Justin Fan <justin_fan@apple.com> |
| |
| [WebGPU] Experimental prototype for WebGPURenderPipeline and WebGPUSwapChain |
| https://bugs.webkit.org/show_bug.cgi?id=191291 |
| |
| Reviewed by Myles Maxfield. |
| |
| Properly disable WEBGPU on all non-Metal platforms for now. |
| |
| * wtf/Platform.h: |
| |
| 2018-11-05 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Cache glyph paths and share underline skipping code between all the ports |
| https://bugs.webkit.org/show_bug.cgi?id=191239 |
| |
| Reviewed by Alex Christensen. |
| |
| Remove CSS3_TEXT_DECORATION_SKIP_INK. It's now interoperable and part of the Web Platform. |
| |
| * wtf/Platform.h: |
| |
| 2018-11-05 Dominik Infuehr <dinfuehr@igalia.com> |
| |
| Enable LLInt on ARMv7/Linux |
| https://bugs.webkit.org/show_bug.cgi?id=191190 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| After enabling the new bytecode format in r237547, C_LOOP was |
| forced on all 32-bit platforms. Now enable LLInt again on |
| ARMv7-Thumb2/Linux by default. |
| |
| * wtf/Platform.h: |
| |
| 2018-11-04 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [Win] Use C++14, not C++17 |
| https://bugs.webkit.org/show_bug.cgi?id=191101 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/StdLibExtras.h: Use _MSVC_LANG to check C++ language version |
| instead of _MSC_FULL_VER. |
| |
| 2018-11-02 Justin Fan <justin_fan@apple.com> |
| |
| [WebGPU] Experimental prototype for MSL shaders |
| https://bugs.webkit.org/show_bug.cgi?id=191084 |
| |
| Reviewed by Dean Jackson. |
| |
| Disabling WebGPU on non-Cocoa platforms and iOS Simulator. |
| |
| * wtf/Platform.h: |
| |
| 2018-11-01 Jiewen Tan <jiewen_tan@apple.com> |
| |
| Replace CommonRandom SPI with API |
| https://bugs.webkit.org/show_bug.cgi?id=191178 |
| <rdar://problem/45722391> |
| |
| Reviewed by Brent Fulgham. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/RandomDevice.cpp: |
| (WTF::RandomDevice::cryptographicallyRandomValues): |
| * wtf/spi/darwin/CommonCryptoSPI.h: Removed. |
| |
| 2018-11-01 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| Rename <wtf/unicode/UTF8.h> to <wtf/unicode/UTF8Conversion.h> in order to avoid conflicting with ICU's unicode/utf8.h |
| https://bugs.webkit.org/show_bug.cgi?id=189693 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * WTF.xcodeproj/project.pbxproj: Replaced unicode/UTF8.{cpp,h} with unicode/UTF8Conversion.{cpp,h}. |
| * wtf/CMakeLists.txt: Ditto. |
| * wtf/text/AtomicStringImpl.cpp: Replaced <wtf/unicode/UTF8.h> with <wtf/unicode/UTF8Conversion.h>. |
| * wtf/text/StringImpl.cpp: Ditto. |
| * wtf/text/StringView.cpp: Ditto. |
| * wtf/text/WTFString.cpp: Ditto. |
| * wtf/unicode/UTF8Conversion.cpp: Renamed from Source/WTF/wtf/unicode/UTF8.cpp. |
| * wtf/unicode/UTF8Conversion.h: Renamed from Source/WTF/wtf/unicode/UTF8.h. |
| |
| 2018-10-30 Don Olmstead <don.olmstead@sony.com> |
| |
| [PlayStation] Enable JavaScriptCore |
| https://bugs.webkit.org/show_bug.cgi?id=191072 |
| |
| Reviewed by Brent Fulgham. |
| |
| Add platform files for the PlayStation port. |
| |
| * wtf/PlatformPlayStation.cmake: Added. |
| |
| 2018-10-30 David Kilzer <ddkilzer@apple.com> |
| |
| XSLTProcessor should limit max transform depth |
| <https://webkit.org/b/191075> |
| <rdar://problem/45531453> |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/cocoa/SoftLinking.h: |
| (SOFT_LINK_VARIABLE_FOR_HEADER): |
| (SOFT_LINK_VARIABLE_FOR_SOURCE): |
| - Add macros for non-constant global variables. |
| |
| 2018-10-30 Alexey Proskuryakov <ap@apple.com> |
| |
| Clean up some obsolete MAX_ALLOWED macros |
| https://bugs.webkit.org/show_bug.cgi?id=190916 |
| |
| Reviewed by Tim Horton. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/PlatformMac.cmake: |
| * wtf/spi/cocoa/NSMapTableSPI.h: Removed. This was only needed for old SDKs. |
| |
| 2018-10-29 Mark Lam <mark.lam@apple.com> |
| |
| Correctly detect string overflow when using the 'Function' constructor. |
| https://bugs.webkit.org/show_bug.cgi?id=184883 |
| <rdar://problem/36320331> |
| |
| Reviewed by Saam Barati. |
| |
| 1. Enhanced StringBuilder so that it supports 2 modes of behavior: |
| a. StringBuilder::OverflowHandler::CrashOnOverflow. |
| b. StringBuilder::OverflowHandler::RecordOverflow. |
| |
| CrashOnOverflow will crash the moment an overflow or failure to allocate |
| memory is detected. |
| |
| RecordOverflow will make StringBuilder::hasOverflowed() return true when an |
| overflow or failure to allocate memory is detected. However, if the user |
| invokes toString(), toStringPreserveCapacity(), toAtomicString(), length(), |
| capacity(), isEmpty(), characters8(), or characters16(), then the StringBuilder |
| will crash regardless because these methods can only meaningfully do their |
| work and return a result if and only if the builder has not overflowed. |
| |
| By default, the StringBuilder crashes on overflow (the old behavior) unless it |
| is explicitly constructed with the StringBuilder::OverflowHandler::RecordOverflow |
| enum. |
| |
| Design note: |
| |
| The StringBuilder can only be put in 1 of the 2 modes at the time of |
| construction. This means that we could have implemented it as a template |
| that is parameterized on an OverflowHandler class (like CheckedArithmetic) |
| instead of using a runtime check in the ConditionalCrashOnOverflow handler. |
| |
| However, I was not able to get clang to export the explicitly instantiated |
| instances (despite the methods having being decorated with WTF_EXPORT_PRIVATE). |
| Since the StringBuilder is a transient object (not stored for a long time on |
| the heap), and the runtime check of the boolean is not that costly compared |
| to other work that StringBuilder routinely does (e.g. memcpy), using the |
| new ConditionalCrashOnOverflow (which does a runtime check to determine to |
| crash or not on overflow) is fine. |
| |
| When clang is able to export explicitly instantiated template methods, we can |
| templatize StringBuilder and do away with ConditionalCrashOnOverflow. |
| See https://bugs.webkit.org/show_bug.cgi?id=191050. |
| |
| To support the above, we also did: |
| |
| 2. Enhanced all StringBuilder append and buffer allocation methods to be able to |
| fail without crashing. This also meant that ... |
| |
| 3. Added tryReallocate() support to StringImpl. tryRealloc() was added to |
| FastMalloc, and bmalloc (and related peers) to enable this. |
| |
| 4. Added ConditionalCrashOnOverflow, which can choose at runtime whether to behave |
| like CrashOnOverflow or RecordOverflow. |
| |
| * wtf/CheckedArithmetic.h: |
| (WTF::ConditionalCrashOnOverflow::overflowed): |
| (WTF::ConditionalCrashOnOverflow::shouldCrashOnOverflow const): |
| (WTF::ConditionalCrashOnOverflow::setShouldCrashOnOverflow): |
| (WTF::ConditionalCrashOnOverflow::hasOverflowed const): |
| (WTF::ConditionalCrashOnOverflow::clearOverflow): |
| (WTF::ConditionalCrashOnOverflow::crash): |
| (WTF::RecordOverflow::overflowed): |
| (WTF::Checked::unsafeGet const): |
| * wtf/FastMalloc.cpp: |
| (WTF::tryFastRealloc): |
| * wtf/FastMalloc.h: |
| * wtf/text/StringBuilder.cpp: |
| (WTF::expandedCapacity): |
| (WTF::StringBuilder::reifyString const): |
| (WTF::StringBuilder::resize): |
| (WTF::StringBuilder::allocateBuffer): |
| (WTF::StringBuilder::allocateBufferUpConvert): |
| (WTF::StringBuilder::reallocateBuffer<LChar>): |
| (WTF::StringBuilder::reallocateBuffer<UChar>): |
| (WTF::StringBuilder::reserveCapacity): |
| (WTF::StringBuilder::appendUninitialized): |
| (WTF::StringBuilder::appendUninitializedSlow): |
| (WTF::StringBuilder::append): |
| (WTF::StringBuilder::canShrink const): |
| (WTF::StringBuilder::shrinkToFit): |
| * wtf/text/StringBuilder.h: |
| (WTF::StringBuilder::StringBuilder): |
| (WTF::StringBuilder::didOverflow): |
| (WTF::StringBuilder::hasOverflowed const): |
| (WTF::StringBuilder::crashesOnOverflow const): |
| (WTF::StringBuilder::append): |
| (WTF::StringBuilder::toString): |
| (WTF::StringBuilder::toStringPreserveCapacity const): |
| (WTF::StringBuilder::toAtomicString const): |
| (WTF::StringBuilder::length const): |
| (WTF::StringBuilder::capacity const): |
| (WTF::StringBuilder::operator[] const): |
| (WTF::StringBuilder::swap): |
| (WTF::StringBuilder::getBufferCharacters<UChar>): |
| * wtf/text/StringBuilderJSON.cpp: |
| (WTF::StringBuilder::appendQuotedJSONString): |
| * wtf/text/StringImpl.cpp: |
| (WTF::StringImpl::reallocateInternal): |
| (WTF::StringImpl::reallocate): |
| (WTF::StringImpl::tryReallocate): |
| * wtf/text/StringImpl.h: |
| |
| 2018-10-29 Tim Horton <timothy_horton@apple.com> |
| |
| Modernize WebKit nibs and lprojs for localization's sake |
| https://bugs.webkit.org/show_bug.cgi?id=190911 |
| <rdar://problem/45349466> |
| |
| Reviewed by Dan Bernstein. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| English->en |
| |
| 2018-10-29 Tadeu Zagallo <tzagallo@apple.com> |
| |
| New bytecode format for JSC |
| https://bugs.webkit.org/show_bug.cgi?id=187373 |
| <rdar://problem/44186758> |
| |
| Reviewed by Filip Pizlo. |
| |
| * wtf/Forward.h: Fix WTF_LAZY_FOR_EACH_TERM on MSVC and add WTF_LAZY_HAS_REST to check whether |
| a macro was passed multiple arguments |
| * wtf/Platform.h: Force ENABLE_JIT=false on all 32-bit platforms |
| * wtf/Vector.h: |
| (WTF::minCapacity>::insertVector): Allow vectors with different overflow handlers to be passed to insertVector |
| |
| 2018-10-28 Geoffrey Garen <ggaren@apple.com> |
| |
| HashMap should support selecting a random entry |
| https://bugs.webkit.org/show_bug.cgi?id=190814 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * wtf/HashTable.h: |
| (WTF::HashTable::random): |
| (WTF::HashTable::random const): Merge the empty and deleted checks, and |
| use more idiomatic addressing. |
| |
| 2018-10-26 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r237479 and r237484. |
| https://bugs.webkit.org/show_bug.cgi?id=190978 |
| |
| broke JSC on iOS (Requested by tadeuzagallo on #webkit). |
| |
| Reverted changesets: |
| |
| "New bytecode format for JSC" |
| https://bugs.webkit.org/show_bug.cgi?id=187373 |
| https://trac.webkit.org/changeset/237479 |
| |
| "Gardening: Build fix after r237479." |
| https://bugs.webkit.org/show_bug.cgi?id=187373 |
| https://trac.webkit.org/changeset/237484 |
| |
| 2018-10-26 Tadeu Zagallo <tzagallo@apple.com> |
| |
| New bytecode format for JSC |
| https://bugs.webkit.org/show_bug.cgi?id=187373 |
| <rdar://problem/44186758> |
| |
| Reviewed by Filip Pizlo. |
| |
| * wtf/Forward.h: Fix WTF_LAZY_FOR_EACH_TERM on MSVC and add WTF_LAZY_HAS_REST to check whether |
| a macro was passed multiple arguments |
| * wtf/Platform.h: Force ENABLE_JIT=false on all 32-bit platforms |
| * wtf/Vector.h: |
| (WTF::minCapacity>::insertVector): Allow vectors with different overflow handlers to be passed to insertVector |
| |
| 2018-10-26 Geoffrey Garen <ggaren@apple.com> |
| |
| HashMap should support selecting a random entry |
| https://bugs.webkit.org/show_bug.cgi?id=190814 |
| |
| Reviewed by Antti Koivisto. |
| |
| * wtf/HashTable.h: |
| (WTF::HashTable::random): |
| (WTF::HashTable::random const): Draw a new random bucket any time we |
| have a miss, to avoid bias caused by lopsided tables. |
| |
| 2018-10-26 Antti Koivisto <antti@apple.com> |
| |
| hashSet.remove(hashSet.random()) doesn't build |
| https://bugs.webkit.org/show_bug.cgi?id=190953 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/HashSet.h: |
| |
| Remove non-const random(). HashSet only returns const iterators (it is immutable via iterator). |
| |
| * wtf/HashTable.h: |
| (WTF::HashTable::random const): |
| |
| Invoke const_iterator() by using static_cast<> instead of trying to do it directly. |
| |
| 2018-10-26 Alicia Boya García <aboya@igalia.com> |
| |
| [MSE][WTF][Media] Invalid MediaTime should be falsy |
| https://bugs.webkit.org/show_bug.cgi?id=190893 |
| |
| Reviewed by Jer Noble. |
| |
| This patch modifies the definition of MediaTime so that invalid times |
| are evaluated to false in the context of a boolean expression. |
| |
| * wtf/MediaTime.cpp: |
| (WTF::MediaTime::operator! const): |
| (WTF::MediaTime::operator bool const): |
| |
| 2018-10-26 Keith Miller <keith_miller@apple.com> |
| |
| Some internal projects include wtf headers and build with C++11 |
| https://bugs.webkit.org/show_bug.cgi?id=190791 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| C++11 doesn't support constexpr functions that contain |
| statements. This patch removes getLSBSet set from builds before |
| C++14 to avoid this for now. |
| |
| * wtf/MathExtras.h: |
| (getLSBSet): |
| |
| 2018-10-25 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Cleanup: inline constexpr is redundant as constexpr implies inline |
| https://bugs.webkit.org/show_bug.cgi?id=190819 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/Bitmap.h: |
| (WTF::WordType>::Bitmap): |
| * wtf/LEBDecoder.h: |
| (WTF::LEBDecoder::maxByteLength): |
| * wtf/MathExtras.h: |
| (defaultMinimumForClamp): |
| (defaultMaximumForClamp): |
| (clampToAccepting64): |
| (isLessThan): |
| (isLessThanEqual): |
| (isGreaterThan): |
| (isGreaterThanEqual): |
| (WTF::roundUpToPowerOfTwo): |
| (WTF::maskForSize): |
| * wtf/Optional.h: |
| * wtf/PtrTag.h: |
| (WTF::tagCodePtr): |
| (WTF::untagCodePtr): |
| (WTF::retagCodePtr): |
| (WTF::removeCodePtrTag): |
| * wtf/StdLibExtras.h: |
| (WTF::roundUpToMultipleOf): |
| * wtf/Variant.h: |
| (WTF::operator==): |
| (WTF::operator!=): |
| (WTF::operator>=): |
| (WTF::operator<=): |
| (WTF::operator>): |
| (WTF::operator<): |
| * wtf/text/StringImpl.h: |
| (WTF::StringImplShape::StringImplShape): |
| (WTF::StringImpl::StaticStringImpl::StaticStringImpl): |
| |
| 2018-10-25 Geoffrey Garen <ggaren@apple.com> |
| |
| HashMap should support selecting a random entry |
| https://bugs.webkit.org/show_bug.cgi?id=190814 |
| |
| Reviewed by Antti Koivisto. |
| |
| In some cases, remove(begin()) is not quite good enough as a random |
| eviction strategy. (See https://bugs.webkit.org/show_bug.cgi?id=190792.) |
| So, let's support real random eviction. |
| |
| (And by "real" I mean "pseudo".) |
| |
| * wtf/HashCountedSet.h: |
| * wtf/HashMap.h: |
| * wtf/HashSet.h: |
| * wtf/ListHashSet.h: |
| (WTF::ListHashSet::random): |
| (WTF::ListHashSet::random const): |
| * wtf/LoggingHashMap.h: |
| * wtf/LoggingHashSet.h: Plumb through the random() iterator. |
| |
| * wtf/HashTable.h: |
| (WTF::HashTable::random): |
| (WTF::HashTable::random const): Implement the random() iterator. |
| makeIterator() already supports starting from any bucket, so this is |
| pretty easy. |
| |
| In the subtle case where we select end(), we choose to wrap around and |
| return begin(). We expect that clients don't really think of the end() |
| bucket as being in the domain of the random search. Also, we don't want |
| to annoy clients who know their tables are non-empty with needless |
| checks for end(). |
| |
| * wtf/RandomNumber.cpp: |
| (WTF::weakRandomUint32): |
| * wtf/RandomNumber.h: Added a free function for weak random numbers so |
| that clients that want cheap random numbers aren't required to allocate |
| storage for a WeakRandom generator. |
| |
| 2018-10-24 Megan Gardner <megan_gardner@apple.com> |
| |
| Turn on Conic Gradients |
| https://bugs.webkit.org/show_bug.cgi?id=190810 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2018-10-24 Christopher Reid <chris.reid@sony.com> |
| |
| [Win] Add function call name information to stack traces |
| https://bugs.webkit.org/show_bug.cgi?id=190761 |
| |
| Reviewed by Fujii Hironori. |
| |
| Add symbol information to stack traces using dbghelp.dll |
| This library will use symbols files from these sources: |
| - The current working directory |
| - The directory containing the application's executable |
| - _NT_SYMBOL_PATH environment variable |
| - _NT_ALTERNATE_SYMBOL_PATH environment variable |
| |
| This functionality is currently only enabled in debug mode since dbghelp is not threadsafe. |
| The DbgHelper class attempts to synchronize calls to dbghelp.dll but external code |
| can still attempt to call the library at the same time as WebKit. |
| |
| * wtf/CMakeLists.txt: |
| * wtf/PlatformWin.cmake: |
| * wtf/StackTrace.cpp: |
| * wtf/win/DbgHelperWin.cpp: Added. |
| * wtf/win/DbgHelperWin.h: Added. |
| |
| 2018-10-22 Alexey Proskuryakov <ap@apple.com> |
| |
| Really prevent PLATFORM(IOS) from being used |
| https://bugs.webkit.org/show_bug.cgi?id=190813 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/Platform.h: This relies on -Wundef, which we have enabled. |
| |
| 2018-10-22 Chris Dumez <cdumez@apple.com> |
| |
| Deque's contains() and findIf() should be const |
| https://bugs.webkit.org/show_bug.cgi?id=190796 |
| |
| Reviewed by Antti Koivisto. |
| |
| Deque's contains() and findIf() should be const as they do not modify the container. |
| |
| * wtf/Deque.h: |
| (WTF::inlineCapacity>::findIf): |
| (WTF::inlineCapacity>::findIf const): |
| (WTF::inlineCapacity>::contains const): |
| (WTF::inlineCapacity>::contains): Deleted. |
| |
| 2018-10-18 Alicia Boya García <aboya@igalia.com> |
| |
| [Media] Use nanoseconds as MaximumTimeScale |
| https://bugs.webkit.org/show_bug.cgi?id=190631 |
| |
| 1e9 is a much more useful timescale than the previous one 2^31-1. |
| Unlike 2^31-1, which is a prime number, nanosecond scale is pretty |
| common among some formats like WebM and frameworks like GStreamer |
| where base 10 timescale is common... and it's those big timescales the |
| ones that are usually scaled up to MaximumTimeScale. |
| |
| Reviewed by Jer Noble. |
| |
| * wtf/MediaTime.cpp: |
| |
| 2018-10-18 Alexey Proskuryakov <ap@apple.com> |
| |
| Remove PLATFORM(IOS) for now |
| https://bugs.webkit.org/show_bug.cgi?id=190737 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/Platform.h: |
| |
| 2018-10-18 Alexey Proskuryakov <ap@apple.com> |
| |
| Switch from PLATFORM(IOS) to PLATFORM(IOS_FAMILY) |
| https://bugs.webkit.org/show_bug.cgi?id=190729 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/Assertions.h: |
| * wtf/FeatureDefines.h: |
| * wtf/InlineASM.h: |
| * wtf/MemoryPressureHandler.cpp: |
| (WTF::thresholdForPolicy): |
| * wtf/Platform.h: |
| * wtf/cocoa/MemoryPressureHandlerCocoa.mm: |
| (WTF::MemoryPressureHandler::install): |
| (WTF::MemoryPressureHandler::respondToMemoryPressure): |
| * wtf/spi/cocoa/NSMapTableSPI.h: |
| * wtf/spi/darwin/XPCSPI.h: |
| * wtf/text/StringCommon.h: |
| * wtf/text/TextBreakIterator.cpp: |
| * wtf/text/TextBreakIterator.h: |
| * wtf/unicode/icu/CollatorICU.cpp: |
| (WTF::copyDefaultLocale): |
| |
| 2018-10-18 Alex Christensen <achristensen@webkit.org> |
| |
| Clean up FrameLoader two-state enums |
| https://bugs.webkit.org/show_bug.cgi?id=190731 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/EnumTraits.h: |
| (WTF::isValidEnum): |
| |
| 2018-10-17 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r237208. |
| https://bugs.webkit.org/show_bug.cgi?id=190691 |
| |
| Caused the API test that was changed to failure continuously |
| (Requested by Truitt on #webkit). |
| |
| Reverted changeset: |
| |
| "[Media] Use nanoseconds as MaximumTimeScale" |
| https://bugs.webkit.org/show_bug.cgi?id=190631 |
| https://trac.webkit.org/changeset/237208 |
| |
| 2018-10-16 Alicia Boya García <aboya@igalia.com> |
| |
| [Media] Use nanoseconds as MaximumTimeScale |
| https://bugs.webkit.org/show_bug.cgi?id=190631 |
| |
| 1e9 is a much more useful timescale than the previous one 2^31-1. |
| Unlike 2^31-1, which is a prime number, nanosecond scale is pretty |
| common among some formats like WebM and frameworks like GStreamer |
| where base 10 timescale is common... and it's those big timescales the |
| ones that are usually scaled up to MaximumTimeScale. |
| |
| Reviewed by Jer Noble. |
| |
| * wtf/MediaTime.cpp: |
| |
| 2018-10-15 Keith Miller <keith_miller@apple.com> |
| |
| Support arm64 CPUs with a 32-bit address space |
| https://bugs.webkit.org/show_bug.cgi?id=190273 |
| |
| Reviewed by Michael Saboff. |
| |
| Use WTF_CPU_ADDRESS64/32 to decide if the system is running on arm64_32. |
| |
| * wtf/MathExtras.h: |
| (getLSBSet): |
| * wtf/Platform.h: |
| |
| 2018-10-15 Timothy Hatcher <timothy@apple.com> |
| |
| Add support for prefers-color-scheme media query |
| https://bugs.webkit.org/show_bug.cgi?id=190499 |
| rdar://problem/45212025 |
| |
| Reviewed by Dean Jackson. |
| |
| * wtf/FeatureDefines.h: Added ENABLE_DARK_MODE_CSS. |
| |
| 2018-10-15 Saam barati <sbarati@apple.com> |
| |
| Emit fjcvtzs on ARM64E on Darwin |
| https://bugs.webkit.org/show_bug.cgi?id=184023 |
| |
| Reviewed by Yusuke Suzuki and Filip Pizlo. |
| |
| * wtf/Platform.h: |
| |
| 2018-10-15 Alex Christensen <achristensen@webkit.org> |
| |
| Use pragma once in WTF |
| https://bugs.webkit.org/show_bug.cgi?id=190527 |
| |
| Reviewed by Chris Dumez. |
| |
| We also need to consistently include wtf headers from within wtf so we can build wtf without |
| symbol redefinition errors from including the copy in Source and the copy in the build directory. |
| |
| * wtf/ASCIICType.h: |
| * wtf/Assertions.cpp: |
| * wtf/Assertions.h: |
| * wtf/Atomics.h: |
| * wtf/AutomaticThread.cpp: |
| * wtf/AutomaticThread.h: |
| * wtf/BackwardsGraph.h: |
| * wtf/Bag.h: |
| * wtf/BagToHashMap.h: |
| * wtf/BitVector.cpp: |
| * wtf/BitVector.h: |
| * wtf/Bitmap.h: |
| * wtf/BloomFilter.h: |
| * wtf/Box.h: |
| * wtf/BubbleSort.h: |
| * wtf/BumpPointerAllocator.h: |
| * wtf/ByteOrder.h: |
| * wtf/CPUTime.cpp: |
| * wtf/CallbackAggregator.h: |
| * wtf/CheckedArithmetic.h: |
| * wtf/CheckedBoolean.h: |
| * wtf/ClockType.cpp: |
| * wtf/ClockType.h: |
| * wtf/CommaPrinter.h: |
| * wtf/CompilationThread.cpp: |
| * wtf/CompilationThread.h: |
| * wtf/Compiler.h: |
| * wtf/ConcurrentPtrHashSet.cpp: |
| * wtf/ConcurrentVector.h: |
| * wtf/Condition.h: |
| * wtf/CountingLock.cpp: |
| * wtf/CrossThreadTaskHandler.cpp: |
| * wtf/CryptographicUtilities.cpp: |
| * wtf/CryptographicUtilities.h: |
| * wtf/CryptographicallyRandomNumber.cpp: |
| * wtf/CryptographicallyRandomNumber.h: |
| * wtf/CurrentTime.cpp: |
| * wtf/DataLog.cpp: |
| * wtf/DataLog.h: |
| * wtf/DateMath.cpp: |
| * wtf/DateMath.h: |
| * wtf/DecimalNumber.cpp: |
| * wtf/DecimalNumber.h: |
| * wtf/Deque.h: |
| * wtf/DisallowCType.h: |
| * wtf/Dominators.h: |
| * wtf/DoublyLinkedList.h: |
| * wtf/FastBitVector.cpp: |
| * wtf/FastMalloc.cpp: |
| * wtf/FastMalloc.h: |
| * wtf/FeatureDefines.h: |
| * wtf/FilePrintStream.cpp: |
| * wtf/FilePrintStream.h: |
| * wtf/FlipBytes.h: |
| * wtf/FunctionDispatcher.cpp: |
| * wtf/FunctionDispatcher.h: |
| * wtf/GetPtr.h: |
| * wtf/Gigacage.cpp: |
| * wtf/GlobalVersion.cpp: |
| * wtf/GraphNodeWorklist.h: |
| * wtf/GregorianDateTime.cpp: |
| * wtf/GregorianDateTime.h: |
| * wtf/HashFunctions.h: |
| * wtf/HashMap.h: |
| * wtf/HashMethod.h: |
| * wtf/HashSet.h: |
| * wtf/HashTable.cpp: |
| * wtf/HashTraits.h: |
| * wtf/Indenter.h: |
| * wtf/IndexSparseSet.h: |
| * wtf/InlineASM.h: |
| * wtf/Insertion.h: |
| * wtf/IteratorAdaptors.h: |
| * wtf/IteratorRange.h: |
| * wtf/JSONValues.cpp: |
| * wtf/JSValueMalloc.cpp: |
| * wtf/LEBDecoder.h: |
| * wtf/Language.cpp: |
| * wtf/ListDump.h: |
| * wtf/Lock.cpp: |
| * wtf/Lock.h: |
| * wtf/LockAlgorithm.h: |
| * wtf/LockedPrintStream.cpp: |
| * wtf/Locker.h: |
| * wtf/MD5.cpp: |
| * wtf/MD5.h: |
| * wtf/MainThread.cpp: |
| * wtf/MainThread.h: |
| * wtf/MallocPtr.h: |
| * wtf/MathExtras.h: |
| * wtf/MediaTime.cpp: |
| * wtf/MediaTime.h: |
| * wtf/MemoryPressureHandler.cpp: |
| * wtf/MessageQueue.h: |
| * wtf/MetaAllocator.cpp: |
| * wtf/MetaAllocator.h: |
| * wtf/MetaAllocatorHandle.h: |
| * wtf/MonotonicTime.cpp: |
| * wtf/MonotonicTime.h: |
| * wtf/NakedPtr.h: |
| * wtf/NoLock.h: |
| * wtf/NoTailCalls.h: |
| * wtf/Noncopyable.h: |
| * wtf/NumberOfCores.cpp: |
| * wtf/NumberOfCores.h: |
| * wtf/OSAllocator.h: |
| * wtf/OSAllocatorPosix.cpp: |
| * wtf/OSRandomSource.cpp: |
| * wtf/OSRandomSource.h: |
| * wtf/ObjcRuntimeExtras.h: |
| * wtf/OrderMaker.h: |
| * wtf/PackedIntVector.h: |
| * wtf/PageAllocation.h: |
| * wtf/PageBlock.cpp: |
| * wtf/PageBlock.h: |
| * wtf/PageReservation.h: |
| * wtf/ParallelHelperPool.cpp: |
| * wtf/ParallelHelperPool.h: |
| * wtf/ParallelJobs.h: |
| * wtf/ParallelJobsLibdispatch.h: |
| * wtf/ParallelVectorIterator.h: |
| * wtf/ParkingLot.cpp: |
| * wtf/ParkingLot.h: |
| * wtf/Platform.h: |
| * wtf/PointerComparison.h: |
| * wtf/Poisoned.cpp: |
| * wtf/PrintStream.cpp: |
| * wtf/PrintStream.h: |
| * wtf/ProcessID.h: |
| * wtf/ProcessPrivilege.cpp: |
| * wtf/RAMSize.cpp: |
| * wtf/RAMSize.h: |
| * wtf/RandomDevice.cpp: |
| * wtf/RandomNumber.cpp: |
| * wtf/RandomNumber.h: |
| * wtf/RandomNumberSeed.h: |
| * wtf/RangeSet.h: |
| * wtf/RawPointer.h: |
| * wtf/ReadWriteLock.cpp: |
| * wtf/RedBlackTree.h: |
| * wtf/Ref.h: |
| * wtf/RefCountedArray.h: |
| * wtf/RefCountedLeakCounter.cpp: |
| * wtf/RefCountedLeakCounter.h: |
| * wtf/RefCounter.h: |
| * wtf/RefPtr.h: |
| * wtf/RetainPtr.h: |
| * wtf/RunLoop.cpp: |
| * wtf/RunLoop.h: |
| * wtf/RunLoopTimer.h: |
| * wtf/RunLoopTimerCF.cpp: |
| * wtf/SHA1.cpp: |
| * wtf/SHA1.h: |
| * wtf/SaturatedArithmetic.h: |
| (saturatedSubtraction): |
| * wtf/SchedulePair.h: |
| * wtf/SchedulePairCF.cpp: |
| * wtf/SchedulePairMac.mm: |
| * wtf/ScopedLambda.h: |
| * wtf/Seconds.cpp: |
| * wtf/Seconds.h: |
| * wtf/SegmentedVector.h: |
| * wtf/SentinelLinkedList.h: |
| * wtf/SharedTask.h: |
| * wtf/SimpleStats.h: |
| * wtf/SingleRootGraph.h: |
| * wtf/SinglyLinkedList.h: |
| * wtf/SixCharacterHash.cpp: |
| * wtf/SixCharacterHash.h: |
| * wtf/SmallPtrSet.h: |
| * wtf/Spectrum.h: |
| * wtf/StackBounds.cpp: |
| * wtf/StackBounds.h: |
| * wtf/StackStats.cpp: |
| * wtf/StackStats.h: |
| * wtf/StackTrace.cpp: |
| * wtf/StdLibExtras.h: |
| * wtf/StreamBuffer.h: |
| * wtf/StringHashDumpContext.h: |
| * wtf/StringPrintStream.cpp: |
| * wtf/StringPrintStream.h: |
| * wtf/ThreadGroup.cpp: |
| * wtf/ThreadMessage.cpp: |
| * wtf/ThreadSpecific.h: |
| * wtf/Threading.cpp: |
| * wtf/Threading.h: |
| * wtf/ThreadingPrimitives.h: |
| * wtf/ThreadingPthreads.cpp: |
| * wtf/TimeWithDynamicClockType.cpp: |
| * wtf/TimeWithDynamicClockType.h: |
| * wtf/TimingScope.cpp: |
| * wtf/TinyLRUCache.h: |
| * wtf/TinyPtrSet.h: |
| * wtf/TriState.h: |
| * wtf/TypeCasts.h: |
| * wtf/UUID.cpp: |
| * wtf/UnionFind.h: |
| * wtf/VMTags.h: |
| * wtf/ValueCheck.h: |
| * wtf/Vector.h: |
| * wtf/VectorTraits.h: |
| * wtf/WallTime.cpp: |
| * wtf/WallTime.h: |
| * wtf/WeakPtr.h: |
| * wtf/WeakRandom.h: |
| * wtf/WordLock.cpp: |
| * wtf/WordLock.h: |
| * wtf/WorkQueue.cpp: |
| * wtf/WorkQueue.h: |
| * wtf/WorkerPool.cpp: |
| * wtf/cf/LanguageCF.cpp: |
| * wtf/cf/RunLoopCF.cpp: |
| * wtf/cocoa/Entitlements.mm: |
| * wtf/cocoa/MachSendRight.cpp: |
| * wtf/cocoa/MainThreadCocoa.mm: |
| * wtf/cocoa/MemoryFootprintCocoa.cpp: |
| * wtf/cocoa/WorkQueueCocoa.cpp: |
| * wtf/dtoa.cpp: |
| * wtf/dtoa.h: |
| * wtf/ios/WebCoreThread.cpp: |
| * wtf/ios/WebCoreThread.h: |
| * wtf/mac/AppKitCompatibilityDeclarations.h: |
| * wtf/mac/DeprecatedSymbolsUsedBySafari.mm: |
| * wtf/mbmalloc.cpp: |
| * wtf/persistence/PersistentCoders.cpp: |
| * wtf/persistence/PersistentDecoder.cpp: |
| * wtf/persistence/PersistentEncoder.cpp: |
| * wtf/spi/cf/CFBundleSPI.h: |
| * wtf/spi/darwin/CommonCryptoSPI.h: |
| * wtf/text/ASCIIFastPath.h: |
| * wtf/text/ASCIILiteral.cpp: |
| * wtf/text/AtomicString.cpp: |
| * wtf/text/AtomicString.h: |
| * wtf/text/AtomicStringHash.h: |
| * wtf/text/AtomicStringImpl.cpp: |
| * wtf/text/AtomicStringImpl.h: |
| * wtf/text/AtomicStringTable.cpp: |
| * wtf/text/AtomicStringTable.h: |
| * wtf/text/Base64.cpp: |
| * wtf/text/CString.cpp: |
| * wtf/text/CString.h: |
| * wtf/text/ConversionMode.h: |
| * wtf/text/ExternalStringImpl.cpp: |
| * wtf/text/IntegerToStringConversion.h: |
| * wtf/text/LChar.h: |
| * wtf/text/LineEnding.cpp: |
| * wtf/text/StringBuffer.h: |
| * wtf/text/StringBuilder.cpp: |
| * wtf/text/StringBuilder.h: |
| * wtf/text/StringBuilderJSON.cpp: |
| * wtf/text/StringCommon.h: |
| * wtf/text/StringConcatenate.h: |
| * wtf/text/StringHash.h: |
| * wtf/text/StringImpl.cpp: |
| * wtf/text/StringImpl.h: |
| * wtf/text/StringOperators.h: |
| * wtf/text/StringView.cpp: |
| * wtf/text/StringView.h: |
| * wtf/text/SymbolImpl.cpp: |
| * wtf/text/SymbolRegistry.cpp: |
| * wtf/text/SymbolRegistry.h: |
| * wtf/text/TextBreakIterator.cpp: |
| * wtf/text/TextBreakIterator.h: |
| * wtf/text/TextBreakIteratorInternalICU.h: |
| * wtf/text/TextPosition.h: |
| * wtf/text/TextStream.cpp: |
| * wtf/text/UniquedStringImpl.h: |
| * wtf/text/WTFString.cpp: |
| * wtf/text/WTFString.h: |
| * wtf/text/cocoa/StringCocoa.mm: |
| * wtf/text/cocoa/StringViewCocoa.mm: |
| * wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp: |
| * wtf/text/icu/UTextProvider.cpp: |
| * wtf/text/icu/UTextProvider.h: |
| * wtf/text/icu/UTextProviderLatin1.cpp: |
| * wtf/text/icu/UTextProviderLatin1.h: |
| * wtf/text/icu/UTextProviderUTF16.cpp: |
| * wtf/text/icu/UTextProviderUTF16.h: |
| * wtf/threads/BinarySemaphore.cpp: |
| * wtf/threads/BinarySemaphore.h: |
| * wtf/threads/Signals.cpp: |
| * wtf/unicode/CharacterNames.h: |
| * wtf/unicode/Collator.h: |
| * wtf/unicode/CollatorDefault.cpp: |
| * wtf/unicode/UTF8.cpp: |
| * wtf/unicode/UTF8.h: |
| |
| 2018-10-12 Alex Christensen <achristensen@webkit.org> |
| |
| Allow encoding of small enum classes |
| https://bugs.webkit.org/show_bug.cgi?id=190531 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/Forward.h: |
| |
| 2018-10-11 Alexey Proskuryakov <ap@apple.com> |
| |
| Add PLATFORM(IOS_FAMILY) and OS(IOS_FAMILY) |
| https://bugs.webkit.org/show_bug.cgi?id=190477 |
| |
| Reviewed by Tim Horton. |
| |
| Currently, PLATFORM(IOS) and OS(IOS) are true when building for any |
| TARGET_OS_IPHONE target, which is quite confusing. Add a better named alternative, |
| as a first step towards mass replacing PLATFORM(IOS). Can't so it all at once |
| because of dependencies in other source repositories. |
| |
| * wtf/Platform.h: Changed to the new name in this file though. Kept a few |
| instances that actually target iOS only, having a version check. |
| |
| 2018-10-11 Yusuke Suzuki <yusukesuzuki@slowstart.org> |
| |
| Use currentStackPointer more |
| https://bugs.webkit.org/show_bug.cgi?id=190503 |
| |
| Reviewed by Saam Barati. |
| |
| Use WTF::currentStackPointer more in WebKit to adopt ASAN detect_stack_use_after_return option. |
| |
| * wtf/StackBounds.cpp: |
| (WTF::testStackDirection2): |
| (WTF::testStackDirection): |
| * wtf/ThreadingPthreads.cpp: |
| (WTF::Thread::signalHandlerSuspendResume): |
| (WTF::getApproximateStackPointer): Deleted. |
| |
| 2018-10-11 Ross Kirsling <ross.kirsling@sony.com> |
| |
| [WTF] Semaphore.h conflicts with POSIX header |
| https://bugs.webkit.org/show_bug.cgi?id=190486 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Rename Semaphore.h to WTFSemaphore.h to avoid conflict with POSIX semaphore.h on case-insensitive file systems. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/WTFSemaphore.h: Renamed from wtf/Semaphore.h. |
| |
| 2018-10-10 Mark Lam <mark.lam@apple.com> |
| |
| Changes towards allowing use of the ASAN detect_stack_use_after_return option. |
| https://bugs.webkit.org/show_bug.cgi?id=190405 |
| <rdar://problem/45131464> |
| |
| Reviewed by Michael Saboff. |
| |
| Introduce WTF::currentStackPointer() which computes its caller's stack pointer value. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/StackBounds.h: |
| (WTF::StackBounds::checkConsistency const): |
| * wtf/StackPointer.cpp: Added. |
| (WTF::currentStackPointer): |
| * wtf/StackPointer.h: Added. |
| |
| 2018-10-09 Mark Lam <mark.lam@apple.com> |
| |
| StringTypeAdapter constructor is not properly enforcing String::MaxLength. |
| https://bugs.webkit.org/show_bug.cgi?id=190392 |
| <rdar://problem/45116210> |
| |
| Reviewed by Saam Barati. |
| |
| Previously, the StringTypeAdapter constructor for a UChar* string was summing the |
| unsigned length of the source string without an overflow check. We now make that |
| length a size_t which removes this issue, and assert that it's within |
| String::MaxLength thereafter. |
| |
| Also made the StringTypeAdapter constructor for a LChar* string behave in an |
| equivalent manner for consistency. In both cases, we'll crash in a RELEASE_ASSERT |
| if the source string length exceeds String::MaxLength. |
| |
| * wtf/text/StringConcatenate.h: |
| |
| 2018-10-09 Mark Lam <mark.lam@apple.com> |
| |
| Revert temporary asserts for debugging a mysterious ASAN bot crash. |
| https://bugs.webkit.org/show_bug.cgi?id=190396 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/StackBounds.cpp: |
| (WTF::StackBounds::newThreadStackBounds): |
| * wtf/StackBounds.h: |
| (WTF::StackBounds::checkConsistency const): |
| |
| 2018-10-08 Aditya Keerthi <akeerthi@apple.com> |
| |
| Make <input type=color> a runtime enabled (on-by-default) feature |
| https://bugs.webkit.org/show_bug.cgi?id=189162 |
| |
| Reviewed by Wenson Hsieh and Tim Horton. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2018-10-06 Mark Lam <mark.lam@apple.com> |
| |
| Adding some temporary asserts with data logging to debug a mysterious ASAN bot crash. |
| https://bugs.webkit.org/show_bug.cgi?id=190334 |
| <rdar://problem/45071303> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| These assertions are needed because we can't reproduce the issue locally. |
| We'll remove these asserts after the needed data has been collected from the bot. |
| |
| * wtf/StackBounds.cpp: |
| (WTF::StackBounds::newThreadStackBounds): |
| * wtf/StackBounds.h: |
| (WTF::StackBounds::checkConsistency const): |
| |
| 2018-10-07 Yusuke Suzuki <yusukesuzuki@slowstart.org> |
| |
| Name Heap threads |
| https://bugs.webkit.org/show_bug.cgi?id=190337 |
| |
| Reviewed by Mark Lam. |
| |
| Add a functionality naming threads of ParallelHelperPool. |
| |
| * wtf/ParallelHelperPool.cpp: |
| (WTF::ParallelHelperPool::ParallelHelperPool): |
| * wtf/ParallelHelperPool.h: |
| |
| 2018-10-06 Mark Lam <mark.lam@apple.com> |
| |
| Adding some temporary asserts to debug a mysterious ASAN bot crash. |
| https://bugs.webkit.org/show_bug.cgi?id=190331 |
| |
| Reviewed by Filip Pizlo. |
| |
| These assertions are needed because we can't reproduce the issue locally. |
| We'll remove these asserts after the needed data has been collected from the bot. |
| |
| * wtf/StackBounds.h: |
| (WTF::StackBounds::checkConsistency const): |
| |
| 2018-10-05 Yusuke Suzuki <yusukesuzuki@slowstart.org> |
| |
| [JSC][Linux] Support Perf JITDump logging |
| https://bugs.webkit.org/show_bug.cgi?id=189893 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/PageReservation.h: |
| (WTF::PageReservation::reserveAndCommitWithGuardPages): |
| |
| 2018-10-03 Dan Bernstein <mitz@apple.com> |
| |
| WTF part of [Xcode] Update some build settings as recommended by Xcode 10 |
| https://bugs.webkit.org/show_bug.cgi?id=190250 |
| |
| Reviewed by Alex Christensen. |
| |
| * Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS, |
| and CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF. |
| |
| * WTF.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck. |
| |
| * wtf/MathExtras.h: |
| (WTF::fastLog2): Addressed newly-enabled CLANG_WARN_COMMA by splitting some comma-separated |
| expressions into individual statements. |
| |
| 2018-10-03 Mark Lam <mark.lam@apple.com> |
| |
| Make string MaxLength for all WTF and JS strings consistently equal to INT_MAX. |
| https://bugs.webkit.org/show_bug.cgi?id=190187 |
| <rdar://problem/42512909> |
| |
| Reviewed by Michael Saboff. |
| |
| * wtf/text/StringConcatenate.h: |
| (WTF::tryMakeStringFromAdapters): |
| (WTF::sumWithOverflow): Deleted. |
| * wtf/text/StringImpl.h: |
| * wtf/text/WTFString.h: |
| |
| 2018-10-03 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| -Wunused-variable in RenderLayer::updateScrollableAreaSet |
| https://bugs.webkit.org/show_bug.cgi?id=190200 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Add a new UNUSED_VARIABLE() macro. It's the same as UNUSED_PARAM(), just named differently. |
| |
| * wtf/Compiler.h: |
| |
| 2018-10-01 Dean Jackson <dino@apple.com> |
| |
| [macOS] Switching to discrete GPU should be done in the UI process |
| https://bugs.webkit.org/show_bug.cgi?id=189361 |
| <rdar://problem/43949622> |
| |
| Reviewed by Simon Fraser. |
| |
| Define GL_SILENCE_DEPRECATION to avoid deprecation warnings for OpenGL. |
| |
| * wtf/Platform.h: |
| |
| 2018-10-02 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r236624 and r236671. |
| https://bugs.webkit.org/show_bug.cgi?id=190207 |
| |
| The change in r236624 introduced crashes on the bots |
| (Requested by ryanhaddad on #webkit). |
| |
| Reverted changesets: |
| |
| "Refactoring: eliminate raw pointer usage in Fullscreen code" |
| https://bugs.webkit.org/show_bug.cgi?id=188747 |
| https://trac.webkit.org/changeset/236624 |
| |
| "Unify implementation in VideoFullscreenInterfaceAVKit" |
| https://bugs.webkit.org/show_bug.cgi?id=190091 |
| https://trac.webkit.org/changeset/236671 |
| |
| 2018-10-02 Caio Lima <ticaiolima@gmail.com> |
| |
| [BigInt] BigInt.proptotype.toString is broken when radix is power of 2 |
| https://bugs.webkit.org/show_bug.cgi?id=190033 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/MathExtras.h: |
| (WTF::ctz32): |
| |
| 2018-10-01 Andy Estes <aestes@apple.com> |
| |
| [watchOS] Adopt NSURLSessionCompanionProxyPreference |
| https://bugs.webkit.org/show_bug.cgi?id=190177 |
| <rdar://problem/43402114> |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2018-10-01 Koby Boyango <koby.b@mce-sys.com> |
| |
| [WTF][JSCONLY] Use MainThreadWin on Windows in the JSCOnly port |
| https://bugs.webkit.org/show_bug.cgi?id=190121 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| This fixes JSCOnly build on Windows after r236617. |
| |
| * wtf/PlatformJSCOnly.cmake: |
| |
| 2018-10-01 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r236647. |
| https://bugs.webkit.org/show_bug.cgi?id=190124 |
| |
| Breaking test stress/big-int-to-string.js (Requested by |
| caiolima_ on #webkit). |
| |
| Reverted changeset: |
| |
| "[BigInt] BigInt.proptotype.toString is broken when radix is |
| power of 2" |
| https://bugs.webkit.org/show_bug.cgi?id=190033 |
| https://trac.webkit.org/changeset/236647 |
| |
| 2018-09-30 Caio Lima <ticaiolima@gmail.com> |
| |
| [BigInt] BigInt.proptotype.toString is broken when radix is power of 2 |
| https://bugs.webkit.org/show_bug.cgi?id=190033 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/MathExtras.h: |
| (WTF::ctz32): |
| |
| 2018-09-28 Jer Noble <jer.noble@apple.com> |
| |
| Refactoring: eliminate raw pointer usage in Fullscreen code |
| https://bugs.webkit.org/show_bug.cgi?id=188747 |
| <rdar://problem/43541164> |
| |
| Reviewed by Alex Christensen. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/WeakPtrContainer.h: Added. |
| |
| 2018-09-28 Yusuke Suzuki <yusukesuzuki@slowstart.org> |
| |
| [WTF] Make isMainThread more reliable |
| https://bugs.webkit.org/show_bug.cgi?id=189880 |
| |
| Reviewed by Mark Lam. |
| |
| isMainThread() relied on Thread::current(). This API becomes broken in Windows |
| when the Thread is about to be destroyed since TLS is already cleared. This causes |
| a bug since `isMainThread()` is called in Thread::didExit in Windows. |
| |
| This patch makes this `isMainThread` more reliable in all the platforms. In Windows, |
| we use `Thread::currentID()` instead of `Thread::current()` since `Thread::currentID` |
| uses Win32 GetCurrentThreadId directly. In the other system, we use `pthread_main_np` |
| or `pthread_self` instead. |
| |
| We also move `holdLock` code inside `if (shouldRemoveThreadFromThreadGroup())`. If |
| the other thread takes a mutex and destroyed, this `holdLock` waits forever. This problem |
| only happens in Windows since Windows calls TLS destructor for the main thread. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/MainThread.cpp: |
| (WTF::initializeMainThread): |
| (): Deleted. |
| (WTF::isMainThread): Deleted. |
| (WTF::isMainThreadIfInitialized): Deleted. |
| * wtf/Platform.h: |
| * wtf/PlatformMac.cmake: |
| * wtf/Threading.cpp: |
| (WTF::Thread::didExit): |
| * wtf/cocoa/MainThreadCocoa.mm: Renamed from Source/WTF/wtf/mac/MainThreadMac.mm. |
| * wtf/generic/MainThreadGeneric.cpp: |
| (WTF::initializeMainThreadPlatform): |
| (WTF::isMainThread): |
| (WTF::isMainThreadIfInitialized): |
| * wtf/win/MainThreadWin.cpp: |
| (WTF::initializeMainThreadPlatform): |
| (WTF::isMainThread): |
| (WTF::isMainThreadIfInitialized): |
| |
| 2018-09-28 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r236605. |
| https://bugs.webkit.org/show_bug.cgi?id=190087 |
| |
| caused three API test timeouts (Requested by jernoble on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "Refactoring: eliminate raw pointer usage in Fullscreen code" |
| https://bugs.webkit.org/show_bug.cgi?id=188747 |
| https://trac.webkit.org/changeset/236605 |
| |
| 2018-09-28 Brian Burg <bburg@apple.com> |
| |
| Replace recently added line comments in Compiler.h |
| https://bugs.webkit.org/show_bug.cgi?id=190062 |
| <rdar://problem/44838618> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| This breaks some Apple-internal tooling. For now, work around it by |
| changing the comment style. On the other side, the issue will be fixed |
| more permanently by adopting the approach from r230213. |
| |
| * wtf/Compiler.h: Use multiline comments. |
| |
| 2018-09-28 Jer Noble <jer.noble@apple.com> |
| |
| Refactoring: eliminate raw pointer usage in Fullscreen code |
| https://bugs.webkit.org/show_bug.cgi?id=188747 |
| <rdar://problem/43541164> |
| |
| Reviewed by Alex Christensen. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/WeakPtrContainer.h: Added. |
| |
| 2018-09-28 Koby Boyango <koby.b@mce.systems> |
| |
| [WTF] Add ExternalStringImpl, a StringImpl for user controlled buffers |
| https://bugs.webkit.org/show_bug.cgi?id=189991 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/text/ExternalStringImpl.cpp: Added. |
| * wtf/text/ExternalStringImpl.h: Added. |
| * wtf/text/StringImpl.cpp: |
| * wtf/text/StringImpl.h: |
| |
| 2018-09-27 Saam barati <sbarati@apple.com> |
| |
| Verify the contents of AssemblerBuffer on arm64e |
| https://bugs.webkit.org/show_bug.cgi?id=190057 |
| <rdar://problem/38916630> |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/PtrTag.h: |
| (WTF::tagInt): |
| |
| 2018-09-27 Jer Noble <jer.noble@apple.com> |
| |
| MediaPlayer should have mediaPlayerWaitingForKeyChanged() / bool waitingForKey() accessor |
| https://bugs.webkit.org/show_bug.cgi?id=189951 |
| |
| Reviewed by Eric Carlson. |
| |
| Templated functions should take r-value references, as they have perfect type deduction for |
| all parameter types; references, l-value references, and r-value references in template function |
| parameters have special type deduction semantics. |
| See: <https://en.cppreference.com/w/cpp/language/reference#Forwarding_references> |
| |
| Previously, const reference parameters would be copied when passed into anyOf(), and containers |
| of Ref<> would generate compile errors when passed into anyOf, as they cannot be copied. Now, |
| with r-value reference types in template parameters, a const reference is mapped to a const reference, |
| a non-const reference is mapped to a non-const reference, and a r-value reference is mapped to |
| an r-value reference. |
| |
| * wtf/Algorithms.h: |
| (WTF::forEach): |
| (WTF::anyOf): |
| (WTF::allOf): |
| |
| 2018-09-25 John Wilander <wilander@apple.com> |
| |
| Change from HAVE(CFNETWORK_STORAGE_PARTITIONING) to ENABLE(RESOURCE_LOAD_STATISTICS) |
| https://bugs.webkit.org/show_bug.cgi?id=189959 |
| <rdar://problem/44767642> |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/Platform.h: |
| Enables RESOURCE_LOAD_STATISTICS for Cocoa platforms. |
| |
| 2018-09-24 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| Rename WTF_COMPILER_GCC_OR_CLANG to WTF_COMPILER_GCC_COMPATIBLE |
| https://bugs.webkit.org/show_bug.cgi?id=189733 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Clang for Windows build enables WTF_COMPILER_CLANG and |
| WTF_COMPILER_MSVC, but disables WTF_COMPILER_GCC_OR_CLANG. It is |
| strange WTF_COMPILER_GCC_OR_CLANG is not enabled even though |
| WTF_COMPILER_CLANG is enabled. However, Clang for Windows imitates |
| MSVC, and codes for COMPILER(GCC_OR_CLANG) are for non MSVC. At |
| least at the moment, it is not feasible to define |
| WTF_COMPILER_GCC_OR_CLANG for Clang for Windows. |
| |
| To solve the issue, this change renames WTF_COMPILER_GCC_OR_CLANG |
| to WTF_COMPILER_GCC_COMPATIBLE. |
| |
| As an exception, I'd like to use IGNORE_WARNINGS_* macros even in |
| Clang for Windows builds. |
| |
| * wtf/Assertions.cpp: Replaced COMPILER(GCC_OR_CLANG) with COMPILER(GCC_COMPATIBLE). |
| * wtf/Assertions.h: Ditto. |
| * wtf/Atomics.h: Ditto. |
| * wtf/CheckedArithmetic.h: Ditto. |
| * wtf/FastMalloc.h: Ditto. |
| * wtf/MathExtras.h: Ditto. |
| * wtf/Platform.h: Ditto. |
| * wtf/StdLibExtras.h: Ditto. |
| * wtf/Vector.h: Ditto. |
| * wtf/text/ASCIIFastPath.h: Ditto. |
| * wtf/Compiler.h: Ditto. Replaced "COMPILER(GCC_OR_CLANG)" with "COMPILER(GCC) || COMPILER(CLANG)" of IGNORE_WARNINGS_* macros. |
| |
| 2018-09-21 Yusuke Suzuki <yusukesuzuki@slowstart.org> |
| |
| [JSC] Enable LLInt ASM interpreter on X64 and ARM64 in non JIT configuration |
| https://bugs.webkit.org/show_bug.cgi?id=189778 |
| |
| Reviewed by Keith Miller. |
| |
| This patch adds ENABLE(C_LOOP) which indicates we use CLoop as the interpreter. |
| Previously, we used !ENABLE(JIT) for this configuration. But now, we have |
| a build configuration that has LLInt ASM interpreter (not CLoop) and !ENABLE(JIT). |
| |
| We enable LLInt ASM interpreter for non JIT environment in X86_64 and ARM64 architectures. |
| And we enable ENABLE(ASSEMBLER) for non JIT environment since it offers machine register |
| information which is used for LLInt and SamplingProfiler. |
| |
| * wtf/Platform.h: |
| |
| 2018-09-21 Keith Miller <keith_miller@apple.com> |
| |
| Add Promise SPI |
| https://bugs.webkit.org/show_bug.cgi?id=189809 |
| |
| Reviewed by Saam Barati. |
| |
| Fix issue where creating a JSContextRef off the main thread before |
| creating initializing the main thread would cause an assertion |
| failure. |
| |
| * wtf/MainThread.cpp: |
| (WTF::isMainThreadIfInitialized): |
| * wtf/MainThread.h: |
| * wtf/mac/MainThreadMac.mm: |
| (WTF::isMainThreadIfInitialized): |
| * wtf/text/cf/StringImplCF.cpp: |
| (WTF::StringImpl::createCFString): |
| |
| 2018-09-21 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r236359. |
| |
| Broke the Windows build. |
| |
| Reverted changeset: |
| |
| "Add Promise SPI" |
| https://bugs.webkit.org/show_bug.cgi?id=189809 |
| https://trac.webkit.org/changeset/236359 |
| |
| 2018-09-21 Keith Miller <keith_miller@apple.com> |
| |
| Add Promise SPI |
| https://bugs.webkit.org/show_bug.cgi?id=189809 |
| |
| Reviewed by Saam Barati. |
| |
| Fix issue where creating a JSContextRef off the main thread before |
| creating initializing the main thread would cause an assertion |
| failure. |
| |
| * wtf/MainThread.cpp: |
| (WTF::isMainThreadIfInitialized): |
| * wtf/MainThread.h: |
| * wtf/mac/MainThreadMac.mm: |
| (WTF::isMainThreadIfInitialized): |
| * wtf/text/cf/StringImplCF.cpp: |
| (WTF::StringImpl::createCFString): |
| |
| 2018-09-20 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [Win][Clang] UNUSED_PARAM(this) causes compilation error of "cannot take the address of an rvalue of type" |
| https://bugs.webkit.org/show_bug.cgi?id=189732 |
| |
| Reviewed by Per Arne Vollan. |
| |
| Clang for Windows can't compile the MSVC workaround of |
| UNUSED_PARAM which has been introduced for Windows CE and Visual |
| Studio 10. I think it's safe just to remove it. |
| |
| * wtf/Compiler.h: Removed the code for COMPILER(MSVC). |
| |
| 2018-09-20 Alex Christensen <achristensen@webkit.org> |
| |
| Unreviewed, rolling out r235976. |
| |
| Broke ARM |
| |
| Reverted changeset: |
| |
| "Use a Variant instead of a union in CSSSelector" |
| https://bugs.webkit.org/show_bug.cgi?id=188559 |
| https://trac.webkit.org/changeset/235976 |
| |
| 2018-09-17 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [WTF] Use Semaphore and BinarySemaphore instead of dispatch_semaphore_t |
| https://bugs.webkit.org/show_bug.cgi?id=185339 |
| |
| Reviewed by Mark Lam. |
| |
| This patch adds WTF::Semaphore, which is based on WTF::Lock and WTF::Condition. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/Semaphore.h: Added. |
| (WTF::Semaphore::Semaphore): |
| (WTF::Semaphore::signal): |
| (WTF::Semaphore::waitUntil): |
| (WTF::Semaphore::waitFor): |
| (WTF::Semaphore::wait): |
| * wtf/generic/WorkQueueGeneric.cpp: |
| (WorkQueue::platformInitialize): |
| * wtf/threads/BinarySemaphore.cpp: |
| (WTF::BinarySemaphore::waitUntil): |
| (WTF::BinarySemaphore::wait): Deleted. |
| * wtf/threads/BinarySemaphore.h: |
| (WTF::BinarySemaphore::waitFor): |
| (WTF::BinarySemaphore::wait): |
| Align the names of the functions to WTF::Condition. |
| Add BinarySemaphore::wait(), which is the same to waitUntil(WallTime::infinity()). |
| |
| 2018-09-17 Jer Noble <jer.noble@apple.com> |
| |
| Add support for HEVC codec types in Media Capabilities |
| https://bugs.webkit.org/show_bug.cgi?id=189565 |
| |
| Reviewed by Eric Carlson. |
| |
| Extract the toIntegralType template into its own header. |
| |
| * wtf/CMakeLists.txt: |
| * wtf/text/StringConversion.h: Added. |
| (isCharacterAllowedInBase): |
| (toIntegralType): |
| * wtf/text/WTFString.cpp: |
| |
| 2018-09-17 Jer Noble <jer.noble@apple.com> |
| |
| Enable USE_MEDIAREMOTE on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=189096 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/Platform.h: |
| |
| 2018-09-17 Frederic Wang <fwang@igalia.com> |
| |
| Build error in ImageBufferCG when compiled with IOSurfacePool |
| https://bugs.webkit.org/show_bug.cgi?id=189579 |
| |
| Reviewed by Tim Horton. |
| |
| IOSurface.h might be included with different value of IOSURFACE_CANVAS_BACKING_STORE, causing |
| compilation errors when files in the same unified source do not agree on the definition. |
| This patch moves the definition of IOSURFACE_CANVAS_BACKING_STORE from ImageBufferDataCG.h |
| to Platform.h so that IOSURFACE_CANVAS_BACKING_STORE is set to the same value in all files. |
| Finally some minors changes to explicitly declare/define ImageBuffer are performed in order |
| to prevent future issues with Unified build rotating. |
| |
| * wtf/Platform.h: Move definition from ImageBufferDataCG.h. |
| |
| 2018-09-14 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r235990. |
| |
| Introduced TestWebKitAPI.NowPlayingTest timeouts on iOS |
| |
| Reverted changeset: |
| |
| "Enable USE_MEDIAREMOTE on iOS" |
| https://bugs.webkit.org/show_bug.cgi?id=189096 |
| https://trac.webkit.org/changeset/235990 |
| |
| 2018-09-13 Jer Noble <jer.noble@apple.com> |
| |
| Enable USE_MEDIAREMOTE on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=189096 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/Platform.h: |
| |
| 2018-09-13 Alex Christensen <achristensen@webkit.org> |
| |
| Use a Variant instead of a union in CSSSelector |
| https://bugs.webkit.org/show_bug.cgi?id=188559 |
| |
| Reviewed by Antti Koivisto. |
| |
| * wtf/Variant.h: |
| Add packing macros to make it so Variant-containing structures don't always have 7 bytes of padding per Variant. |
| |
| 2018-09-12 Guillaume Emont <guijemont@igalia.com> |
| |
| Add IGNORE_WARNING_.* macros |
| https://bugs.webkit.org/show_bug.cgi?id=188996 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * wtf/Assertions.cpp: |
| * wtf/Assertions.h: |
| * wtf/Compiler.h: |
| * wtf/MD5.cpp: |
| (WTF::MD5::MD5): |
| (WTF::MD5::addBytes): |
| (WTF::MD5::checksum): |
| * wtf/PrintStream.cpp: |
| (WTF::PrintStream::printfVariableFormat): |
| * wtf/SHA1.cpp: |
| (WTF::SHA1::SHA1): |
| (WTF::SHA1::addBytes): |
| (WTF::SHA1::computeHash): |
| * wtf/ThreadingPthreads.cpp: |
| * wtf/Vector.h: |
| (WTF::VectorBuffer::endOfBuffer): |
| * wtf/text/WTFString.cpp: |
| (WTF::createWithFormatAndArguments): |
| |
| == Rolled over to ChangeLog-2018-09-11 == |