| 2021-03-18 Youenn Fablet <youenn@apple.com> |
| |
| Move camera GPU Process flag to experimental |
| https://bugs.webkit.org/show_bug.cgi?id=223374 |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-03-17 Saam Barati <sbarati@apple.com> |
| |
| Make sure we only set HAVE_VM_FLAGS_PERMANENT to 1 when targeting macOS >= 11.0 |
| https://bugs.webkit.org/show_bug.cgi?id=223408 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-03-17 Mark Lam <mark.lam@apple.com> |
| |
| Fix race condition in ConcurrentPtrHashSet. |
| https://bugs.webkit.org/show_bug.cgi?id=223241 |
| rdar://74637896 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| There exists a race condition where ConcurrentPtrHashSet::resizeIfNecessary() may |
| not capture an entry added by ConcurrentPtrHashSet::addSlow() concurrently. |
| |
| ConcurrentPtrHashSet::addSlow() currently does the following: |
| |
| { |
| if (table->load.exchangeAdd(1) >= table->maxLoad()) // (a1) |
| return resizeAndAdd(ptr); // (a2) |
| |
| for (;;) { |
| void* oldEntry = table->array[index].compareExchangeStrong(nullptr, ptr); // (a3) |
| if (!oldEntry) { |
| if (m_table.load() != table) { // (a4) |
| // We added an entry to an old table! We need to reexecute the add on the new table. |
| return add(ptr); // (a5) |
| } |
| return true; // (a6) |
| } |
| if (oldEntry == ptr) |
| return false; |
| |
| ... // set index to next entry slot to try. |
| } |
| } |
| |
| ConcurrentPtrHashSet::resizeIfNecessary() currently does the following: |
| |
| { |
| auto locker = holdLock(m_lock); // (r1) |
| Table* table = m_table.loadRelaxed(); |
| if (table->load.loadRelaxed() < table->maxLoad()) |
| return; |
| |
| // (r2) |
| |
| std::unique_ptr<Table> newTable = Table::create(table->size * 2); |
| ... |
| for (unsigned i = 0; i < table->size; ++i) { // (r3) |
| void* ptr = table->array[i].loadRelaxed(); |
| if (!ptr) |
| continue; |
| |
| ... // copy ptr to newTable. // (r4) |
| } |
| |
| ... |
| m_table.store(newTable.get()); // (r5) |
| ... |
| } |
| |
| Let's say thread T1 is executing addSlow(), and thread T2 is concurrently executing |
| resizeIfNecessary(). |
| |
| Consider the following scenario (in chronological order): |
| 1. T2 has arrived at just before (r5) i.e. it is already done copying the entries |
| in the old m_table. |
| 2. T1 executes (a3) and writes a new entry into m_table. |
| 3. T1 checks that the table hasn't been replaced at (a4), and sees that it has |
| not. |
| 4. T1 returns at (a6), thinking that its new entry is committed. |
| 5. T2 sets the new m_table at (r5), thereby discarding the new entry that T1 has |
| just written. |
| |
| The fix is to set m_table to a newly introduced m_stubTable at (r2). m_stubTable |
| is set up with a size of 0, and load value of 10. This means it is always full. |
| With this, the following scenarios can play out: |
| |
| Scenario 1: T2 installs m_stubTable before T1 reaches (a1) |
| |
| 1. At (a1), T1 sees that m_table (which is m_stubTable) is full. |
| 2. T1 calls resizeAndAdd() at (a2), which ends up calling resizeIfNecessary() |
| and blocking on the lock at (r1). |
| |
| Scenario 2: T2 installs m_stubTable after T1 reaches just before (a3) |
| |
| 1. T1 writes the new entry at (a3). |
| 2. T1 checks m_table at (a4), and sees that it has changed (now pointing to |
| m_stubTable). |
| 3. T1 calls add() again at (a5) to redo the operation, and ends with scenario 1. |
| |
| Scenario 3: T2 installs m_stubTable after T1 reaches (a3), but before (a4) |
| |
| 1. The new entry has already been added, but we don't know if it made the cut off |
| for T2 to copy it or not. But, it doesn't matter because ... |
| 2. T1 checks m_table at (a4), and sees that it has changed (now pointing to |
| m_stubTable). |
| 3. T1 calls add() again at (a5) to redo the operation, and ends with scenario 1. |
| |
| Scenario 4: T2 installs m_stubTable after T1 reaches (a4) |
| |
| 1. The new entry has already been added. |
| 2. T1 checks m_table at (a4), and sees that it has NOT changed (because T2 hasn't |
| installed m_stubTable yet). This means T2's copy loop is guaranteed to not |
| have started yet i.e. the new entry will definitely be picked up by the copy |
| loop. |
| 3. T1 returns at (a6), and all is well. |
| |
| * wtf/ConcurrentPtrHashSet.cpp: |
| (WTF::ConcurrentPtrHashSet::deleteOldTables): |
| (WTF::ConcurrentPtrHashSet::initialize): |
| (WTF::ConcurrentPtrHashSet::containsImplSlow const): |
| (WTF::ConcurrentPtrHashSet::sizeSlow const): |
| (WTF::ConcurrentPtrHashSet::resizeIfNecessary): |
| (WTF::ConcurrentPtrHashSet::Table::initializeStub): |
| * wtf/ConcurrentPtrHashSet.h: |
| |
| 2021-03-17 Alex Christensen <achristensen@webkit.org> |
| |
| Reduce maximum HashTable entry size to 250 bytes |
| https://bugs.webkit.org/show_bug.cgi?id=223398 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/HashTable.h: |
| (WTF::KeyTraits>::inlineLookup): |
| |
| 2021-03-17 Saam Barati <sbarati@apple.com> |
| |
| Determine if we have useFastJITPermissions on arm64e at runtime instead of hardcoding it as always enabled |
| https://bugs.webkit.org/show_bug.cgi?id=223388 |
| <rdar://74819266> |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformUse.h: |
| |
| 2021-03-17 Chris Dumez <cdumez@apple.com> |
| |
| Memory limit per tab shrinks as you open tabs in the same WebContent process (may affect Google Drive, Dropbox, etc.) |
| https://bugs.webkit.org/show_bug.cgi?id=223394 |
| <rdar://75499387> |
| |
| Reviewed by Geoffrey Garen. |
| |
| Make sure the process memory limit scales with the number of web pages it holds (without cap on the number of |
| pages). |
| |
| * wtf/MemoryPressureHandler.cpp: |
| (WTF::thresholdForMemoryKillOfInactiveProcess): |
| |
| 2021-03-17 Brent Fulgham <bfulgham@apple.com> |
| |
| [Cocoa] Populate NSURLSession with attributed bundle ID |
| https://bugs.webkit.org/show_bug.cgi?id=223382 |
| <rdar://problem/75498230> |
| |
| Reviewed by Alex Christensen. |
| |
| Add new HAVE_CFNETWORK_NSURLSESSION_ATTRIBUTED_BUNDLE_IDENTIFIER macro. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-03-17 Alex Christensen <achristensen@webkit.org> |
| |
| Allow UniqueRef to be the value of a HashMap |
| https://bugs.webkit.org/show_bug.cgi?id=223240 |
| |
| Reviewed by Youenn Fablet. |
| |
| This has the advantage over std::unique_ptr of never providing a null value when you iterate HashMap.values |
| |
| * wtf/HashIterators.h: |
| (WTF::HashTableConstValuesIterator::get const): |
| * wtf/HashTraits.h: |
| (WTF::HashTraits<UniqueRef<T>>::emptyValue): |
| (WTF::HashTraits<UniqueRef<T>>::constructDeletedValue): |
| (WTF::HashTraits<UniqueRef<T>>::isDeletedValue): |
| (WTF::HashTraits<UniqueRef<T>>::peek): |
| (WTF::HashTraits<UniqueRef<T>>::take): |
| |
| 2021-03-16 Devin Rousso <drousso@apple.com> |
| |
| [macOS] change for the language/subtitle tracks button to use an `NSMenu` instead of web content |
| https://bugs.webkit.org/show_bug.cgi?id=223239 |
| <rdar://problem/75462340> |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformEnableCocoa.h: |
| Turn on `ENABLE_MEDIA_CONTROLS_CONTEXT_MENUS` for macOS. |
| |
| 2021-03-16 Per Arne <pvollan@apple.com> |
| |
| Add signpost for injected bundle creation |
| https://bugs.webkit.org/show_bug.cgi?id=223068 |
| |
| Reviewed by Alex Christensen. |
| |
| Add trace point codes for start and end of injected bundle creation. |
| |
| * wtf/SystemTracing.h: |
| |
| 2021-03-16 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK][WPE] Stop using g_memdup |
| https://bugs.webkit.org/show_bug.cgi?id=223189 |
| |
| Reviewed by Philippe Normand. |
| |
| Add fastMemDup() to replace g_memdup() that is now deprecated in GLib because of the possibility of overflow |
| when converting from size_t to unsigned int. There's a replacement in GLib already, but we would need to depend |
| on very new GLib version, so better use fastMemDup() when possible. In cases where we still need to use GLib |
| allocator, we can simply call g_malloc() + memcpy(). |
| |
| * wtf/FastMalloc.cpp: |
| (WTF::fastMemDup): |
| * wtf/FastMalloc.h: |
| |
| 2021-03-16 Khem Raj <raj.khem@gmail.com> |
| |
| [CMake] Build fails on RISC-V with GCC 11 |
| https://bugs.webkit.org/show_bug.cgi?id=222959 |
| |
| Reviewed by Carlos Alberto Lopez Perez. |
| |
| Link with libatomic if ATOMICS_REQUIRE_LIBATOMIC is set. |
| |
| * wtf/CMakeLists.txt: |
| |
| 2021-03-15 Alex Christensen <achristensen@webkit.org> |
| |
| REGRESSION: (r255611) [ Mac ] 3 lldb tests failing related to HashMap |
| https://bugs.webkit.org/show_bug.cgi?id=207204 |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/HashTable.h: |
| |
| 2021-03-15 Chris Dumez <cdumez@apple.com> |
| |
| RunLoop::isMain() should not need to do any heap allocations |
| https://bugs.webkit.org/show_bug.cgi?id=223227 |
| |
| Reviewed by Darin Adler. |
| |
| RunLoop::isMain() should not need to do any heap allocations. Before this change, |
| calling RunLoop::isMain() on a non-main thread would call RunLoop::current() which |
| would allocate the RunLoop for the current thread. This is inefficient and an issue |
| for WebAudio since we're not allowed to do heap allocation on the audio rendering |
| thread. |
| |
| * wtf/RunLoop.cpp: |
| (WTF::RunLoop::runLoopHolder): |
| (WTF::RunLoop::current): |
| (WTF::RunLoop::isMain): |
| * wtf/RunLoop.h: |
| |
| 2021-03-15 Alex Christensen <achristensen@webkit.org> |
| |
| REGRESSION(r271642) Another app was relying on DOMWindow reuse |
| https://bugs.webkit.org/show_bug.cgi?id=223217 |
| <rdar://75186172> |
| |
| Reviewed by Geoff Garen. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-03-15 Rob Buis <rbuis@igalia.com> |
| |
| Turn CSS aspect-ratio on by default |
| https://bugs.webkit.org/show_bug.cgi?id=223117 |
| |
| Reviewed by Simon Fraser. |
| |
| Turn CSS aspect-ratio on by default. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-03-13 Tim Horton <timothy_horton@apple.com> |
| |
| Adopt DDMacAction instead of DDAction on macOS |
| https://bugs.webkit.org/show_bug.cgi?id=223145 |
| <rdar://problem/70127512> |
| |
| Reviewed by Megan Gardner. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-03-12 Lauro Moura <lmoura@igalia.com> |
| |
| REGRESSION(r274327) [GLIB] 2D Canvas tests timing out after enabling GPUProces in testing |
| https://bugs.webkit.org/show_bug.cgi?id=223130 |
| |
| Reviewed by Philippe Normand. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-03-12 Alex Christensen <achristensen@webkit.org> |
| |
| Reduce maximum HashTable entry size to 400 bytes |
| https://bugs.webkit.org/show_bug.cgi?id=223106 |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/HashTable.h: |
| (WTF::KeyTraits>::inlineLookup): |
| |
| 2021-03-11 Tim Horton <timothy_horton@apple.com> |
| |
| REGRESSION (r267775): Web Share API Level 2 is incorrectly disabled |
| https://bugs.webkit.org/show_bug.cgi?id=223110 |
| |
| Reviewed by Simon Fraser. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| Through a series of minor mishaps related to r267623 and r267775, |
| the current state of the default value of WebShareFileAPIEnabled |
| in modern WebKit does not match what it was changed to in r267762 |
| (is it now instead off everywhere). |
| |
| Fix this regression by copying the condition from WebShareEnabled. |
| |
| 2021-03-11 Said Abou-Hallawa <said@apple.com> |
| |
| [GPUP] Enable 2D Canvas in layout tests by default |
| https://bugs.webkit.org/show_bug.cgi?id=222835 |
| |
| Reviewed by Simon Fraser. |
| |
| Move UseGPUProcessForCanvasRenderingEnabled from WebPreferencesInternal |
| to WebPreferencesExperimental so that the WebKitTestRunner will turn it |
| on by default. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-03-11 Saam Barati <sbarati@apple.com> |
| |
| Adopt VM_FLAGS_PERMANENT for the config vm mapping |
| https://bugs.webkit.org/show_bug.cgi?id=222086 |
| <rdar://74402690> |
| |
| Reviewed by Yusuke Suzuki and Mark Lam. |
| |
| * wtf/PlatformHave.h: |
| * wtf/Threading.cpp: |
| (WTF::initialize): |
| * wtf/WTFConfig.cpp: |
| (WTF::setPermissionsOfConfigPage): |
| * wtf/WTFConfig.h: |
| (WTF::setPermissionsOfConfigPage): |
| |
| 2021-03-11 Chris Dumez <cdumez@apple.com> |
| |
| Introduce ensureOnMainThread() |
| https://bugs.webkit.org/show_bug.cgi?id=223105 |
| |
| Reviewed by Darin Adler. |
| |
| Introduce ensureOnMainThread(), similarly to the recently added ensureOnMainThreadRunLoop(). It runs |
| the task synchronously when on the main thread, otherwise dispatches the task to the main thread. |
| |
| * wtf/MainThread.cpp: |
| (WTF::ensureOnMainThread): |
| * wtf/MainThread.h: |
| * wtf/ThreadSafeRefCounted.h: |
| (WTF::ThreadSafeRefCounted::deref const): |
| * wtf/text/cf/StringImplCF.cpp: |
| (WTF::StringWrapperCFAllocator::deallocate): |
| * wtf/unix/MemoryPressureHandlerUnix.cpp: |
| (WTF::MemoryPressureHandler::triggerMemoryPressureEvent): |
| |
| 2021-03-11 Chris Dumez <cdumez@apple.com> |
| |
| Introduce WorkQueue::main() to get the main thread's work queue |
| https://bugs.webkit.org/show_bug.cgi?id=223087 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Introduce WorkQueue::main() to get the main thread's work queue. This allows us to port some more code from |
| dispatch_queue to WorkQueue. It also simplifies some code that has to deal that sometimes needs to run on |
| the main thread and other times on a background queue. Having a single WorkQueue type to represent both the |
| main thread and a background queue makes writing such code more convenient. |
| |
| * wtf/WorkQueue.cpp: |
| (WTF::WorkQueue::main): |
| * wtf/WorkQueue.h: |
| * wtf/cocoa/WorkQueueCocoa.cpp: |
| (WTF::WorkQueue::constructMainWorkQueue): |
| (WTF::WorkQueue::WorkQueue): |
| * wtf/generic/WorkQueueGeneric.cpp: |
| (WorkQueue::constructMainWorkQueue): |
| (WorkQueue::WorkQueue): |
| |
| 2021-03-11 Chris Dumez <cdumez@apple.com> |
| |
| Use BinarySemaphore in callOnMainAndWait() |
| https://bugs.webkit.org/show_bug.cgi?id=223092 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Use BinarySemaphore in callOnMainAndWait() instead of a Condition, this simplifies the code |
| a bit. Also templatize the function to make sure we avoid any runtime checks for the |
| the "mainStyle". |
| |
| * wtf/MainThread.cpp: |
| (WTF::callOnMainAndWait): |
| (WTF::callOnMainRunLoopAndWait): |
| (WTF::callOnMainThreadAndWait): |
| |
| 2021-03-11 Mark Lam <mark.lam@apple.com> |
| |
| Use tagged pointers in more places in the MetaAllocator code. |
| https://bugs.webkit.org/show_bug.cgi?id=223055 |
| rdar://69971224 |
| |
| Reviewed by Saam Barati. |
| |
| 1. Made the MetaAllocatorPtr constructor that takes a raw pointer private, and |
| only call it from a static factory method, MetaAllocatorPtr::makeFromRawPointer() |
| to make it clear that we're using an untagged pointer as a source. |
| 2. Added a MetaAllocatorPtr constructor that retags a pointer. |
| This allows minimizes the window of working with an untagged pointer. |
| 3. Assert that MetaAllocator::addFreshFreeSpace() is only called at system |
| initialization time. |
| 4. Removed an unused MetaAllocator::FreeSpaceNode constructor. |
| |
| * wtf/MetaAllocator.cpp: |
| (WTF::MetaAllocator::release): |
| (WTF::MetaAllocatorHandle::MetaAllocatorHandle): |
| (WTF::MetaAllocatorHandle::shrink): |
| (WTF::MetaAllocator::allocate): |
| (WTF::MetaAllocator::addFreshFreeSpace): |
| * wtf/MetaAllocator.h: |
| (WTF::MetaAllocator::FreeSpaceNode::FreeSpaceNode): Deleted. |
| * wtf/MetaAllocatorHandle.h: |
| * wtf/MetaAllocatorPtr.h: |
| (WTF::MetaAllocatorPtr::makeFromRawPointer): |
| (WTF::MetaAllocatorPtr::MetaAllocatorPtr): |
| |
| 2021-03-11 Chris Dumez <cdumez@apple.com> |
| |
| Introduce WorkQueue::dispatchSync() |
| https://bugs.webkit.org/show_bug.cgi?id=223049 |
| |
| Reviewed by Alex Christensen. |
| |
| Introduce WorkQueue::dispatchSync(), which relies on GCD's dispatch_sync() internally on Cocoa |
| ports. For other ports, it relies on a BinarySemaphore for synchronization. |
| |
| * wtf/WorkQueue.cpp: |
| (WTF::WorkQueue::dispatchSync): |
| * wtf/WorkQueue.h: |
| * wtf/cocoa/WorkQueueCocoa.cpp: |
| (WTF::WorkQueue::dispatchSync): |
| |
| 2021-03-11 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. [GTK][WPE] Bump libsoup3 version to 2.99.3 |
| |
| * wtf/Platform.h: |
| * wtf/URL.h: |
| |
| 2021-03-10 Chris Dumez <cdumez@apple.com> |
| |
| Use RetainPtr<> / OSObjectPtr<> more in WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=223030 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/MemoryPressureHandler.cpp: |
| (WTF::MemoryPressureHandler::setDispatchQueue): |
| * wtf/MemoryPressureHandler.h: |
| * wtf/WorkQueue.h: |
| * wtf/cocoa/MemoryPressureHandlerCocoa.mm: |
| (WTF::MemoryPressureHandler::install): |
| (WTF::MemoryPressureHandler::uninstall): |
| (WTF::MemoryPressureHandler::holdOff): |
| * wtf/cocoa/WorkQueueCocoa.cpp: |
| (WTF::WorkQueue::dispatch): |
| (WTF::WorkQueue::dispatchAfter): |
| (WTF::WorkQueue::platformInitialize): |
| (WTF::WorkQueue::platformInvalidate): |
| * wtf/text/cf/StringImplCF.cpp: |
| (WTF::StringWrapperCFAllocator::allocator): |
| (WTF::StringImpl::createCFString): |
| |
| 2021-03-10 Dean Jackson <dino@apple.com> |
| |
| Use std::forward for forwarding references instead of WTFMove |
| https://bugs.webkit.org/show_bug.cgi?id=223040 |
| |
| Reviewed by Darin Adler. |
| |
| A newer version of clang produced a helpful warning that told |
| us we were using WTFMove in places where we should use std::forward. |
| |
| * wtf/Expected.h: |
| (std::experimental::fundamentals_v3::expected::operator=): |
| * wtf/Function.h: |
| (WTF::Function<Out): |
| * wtf/NeverDestroyed.h: |
| (WTF::makeNeverDestroyed): |
| |
| 2021-03-09 Darin Adler <darin@apple.com> |
| |
| [Cocoa] Make WebKit API Objective-C objects safe to release on non-main threads |
| https://bugs.webkit.org/show_bug.cgi?id=223013 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/MainThread.cpp: |
| (WTF::ensureOnMainRunLoop): Added. For use in cases where we want to be more |
| efficient, and synchronous, when already on the main run loop, but we can do |
| the work asynchronously when called and not on the main run loop. |
| |
| * wtf/MainThread.h: Added ensureOnMainRunLoop. |
| |
| 2021-03-10 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| [GTK] Reenable -fvisibility=hidden |
| https://bugs.webkit.org/show_bug.cgi?id=181916 |
| |
| Reviewed by Don Olmstead. |
| |
| We need to export WTF::filenameForDisplay. |
| |
| * wtf/FileSystem.h: |
| |
| 2021-03-09 Chris Dumez <cdumez@apple.com> |
| |
| Use RELEASE_ASSERT() for Deque bounds checks |
| https://bugs.webkit.org/show_bug.cgi?id=223008 |
| |
| Reviewed by Alex Christensen. |
| |
| Use RELEASE_ASSERT() for Deque bounds checks instead of ASSERT(), similarly to what we did for Vector. |
| |
| * wtf/Deque.h: |
| (WTF::inlineCapacity>::removeFirst): |
| (WTF::inlineCapacity>::removeLast): |
| |
| 2021-03-09 Sam Weinig <weinig@apple.com> |
| |
| Preferences do not need to be passed to the WebProcess via WebPageCreationParameters since the store already is |
| https://bugs.webkit.org/show_bug.cgi?id=222945 |
| |
| Reviewed by Simon Fraser. |
| |
| * Scripts/Preferences/WebPreferencesDebug.yaml: |
| NeedsInAppBrowserPrivacyQuirks is only ever accessed via the WebKit preferences store, |
| so does not need to be exposed in WebKitLegacy or WebCore. Achieve this by removing the |
| WebKitLegacy and WebCore defaults. |
| |
| 2021-03-09 Alex Christensen <achristensen@webkit.org> |
| |
| Reduce unnecessary string copies in ParsedContentRange |
| https://bugs.webkit.org/show_bug.cgi?id=221769 |
| |
| Reviewed by Geoff Garen. |
| |
| * wtf/text/StringView.h: |
| (WTF::StringView::toInt64Strict const): |
| * wtf/text/WTFString.h: |
| |
| 2021-03-09 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r274171. |
| https://bugs.webkit.org/show_bug.cgi?id=223004 |
| |
| Broke canvas layout tests on Apple Silicon |
| |
| Reverted changeset: |
| |
| "[GPUP] Enable 2D Canvas in layout tests by default" |
| https://bugs.webkit.org/show_bug.cgi?id=222835 |
| https://trac.webkit.org/changeset/274171 |
| |
| 2021-03-09 Chris Dumez <cdumez@apple.com> |
| |
| Stop using callOnMainThread() / isMainThread() in WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=222986 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/MainThread.h: |
| |
| 2021-03-09 Said Abou-Hallawa <said@apple.com> |
| |
| [GPUP] Enable 2D Canvas in layout tests by default |
| https://bugs.webkit.org/show_bug.cgi?id=222835 |
| |
| Reviewed by Simon Fraser. |
| |
| Move UseGPUProcessForCanvasRenderingEnabled from WebPreferencesInternal |
| to WebPreferencesExperimental so that the WebKitTestRunner will turn it |
| on by default. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-03-09 Sam Weinig <weinig@apple.com> |
| |
| Remove CSSParserContext::enforcesCSSMIMETypeInNoQuirksMode as it is unused |
| https://bugs.webkit.org/show_bug.cgi?id=222949 |
| |
| Reviewed by Darin Adler. |
| |
| At some point in the past we stoped doing anything with the enforcesCSSMIMETypeInNoQuirksMode |
| bit on CSSParserContext. |
| |
| The only time it was ever disabled was when running ancient versions of iWeb, a product that |
| itself hasn't existed for over a decade, so I think we are ok to remove it. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2021-03-09 Ben Nham <nham@apple.com> |
| |
| Adopt new NSURLSessionConfiguration SPI for connection cache configuration |
| https://bugs.webkit.org/show_bug.cgi?id=222934 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Add the HAVE_CFNETWORK_NSURLSESSION_CONNECTION_CACHE_LIMITS flag to control whether or not |
| to use the connection cache limit SPI on NSURLSessionConfiguration. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-03-08 Sam Weinig <weinig@apple.com> |
| |
| Remove quirks for the no longer supported iAd Producer |
| https://bugs.webkit.org/show_bug.cgi?id=222894 |
| |
| Reviewed by Chris Dumez. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| Remove NeedsIsLoadingInAPISenseQuirk preference which only existed to enable |
| a quirk for iAd Producer. |
| |
| 2021-03-07 Sam Weinig <weinig@apple.com> |
| |
| Move new color(), lab() and lch() color functions behind runtime settings. |
| https://bugs.webkit.org/show_bug.cgi?id=222869 |
| |
| Reviewed by Simon Fraser. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| Add experimental feature flag for the new CSS Color 4 color types. |
| |
| 2021-03-06 Dean Jackson <dino@apple.com> |
| |
| dlopen_preflight is failing (temporarily) but obsolete |
| https://bugs.webkit.org/show_bug.cgi?id=222829 |
| |
| Reviewed by Jer Noble. |
| |
| I hit a bug where dlopen_preflight was failing in a particular build. |
| That is now fixed, but as I was discussing it with the dyld team |
| they said we should stop using it. The rationale was that it only |
| made sense during the PowerPC to Intel transition, and it is as |
| expensive as dlopen now. |
| |
| * wtf/PlatformUse.h: No need for preflight linking code. |
| * wtf/cocoa/SoftLinking.h: |
| |
| 2021-03-05 Don Olmstead <don.olmstead@sony.com> |
| |
| [CMake] Bump cmake_minimum_required version to 3.12 or later |
| https://bugs.webkit.org/show_bug.cgi?id=221727 |
| <rdar://problem/74454980> |
| |
| Reviewed by Konstantin Tokarev. |
| |
| Sync cmake_minimum_required version for AppleWin internal builds. |
| |
| * CMakeLists.txt: |
| |
| 2021-03-05 Chris Dumez <cdumez@apple.com> |
| |
| Reduce use of CFRetain() / CFRelease() / CFAutoRelease() in WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=222760 |
| |
| Reviewed by Darin Adler. |
| |
| Reduce use of CFRetain() / CFRelease() / CFAutoRelease() in WebKit by using RetainPtr<>. |
| |
| * wtf/cocoa/NSURLExtras.mm: |
| (WTF::decodePercentEscapes): |
| (WTF::URLByTruncatingOneCharacterBeforeComponent): |
| (WTF::URLWithData): |
| (WTF::URLByRemovingComponentAndSubsequentCharacter): |
| |
| 2021-03-04 Alex Christensen <achristensen@webkit.org> |
| |
| Add internal preference to disable HTTPS upgrade |
| https://bugs.webkit.org/show_bug.cgi?id=222778 |
| |
| Reviewed by Simon Fraser. |
| |
| This is needed for an internal performance benchmark, which serves canned content from a local http server |
| pretending to be from different domains that are in our internal HTTPS upgrade list because the real server |
| supports HTTPS. That internal benchmark should eventually change, but that's not going to happen this year. |
| This is also likely going to be useful for QA purposes to be able to easily tell on an internal build |
| whether HTTPS upgrade is breaking something. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-03-04 Alex Christensen <achristensen@webkit.org> |
| |
| Remove the HTTPSUpgradeEnabled experimental feature |
| https://bugs.webkit.org/show_bug.cgi?id=222706 |
| |
| Reviewed by Simon Fraser. |
| |
| It was a good experimental implementation, but the feature is now implemented in makeSecureIfNecessary |
| and turned on and off by WKWebViewConfiguration.upgradeKnownHostsToHTTPS. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-03-04 Chris Dumez <cdumez@apple.com> |
| |
| [macOS][WK2] Changing the system language does not update navigator.language |
| https://bugs.webkit.org/show_bug.cgi?id=222619 |
| |
| Reviewed by Per Arne Vollan. |
| |
| Update WTF::languageDidChange() to clear preferredLanguages() on Cocoa platforms |
| so that we get updated values from the system the next time |
| platformUserPreferredLanguages() is called. |
| |
| platformUserPreferredLanguages() used to implicitly register a AppleLanguagePreferencesChangedNotification |
| listener. We've now made this registering opt-in by moving it to a separate |
| listenForLanguageChangeNotifications() function. This function is getting called |
| on Mac WK1 and WK2 when CFPREFS_DIRECT_MODE is disabled (legacy). |
| When CFPREFS_DIRECT_MODE is enabled in WK2, we don't want/need to listen for this |
| notification because the AppleLanguages preference gets pushed by the UIProcess |
| down to the WebProcesses. Even though we could listen for this notification, |
| the WebProcess would not have the latest AppleLanguages preference when receiving |
| the notification. This would cause us to fire the languagechange event at the |
| Window too early and navigator.language would keep returning the old language. |
| For WK2 with CFPREFS_DIRECT_MODE enabled, we now explicitly call |
| WTF::languageDidChange() when the "AppleLanguages" preference gets sync'd from |
| the UIProcess instead. |
| |
| * wtf/Language.cpp: |
| (WTF::languageDidChange): |
| (WTF::platformLanguageDidChange): |
| * wtf/Language.h: |
| * wtf/cf/LanguageCF.cpp: |
| (WTF::languagePreferencesDidChange): |
| (WTF::platformLanguageDidChange): |
| (WTF::listenForLanguageChangeNotifications): |
| (WTF::platformUserPreferredLanguages): |
| |
| 2021-03-04 Chris Dumez <cdumez@apple.com> |
| |
| Set ownership of IOSurfaces from the GPUProcess instead of the WebProcess |
| https://bugs.webkit.org/show_bug.cgi?id=222391 |
| <rdar://74748353> |
| |
| Reviewed by Simon Fraser. |
| |
| Add HAVE_IOSURFACE_SET_OWNERSHIP_IDENTITY feature flag to protect uses of the |
| new IOSurfaceSetOwnershipIdentity() SPI. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-03-03 Alex Christensen <achristensen@webkit.org> |
| |
| Limit HashTable entry size to 500 bytes |
| https://bugs.webkit.org/show_bug.cgi?id=222658 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/HashTable.h: |
| (WTF::KeyTraits>::inlineLookup): |
| |
| 2021-03-03 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] ENABLE(JIT_CAGE) requires HAVE(JIT_CAGE) |
| https://bugs.webkit.org/show_bug.cgi?id=222695 |
| |
| Reviewed by Saam Barati. |
| |
| HAVE(JIT_CAGE) is internally defined. We use HAVE(JIT_CAGE) when defining ENABLE(JIT_CAGE). |
| |
| * wtf/PlatformEnable.h: |
| |
| 2021-03-03 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, reverting r273851. |
| |
| Caused some tests failures on macOS Big Sur |
| |
| Reverted changeset: |
| |
| "[macOS][WK2] Changing the system language does not update |
| navigator.language" |
| https://bugs.webkit.org/show_bug.cgi?id=222619 |
| https://commits.webkit.org/r273851 |
| |
| 2021-03-03 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, reverting r273832. |
| |
| 26 inspector tests failing a new assert added with this change |
| |
| Reverted changeset: |
| |
| "Limit HashTable entry size to 500 bytes" |
| https://bugs.webkit.org/show_bug.cgi?id=222658 |
| https://commits.webkit.org/r273832 |
| |
| 2021-03-03 Chris Dumez <cdumez@apple.com> |
| |
| [macOS][WK2] Changing the system language does not update navigator.language |
| https://bugs.webkit.org/show_bug.cgi?id=222619 |
| |
| Reviewed by Per Arne Vollan. |
| |
| Update WTF::languageDidChange() to clear preferredLanguages() on Cocoa platforms |
| so that we get updated values from the system the next time |
| platformUserPreferredLanguages() is called. |
| |
| platformUserPreferredLanguages() used to implicitly register a AppleLanguagePreferencesChangedNotification |
| listener. We've now made this registering opt-in by moving it to a separate |
| listenForLanguageChangeNotifications() function. This function is getting called |
| on Mac WK1 and WK2 when CFPREFS_DIRECT_MODE is disabled (legacy). |
| When CFPREFS_DIRECT_MODE is enabled in WK2, we don't want/need to listen for this |
| notification because the AppleLanguages preference gets pushed by the UIProcess |
| down to the WebProcesses. Even though we could listen for this notification, |
| the WebProcess would not have the latest AppleLanguages preference when receiving |
| the notification. This would cause us to fire the languagechange event at the |
| Window too early and navigator.language would keep returning the old language. |
| For WK2 with CFPREFS_DIRECT_MODE enabled, we now explicitly call |
| WTF::languageDidChange() when the "AppleLanguages" preference gets sync'd from |
| the UIProcess instead. |
| |
| * wtf/Language.cpp: |
| (WTF::languageDidChange): |
| (WTF::platformLanguageDidChange): |
| * wtf/Language.h: |
| * wtf/cf/LanguageCF.cpp: |
| (WTF::languagePreferencesDidChange): |
| (WTF::platformLanguageDidChange): |
| (WTF::listenForLanguageChangeNotifications): |
| (WTF::platformUserPreferredLanguages): |
| |
| 2021-03-03 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Add System.framework PrivateHeaders to header path of WTF |
| https://bugs.webkit.org/show_bug.cgi?id=222688 |
| |
| Reviewed by Tim Horton. |
| |
| The other non-third-party components excluding WTF have System.framework PrivateHeaders in their header search path. |
| This causes the problem that we cannot use some system headers (e.g. `<machine/cpu_capabilities.h>`) in WTF while it is |
| usable in JavaScriptCore and the other components. This patch adds it as the other components did. |
| |
| * Configurations/Base.xcconfig: |
| |
| 2021-03-03 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| std::is_literal_type causes -Wdeprecated-declarations warning with GCC 11 |
| https://bugs.webkit.org/show_bug.cgi?id=220662 |
| <rdar://problem/73509470> |
| |
| Reviewed by Darin Adler. |
| |
| Ignore the warning. It would be better to not use the deprecated std::is_literal_type, but |
| this works for now. |
| |
| * wtf/Variant.h: |
| |
| 2021-03-03 Tim Horton <timothy_horton@apple.com> |
| |
| Modernize WebKit2 PDFKit softlinking |
| https://bugs.webkit.org/show_bug.cgi?id=222643 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-03-03 Alex Christensen <achristensen@webkit.org> |
| |
| Limit HashTable entry size to 500 bytes |
| https://bugs.webkit.org/show_bug.cgi?id=222658 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/HashTable.h: |
| (WTF::KeyTraits>::inlineLookup): |
| |
| 2021-03-03 Youenn Fablet <youenn@apple.com> |
| |
| WebKitLegacy needs to keep JSDOMWindow even though it is used while its origin is not set |
| https://bugs.webkit.org/show_bug.cgi?id=222589 |
| <rdar://problem/74258258> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| Introduce a flag, on for WebKit and off for WebKitLegacy. |
| |
| 2021-03-02 Simon Fraser <simon.fraser@apple.com> |
| |
| Rename ForcePageRenderingUpdatesAt60FPSEnabled preference to PreferPageRenderingUpdatesNear60FPSEnabled |
| https://bugs.webkit.org/show_bug.cgi?id=222580. |
| |
| Reviewed by Tim Horton. |
| |
| PreferPageRenderingUpdatesNear60FPSEnabled is a better description of what the preference does. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-03-02 Youenn Fablet <youenn@apple.com> |
| |
| Enable MEDIA_SOURCE in IOS Simulator |
| https://bugs.webkit.org/show_bug.cgi?id=222041 |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| Move this settings out of ENABLE(MEDIA_SOURCE) to allow existing binding code to compile. |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-03-01 Truitt Savell <tsavell@apple.com> |
| |
| Unreviewed, reverting r273655. |
| |
| Broke internal Mac |
| |
| Reverted changeset: |
| |
| "Set ownership of IOSurfaces from the GPUProcess instead of |
| the WebProcess" |
| https://bugs.webkit.org/show_bug.cgi?id=222391 |
| https://commits.webkit.org/r273655 |
| |
| 2021-03-01 Sam Weinig <weinig@apple.com> |
| |
| Add alternate, non-named-getter based, implementation of CSSStyleDeclaration back into WebCore |
| https://bugs.webkit.org/show_bug.cgi?id=222517 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformEnable.h: |
| Add new off by default ENABLE flag ENABLE(ATTRIBUTE_BASED_PROPERTIES_FOR_CSS_STYLE_DECLARATION) which indicates |
| that we should use the new attribute based implementation of property getter/setters of CSSStyleDeclaration. |
| Once we remove the compile time and binary size regressions, we can enable this and remove the macro. |
| |
| 2021-03-01 Sam Weinig <weinig@apple.com> |
| |
| Add experimental support for CSS Color 5 color-contrast() |
| https://bugs.webkit.org/show_bug.cgi?id=222530 |
| |
| Reviewed by Simon Fraser. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| Add new experimental preference for CSS Color 5 color-contrast() |
| which is off by default. |
| |
| 2021-02-25 Simon Fraser <simon.fraser@apple.com> |
| |
| Remove ENABLE_WEBPROCESS_WINDOWSERVER_BLOCKING which is always true for macOS |
| https://bugs.webkit.org/show_bug.cgi?id=222459 |
| |
| Reviewed by Sam Weinig. |
| |
| ENABLE_WEBPROCESS_WINDOWSERVER_BLOCKING is always defined for PLATFORM(MAC), so remove it, |
| replacing with PLATFORM(MAC) in a few places. In order to reduce the number PLATFORM(MAC), define |
| HAVE(CVDISPLAYLINK) and use it in WK2 code that relates to DisplayLinks. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformHave.h: |
| |
| 2021-03-01 Chris Dumez <cdumez@apple.com> |
| |
| Set ownership of IOSurfaces from the GPUProcess instead of the WebProcess |
| https://bugs.webkit.org/show_bug.cgi?id=222391 |
| <rdar://74748353> |
| |
| Reviewed by Simon Fraser. |
| |
| Add HAVE_IOSURFACE_SET_OWNERSHIP_IDENTITY feature flag to protect uses of the |
| new IOSurfaceSetOwnershipIdentity() SPI. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-02-26 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK][WPE] Bump libsoup3 version to 2.99.1 |
| https://bugs.webkit.org/show_bug.cgi?id=222413 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| * wtf/Platform.h: Set minimum required version to 2.99 |
| |
| 2021-02-25 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r273503. |
| https://bugs.webkit.org/show_bug.cgi?id=222442 |
| |
| Caused a blob loading failure |
| |
| Reverted changeset: |
| |
| "Serialize NSURLRequest (rather than CFURLRequest) in IPC" |
| https://bugs.webkit.org/show_bug.cgi?id=222145 |
| https://trac.webkit.org/changeset/273503 |
| |
| 2021-02-25 Alex Christensen <achristensen@webkit.org> |
| |
| Add stubs to enable SafariForWebKitDevelopment to launch |
| https://bugs.webkit.org/show_bug.cgi?id=222388 |
| |
| Reviewed by Myles Maxfield |
| |
| * wtf/PlatformHave.h: |
| * wtf/text/WTFString.h: |
| * wtf/text/cocoa/StringCocoa.mm: |
| (WTF::String::String): |
| |
| 2021-02-25 Brent Fulgham <bfulgham@apple.com> |
| |
| Serialize NSURLRequest (rather than CFURLRequest) in IPC |
| https://bugs.webkit.org/show_bug.cgi?id=222145 |
| <rdar://problem/74500963> |
| |
| Reviewed by Darin Adler. |
| |
| URLWithData does an early return when the leading character in the URL is '/', |
| signifying a file path. However, URLs of the form "//cdn.domain.com" are often |
| encountered, and RFC 3986 does not prohibit them. We should only do an early |
| return if the character after the initial '/' is not also '/'. |
| |
| * wtf/cocoa/NSURLExtras.mm: |
| (WTF::URLWithData): |
| |
| 2021-02-24 Sam Weinig <weinig@apple.com> |
| |
| Add platform enable for separated model investigation |
| https://bugs.webkit.org/show_bug.cgi?id=222383 |
| |
| Reviewed by Dean Jackson. |
| |
| * wtf/PlatformEnableCocoa.h: |
| Add define. |
| |
| 2021-02-23 Don Olmstead <don.olmstead@sony.com> |
| |
| [CMake] Fix JSCOnly build on Windows |
| https://bugs.webkit.org/show_bug.cgi?id=222316 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Update sources for the JSCOnly Windows build. |
| |
| * wtf/PlatformJSCOnly.cmake: |
| |
| 2021-02-22 Chris Dumez <cdumez@apple.com> |
| |
| Prepare for memory ownership transfer in the GPUProcess |
| https://bugs.webkit.org/show_bug.cgi?id=222122 |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/PlatformHave.h: |
| Add feature flag for TASK_IDENTITY_TOKEN as this API was only |
| introduced very recently. |
| |
| * wtf/MachSendRight.h: |
| * wtf/cocoa/MachSendRight.cpp: |
| (WTF::MachSendRight::MachSendRight): |
| (WTF::MachSendRight::operator=): |
| Add a copy constructor to MachSendRight for convenience. |
| |
| 2021-02-22 Sam Weinig <weinig@apple.com> |
| |
| Add experimental support for CSS Color 5 color-mix() |
| https://bugs.webkit.org/show_bug.cgi?id=222258 |
| |
| Reviewed by Antti Koivisto. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| Add new experimental preference for CSS Color 5 color-mix() |
| which is off by default. |
| |
| 2021-02-22 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [SOUP] Add support for libsoup3 |
| https://bugs.webkit.org/show_bug.cgi?id=222093 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| * wtf/Platform.h: |
| * wtf/URL.h: |
| * wtf/glib/GRefPtr.cpp: |
| (WTF::refGPtr): |
| (WTF::derefGPtr): |
| * wtf/glib/GRefPtr.h: |
| * wtf/glib/URLGLib.cpp: |
| (WTF::URL::URL): |
| (WTF::URL::createGUri const): |
| |
| 2021-02-22 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| RunLoop::threadWillExit is doing m_nextIteration.clear() without locking m_nextIterationLock |
| https://bugs.webkit.org/show_bug.cgi?id=221115 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| GKT and WPE ports were observing a random assertion failure in |
| Deque::append in RunLoop::dispatch. |
| |
| * wtf/RunLoop.cpp: |
| (WTF::RunLoop::threadWillExit): Lock m_nextIterationLock before doing m_nextIteration.clear(). |
| |
| 2021-02-21 Simon Fraser <simon.fraser@apple.com> |
| |
| Re-enable Paint Timing |
| https://bugs.webkit.org/show_bug.cgi?id=211736 |
| |
| Reviewed by Noam Rosenthal. |
| |
| Now that bug 222245 is fixed in r273220, re-enable Paint Timing |
| (aka First Contentful Paint.) |
| |
| * Scripts/Preferences/WebPreferencesEfxperimental.yaml: |
| |
| 2021-02-20 Jiewen Tan <jiewen_tan@apple.com> |
| |
| PCM: Turn the fraud prevention on by default |
| https://bugs.webkit.org/show_bug.cgi?id=222224 |
| <rdar://problem/73588234> |
| |
| Reviewed by John Wilander. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-02-20 Said Abou-Hallawa <said@apple.com> |
| |
| Make PaintTimingEnabled default to false |
| https://bugs.webkit.org/show_bug.cgi?id=222186 |
| |
| Reviewed by Simon Fraser. |
| |
| PaintTiming causes about 4% regression in the MotionMark sub-tests: |
| Multiply and Focus. Do disable it for now. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-02-19 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [iOS] Specify a _UIDataOwner when reading or writing from the system pasteboard |
| https://bugs.webkit.org/show_bug.cgi?id=222072 |
| <rdar://problem/74208576> |
| |
| Reviewed by Devin Rousso. |
| |
| * wtf/PlatformHave.h: |
| |
| Turn several compile-time guards previously in `PlatformPasteboardIOS.mm` into `HAVE()`-s. |
| |
| 2021-02-16 Jiewen Tan <jiewen_tan@apple.com> |
| |
| PCM: Generate secret token and corresponding unlinkable token |
| https://bugs.webkit.org/show_bug.cgi?id=222019 |
| <rdar://problem/73581412> |
| |
| Reviewed by John Wilander. |
| |
| * wtf/PlatformHave.h: |
| Adds a compile time flag for RSABSSA. |
| |
| 2021-02-19 Jer Noble <jer.noble@apple.com> |
| |
| [Cocoa] Enable Opus decode support by default |
| https://bugs.webkit.org/show_bug.cgi?id=222131 |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-02-19 Aditya Keerthi <akeerthi@apple.com> |
| |
| [iOS][FCR] Enable the new appearance by default |
| https://bugs.webkit.org/show_bug.cgi?id=222015 |
| <rdar://problem/74415537> |
| |
| Reviewed by Wenson Hsieh. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| Enable the iOS Form Control Refresh. |
| |
| 2021-02-18 Sam Weinig <weinig@apple.com> |
| |
| Add experimental support for CSS Color 5 Relative Color Syntax |
| https://bugs.webkit.org/show_bug.cgi?id=221880 |
| |
| Reviewed by Darin Adler. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| Add new experimental preference for CSS Color 5 Relative Color Syntax |
| which is off by default. |
| |
| 2021-02-18 Youenn Fablet <youenn@apple.com> |
| |
| Set ENABLE_VP9 to 1 on IOS |
| https://bugs.webkit.org/show_bug.cgi?id=222042 |
| <rdar://problem/74433523> |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-02-18 Devin Rousso <drousso@apple.com> |
| |
| Experiment with using the theme-color as the scroll area background if provided |
| https://bugs.webkit.org/show_bug.cgi?id=222078 |
| <rdar://problem/74158818> |
| |
| Reviewed by Tim Horton. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-02-18 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed tiny cleanup after r273056. |
| |
| * wtf/Forward.h: |
| |
| 2021-02-17 Sam Weinig <weinig@apple.com> |
| |
| Enable separated graphics layer experiments on internal variant |
| https://bugs.webkit.org/show_bug.cgi?id=222088 |
| |
| Reviewed by Dean Jackson. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-02-18 Antoine Quint <graouts@webkit.org> |
| |
| Page updates and rAF callbacks should run at a frequency close to 60Hz on high refresh-rate displays |
| https://bugs.webkit.org/show_bug.cgi?id=221673 |
| <rdar://problem/72398605> |
| |
| Reviewed by Simon Fraser. |
| |
| Add a new internal preference to force the refresh rate for page rendering updates to 60fps |
| rather than use the display's refresh rate. This setting defaults to false. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-02-17 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, address post-landing review comments from Darin Adler for r273046. |
| |
| * wtf/Forward.h: |
| |
| 2021-02-17 Chris Dumez <cdumez@apple.com> |
| |
| DumpRenderTree's createWebViewAndOffscreenWindow() should return a RetainPtr |
| https://bugs.webkit.org/show_bug.cgi?id=222068 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/Forward.h: |
| |
| 2021-02-17 Dean Jackson <dino@apple.com> |
| |
| Use element fullscreen for video on some configurations |
| https://bugs.webkit.org/show_bug.cgi?id=222048 |
| <rdar://problem/74439214> |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-02-17 Per Arne <pvollan@apple.com> |
| |
| [macOS] Deny mach-lookup to the fonts service |
| https://bugs.webkit.org/show_bug.cgi?id=221610 |
| <rdar://problem/69168609> |
| |
| Reviewed by Brent Fulgham. |
| |
| Add HAVE define for platform static font registry. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-02-17 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [macOS] Introduce a new context menu item to preview images |
| https://bugs.webkit.org/show_bug.cgi?id=221917 |
| <rdar://problem/74363578> |
| |
| Reviewed by Darin Adler and Tim Horton. |
| |
| Add a new soft-linking macro to optionally link against an umbrella framework. |
| |
| * wtf/cocoa/SoftLinking.h: |
| |
| 2021-02-16 Sam Weinig <weinig@apple.com> |
| |
| Add CSS property to enable separated bit on GraphicsLayer |
| https://bugs.webkit.org/show_bug.cgi?id=222010 |
| |
| Reviewed by Dean Jackson. |
| |
| Add internal access to the separated bit on graphics layer via a |
| new "optimized-3d" transform-style. This is all off by default and |
| is expected to change, but is useful and non-invasive for experimentation. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * wtf/PlatformEnable.h: |
| |
| 2021-02-16 Chris Dumez <cdumez@apple.com> |
| |
| Clients of ARC-dependent WTF functions may get incorrect/crashy behavior |
| https://bugs.webkit.org/show_bug.cgi?id=222004 |
| <rdar://73620184> |
| |
| Reviewed by Geoffrey Garen. |
| |
| ARC is enabled in WTF but not in our other frameworks. This can lead to bad/crashy |
| behavior. To address the issue, renames functions like adoptNS() to adoptNSArc() |
| when ARC is enabled, via a #define. |
| |
| This patch was written by Geoff Garen. |
| |
| * wtf/BlockPtr.h: |
| * wtf/OSObjectPtr.h: |
| * wtf/RetainPtr.h: |
| * wtf/WeakObjCPtr.h: |
| |
| 2021-02-16 Manuel Rego Casasnovas <rego@igalia.com> |
| |
| [selectors] :focus-visible parsing and experimental flag |
| https://bugs.webkit.org/show_bug.cgi?id=221895 |
| |
| Reviewed by Darin Adler. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: Add experimental feature flag. |
| |
| 2021-02-16 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Enable JITCage on macOS |
| https://bugs.webkit.org/show_bug.cgi?id=221805 |
| <rdar://problem/74153806> |
| |
| Reviewed by Mark Lam. |
| |
| Enable JIT_CAGE when macOS is 120000 or higher with ARM64E. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2021-02-15 Per Arne <pvollan@apple.com> |
| |
| [macOS] Close XPC connections before entering sandbox |
| https://bugs.webkit.org/show_bug.cgi?id=221905 |
| <rdar://problem/70359582> |
| |
| Reviewed by Brent Fulgham. |
| |
| Add softlinking macro for libraries in /usr/lib/system/. |
| |
| * wtf/cocoa/SoftLinking.h: |
| |
| 2021-02-15 Michael Saboff <msaboff@apple.com> |
| |
| [ARM64] Change break instruction comment to indicate possible security failure |
| https://bugs.webkit.org/show_bug.cgi?id=221936 |
| |
| Reviewed by Mark Lam. |
| |
| Change the ASSERT break comment immediate to the same value the C++ compiler uses. |
| |
| * wtf/Assertions.cpp: |
| * wtf/Assertions.h: |
| |
| 2021-02-15 Said Abou-Hallawa <said@apple.com> |
| |
| [GPU Process] Ensure that no image decoders run in the GPU Process |
| https://bugs.webkit.org/show_bug.cgi?id=221885 |
| <rdar://problem/74341122> |
| |
| Reviewed by Simon Fraser. |
| |
| CGImageSourceSetAllowableTypes() is available starting from macOS Big Sur |
| and iOS 14.0. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-02-15 Michael Saboff <msaboff@apple.com> |
| |
| REGRESSION r272823): Crash in ARM64e Wasm tests |
| https://bugs.webkit.org/show_bug.cgi?id=221922 |
| |
| Reviewed by Mark Lam. |
| |
| Updated to properly compute the size of thread_state_t as well as the offset of |
| the PC found in thread_state_t. |
| |
| * wtf/threads/Signals.cpp: |
| (WTF::hashThreadState): |
| |
| 2021-02-15 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r272831. |
| https://bugs.webkit.org/show_bug.cgi?id=221907 |
| |
| breaking internal build |
| |
| Reverted changeset: |
| |
| "[JSC] Enable JITCage on macOS" |
| https://bugs.webkit.org/show_bug.cgi?id=221805 |
| https://trac.webkit.org/changeset/272831 |
| |
| 2021-02-15 Youenn Fablet <youenn@apple.com> |
| |
| Move WebRTCPlatformCodecsInGPUProcessEnabled to Page Settings |
| https://bugs.webkit.org/show_bug.cgi?id=221893 |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-02-15 Lauro Moura <lmoura@igalia.com> |
| |
| REGRESSION(r272842) [GStreamer] Layout tests exiting early due to crashes after GPUProcess for media enabled by default for WTR |
| https://bugs.webkit.org/show_bug.cgi?id=221883 |
| |
| Reviewed by Philippe Normand. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: Disable |
| UseGPUProcessForMediaEnabled when using GStreamer for now. |
| |
| 2021-02-14 Peng Liu <peng.liu6@apple.com> |
| |
| [GPUP] Move UseGPUProcessForMediaEnabled from WebPreferencesInternal to WebPreferencesExperimental |
| https://bugs.webkit.org/show_bug.cgi?id=221310 |
| |
| Reviewed by Eric Carlson. |
| |
| Move UseGPUProcessForMediaEnabled from WebPreferencesInternal to WebPreferencesExperimental, |
| so that the WebKitTestRunner will turn it on by default. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-02-12 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Enable JITCage on macOS |
| https://bugs.webkit.org/show_bug.cgi?id=221805 |
| <rdar://problem/74153806> |
| |
| Reviewed by Mark Lam. |
| |
| Enable JIT_CAGE when macOS is 120000 or higher with ARM64E. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2021-02-12 Michael Saboff <msaboff@apple.com> |
| |
| [ARM64e] Harden Mach exception handling |
| https://bugs.webkit.org/show_bug.cgi?id=221841 |
| |
| Reviewed by Geoffrey Garen. |
| |
| For Darwin ARM64e platforms, we check to make sure that all thread state besides the PC hasn't |
| been modified by an exception handler. |
| |
| * wtf/threads/Signals.cpp: |
| (WTF::hashThreadState): |
| |
| 2021-02-11 Jer Noble <jer.noble@apple.com> |
| |
| [Mac] Add Experimental Opus Codec support |
| https://bugs.webkit.org/show_bug.cgi?id=221745 |
| |
| Reviewed by Eric Carlson. |
| |
| Add a new experimental feature setting, disabled by default, controlling whether to |
| enable parsing of Opus tracks from WebM files. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-02-11 Alex Christensen <achristensen@webkit.org> |
| |
| Reduce string copies when converting from NSString/CFStringRef to WTF::String |
| https://bugs.webkit.org/show_bug.cgi?id=221766 |
| |
| Reviewed by Geoff Garen. |
| |
| This reduces the string copies from two to one which should speed up many things. |
| The cost is that for non-Latin1-encodable strings of length less than 1024, we now do an allocation |
| and a reallocation, whereas before we were doing just one allocation. I think even in this case, though, |
| the cost of a reallocation should be comparable to the cost of doing a double string copy, |
| and the benefit of reducing a string copy everywhere is compelling. |
| |
| I also reduced duplicate code by combining the CF and NS implementations. |
| |
| * wtf/text/WTFString.h: |
| * wtf/text/cf/StringCF.cpp: |
| (WTF::String::String): |
| * wtf/text/cocoa/StringCocoa.mm: |
| (WTF::String::String): Deleted. |
| |
| 2021-02-11 Sam Weinig <weinig@apple.com> |
| |
| Returning sRGB from CG color space functions on failure is too error prone |
| https://bugs.webkit.org/show_bug.cgi?id=221676 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformHave.h: |
| Add specific macros for color spaces supported by Core Graphics. |
| |
| 2021-02-10 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Reduce the overhead of DocumentFragment in innerHTML & outerHTML |
| https://bugs.webkit.org/show_bug.cgi?id=221535 |
| <rdar://problem/73861015> |
| |
| Reviewed by Geoffrey Garen. |
| |
| Added a helper function for writing assertions. |
| |
| * wtf/WeakPtr.h: |
| (WTF::WeakPtrFactory::isInitialized const): Added. |
| |
| 2021-02-10 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Use HAVE(PEPPER_UI_CORE) instead of PLATFORM(WATCHOS) to guard code that uses PepperUICore |
| https://bugs.webkit.org/show_bug.cgi?id=221679 |
| |
| Reviewed by Tim Horton. |
| |
| Add the `HAVE(PEPPER_UI_CORE)` compile-time flag. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-02-10 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [watchOS] Adopt PUICQuickboardController for text input |
| https://bugs.webkit.org/show_bug.cgi?id=221649 |
| |
| Reviewed by Tim Horton. |
| |
| Add a new internal setting. See other ChangeLogs for more detail. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-02-09 Devin Rousso <drousso@apple.com> |
| |
| [iOS] Add support for the language/subtitle tracks button using `UIMenu` |
| https://bugs.webkit.org/show_bug.cgi?id=221594 |
| <rdar://problem/74129129> |
| |
| Reviewed by Eric Carlson and Wenson Hsieh. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| Create a `MediaControlsContextMenusEnabled` setting for guarding an IDL hook to WK2 only. |
| |
| 2021-02-09 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| REGRESSION(r269017): Speedometer2 1% regression |
| https://bugs.webkit.org/show_bug.cgi?id=221640 |
| |
| Reviewed by Mark Lam. |
| |
| Reverting r269017, r269478, and r272095 because of Speedometer2 ~1% regression. |
| |
| * wtf/HashTable.h: |
| (WTF::KeyTraits>::inlineLookup): |
| (WTF::KeyTraits>::lookupForWriting): |
| (WTF::KeyTraits>::fullLookupForWriting): |
| (WTF::KeyTraits>::addUniqueForInitialization): |
| (WTF::KeyTraits>::add): |
| * wtf/HashTraits.h: |
| * wtf/MetaAllocator.cpp: |
| (WTF::MetaAllocator::addFreeSpace): |
| * wtf/MetaAllocator.h: |
| |
| 2021-02-09 Eric Carlson <eric.carlson@apple.com> |
| |
| [macOS] Add internal preference to control how AVOutputContext is allocated |
| https://bugs.webkit.org/show_bug.cgi?id=221583 |
| <rdar://73830632> |
| |
| Reviewed by Jer Noble. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-02-06 Alex Christensen <achristensen@webkit.org> |
| |
| Non-special URLs should have an opaque origin |
| https://bugs.webkit.org/show_bug.cgi?id=162254 |
| |
| Reviewed by Geoff Garen. |
| |
| * wtf/URL.h: |
| |
| 2021-02-04 David Kilzer <ddkilzer@apple.com> |
| |
| WTF::dynamic_cf_cast<> should not assert in Debug builds |
| <https://webkit.org/b/221428> |
| <rdar://problem/73451079> |
| |
| Reviewed by Geoff Garen. |
| |
| * wtf/cf/TypeCastsCF.h: |
| (WTF::dynamic_cf_cast): |
| - Remove ASSERT_WITH_SECURITY_IMPLICATION(). |
| (WTF::checked_cf_cast): |
| - Add comments about how to use these template functions |
| correctly. |
| |
| 2021-02-03 Alex Christensen <achristensen@webkit.org> |
| |
| Fix Catalyst build after r272228 |
| https://bugs.webkit.org/show_bug.cgi?id=220683 |
| <rdar://problem/73940814> |
| |
| * wtf/PlatformHave.h: |
| Turn off our use of UIEventAttribution on Catalyst until we update our internal bots. |
| |
| 2021-02-03 Jiewen Tan <jiewen_tan@apple.com> |
| |
| PCM: Add fraud prevention experimental feature flag |
| https://bugs.webkit.org/show_bug.cgi?id=221292 |
| <rdar://problem/73581064> |
| |
| Reviewed by John Wilander. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-02-03 Kimmo Kinnunen <kkinnunen@apple.com> |
| |
| MachSemaphore does not work well with IPC messages |
| https://bugs.webkit.org/show_bug.cgi?id=220919 |
| <rdar://problem/73826848> |
| |
| Reviewed by Sam Weinig. |
| |
| Move WTF::MachSemaphore to WebKit IPC::Semaphore. Currently the |
| MachSemaphore is useful only in cross-process IPC, implemented by the |
| IPC::. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| |
| 2021-02-02 Said Abou-Hallawa <said@apple.com> |
| |
| [macOS] Force loading the HEIF reader symbols before transcoding any HEIF image |
| https://bugs.webkit.org/show_bug.cgi?id=221191 |
| <rdar://problem/70942158> |
| |
| Reviewed by Tim Horton. |
| |
| Add a HAVE macro for the fix of <rdar://problem/59589723>. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-02-02 Alex Christensen <achristensen@webkit.org> |
| |
| Adopt UIEventAttribution instead of _UIEventAttribution |
| https://bugs.webkit.org/show_bug.cgi?id=220683 |
| |
| Reviewed by John Wilander. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-02-02 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK][WPE] Migrate WebKitTestServer to libsoup 2.48 API |
| https://bugs.webkit.org/show_bug.cgi?id=219160 |
| <rdar://problem/71620310> |
| |
| Reviewed by Michael Catanzaro. |
| |
| * wtf/Platform.h: Bump libsoup minimum required version to 2.54. |
| |
| 2021-02-01 Mark Lam <mark.lam@apple.com> |
| |
| ConcurrentPtrHashSet::contains() should be const. |
| https://bugs.webkit.org/show_bug.cgi?id=221241 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/ConcurrentPtrHashSet.h: |
| |
| 2021-02-01 Jer Noble <jer.noble@apple.com> |
| |
| [Cocoa] Disable interstitial events on AVPlayerItem. |
| https://bugs.webkit.org/show_bug.cgi?id=221215 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-02-01 Olivier Blin <olivier.blin@softathome.com> |
| |
| clang Linux build cannot link because of __builtin_mul_overflow |
| https://bugs.webkit.org/show_bug.cgi?id=190208 |
| |
| Since r183319, __builtin_mul_overflow is used with gcc or clang in WTF/wtf/CheckedArithmetic.h |
| |
| This leads to a link failure when WebKit is built on Linux with clang and the libgcc runtime, |
| because of an undefined reference to the __mulodi4 symbol. |
| |
| This is because clang generates code using the __mulodi4 symbol for __builtin_mul_overflow. |
| But this symbol is available only in compiler-rt, and not in the libgcc runtime used by most |
| Linux distributions of clang. |
| |
| See also this upstream clang bug: https://bugs.llvm.org/show_bug.cgi?id=28629 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/CheckedArithmetic.h: Do not use __builtin_mul_overflow with clang on Linux for ARM |
| |
| 2021-01-31 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Date.parse returns non-integral time value |
| https://bugs.webkit.org/show_bug.cgi?id=220687 |
| |
| Reviewed by Ross Kirsling. |
| |
| Use milliseconds instead of seconds as a base unit to avoid floating point rounding for milliseconds. |
| |
| * wtf/DateMath.cpp: |
| (WTF::ymdhmsToMilliseconds): |
| (WTF::parseES5TimePortion): |
| (WTF::parseES5DateFromNullTerminatedCharacters): |
| (WTF::parseDateFromNullTerminatedCharacters): |
| (WTF::ymdhmsToSeconds): Deleted. |
| |
| 2021-01-30 Antti Koivisto <antti@apple.com> |
| |
| Enable visibility aware resource load scheduling |
| https://bugs.webkit.org/show_bug.cgi?id=221032 |
| |
| Reviewed by Zalan Bujtas. |
| |
| Performance testing indicates this is a significant speedup in competetive PLT. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-01-30 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [macOS] Remove support for image controls |
| https://bugs.webkit.org/show_bug.cgi?id=221156 |
| |
| Reviewed by Tim Horton. |
| |
| Remove this unused WebKit setting. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2021-01-29 Tadeu Zagallo <tzagallo@apple.com> |
| |
| Make check for full HashTables opt-in |
| https://bugs.webkit.org/show_bug.cgi?id=221166 |
| <rdar://problem/70902458> |
| |
| Reviewed by Saam Barati and Yusuke Suzuki. |
| |
| Having the check always on was a regression on Speedometer2, so we only keep it for |
| the HashMaps in the MetaAllocator. |
| |
| * wtf/HashTable.h: |
| (WTF::KeyTraits>::inlineLookup): |
| (WTF::KeyTraits>::lookupForWriting): |
| (WTF::KeyTraits>::fullLookupForWriting): |
| (WTF::KeyTraits>::addUniqueForInitialization): |
| (WTF::KeyTraits>::add): |
| * wtf/HashTraits.h: |
| * wtf/MetaAllocator.cpp: |
| (WTF::MetaAllocator::addFreeSpace): |
| * wtf/MetaAllocator.h: |
| |
| 2021-01-29 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| WebKit doesn't automatically right-align Adlam |
| https://bugs.webkit.org/show_bug.cgi?id=220885 |
| |
| Reviewed by Alex Christensen. |
| |
| If we want to iterate across code points, we have to actually |
| iterate across code points instead of iterating across code units. |
| |
| Test: fast/text/adlam-dir-auto.html |
| |
| * wtf/text/StringImpl.cpp: |
| (WTF::StringImpl::defaultWritingDirection): |
| |
| 2021-01-29 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| font-stretch is not applied to system-ui |
| https://bugs.webkit.org/show_bug.cgi?id=221103 |
| <rdar://problem/73719139> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-01-28 Chris Dumez <cdumez@apple.com> |
| |
| [macOS] Policy for warning about or killing processes using too much memory triggers too easily |
| https://bugs.webkit.org/show_bug.cgi?id=221104 |
| <rdar://73625621> |
| |
| Reviewed by Geoff Garen. |
| |
| The policy for warning about or killing processes using too much memory was triggering too |
| easily. I made the following changes to the policy to address this: |
| 1. We no longer kill WebProcesses associated with a visible (parented) view under any |
| circumstances. We used to kill active WebProcesses when they reached 4GB. We would |
| also kill visible WebProcesses when they reached 2GB if there were visible but not |
| active / focused. |
| 2. For background WebProcesses (associated with non visible / parented views), I have |
| raised the kill limit from 2GB to 4GB. |
| 3. For foreground WebProcesses (associated with visible / parent views), I have also |
| raised the limit to show the excessive memory usage banner from 2GB to 4GB. |
| |
| * wtf/MemoryPressureHandler.cpp: |
| (WTF::thresholdForMemoryKillOfInactiveProcess): |
| (WTF::MemoryPressureHandler::thresholdForMemoryKill): |
| (WTF::MemoryPressureHandler::shrinkOrDie): |
| (WTF::MemoryPressureHandler::measurementTimerFired): |
| * wtf/MemoryPressureHandler.h: |
| |
| 2021-01-28 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Add JSC_SIGNAL_FOR_GC environment variable for Linux / FreeBSD |
| https://bugs.webkit.org/show_bug.cgi?id=221081 |
| |
| Reviewed by Mark Lam. |
| |
| This patch adds JSC_SIGNAL_FOR_GC environment variable, |
| which changes signal number used for GC suspension. |
| |
| * wtf/posix/ThreadingPOSIX.cpp: |
| (WTF::Thread::initializePlatformThreading): |
| |
| 2021-01-25 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| WebAssembly: add support for stream APIs |
| https://bugs.webkit.org/show_bug.cgi?id=173105 |
| |
| Reviewed by Keith Miller. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2021-01-27 Per Arne <pvollan@apple.com> |
| |
| [macOS] Re-enable ENABLE_SET_WEBCONTENT_PROCESS_INFORMATION_IN_NETWORK_PROCESS |
| https://bugs.webkit.org/show_bug.cgi?id=221039 |
| <rdar://problem/73665061> |
| |
| Reviewed by Brent Fulgham. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-01-27 Antti Koivisto <antti@apple.com> |
| |
| Implement visibility based resource load scheduling for low priority resources |
| https://bugs.webkit.org/show_bug.cgi?id=220728 |
| |
| Reviewed by Geoff Garen. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| Add an internal setting, default to off for now. |
| |
| 2021-01-26 BJ Burg <bburg@apple.com> |
| |
| REGRESSION(r267641): WebKitDeveloperExtras preference has no effect for WebKitLegacy clients |
| https://bugs.webkit.org/show_bug.cgi?id=220996 |
| <rdar://72173139> |
| |
| Reviewed by Sam Weinig. |
| |
| This preference should use custom bindings for WebKitLegacy. |
| |
| * Scripts/Preferences/WebPreferencesDebug.yaml: |
| |
| 2021-01-26 Saam Barati <sbarati@apple.com> |
| |
| Revive the build when MALLOC_HEAP_BREAKDOWN is enabled |
| https://bugs.webkit.org/show_bug.cgi?id=220999 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/Bag.cpp: |
| * wtf/BitVector.cpp: |
| * wtf/ConcurrentBuffer.cpp: |
| * wtf/FastBitVector.cpp: |
| * wtf/HashTable.cpp: |
| * wtf/MetaAllocator.cpp: |
| * wtf/RefCountedArray.cpp: |
| * wtf/SegmentedVector.cpp: |
| * wtf/SmallPtrSet.cpp: |
| * wtf/UniqueArray.cpp: |
| * wtf/Vector.cpp: |
| * wtf/text/CString.cpp: |
| * wtf/text/StringBuffer.cpp: |
| |
| 2021-01-26 Per Arne <pvollan@apple.com> |
| |
| [macOS] Disable ENABLE_SET_WEBCONTENT_PROCESS_INFORMATION_IN_NETWORK_PROCESS |
| https://bugs.webkit.org/show_bug.cgi?id=221006 |
| |
| Unreviewed crash fix. |
| |
| Enabling this is causing a crash. Disable while investigating. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-01-26 Alex Christensen <achristensen@webkit.org> |
| |
| Forbid '|' in URL hosts |
| https://bugs.webkit.org/show_bug.cgi?id=220778 |
| |
| Reviewed by Youenn Fablet. |
| |
| This is one of the proposed solutions to https://github.com/whatwg/url/issues/559 |
| and RFC 3986 and 3987 forbid such characters, so let's try forbidding it. |
| |
| * wtf/URLParser.cpp: |
| (WTF::isC0Control): |
| (WTF::isForbiddenHostCodePoint): |
| |
| 2021-01-25 Chris Dumez <cdumez@apple.com> |
| |
| Support AbortSignal in addEventListenerOptions to unsubscribe from events |
| https://bugs.webkit.org/show_bug.cgi?id=218753 |
| <rdar://problem/71258012> |
| |
| Reviewed by Darin Adler. |
| |
| Add initializeWeakPtrFactory() protection function to CanMakeWeakPtr so that a subclass |
| can eagerly initialize the WeakPtrFactory even if it does not subclass |
| WeakPtrFactory<T, WeakPtrFactoryInitialization::Eager>. MessagePort used to subclass |
| WeakPtrFactory<T, WeakPtrFactoryInitialization::Eager> for thread-safety reason but it |
| now subclasses WeakPtrFactory<T, WeakPtrFactoryInitialization::Lazy> via EventTarget. |
| |
| * wtf/WeakPtr.h: |
| (WTF::CanMakeWeakPtr::initializeWeakPtrFactory): |
| |
| 2021-01-25 Per Arne Vollan <pvollan@apple.com> |
| |
| [macOS] Fix OS version check for ENABLE_SET_WEBCONTENT_PROCESS_INFORMATION_IN_NETWORK_PROCESS |
| https://bugs.webkit.org/show_bug.cgi?id=219534 |
| <rdar://problem/71973149> |
| |
| Reviewed by Brent Fulgham. |
| |
| The OS version check for ENABLE_SET_WEBCONTENT_PROCESS_INFORMATION_IN_NETWORK_PROCESS is incorrect. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-01-23 Xan Lopez <xan@igalia.com> |
| |
| [JSC] Allow to build WebAssembly without B3 |
| https://bugs.webkit.org/show_bug.cgi?id=220365 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/PlatformEnable.h: Disable WebAssembly on 32bit platforms, |
| enable WebAssembly B3JIT on PLATFORM(COCOA). |
| |
| 2021-01-21 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed attempt to fix WatchOS build after r271673. |
| |
| This feature is not available in the simulator for any of the |
| IOS_FAMILY platforms. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-01-21 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, reverting r271727. |
| |
| Fix is wrong |
| |
| Reverted changeset: |
| |
| "Unreviewed attempt to fix WatchOS build after r271673." |
| https://trac.webkit.org/changeset/271727 |
| |
| 2021-01-21 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed attempt to fix WatchOS build after r271673. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-01-21 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Add experimental support for separated layers |
| https://bugs.webkit.org/show_bug.cgi?id=220734 |
| |
| Unreviewed build fix. |
| |
| * wtf/PlatformHave.h: Remove watchOS and tvOS. |
| |
| 2021-01-21 Alex Christensen <achristensen@webkit.org> |
| |
| Add experimental feature to use network loader |
| https://bugs.webkit.org/show_bug.cgi?id=220521 |
| <rdar://problem/69394713> |
| |
| Reviewed by Geoff Garen. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * wtf/PlatformHave.h: |
| |
| 2021-01-21 Aditya Keerthi <akeerthi@apple.com> |
| |
| Unreviewed, reverting r271691. |
| https://bugs.webkit.org/show_bug.cgi?id=220812 |
| |
| Introduced crash, and failing API tests. |
| |
| Reverted changeset: |
| |
| "[macOS] Titlebar separator doesn't show when WKWebView is scrolled" |
| https://bugs.webkit.org/show_bug.cgi?id=220633 |
| https://trac.webkit.org/changeset/271691 |
| |
| 2021-01-21 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| Remove ENABLE_USERSELECT_ALL macro which is enabled for all ports |
| https://bugs.webkit.org/show_bug.cgi?id=100424 |
| |
| Reviewed by Don Olmstead. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-01-21 Sam Weinig <weinig@apple.com> |
| |
| Add experimental support for separated layers |
| https://bugs.webkit.org/show_bug.cgi?id=220734 |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/PlatformHave.h: |
| Define HAVE_CORE_ANIMATION_SEPARATED_LAYERS for supported configurations. |
| |
| 2021-01-21 Aditya Keerthi <akeerthi@apple.com> |
| |
| [macOS] Titlebar separator doesn't show when WKWebView is scrolled |
| https://bugs.webkit.org/show_bug.cgi?id=220633 |
| <rdar://problem/71094055> |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformHave.h: Defined HAVE_NSSCROLLVIEW_SEPARATOR_TRACKING_ADAPTER. |
| |
| 2021-01-20 Youenn Fablet <youenn@apple.com> |
| |
| Enable WebRTC VP9 profile 0 by default |
| https://bugs.webkit.org/show_bug.cgi?id=219390 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-01-19 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] StringImpl::removeCharacters should be inlined |
| https://bugs.webkit.org/show_bug.cgi?id=220742 |
| |
| Reviewed by Saam Barati. |
| |
| removeCharacters is used in WebCore's HTMLInputElement's critical path. And since String relatively has many elements (characters), |
| non-inlined StringImpl::removeCharacters causes significant number of indirect function calls of `findMatch` argument since it is |
| passed function pointer. We should make them templatized function to allow inlining of `findMatch` function to avoid repeated indirect calls. |
| |
| * wtf/text/StringImpl.cpp: |
| (WTF::StringImpl::removeCharacters): Deleted. |
| * wtf/text/StringImpl.h: |
| (WTF::StringImpl::removeCharactersImpl): |
| (WTF::StringImpl::removeCharacters): |
| * wtf/text/WTFString.cpp: |
| (WTF::String::removeCharacters const): Deleted. |
| * wtf/text/WTFString.h: |
| (WTF::String::removeCharacters const): |
| |
| 2021-01-17 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Add JSC API configuring GC signals in Linux |
| https://bugs.webkit.org/show_bug.cgi?id=220641 |
| |
| Reviewed by Mark Lam. |
| |
| In Linux and FreeBSD, we need to use signals to suspend and resume threads. |
| By default, we are using SIGUSR1, but it is possible that some embedders want to use |
| the other signals since they are using SIGUSR1 already. To work-around that, this |
| patch offers the way for embedders to configure signals. |
| |
| * wtf/Threading.h: |
| * wtf/WTFConfig.h: |
| * wtf/posix/ThreadingPOSIX.cpp: |
| (WTF::Thread::signalHandlerSuspendResume): |
| (WTF::Thread::initializePlatformThreading): |
| (WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated): |
| (WTF::Thread::initializeCurrentTLS): |
| (WTF::Thread::suspend): |
| (WTF::Thread::resume): |
| * wtf/threads/Signals.cpp: |
| (WTF::addSignalHandler): |
| * wtf/win/ThreadingWin.cpp: |
| (WTF::Thread::initializeCurrentTLS): |
| |
| 2021-01-15 Chris Dumez <cdumez@apple.com> |
| |
| [GPUProcess] Move DOM / Canvas rendering off the main thread in the GPUProcess |
| https://bugs.webkit.org/show_bug.cgi?id=220476 |
| |
| Reviewed by Simon Fraser. |
| |
| Add trait function that gets called TinyLRUCache to convert the key before storing |
| it. It is useful for clients that need to call isolatedCopy() on the key String before |
| storing it. |
| |
| * wtf/TinyLRUCache.h: |
| (WTF::TinyLRUCachePolicy::createKeyForStorage): |
| (WTF::TinyLRUCache::get): |
| |
| 2021-01-14 Alex Christensen <achristensen@webkit.org> |
| |
| Add dotless j and small N to unicode lookalike character list |
| https://bugs.webkit.org/show_bug.cgi?id=220632 |
| <rdar://problem/72101901> |
| |
| Reviewed by David Kilzer. |
| |
| They are visually distinguishable from j and n, but they are also not used in any common languages like dotless i is, |
| (I know, all my international phonetic alphabet enthusiast friends are disappointed) |
| so there's not much reason not to add them. Chrome and Firefox have already added them, so let's do it too. |
| |
| * wtf/URLHelpers.cpp: |
| (WTF::URLHelpers::isLookalikeCharacter): |
| |
| 2021-01-14 Geoffrey Garen <ggaren@apple.com> |
| |
| Removed most uses of dispatch_async(dispatch_get_main_queue(), ...) |
| https://bugs.webkit.org/show_bug.cgi?id=220066 |
| |
| Reviewed by Antti Koivisto. |
| |
| dispatch_async has two downsides: |
| |
| (1) Its order is undefined (and in practice highly variable) relative to |
| other WebKit operations. This sometimes causes flakiness. |
| |
| (2) It doesn't honor the RunLoop first paint optimization. |
| |
| We can use RunLoop::dispatch() instead. |
| |
| * wtf/cocoa/MainThreadCocoa.mm: |
| (WTF::dispatchAsyncOnMainThreadWithWebThreadLockIfNeeded): |
| (WTF::callOnWebThreadOrDispatchAsyncOnMainThread): |
| |
| 2021-01-14 Per Arne Vollan <pvollan@apple.com> |
| |
| [GPUP][iOS] Create sandbox extensions for cache and temp directory |
| https://bugs.webkit.org/show_bug.cgi?id=220595 |
| <rdar://problem/72450307> |
| |
| Reviewed by Chris Dumez. |
| |
| Add USE define for using sandbox extensions to grant access to cache and temp directory. |
| |
| * wtf/PlatformUse.h: |
| |
| 2021-01-13 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Delete sexist comment |
| https://bugs.webkit.org/show_bug.cgi?id=220603 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/StdLibExtras.h: |
| |
| 2021-01-11 Kimmo Kinnunen <kkinnunen@apple.com> |
| |
| WebKit::IPC::Encoder needs definitions of all custom enum values at the Encoder definition time |
| https://bugs.webkit.org/show_bug.cgi?id=220410 |
| |
| Reviewed by Darin Adler. |
| |
| Change WTF::EnumTraits to have either EnumTraits::values or EnumTraits::isValidEnum(). |
| Previously, if clients wanted to check isValidEnum for custom enum, they had to: |
| 1) Define HasCustomIsValidEnum<TheirEnum> : true_type {}; |
| 2) Define new function template isValidEnum() for TheirEnum |
| 3) Ensure that their isValidEnum() was defined before the definition of the call to |
| the isValidEnum(). |
| |
| This has the problem that isValidEnum() cannot be called in generic code, because |
| at the definition time generic code typically does not have all the types in scope |
| that will be used at instantiation time. |
| Each isValidEnum() is their own function template, C++ does not have function template |
| specialization. |
| |
| After the change, clients need to: |
| 1) Define EnumTraits<TheirEnum> { bool isValidEnum(...) } |
| |
| Fix by using the fact that WTF::EnumTraits is a class and that can have template |
| specializations. |
| |
| Consistent with the EnumTraits::values case: |
| a) Automatic case? --> Define EnumTraits::values |
| b) Manual/custom case? --> Define EnumTraits::isValidEnum() |
| |
| * wtf/EnumTraits.h: |
| (WTF::isValidEnum): |
| |
| 2021-01-08 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Disable JITCage compile time in old iOS |
| https://bugs.webkit.org/show_bug.cgi?id=220477 |
| |
| Reviewed by Darin Adler. |
| |
| ENABLE(JIT_CAGE) becomes false in old iOS. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2021-01-08 Chris Dumez <cdumez@apple.com> |
| |
| Make it safe to re-enter HashMap::clear() |
| https://bugs.webkit.org/show_bug.cgi?id=220445 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Make it safe to re-enter HashMap::clear(). This will fix some crashes on the GPUProcess bots |
| due to DisplayList::clear() re-entering via HashMap::clear(). |
| |
| * wtf/HashTable.h: |
| (WTF::KeyTraits>::clear): |
| |
| 2021-01-07 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r271192. |
| https://bugs.webkit.org/show_bug.cgi?id=220440 |
| |
| |
| Reverted changeset: |
| |
| "NSCrossWebsiteTrackingUsageDescription is not working on Mac, |
| ITP is always enabled" |
| https://bugs.webkit.org/show_bug.cgi?id=220190 |
| https://trac.webkit.org/changeset/271192 |
| |
| 2021-01-07 Monson Shao <holymonson@gmail.com> |
| |
| [CMake] Add USE_APPLE_ICU option |
| https://bugs.webkit.org/show_bug.cgi?id=220081 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Add USE_APPLE_ICU option to allow non-Mac ports (GTK or JSCOnly) on Darwin could build with |
| non-Apple ICU. |
| |
| * CMakeLists.txt: |
| |
| 2021-01-07 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Build failures with GTK4 3.99.5.1 |
| https://bugs.webkit.org/show_bug.cgi?id=219844 |
| |
| Reviewed by Philippe Normand. |
| |
| * wtf/Platform.h: |
| |
| 2021-01-06 Jer Noble <jer.noble@apple.com> |
| |
| [Cocoa] Revert audioTimePitchAlgorithm to "TimeDomain" from "Spectral" |
| https://bugs.webkit.org/show_bug.cgi?id=220341 |
| |
| Reviewed by Youenn Fablet. |
| |
| Add a private preference to control what pitch correction algorithm will be used by MediaPlayer. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2021-01-06 Andy Estes <aestes@apple.com> |
| |
| [Mac] Replace most uses of HAVE(MT_PLUGIN_FORMAT_READER) with ENABLE(WEBM_FORMAT_READER) |
| https://bugs.webkit.org/show_bug.cgi?id=220374 |
| <rdar://problem/72600426> |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-01-05 Kate Cheney <katherine_cheney@apple.com> |
| |
| NSCrossWebsiteTrackingUsageDescription is not working on Mac, ITP is always enabled |
| https://bugs.webkit.org/show_bug.cgi?id=220190 |
| <rdar://problem/72744909> |
| |
| Reviewed by Brent Fulgham. |
| |
| * wtf/PlatformUse.h: |
| |
| 2021-01-05 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Add a feature flag to stop leaking an XPC boost message to XPC services |
| https://bugs.webkit.org/show_bug.cgi?id=219453 |
| <rdar://72834999> |
| |
| Reviewed by Geoff Garen. |
| |
| Add new RUNNINGBOARD_WEBKIT_PRIORITY_SUPPORT build time flag since we need a recent |
| enough build of RunningBoard to do this. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-12-27 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Add a helper method to WTF::MachSemaphore to wait with a timeout duration |
| https://bugs.webkit.org/show_bug.cgi?id=220110 |
| |
| Reviewed by Sam Weinig. |
| |
| Adds a helper method on the cross-process WTF::MachSemaphore class (to be utilized in webkit.org/b/219586). |
| |
| * wtf/cocoa/MachSemaphore.cpp: |
| (WTF::MachSemaphore::waitFor): |
| |
| This wraps a call to `semaphore_timedwait`, and converts the given time (in WTF::Seconds) into a |
| `mach_timespec_t`, which is an unsigned representing the number of seconds, along with another integer |
| representing the number of nanoseconds. |
| |
| * wtf/cocoa/MachSemaphore.h: |
| |
| 2020-12-23 Monson Shao <holymonson@gmail.com> |
| |
| [GTK][CMake] Forward missing header on Darwin |
| https://bugs.webkit.org/show_bug.cgi?id=220114 |
| |
| Reviewed by Alex Christensen. |
| |
| Building jsc with GTK port on Darwin needs spi/darwin/ProcessMemoryFootprint.h |
| |
| * wtf/PlatformGTK.cmake: |
| |
| 2020-12-20 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, reverting r270969. |
| |
| Regressed MotionMark with GPUProcess enabled |
| |
| Reverted changeset: |
| |
| "[iOS] Stop leaking an XPC boost message to XPC services" |
| https://bugs.webkit.org/show_bug.cgi?id=219453 |
| https://trac.webkit.org/changeset/270969 |
| |
| 2020-12-18 Megan Gardner <megan_gardner@apple.com> |
| |
| Gate all of the code associated with app highlights |
| https://bugs.webkit.org/show_bug.cgi?id=220003 |
| |
| Reviewed by Tim Horton. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2020-12-18 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Stop leaking an XPC boost message to XPC services |
| https://bugs.webkit.org/show_bug.cgi?id=219453 |
| |
| Reviewed by Geoff Garen. |
| |
| Add new RUNNINGBOARD_WEBKIT_PRIORITY_SUPPORT build time flag since we need a recent |
| enough build of RunningBoard to do this. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-12-17 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, drop unnecessary forward declaration added in r270938. |
| |
| * wtf/cocoa/MachSemaphore.h: |
| |
| 2020-12-17 Chris Dumez <cdumez@apple.com> |
| |
| [GPUProcess] Replace WebAudio rendering timer with a cross-process semaphore |
| https://bugs.webkit.org/show_bug.cgi?id=219964 |
| |
| Reviewed by Geoff Garen. |
| |
| Introduce MachSemaphore class, which is a C++ wrapper around a low-level |
| mach semaphore. This semaphore can be used cross-process and sent via |
| IPC as a MachSendRight. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/PlatformMac.cmake: |
| * wtf/cocoa/MachSemaphore.cpp: Added. |
| (WTF::MachSemaphore::MachSemaphore): |
| (WTF::MachSemaphore::~MachSemaphore): |
| (WTF::MachSemaphore::signal): |
| (WTF::MachSemaphore::wait): |
| (WTF::MachSemaphore::createSendRight): |
| * wtf/cocoa/MachSemaphore.h: Added. |
| |
| 2020-12-15 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Accept arbitrary module namespace identifier names |
| https://bugs.webkit.org/show_bug.cgi?id=217576 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/text/StringView.h: |
| (WTF::hasUnpairedSurrogate): |
| |
| 2020-12-15 Jer Noble <jer.noble@apple.com> |
| |
| [Cocoa] Adopt -externalContentProtectionStatus |
| https://bugs.webkit.org/show_bug.cgi?id=219911 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-12-15 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r270860. |
| https://bugs.webkit.org/show_bug.cgi?id=219918 |
| |
| We workaround it differently, so this revert is not necessary |
| |
| Reverted changeset: |
| |
| "Unreviewed, reverting r269320, r269341, r269502, and |
| r269576." |
| https://bugs.webkit.org/show_bug.cgi?id=219915 |
| https://trac.webkit.org/changeset/270860 |
| |
| 2020-12-15 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r269320, r269341, r269502, and r269576. |
| https://bugs.webkit.org/show_bug.cgi?id=219915 |
| |
| ICU C++ internal API causes trouble |
| |
| Reverted changesets: |
| |
| "REGRESSION (r254038): Simple.com money transfer UI is very |
| laggy (multiple seconds per keypress)" |
| https://bugs.webkit.org/show_bug.cgi?id=218348 |
| https://trac.webkit.org/changeset/269320 |
| |
| "[JSC] Obtain default timezone ID from cached icu::TimeZone" |
| https://bugs.webkit.org/show_bug.cgi?id=218531 |
| https://trac.webkit.org/changeset/269341 |
| |
| "toLocaleDateString() resolves incorrect date for some old |
| dates" |
| https://bugs.webkit.org/show_bug.cgi?id=161623 |
| https://trac.webkit.org/changeset/269502 |
| |
| "[JSC] Add TimeZone range cache over ICU TimeZone API" |
| https://bugs.webkit.org/show_bug.cgi?id=218681 |
| https://trac.webkit.org/changeset/269576 |
| |
| 2020-12-15 Sihui Liu <sihui_liu@apple.com> |
| |
| Enable SpeechRecognition by default |
| https://bugs.webkit.org/show_bug.cgi?id=219798 |
| |
| Reviewed by Youenn Fablet. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2020-12-14 Alex Christensen <achristensen@webkit.org> |
| |
| Get more informatiton from assertion when uidna_openUTS46 fails |
| https://bugs.webkit.org/show_bug.cgi?id=219881 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| <rdar://problem/66988046> shows that this fails sometimes. |
| Updating the assertion should let me know more information. |
| |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::internationalDomainNameTranscoder): |
| |
| 2020-12-14 Chris Dumez <cdumez@apple.com> |
| |
| [GPUProcess] Bump QoS to UserInteractive for real-time audio rendering thread |
| https://bugs.webkit.org/show_bug.cgi?id=219873 |
| |
| Reviewed by Eric Carlson. |
| |
| Add QOS parameter to the Thread construct (similarly to WorkQueue) so that the caller can |
| specify which QoS to use for the thread. Previously, the code was using UserInteractive |
| QoS unconditionally, which may be too high is some cases and too low in others. |
| |
| * wtf/Threading.cpp: |
| (WTF::Thread::create): |
| * wtf/Threading.h: |
| * wtf/WorkQueue.h: |
| * wtf/cocoa/WorkQueueCocoa.cpp: |
| (WTF::WorkQueue::platformInitialize): |
| (WTF::dispatchQOSClass): Deleted. |
| * wtf/posix/ThreadingPOSIX.cpp: |
| (WTF::Thread::dispatchQOSClass): |
| (WTF::Thread::establishHandle): |
| * wtf/win/ThreadingWin.cpp: |
| (WTF::Thread::establishHandle): |
| |
| 2020-12-14 Tadeu Zagallo <tzagallo@apple.com> |
| |
| Move some of the work from JSLock to VMEntryScope |
| https://bugs.webkit.org/show_bug.cgi?id=219830 |
| |
| Reviewed by Mark Lam. |
| |
| Add a unique ID to threads. This uid is used in JSLock to avoid unnecessary work when the |
| same thread that last acquired the lock is reacquiring it. |
| |
| * wtf/Threading.cpp: |
| * wtf/Threading.h: |
| (WTF::Thread::uid const): |
| (WTF::Thread::Thread): |
| |
| 2020-12-13 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Introduce vmEntryCustomAccessor and vmEntryHostFunction for JITCage |
| https://bugs.webkit.org/show_bug.cgi?id=219847 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/PlatformCallingConventions.h: |
| |
| 2020-12-14 Youenn Fablet <youenn@apple.com> |
| |
| Pass an isolated copy of Settings to workers and worklets. |
| https://bugs.webkit.org/show_bug.cgi?id=219688 |
| |
| Reviewed by Sam Weinig. |
| |
| Add missing default values. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2020-12-13 Andy Estes <aestes@apple.com> |
| |
| [Mac] Register the format reader plug-in for WebM content types |
| https://bugs.webkit.org/show_bug.cgi?id=218908 |
| <rdar://problem/71373264> |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: Added an experimental web |
| preference. |
| |
| 2020-12-12 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, reverting r270661. |
| |
| Caused layout test failures and timeouts |
| |
| Reverted changeset: |
| |
| "Unreviewed, re-landing r270132." |
| https://bugs.webkit.org/show_bug.cgi?id=202874 |
| https://trac.webkit.org/changeset/270661 |
| |
| 2020-12-12 Jiewen Tan <jiewen_tan@apple.com> |
| |
| [WebAuthn][iOS] Turn on modern WebAuthn for default browsers |
| https://bugs.webkit.org/show_bug.cgi?id=219823 |
| <rdar://problem/72250436> |
| |
| Reviewed by Brent Fulgham. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| Does the meat. |
| |
| 2020-12-11 Ryosuke Niwa <rniwa@webkit.org> |
| |
| [GPU Process] Cache Font objects |
| https://bugs.webkit.org/show_bug.cgi?id=219672 |
| |
| Reviewed by Wenson Hsieh. |
| |
| Specify the width of enum classes so that they can be forward declared. |
| |
| * wtf/MemoryPressureHandler.h: |
| |
| 2020-12-11 Eric Carlson <eric.carlson@apple.com> |
| |
| [Cocoa] Add Experimental Vorbis support |
| https://bugs.webkit.org/show_bug.cgi?id=219810 |
| <rdar://problem/72242614> |
| |
| Reviewed by Jer Noble. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: Added an experimental web |
| preference. |
| * wtf/PlatformEnableCocoa.h: Define ENABLE_VORBIS. |
| |
| 2020-12-11 Jer Noble <jer.noble@apple.com> |
| |
| [Cocoa] Add Experimental VP8 support |
| https://bugs.webkit.org/show_bug.cgi?id=219732 |
| |
| Reviewed by Eric Carlson. |
| |
| Add a new VP8 experimental feature flag. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2020-12-11 Tim Horton <timothy_horton@apple.com> |
| |
| Trackpad and Mouse scroll events on iPad only fire "pointermove" -- not "wheel" |
| https://bugs.webkit.org/show_bug.cgi?id=210071 |
| <rdar://problem/54616853> |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/PlatformEnableCocoa.h: |
| Enable wheel event regions on iOS + macCatalyst. |
| |
| 2020-12-11 Brent Fulgham <bfulgham@apple.com> |
| |
| Expose API for enabling/disabling Private Click Measurement |
| https://bugs.webkit.org/show_bug.cgi?id=219791 |
| <rdar://problem/70502198> |
| |
| Reviewed by Alex Christensen. |
| |
| This patch moves the flag for enabling and disabling PCM support from the Experimental |
| features settings to standard settings in preparation for exposing the option in more |
| permanent UI. This patch does not make any changes in behavior. |
| |
| * Scripts/Preferences/WebPreferences.yaml: Add PCM flag here. |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: Remove PCM flag from here. |
| |
| 2020-12-11 Don Olmstead <don.olmstead@sony.com> |
| |
| [CMake] Determine correct visibility for linked frameworks |
| https://bugs.webkit.org/show_bug.cgi?id=210366 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Set WTF_FRAMEWORKS to determine correct linkage for the library. Remove |
| explicit setting of STATICALLY_LINKED_WITH_${framework} by ports. |
| |
| * wtf/CMakeLists.txt: |
| * wtf/PlatformPlayStation.cmake: |
| |
| 2020-12-11 Chris Lord <clord@igalia.com> |
| |
| [GTK][WPE] Async overflow scrolling is disabled by default due to brokenness |
| https://bugs.webkit.org/show_bug.cgi?id=219776 |
| |
| Reviewed by Žan Doberšek. |
| |
| Enable async overflow scrolling with Nicosia. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2020-12-11 Youenn Fablet <youenn@apple.com> |
| |
| Enable WebRTCPlatformSocketsEnabled by default |
| https://bugs.webkit.org/show_bug.cgi?id=219778 |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2020-12-10 John Wilander <wilander@apple.com> |
| |
| PCM: Turn feature on by default |
| https://bugs.webkit.org/show_bug.cgi?id=219762 |
| <rdar://problem/56118178> |
| |
| Reviewed by Brent Fulgham. |
| |
| This patch turns on Private Click Measurement (PCM) by default. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2020-12-10 Andy Estes <aestes@apple.com> |
| |
| [Mac] Create a format reader plug-in for WebM |
| https://bugs.webkit.org/show_bug.cgi?id=218908 |
| <rdar://problem/71373264> |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformHave.h: Defined HAVE_MT_PLUGIN_FORMAT_READER. |
| |
| 2020-12-10 Geoffrey Garen <ggaren@apple.com> |
| |
| Unreviewed, re-landing r270132. |
| |
| Regression test failures have been resolved. |
| |
| Re-landed changeset: |
| |
| "Use a Version 1 CFRunLoopSource for faster task dispatch" |
| https://bugs.webkit.org/show_bug.cgi?id=202874 |
| https://trac.webkit.org/changeset/270132 |
| |
| 2020-12-10 Dean Jackson <dino@apple.com> |
| |
| Add runtime flag for ANGLE on Metal |
| https://bugs.webkit.org/show_bug.cgi?id=219661 |
| |
| Reviewed by Sam Weinig. |
| |
| New internal feature flag "WebGL on Metal". |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2020-12-10 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, reverting r270542. |
| |
| Seems to have regressed perf benchmarks |
| |
| Reverted changeset: |
| |
| "[iOS] Stop leaking an XPC boost message to XPC services" |
| https://bugs.webkit.org/show_bug.cgi?id=219453 |
| https://trac.webkit.org/changeset/270542 |
| |
| 2020-12-10 Youenn Fablet <youenn@apple.com> |
| |
| Gate VP9 exposure in MediaCapabilities on VP9DecoderEnabled preference |
| https://bugs.webkit.org/show_bug.cgi?id=219640 |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2020-12-10 Youenn Fablet <youenn@apple.com> |
| |
| ICE does not resolve for `turns` relay candidates rooted in LetsEncrypt CA |
| https://bugs.webkit.org/show_bug.cgi?id=219274 |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2020-12-10 Jiewen Tan <jiewen_tan@apple.com> |
| |
| Unreviewed, build fix after r270616 |
| |
| Adds a platform have flag. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-12-09 Cathie Chen <cathiechen@igalia.com> |
| |
| Support overscroll-behavior parsing |
| https://bugs.webkit.org/show_bug.cgi?id=219305 |
| |
| Reviewed by Simon Fraser. |
| |
| Based on Frédéric Wang's patch. |
| |
| Add an experimental feature flag for overscroll-behavior. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2020-12-09 Chris Dumez <cdumez@apple.com> |
| |
| Turn on HAVE(SYSTEM_FEATURE_FLAGS) on WatchOS and TvOS |
| https://bugs.webkit.org/show_bug.cgi?id=219703 |
| |
| Reviewed by Darin Adler. |
| |
| Turn on HAVE(SYSTEM_FEATURE_FLAGS) on WatchOS and TvOS. This should fix the build |
| after r270542. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-12-08 Devin Rousso <drousso@apple.com> |
| |
| [macCatalyst] Enable context menus for WKWebView |
| https://bugs.webkit.org/show_bug.cgi?id=219617 |
| <rdar://problem/53770300> |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformHave.h: |
| |
| 2020-12-08 Simon Fraser <simon.fraser@apple.com> |
| |
| Make ScrollingPerformanceLoggingEnabled an internal debug preference |
| https://bugs.webkit.org/show_bug.cgi?id=219647 |
| |
| Reviewed by Sam Weinig. |
| |
| Rename ScrollingPerformanceLoggingEnabled to ScrollingPerformanceTestingEnabled and make |
| it an Internal Debug preference. |
| |
| Remove ForceUpdateScrollbarsOnMainThreadForPerformanceTesting. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2020-12-08 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Stop leaking an XPC boost message to XPC services |
| https://bugs.webkit.org/show_bug.cgi?id=219453 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Add new RUNNINGBOARD_WEBKIT_PRIORITY_SUPPORT build time flag since we need a recent |
| enough build of RunningBoard to do this. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-12-07 Don Olmstead <don.olmstead@sony.com> |
| |
| [CMake] Remove WEBKIT_WRAP_SOURCELIST |
| https://bugs.webkit.org/show_bug.cgi?id=196916 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * wtf/CMakeLists.txt: |
| |
| 2020-12-07 Zan Dobersek <zdobersek@igalia.com> |
| |
| [GLib] Leaked RunLoop objects on worker threads |
| https://bugs.webkit.org/show_bug.cgi?id=219232 |
| <rdar://problem/71772277> |
| |
| Reviewed by Geoffrey Garen. |
| |
| During the thread-local RunLoop::Holder destruction, explicitly clear out |
| the iteration Deque objects on the held RunLoop, destroying any Function |
| objects that never got to execute on this thread. Generally, this allows |
| for any RunLoop reference stored in these objects to be released. |
| |
| Specifically, this would allow for destruction of the RunLoop::Timer |
| object that's queued up in the JSRunLoopTimer::Manager::PerVMData |
| destructor but never gets dispatched because the thread (a JS worker) is |
| shut down before that happens. Destruction of the timer will release the |
| reference of the RunLoop that's held by the RunLoop::Holder, finally |
| enabling the RunLoop object itself be destroyed once the RunLoop::Holder |
| reference is let go. |
| |
| * wtf/RunLoop.cpp: |
| (WTF::RunLoop::Holder::~Holder): |
| (WTF::RunLoop::threadWillExit): |
| * wtf/RunLoop.h: |
| |
| 2020-12-06 Samuel Thibault <samuel.thibault@ens-lyon.org> |
| |
| [WTF] Add Unix-generic way of determining the available RAM |
| https://bugs.webkit.org/show_bug.cgi?id=219570 |
| sysconf(_SC_PHYS_PAGES) and sysconf(_SC_PAGE_SIZE) are a very generic way to get |
| |
| Reviewed by Fujii Hironori. |
| |
| * wtf/RAMSize.cpp: |
| (WTF::computeRAMSize): Fallback to sysconf to determine RAM size. |
| |
| 2020-12-05 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| Remove ENABLE_GRAPHICS_CONTEXT_GL by replacing it with ENABLE(WEBGL) |
| https://bugs.webkit.org/show_bug.cgi?id=219551 |
| |
| Reviewed by Kenneth Russell. |
| |
| * wtf/Platform.h: |
| * wtf/PlatformEnable.h: |
| |
| 2020-12-04 David Kilzer <ddkilzer@apple.com> |
| |
| Add safety checks to xsltParamArrayFromParameterMap() |
| <https://webkit.org/b/219407> |
| <rdar://problem/71853069> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformHave.h: |
| (HAVE_LIBXSLT_FIX_FOR_RADAR_71864140): Add. |
| |
| 2020-12-04 Kate Cheney <katherine_cheney@apple.com> |
| |
| Create API to enable/disable text interaction gestures in WKWebView |
| https://bugs.webkit.org/show_bug.cgi?id=217784 |
| <rdar://problem/63406241> |
| |
| Reviewed by Wenson Hsieh. |
| |
| Create new WKPreference. See WebKit Changelog for details. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2020-12-04 Adam Roben <aroben@apple.com> |
| |
| More FALLBACK_PLATFORM adoption |
| https://bugs.webkit.org/show_bug.cgi?id=219545 |
| |
| Reviewed by Tim Horton. |
| |
| * Configurations/SDKVariant.xcconfig: |
| WK_EMPTY_$(THIS_IS_NOT_EMPTY) evaluates to the empty string, not to |
| NO. |
| |
| 2020-12-03 Adam Roben <aroben@apple.com> |
| |
| Adopt FALLBACK_PLATFORM |
| https://bugs.webkit.org/show_bug.cgi?id=219504 |
| |
| Reviewed by Tim Horton. |
| |
| * Configurations/SDKVariant.xcconfig: Use FALLBACK_PLATFORM it if it's |
| defined, otherwise use PLATFORM_NAME as before. |
| |
| 2020-12-03 Chris Dumez <cdumez@apple.com> |
| |
| Refactor macros for low power mode code |
| https://bugs.webkit.org/show_bug.cgi?id=219497 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Add new HAVE_APPLE_LOW_POWER_MODE_SUPPORT macro, enabled on iOS_FAMILY. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-12-03 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| Remove GraphicsContextGLOpenGL::setRenderbufferStorageFromDrawable declaration |
| https://bugs.webkit.org/show_bug.cgi?id=219463 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/Platform.h: Removed checking whether USE_ANGLE, USE_OPENGL, |
| and USE_OPENGL_ES are exclusive because Cocoa ports no longer use |
| USE_OPENGL and USE_OPENGL_ES, and they are not exclusive on |
| non-Cocoa ports. |
| |
| 2020-12-03 Lauro Moura <lmoura@igalia.com> |
| |
| [WTF] Avoid JSONValue::create with raw string falling to bool overload |
| https://bugs.webkit.org/show_bug.cgi?id=219483 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| r269757 removed the const char* overload for Value::create() and replaced |
| them with makeString() versions. While this worked most of the time, one |
| could still call Value::create(raw_string) and it would end up calling the |
| bool overload. This could cause side effects like making a number of |
| WebDriver tests to fail with wrong types in the executed javascript code. |
| |
| To avoid these accidental conversions, this commit added an overload to |
| delete all implicit conversions of Value::create(). |
| |
| * wtf/JSONValues.h: Delete implicit overloads for Value::create(T). |
| |
| 2020-12-02 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| aarch64 llint does not build with JIT disabled |
| https://bugs.webkit.org/show_bug.cgi?id=219288 |
| <rdar://problem/71855960> |
| |
| Rename USE(JUMP_ISLANDS) to ENABLE(JUMP_ISLANDS), and make it depend on ENABLE(JIT). We need |
| it to depend on ENABLE(JIT) to fix the build, but this is awkward to do otherwise, because |
| USE macros are defined in PlatformUse.h before ENABLE macros in PlatformEnable.h. But it |
| makes sense, since USE macros should be used for "a particular third-party library or |
| optional OS service," and jump islands are neither, so ENABLE is more suitable anyway. |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformUse.h: |
| |
| 2020-12-01 Youenn Fablet <youenn@apple.com> |
| |
| Update list of block ports according fetch spec |
| https://bugs.webkit.org/show_bug.cgi?id=219154 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/URL.cpp: |
| (WTF::portAllowed): |
| |
| 2020-12-01 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, reverting r270132. |
| |
| Caused at least one regression test failure |
| (webkit.org/b/219401) |
| |
| Reverted changeset: |
| |
| "Use a Version 1 CFRunLoopSource for faster task dispatch" |
| https://bugs.webkit.org/show_bug.cgi?id=202874 |
| https://trac.webkit.org/changeset/270132 |
| |
| 2020-11-30 Youenn Fablet <youenn@apple.com> |
| |
| Introduce an experimental flag specific to VP9 profile 2 |
| https://bugs.webkit.org/show_bug.cgi?id=219350 |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2020-11-28 Per Arne Vollan <pvollan@apple.com> |
| |
| [macOS] Set application information in the Networking process on behalf of the WebContent process |
| https://bugs.webkit.org/show_bug.cgi?id=218052 |
| <rdar://problem/70586405> |
| |
| Reviewed by Brent Fulgham. |
| |
| Add define to enable this feature. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-11-26 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [WinCairo] Enable GPU process |
| https://bugs.webkit.org/show_bug.cgi?id=219294 |
| |
| Reviewed by Don Olmstead. |
| |
| * wtf/PlatformHave.h: Turned HAVE_SYSTEM_FEATURE_FLAGS on for Windows. |
| |
| 2020-11-26 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| [WPE][GTK] Fix build with GCC 11 |
| https://bugs.webkit.org/show_bug.cgi?id=219264 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| It's not uncommon for really old code like this to abuse volatile as if it were a |
| synchronization primitive. It's not. This code is already synchronized by use of GOnce, so |
| it can be safely removed. References: |
| |
| https://gitlab.gnome.org/GNOME/glib/-/issues/600#note_877282 |
| http://isvolatileusefulwiththreads.in/C++/ |
| |
| * wtf/glib/WTFGType.h: |
| |
| 2020-11-21 Simon Fraser <simon.fraser@apple.com> |
| |
| Add an Experimental Features for wheel event gestures becoming non-blocking |
| https://bugs.webkit.org/show_bug.cgi?id=219236 |
| |
| Reviewed by Sam Weinig. |
| |
| Add a feature flag for the behavior that is being added via webkit.org/b/218764, |
| which is that only the first wheel event in a gesture is cancelable. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2020-11-20 Geoffrey Garen <ggaren@apple.com> |
| |
| Use a Version 1 CFRunLoopSource for faster task dispatch |
| https://bugs.webkit.org/show_bug.cgi?id=202874 |
| |
| Reviewed by Simon Fraser. |
| |
| This performance bottleneck showed up in IndexedDB. We worked around it |
| by switching to WorkQueueMessageReceiver. Now it's showing up again |
| in the GPU Process. |
| |
| * wtf/RunLoop.h: Added a mach port. We use this for wake-up. |
| |
| * wtf/cf/RunLoopCF.cpp: |
| (WTF::RunLoop::performWork): Use the standard declaration for a |
| Version 1 run loop source callback. |
| |
| (WTF::RunLoop::RunLoop): Use a dummy mach port for wake-ups. The default |
| wake-up mechanism uses pthread APIs, which cost hundreds of microseconds |
| per invocation, even on the most modern hardware. In contrast, a mach |
| message takes about nine microseconds. |
| |
| (WTF::RunLoop::~RunLoop): Free the mach port. |
| |
| (WTF::RunLoop::wakeUp): Copy-pasted code to signal a mach port. The |
| message payload doesn't matter because we're just trying to achieve |
| a wakeup, kind of like calling a void() function. |
| |
| 2020-11-20 Don Olmstead <don.olmstead@sony.com> |
| |
| Remove quota module |
| https://bugs.webkit.org/show_bug.cgi?id=219206 |
| |
| Reviewed by Anders Carlsson. |
| |
| Remove the ENABLE_QUOTA macro. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2020-11-20 Philippe Normand <pnormand@igalia.com> |
| |
| [MSE] Infinite loop in sample eviction when duration is NaN |
| https://bugs.webkit.org/show_bug.cgi?id=218228 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/MediaTime.h: New isFinite() method, to check if the MediaTime is valid and represents |
| a finite value, eg not NaN or Infinite. |
| |
| 2020-11-19 Ada Chan <adachan@apple.com> |
| |
| Turn on ENABLE_WEBXR for Cocoa |
| https://bugs.webkit.org/show_bug.cgi?id=219171 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformUse.h: |
| |
| 2020-11-19 Saam Barati <sbarati@apple.com> |
| |
| Use os_thread_self_restrict_rwx_is_supported instead of pthread_jit_write_protect_supported_np on Apple Internal SDK builds |
| https://bugs.webkit.org/show_bug.cgi?id=219099 |
| <rdar://problem/71547048> |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/PlatformHave.h: |
| * wtf/PlatformUse.h: |
| |
| 2020-11-18 Yousuke Kimoto <Yousuke.Kimoto@sony.com> |
| |
| [WTF] Fix a condition to check if statvfs() succeeds in getVolumeFreeSpace() |
| https://bugs.webkit.org/show_bug.cgi?id=219138 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| statvfs() returns Zero on success but getVolumeFreeSpace() treats a non Zero value |
| as a succes case. The condition is oppsite to the spec of statvfs(). |
| |
| * wtf/posix/FileSystemPOSIX.cpp: |
| |
| 2020-11-17 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Improve Wasm binary test coverage |
| https://bugs.webkit.org/show_bug.cgi?id=204843 |
| |
| Reviewed by Darin Adler. |
| |
| LEBDecoder should have more strict validation. One thing is that, we should reject pattern that includes ignored bits. |
| For example, in uint32_t, we can represent UINT32_MAX in 5 bytes like this. |
| |
| 0xff, 0xff, 0xff, 0xff, 0x0f |
| 0b1111111_1111111_1111111_1111111_1111 |
| |
| Leading bytes has 0x80 trailing marker. And they includes each 7 bit slice. And the last byte includes 0b1111 part. |
| But we can also make it in the following form |
| |
| 0xff, 0xff, 0xff, 0xff, 0xff |
| 0b1111111_1111111_1111111_1111111_1111 |
| |
| In the above case, the last byte's upper 4 bits are ignored in the result, and this is wrong in LEB128 encoding. |
| We should reject this input since the last byte includes overflown bits. |
| This patch adds this validation to WTF. |
| |
| * wtf/LEBDecoder.h: |
| (WTF::LEBDecoder::maxByteLength): |
| (WTF::LEBDecoder::lastByteMask): |
| (WTF::LEBDecoder::decodeUInt): |
| (WTF::LEBDecoder::decodeInt): |
| |
| 2020-11-18 Darin Adler <darin@apple.com> |
| |
| Remove advanced plug-in feature: small plug-in blocking |
| https://bugs.webkit.org/show_bug.cgi?id=219101 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: Removed BlockingOfSmallPluginsEnabled. |
| |
| 2020-11-18 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, relanding r269940 |
| https://bugs.webkit.org/show_bug.cgi?id=219076 |
| |
| * wtf/PlatformEnable.h: |
| |
| 2020-11-18 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r269940. |
| https://bugs.webkit.org/show_bug.cgi?id=219076 |
| |
| caused seemingly-infinite build time regression |
| |
| Reverted changeset: |
| |
| "[JSC] Implement WebAssembly.Memory with shared" |
| https://bugs.webkit.org/show_bug.cgi?id=218693 |
| https://trac.webkit.org/changeset/269940 |
| |
| 2020-11-17 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Build fails on internal simulator builds due to missing enum kCVPixelFormatType_AGX_420YpCbCr8BiPlanarVideoRange |
| https://bugs.webkit.org/show_bug.cgi?id=219030 |
| |
| Unreviewed build fix for macCatalyst. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-11-17 Kimmo Kinnunen <kkinnunen@apple.com> |
| |
| Build fails on internal simulator builds due to missing enum kCVPixelFormatType_AGX_420YpCbCr8BiPlanarVideoRange |
| https://bugs.webkit.org/show_bug.cgi?id=219030 |
| |
| Reviewed by Antti Koivisto. |
| |
| Fix compile for simulator builds. |
| Rename HAVE_CV_AGX_420_PIXEL_FORMAT_TYPES to |
| HAVE_COREVIDEO_COMPRESSED_PIXEL_FORMAT_TYPES to better reflect what the ifdef does. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-11-17 Antoine Quint <graouts@webkit.org> |
| |
| Make <model> disabled by default everywhere |
| https://bugs.webkit.org/show_bug.cgi?id=219027 |
| |
| Reviewed by Devin Rousso. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2020-11-16 Sam Weinig <weinig@apple.com> |
| |
| Standardize enums that are used by Settings in preperation for autogeneration |
| https://bugs.webkit.org/show_bug.cgi?id=218960 |
| |
| Reviewed by Tim Horton. |
| |
| Update enum uses in default WebPreferences values for renames and scoped syntax use. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2020-11-16 Antoine Quint <graouts@webkit.org> |
| |
| Add an experimental <model> element |
| https://bugs.webkit.org/show_bug.cgi?id=218991 |
| |
| Reviewed by Dean Jackson. |
| |
| Add a new build ENABLE(MODEL_ELEMENT) flag, enabled only on Cocoa platforms, and a new experimental feature |
| backed by a setting, currently disabled on all platforms except engineering builds and Safari Technology Preview. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-11-16 Per Arne Vollan <pvollan@apple.com> |
| |
| [macOS] The WebContent sandbox does not apply for open source builds |
| https://bugs.webkit.org/show_bug.cgi?id=218982 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Add HAVE define for sandbox message filtering. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-11-16 Megan Gardner <megan_gardner@apple.com> |
| |
| Add menu support for app highlights for books |
| https://bugs.webkit.org/show_bug.cgi?id=218879 |
| <rdar://problem/71352113> |
| |
| Reviewed by Alex Christensen. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2020-11-16 Zan Dobersek <zdobersek@igalia.com> |
| |
| Re-disable async overflow scrolling for USE(NICOSIA) |
| https://bugs.webkit.org/show_bug.cgi?id=218974 |
| |
| Async overflow scrolling was accidentally enabled for ports using the |
| Nicosia platform layering infrastructure during the preference migration |
| done in r267775. This patch again disables it until it can be properly |
| supported. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2020-11-14 Don Olmstead <don.olmstead@sony.com> |
| |
| [clang-tidy] Run modernize-use-override through JSC |
| https://bugs.webkit.org/show_bug.cgi?id=218916 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/RunLoop.h: |
| |
| 2020-11-13 Sihui Liu <sihui_liu@apple.com> |
| |
| Implement basic permission check for SpeechRecognition |
| https://bugs.webkit.org/show_bug.cgi?id=218476 |
| <rdar://problem/71222638> |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-11-13 Sam Weinig <weinig@apple.com> |
| |
| Move some more WebKit and WebKitLegacy preferences bound to Settings to WebPreferences.yaml |
| https://bugs.webkit.org/show_bug.cgi?id=218914 |
| |
| Reviewed by Tim Horton. |
| |
| Moves AppleMailPaginationQuirkEnabled, ContentDispositionAttachmentSandboxEnabled and |
| UseImageDocumentForSubframePDF from Settings.yaml to WebPreferences.yaml. Merges in |
| WebCore values from ScrollingPerformanceLoggingEnabled and removes binding override |
| since it can now be fully generated. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2020-11-13 Xan López <xan@igalia.com> |
| |
| [JSC] Use symbols as identifiers for class fields computed names storage |
| https://bugs.webkit.org/show_bug.cgi?id=216172 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Use private symbols for the property keys of the class fields with |
| computed names. This is cleaner than using raw numeric identifiers and |
| will be less cumbersome when we add static fields. It also prevents |
| potential collisions if other features want to store data in the class |
| scope. |
| |
| * wtf/text/SymbolImpl.cpp: |
| (WTF::RegisteredSymbolImpl::createPrivate): add a method to create a registered private symbol from a string key. |
| * wtf/text/SymbolImpl.h: |
| * wtf/text/SymbolRegistry.cpp: |
| (WTF::SymbolRegistry::symbolForKey): consider that we can hold private symbols now too. |
| * wtf/text/SymbolRegistry.h: |
| (WTF::SymbolRegistry::SymbolRegistry): new enum type for public/private symbols. |
| |
| 2020-11-12 Darin Adler <darin@apple.com> |
| |
| Remove unused advanced plug-in features: snapshotting and plug-in load policy |
| https://bugs.webkit.org/show_bug.cgi?id=218835 |
| |
| Reviewed by Tim Horton. |
| |
| * Scripts/Preferences/WebPreferences.yaml: Removed |
| AutostartOriginPlugInSnapshottingEnabled, PlugInSnapshottingEnabled, |
| PrimaryPlugInSnapshotDetectionEnabled, and SnapshotAllPlugIns. |
| |
| 2020-11-12 Simon Fraser <simon.fraser@apple.com> |
| |
| Force wheel event listeners on the root to be passive |
| https://bugs.webkit.org/show_bug.cgi?id=218842 |
| <rdar://problem/71312668> |
| |
| Reviewed by Chris Dumez. |
| |
| Following Blink (https://www.chromestatus.com/feature/6662647093133312) force 'wheel' and |
| 'mousewheel' event listeners on root objects (window, document and body) to be passive if |
| they were not explicitly registered as non-passive. |
| |
| This behavior is controlled by an experimental feature flag, and a linked-on-or-after check |
| to avoid changing behavior for apps that embed WebKit until they link against new SDKs. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2020-11-13 Aditya Keerthi <akeerthi@apple.com> |
| |
| [iOS][FCR] Add an internal feature flag to enable the new appearance |
| https://bugs.webkit.org/show_bug.cgi?id=218873 |
| <rdar://problem/71345270> |
| |
| Reviewed by Tim Horton. |
| |
| Enable the feature at build time on PLATFORM(IOS_FAMILY) and disable |
| the feature at runtime. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-11-12 Youenn Fablet <youenn@apple.com> |
| |
| Add infrastructure for WebRTC transforms |
| https://bugs.webkit.org/show_bug.cgi?id=218750 |
| |
| Reviewed by Eric Carlson. |
| |
| Add an experimental preference for WebRTC transforms. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2020-11-12 Sam Weinig <weinig@apple.com> |
| |
| Move more WebKitLegacy specific settings usage to WebPreferences.yaml |
| https://bugs.webkit.org/show_bug.cgi?id=218852 |
| |
| Reviewed by Tim Horton. |
| |
| This batch focuses on settings with defaults based on SDK/host app conditions. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2020-11-12 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: ensure that `JSON::ArrayOf<T>` doesn't allow `addItem` to be called with a type other than `T` |
| https://bugs.webkit.org/show_bug.cgi?id=218686 |
| |
| Reviewed by Brian Burg. |
| |
| * wtf/JSONValues.h: |
| (WTF::JSONImpl::Value::Value): |
| (WTF::JSONImpl::Value::Value): |
| (WTF::JSONImpl::ArrayOf::addItem): |
| * wtf/JSONValues.cpp: |
| (WTF::JSONImpl::Value::create): |
| Right now, `JSON::ArrayOf<T>` always has `addItem` overloads for `int`, `double`, `String`, |
| and `Ref<T>` (even when `T` is not a `JSON::Value`). This means that a `JSON::ArrayOf<int>` |
| can call `addItem(42.0)` or `addItem("foo"_s)` and it would work. This doesn't really match |
| the intention of `JSON::ArrayOf<T>`, so add some template `std::enable_if` to ensure that |
| the only `addItem` overload that exists is the one that matches `T`. |
| |
| 2020-11-12 Zalan Bujtas <zalan@apple.com> |
| |
| Show legacy line layout visual coverage instead of "simple line" layout. |
| https://bugs.webkit.org/show_bug.cgi?id=218695 |
| |
| Reviewed by Antti Koivisto. |
| |
| * Scripts/Preferences/WebPreferencesDebug.yaml: |
| |
| 2020-11-11 Chris Dumez <cdumez@apple.com> |
| |
| Add RunLoop::Timer constructor taking in a WTF::Function |
| https://bugs.webkit.org/show_bug.cgi?id=218828 |
| |
| Reviewed by Darin Adler. |
| |
| Add RunLoop::Timer constructor taking in a WTF::Function instead of a function pointer. |
| This is similar to what was done for WebCore::Timer. |
| |
| * wtf/RunLoop.h: |
| |
| 2020-11-11 Sam Weinig <weinig@apple.com> |
| |
| Move more WebKitLegacy preferences bound to Settings to WebPreferences.yaml |
| https://bugs.webkit.org/show_bug.cgi?id=218826 |
| |
| Reviewed by Tim Horton. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| Move AcceleratedCompositingForFixedPositionEnabled, ForceWebGLUsesLowPower, |
| RubberBandingForSubScrollableRegionsEnabled, ShrinksStandaloneImagesToFit and |
| VisualViewportEnabled to WebPreferences.yaml |
| |
| 2020-11-11 John Wilander <wilander@apple.com> |
| |
| PCM: Change from ad-click-attribution to private-click-measurement (in all forms, including .well-known URL) |
| https://bugs.webkit.org/show_bug.cgi?id=218730 |
| <rdar://problem/71094296> |
| |
| Reviewed by Alex Christensen. |
| |
| Change to the official name of the proposed standard Private Click Measurement |
| https://github.com/privacycg/private-click-measurement. |
| |
| This includes a change of the reporting URL from |
| "/.well-known/ad-click-attribution/" to |
| "/.well-known/private-click-measurement/". |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2020-11-11 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Add system trace points for the GPU process display list processing loop |
| https://bugs.webkit.org/show_bug.cgi?id=218824 |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/SystemTracing.h: |
| |
| 2020-11-11 Alex Christensen <achristensen@webkit.org> |
| |
| Define USE(LEGACY_CFNETWORK_DOWNLOADS) |
| https://bugs.webkit.org/show_bug.cgi?id=218814 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/PlatformUse.h: |
| |
| 2020-11-11 Alex Christensen <achristensen@webkit.org> |
| |
| Don't look in keychain for SecKeyRef after deserializing SecIdentityRef |
| https://bugs.webkit.org/show_bug.cgi?id=218809 |
| <rdar://problem/69394018> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/spi/cocoa/SecuritySPI.h: |
| |
| 2020-11-10 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, reverting r269403 |
| https://bugs.webkit.org/show_bug.cgi?id=218143 |
| |
| Now, bytecode list is moved out of JSCConfig. So it is not large size now. |
| |
| * wtf/WTFConfig.h: |
| |
| 2020-11-10 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r269660. |
| https://bugs.webkit.org/show_bug.cgi?id=218786 |
| |
| Crashing in EWS iOS simulator bots |
| |
| Reverted changeset: |
| |
| "PCM: Change from ad-click-attribution to private-click- |
| measurement (in all forms, including .well-known URL)" |
| https://bugs.webkit.org/show_bug.cgi?id=218730 |
| https://trac.webkit.org/changeset/269660 |
| |
| 2020-11-10 John Wilander <wilander@apple.com> |
| |
| PCM: Change from ad-click-attribution to private-click-measurement (in all forms, including .well-known URL) |
| https://bugs.webkit.org/show_bug.cgi?id=218730 |
| <rdar://problem/71094296> |
| |
| Reviewed by Devin Rousso. |
| |
| Change to the official name of the proposed standard Private Click Measurement |
| https://github.com/privacycg/private-click-measurement. |
| |
| This includes a change of the reporting URL from |
| "/.well-known/ad-click-attribution/" to |
| "/.well-known/private-click-measurement/". |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2020-11-10 Jer Noble <jer.noble@apple.com> |
| |
| Unreviewed internal macOS build-fix. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-11-10 Rob Buis <rbuis@igalia.com> |
| |
| Parse aspect-ratio CSS property |
| https://bugs.webkit.org/show_bug.cgi?id=218437 |
| |
| Reviewed by Darin Adler. |
| |
| Add an experimental preference for aspect-ratio. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2020-11-09 Alan Bujtas <zalan@apple.com> |
| |
| Unreviewed, reverting r269603. |
| |
| Needs Safari patch |
| |
| Reverted changeset: |
| |
| "Show legacy line layout visual coverage instead of "simple |
| line" layout." |
| https://bugs.webkit.org/show_bug.cgi?id=218695 |
| https://trac.webkit.org/changeset/269603 |
| |
| 2020-11-09 Zalan Bujtas <zalan@apple.com> |
| |
| Show legacy line layout visual coverage instead of "simple line" layout. |
| https://bugs.webkit.org/show_bug.cgi?id=218695 |
| |
| Reviewed by Antti Koivisto. |
| |
| * Scripts/Preferences/WebPreferencesDebug.yaml: |
| |
| 2020-11-09 Per Arne Vollan <pvollan@apple.com> |
| |
| [macOS] Set preference for overridden languages in the WebContent process after entering the sandbox. |
| https://bugs.webkit.org/show_bug.cgi?id=218097 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Disable CFPrefs direct mode for older versions of macOS. In practice, it was already disabled since a mach connection to cfprefsd |
| was established before entering the sandbox on older versions on macOS, but that is fixed in this patch. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-11-08 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Add TimeZone range cache over ICU TimeZone API |
| https://bugs.webkit.org/show_bug.cgi?id=218681 |
| |
| Reviewed by Ross Kirsling. |
| |
| * wtf/DateMath.h: |
| |
| 2020-11-08 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Support @@species in ArrayBuffer / SharedArrayBuffer slice |
| https://bugs.webkit.org/show_bug.cgi?id=218697 |
| |
| Reviewed by Ross Kirsling. |
| |
| Remove ENABLE(SHARED_ARRAY_BUFFER) flag. We use Options::useSharedArrayBuffer() runtime flag instead. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2020-11-06 Sam Weinig <weinig@apple.com> |
| |
| Further progress towards merging Settings.yaml into WebPreferences.yaml |
| https://bugs.webkit.org/show_bug.cgi?id=218663 |
| |
| Reviewed by Tim Horton. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| Replace some use of WebCore constants with the inlined values of those constants |
| as this was the only user and it is clearer for the values to be here too. |
| |
| 2020-11-06 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Re-enable SharedArrayBuffer for JSC shell and Testers |
| https://bugs.webkit.org/show_bug.cgi?id=212069 |
| |
| Reviewed by Keith Miller. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2020-11-05 Saam Barati <sbarati@apple.com> |
| |
| Add back swap() free function for RefPtr |
| https://bugs.webkit.org/show_bug.cgi?id=218454 |
| |
| Reviewed by Darin Adler. |
| |
| Add back the swap() free function I removed in r269115. Darin's suggestion |
| of specializing only a single type of RefPtr instead of two, solved the |
| issue. I also removed some previous hack where we didn't enable this for |
| RawPtrTraits. It's now enabled for all PtrTraits. |
| |
| * wtf/RefPtr.h: |
| (WTF::swap): |
| |
| 2020-11-05 Saam Barati <sbarati@apple.com> |
| |
| Change RELEASE_ASSERT to use branch+crash inside HashTable.h |
| https://bugs.webkit.org/show_bug.cgi?id=218624 |
| <rdar://problem/70901101> |
| |
| Reviewed by Mark Lam. |
| |
| The assertions added in r269017 used RELEASE_ASSERT. RELEASE_ASSERT |
| is implemented as invoking WTFCrashWithInfo, which does a bunch of register |
| argument/moves. Doing this in inlined hash table code bloats WK binaries |
| by a lot. This patch changes it so we just branch+crash on the same condition. |
| |
| * wtf/HashTable.h: |
| (WTF::KeyTraits>::inlineLookup): |
| (WTF::KeyTraits>::lookupForWriting): |
| (WTF::KeyTraits>::fullLookupForWriting): |
| (WTF::KeyTraits>::addUniqueForInitialization): |
| (WTF::KeyTraits>::add): |
| |
| 2020-11-05 Youenn Fablet <youenn@apple.com> |
| |
| Consider blocking ports 5060 and 5061 |
| https://bugs.webkit.org/show_bug.cgi?id=218557 |
| <rdar://problem/71031479> |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/URL.cpp: |
| (WTF::portAllowed): |
| |
| 2020-11-04 Said Abou-Hallawa <said@apple.com> |
| |
| [GPU Process] Move the internal GPU rendering flags from WebPage to WebProcess |
| https://bugs.webkit.org/show_bug.cgi?id=218549 |
| |
| Reviewed by Tim Horton. |
| |
| Fix a layering issue for the preference 'UseGPUProcessForMediaEnabled'. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2020-11-04 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, add workaround for Linux build |
| https://bugs.webkit.org/show_bug.cgi?id=218143 |
| |
| * wtf/WTFConfig.h: |
| |
| 2020-11-04 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| Add new build option USE(64KB_PAGE_BLOCK) |
| https://bugs.webkit.org/show_bug.cgi?id=217989 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/PageBlock.h: |
| |
| 2020-11-04 Aditya Keerthi <akeerthi@apple.com> |
| |
| [Contact Picker API] Add support for picker UI on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=218189 |
| <rdar://problem/69862277> |
| |
| Reviewed by Devin Rousso. |
| |
| * wtf/PlatformHave.h: |
| |
| Added HAVE(CONTACTSUI) and HAVE(CNCONTACTPICKERVIEWCONTROLLER) macros. |
| |
| 2020-11-04 David Kilzer <ddkilzer@apple.com> |
| |
| WebKit should remove unused debug variant support |
| <https://webkit.org/b/218315> |
| <rdar://problem/70785369> |
| |
| Reviewed by Darin Adler. |
| |
| Remove support for building the debug variant since it is |
| currently unused. We now set default values for the |
| DEAD_CODE_STRIPPING, DEBUG_DEFINES, GCC_OPTIMIZATION_LEVEL and |
| STRIP_INSTALLED_PRODUCT variables. |
| |
| Also move these values out of the Xcode project into |
| Base.xcconfig files using the [config=Debug] specifier so that |
| these overrides are next to the definitions. |
| |
| * Configurations/Base.xcconfig: |
| * WTF.xcodeproj/project.pbxproj: |
| |
| 2020-11-03 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Add JITCage support |
| https://bugs.webkit.org/show_bug.cgi?id=218143 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/OSAllocator.h: |
| (WTF::OSAllocator::reserveAndCommit): |
| (WTF::OSAllocator::reallocateCommitted): |
| * wtf/PageReservation.h: |
| (WTF::PageReservation::reserve): |
| (WTF::PageReservation::reserveWithGuardPages): |
| (WTF::PageReservation::reserveAndCommitWithGuardPages): |
| (WTF::PageReservation::PageReservation): |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformUse.h: |
| * wtf/PtrTag.h: |
| (WTF::assertIsTaggedWith): |
| (WTF::tagCodePtrWithStackPointerForJITCall): Deleted. |
| (WTF::untagCodePtrWithStackPointerForJITCall): Deleted. |
| * wtf/posix/OSAllocatorPOSIX.cpp: |
| (WTF::OSAllocator::reserveUncommitted): |
| (WTF::OSAllocator::reserveAndCommit): |
| * wtf/win/OSAllocatorWin.cpp: |
| (WTF::OSAllocator::reserveUncommitted): |
| (WTF::OSAllocator::reserveAndCommit): |
| |
| 2020-11-03 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Adjust some compile-time guards in GraphicsContextCG.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=218534 |
| |
| Reviewed by Tim Horton. |
| |
| Add `HAVE(CG_CONTEXT_DRAW_PATH_DIRECT)`. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-11-03 Stephan Szabo <stephan.szabo@sony.com> |
| |
| [WinCairo/PlayStation] ICU 68.1 no longer exposes FALSE and TRUE macros by default |
| https://bugs.webkit.org/show_bug.cgi?id=218522 |
| |
| Reviewed by Don Olmstead. |
| |
| Replace uses of FALSE and TRUE with false and true. |
| |
| * wtf/text/icu/UTextProvider.h: |
| * wtf/text/icu/UTextProviderLatin1.cpp: |
| * wtf/text/icu/UTextProviderUTF16.cpp: |
| |
| 2020-10-30 Tim Horton <timothy_horton@apple.com> |
| |
| REGRESSION (r267689): Rise of the Tomb Raider gets stuck while launching |
| https://bugs.webkit.org/show_bug.cgi?id=218411 |
| <rdar://problem/70622557> |
| |
| Reviewed by Zalan Bujtas. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| Sam accidentally changed the default of RequiresUserGestureForMediaPlayback |
| in r267689; previously it was @YES only in PLATFORM(IOS_FAMILY), he made |
| it true globally. |
| |
| Go back to the old, and intended, behavior. |
| |
| 2020-10-30 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: Incorrect list of voices being displayed on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=218293 |
| |
| Reviewed by Per Arne Vollan. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-10-29 Jiewen Tan <jiewen_tan@apple.com> |
| |
| [WebAuthn] Make WebContent process talk to the WebAuthn process for WebAuthn requests |
| https://bugs.webkit.org/show_bug.cgi?id=218070 |
| <rdar://problem/70384404> |
| |
| Reviewed by Brent Fulgham. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| Adds bindings in WebCore. |
| |
| 2020-10-28 Saam Barati <sbarati@apple.com> |
| |
| Better cache our serialization of the outer TDZ environment when creating FunctionExecutables during bytecode generation |
| https://bugs.webkit.org/show_bug.cgi?id=199866 |
| <rdar://problem/53333108> |
| |
| Reviewed by Tadeu Zagallo. |
| |
| * wtf/RefPtr.h: |
| (WTF::swap): Deleted. |
| This function is no longer necessary, and causes ADL (https://en.cppreference.com/w/cpp/language/adl) |
| compile errors when not using DumbPtrTraits and calling sort on a vector of that type. |
| |
| 2020-10-28 Sam Weinig <weinig@apple.com> |
| |
| Reduce Preference Override Methods: TabsToLinks/SpatialNavigation |
| https://bugs.webkit.org/show_bug.cgi?id=218288 |
| |
| Reviewed by Tim Horton. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| Unify TabToLinksEnabled and TabsToLinks. TabToLinksEnabled was added for https://bugs.webkit.org/show_bug.cgi?id=95329 |
| and has never actually been needed. |
| |
| 2020-10-27 Tim Horton <timothy_horton@apple.com> |
| |
| Adopt the UIPointerInteraction API |
| https://bugs.webkit.org/show_bug.cgi?id=218266 |
| <rdar://problem/70732850> |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-10-27 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: add ENABLE(INSPECTOR_EXTENSIONS) to feature defines |
| https://bugs.webkit.org/show_bug.cgi?id=218237 |
| <rdar://problem/69968787> |
| |
| Reviewed by Antti Koivisto. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| Add ENABLE(INSPECTOR_EXTENSIONS), which is only on for the Cocoa macOS port. |
| |
| 2020-10-15 Tadeu Zagallo <tzagallo@apple.com> |
| |
| Sign MacroAssembler::jumpsToLink |
| https://bugs.webkit.org/show_bug.cgi?id=217774 |
| <rdar://problem/69433058> |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/PtrTag.h: |
| (WTF::untagInt): |
| (WTF::tagInt): |
| |
| 2020-10-15 Tadeu Zagallo <tzagallo@apple.com> |
| |
| Add extra validation to MetaAllocator::findAndRemoveFreeSpace |
| https://bugs.webkit.org/show_bug.cgi?id=217792 |
| <rdar://problem/69433015> |
| |
| Reviewed Saam Barati. |
| |
| * wtf/MetaAllocator.cpp: |
| (WTF::MetaAllocator::findAndRemoveFreeSpace): |
| |
| 2020-10-13 Tadeu Zagallo <tzagallo@apple.com> |
| |
| Assert that WTF::HashTable does not visit the same bucket twice |
| https://bugs.webkit.org/show_bug.cgi?id=217691 |
| <rdar://problem/69887843> |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/HashTable.h: |
| (WTF::KeyTraits>::inlineLookup): |
| (WTF::KeyTraits>::lookupForWriting): |
| (WTF::KeyTraits>::fullLookupForWriting): |
| (WTF::KeyTraits>::addUniqueForInitialization): |
| (WTF::KeyTraits>::add): |
| |
| 2020-10-26 Alex Christensen <achristensen@webkit.org> |
| |
| Inclusive software: Remove instances of "dumb" from the code |
| https://bugs.webkit.org/show_bug.cgi?id=217778 |
| |
| Reviewed by Simon Fraser. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * icu/unicode/caniter.h: |
| * wtf/Bag.h: |
| * wtf/CMakeLists.txt: |
| * wtf/CagedPtr.h: |
| * wtf/Forward.h: |
| * wtf/NakedRef.h: |
| * wtf/RawPtrTraits.h: Renamed from Source/WTF/wtf/DumbPtrTraits.h. |
| * wtf/RawValueTraits.h: Renamed from Source/WTF/wtf/DumbValueTraits.h. |
| * wtf/Ref.h: |
| * wtf/RefCountedArray.h: |
| * wtf/RefPtr.h: |
| * wtf/SentinelLinkedList.h: |
| |
| 2020-10-26 Youenn Fablet <youenn@apple.com> |
| |
| Use a WeakHashSet for Document::m_captionPreferencesChangedElements |
| https://bugs.webkit.org/show_bug.cgi?id=218170 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/WeakHashSet.h: |
| Add a static cast for classes inheriting CanMakeWeakPtr like done for the set iterator. |
| Update code to compile in WinCairo. |
| |
| 2020-10-26 Zan Dobersek <zdobersek@igalia.com> |
| |
| Remove Accelerated2dCanvasEnabled WebPreferences entry |
| https://bugs.webkit.org/show_bug.cgi?id=218114 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| Remove the Accelerated2dCanvasEnabled key after the underlying code |
| was removed in r268453. |
| |
| 2020-10-21 Alex Christensen <achristensen@webkit.org> |
| |
| Update and pass new URL web platform tests |
| https://bugs.webkit.org/show_bug.cgi?id=218056 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::setPath): |
| |
| 2020-10-20 Sihui Liu <sihui_liu@apple.com> |
| |
| Add stubs for SpeechRecognition |
| https://bugs.webkit.org/show_bug.cgi?id=217780 |
| <rdar://problem/70350727> |
| |
| Unreviewed build fix after r268762, which sets ENABLE_SPEECH_SYNTHESIS by mistake. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2020-10-20 Sihui Liu <sihui_liu@apple.com> |
| |
| Add stubs for SpeechRecognition |
| https://bugs.webkit.org/show_bug.cgi?id=217780 |
| <rdar://problem/70350727> |
| |
| Reviewed by Youenn Fablet. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * wtf/PlatformEnable.h: |
| |
| 2020-10-15 Jer Noble <jer.noble@apple.com> |
| |
| Add skeleton implementation of Media Session API |
| https://bugs.webkit.org/show_bug.cgi?id=217797 |
| |
| Reviewed by Darin Adler. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-10-20 Sam Weinig <weinig@apple.com> |
| |
| Tweak WebPreferences*.yaml "exposed" key to only indicate that the key should not be changeable by the frontend |
| https://bugs.webkit.org/show_bug.cgi?id=217918 |
| |
| Reviewed by Darin Adler. |
| |
| * Scripts/GeneratePreferences.rb: |
| Tweak how the "exposed" key is interpreted to extend to keys with default values |
| for the current frontend (that should continue to be set on Settings for instance) |
| but that should not respect the key being passed in. For instance, the key |
| "AsyncFrameScrollingEnabled" has default values for all front ends, since we need |
| to set it to false in Settings when building WebKitLegacy, but is only exposed to |
| WebKit, so it won't be in WebKitLegacy's -[WebPreferences internalFeatures] array |
| and won't do anything if passed to -[WebPreferences _setBoolPreferenceForTestingWithValue:forKey:]. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| Replace now incorrect uses of exposed with temporary key "webKitLegacyBinding" to indicate |
| that these keys should be valid, but currently use a custom binding in WebKitLegacy. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| Only expose AsyncFrameScrollingEnabled and AsyncOverflowScrollingEnabled to WebKit. |
| This maintains the behavior that these keys are not valid keys as test header commands |
| when run through DumpRenderTree. |
| |
| |
| 2020-10-19 Lauro Moura <lmoura@igalia.com> |
| |
| REGRESSION(r268115) [GTK] Build failures with GCC 7 (Ubuntu 18.04) and GCC 8 (Debian Buster) |
| https://bugs.webkit.org/show_bug.cgi?id=217425 |
| |
| Reviewed by Carlos Alberto Lopez Perez. |
| |
| * wtf/StdFilesystem.h: Add fallback to <experimental/filesystem> if available. |
| |
| 2020-10-19 Chris Dumez <cdumez@apple.com> |
| |
| [GPU Process] RemoteAudioDestination::render() should not need to dispatch to the main thread to do IPC |
| https://bugs.webkit.org/show_bug.cgi?id=217920 |
| |
| Reviewed by Alex Christensen. |
| |
| Add an optional parameter to the CompletionHandler constructor allowing the caller to indicate it expects |
| the completion handler to get call on the main thread instead of the construction thread. |
| |
| * wtf/CompletionHandler.h: |
| (WTF::CompletionHandler<Out): |
| |
| 2020-10-19 Antoine Quint <graouts@webkit.org> |
| |
| Move remaining Web Animations runtime-enabled features to settings |
| https://bugs.webkit.org/show_bug.cgi?id=217903 |
| |
| Reviewed by Sam Weinig. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2020-10-18 David Kilzer <ddkilzer@apple.com> |
| |
| Fix -Wdeprecated-copy warnings in WTF and JavaScriptCore |
| <https://webkit.org/b/217855> |
| <rdar://problem/67716914> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/Identified.h: |
| (WTF::IdentifiedBase::Identifier): |
| - Change to default since compiler will generate the same code. |
| (WTF::IdentifiedBase::operator=): Add. |
| - Add default copy assignment operator to keep it protected. |
| |
| 2020-10-16 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Add system trace points for flushing remote image buffers |
| https://bugs.webkit.org/show_bug.cgi?id=217853 |
| |
| Reviewed by Simon Fraser. |
| |
| See WebKit ChangeLog for more details. |
| |
| * wtf/SystemTracing.h: |
| |
| 2020-10-16 Jiewen Tan <jiewen_tan@apple.com> |
| |
| [WebAuthn] Add an experimental feature flag: WebAuthenticationModernEnabled |
| https://bugs.webkit.org/show_bug.cgi?id=217843 |
| <rdar://problem/70384187> |
| |
| Reviewed by Brent Fulgham. |
| |
| Add a new experimental feature flag to test the new WebAuthn process. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2020-10-16 Antoine Quint <graouts@webkit.org> |
| |
| Enable individual CSS transform properties by default |
| https://bugs.webkit.org/show_bug.cgi?id=217849 |
| <rdar://problem/70052493> |
| |
| Reviewed by Dean Jackson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2020-10-16 Jiewen Tan <jiewen_tan@apple.com> |
| |
| [WebAuthn] Remove experimental feature flag: WebAuthenticationLocalAuthenticatorEnabled |
| https://bugs.webkit.org/show_bug.cgi?id=217796 |
| <rdar://problem/70358912> |
| |
| Reviewed by Brent Fulgham. |
| |
| The feature is now shipped. Let's remove the experimental feature flag. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2020-10-16 David Kilzer <ddkilzer@apple.com> |
| |
| Open source clang warning: bitwise operation between different enumeration types [-Wenum-enum-conversion] |
| <https://webkit.org/b/217805> |
| <rdar://problem/70250742> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/text/StringImpl.h: |
| (WTF::StringImpl::StringImpl::s_hashZeroValue): Add. |
| (WTF::StringImpl::StringImpl): |
| - Use s_hashZeroValue as first value in bitwise-or expression |
| so that enums are converted automatically to unsigned values. |
| |
| 2020-10-16 Sam Weinig <weinig@apple.com> |
| |
| ENABLE_LEGACY_CSS_VENDOR_PREFIXES and RuntimeEnabledFeatures::legacyCSSVendorPrefixesEnabled() don't do anything |
| https://bugs.webkit.org/show_bug.cgi?id=217833 |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| Remove support for ENABLE_LEGACY_CSS_VENDOR_PREFIXES, which only guarded code that was always disabled. |
| |
| 2020-10-16 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| REGRESSION(r267727): Warning spam from JSC_DECLARE_CUSTOM_GETTER |
| https://bugs.webkit.org/show_bug.cgi?id=217585 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| The problem is that the declarations are static, so WTF_INTERNAL is redundant with that. |
| (File-static declarations are of course local to the current file, and apparently GCC really |
| wants us to not hide symbols that don't need to be hidden.) |
| |
| I considered remove WTF_INTERNAL from JSC_DECLARE_JIT_OPERATION and ensuring all uses are |
| static, but it's not possible because it is frequently used in header files. It should only |
| be static when used in .cpp files. |
| |
| So I decided to split JSC_DECLARE_JIT_OPERATION into two versions, the current one that uses |
| WTF_INTERNAL, and JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL that doesn't. That is not a |
| great name, but it's only used in a couple places, so I guess that's OK. |
| JSC_DECLARE_CUSTOM_GETTER and JSC_DECLARE_CUSTOM_SETTER use this new version, since those |
| are only used in static declarations in .cpp files. A small number of source files also need |
| the version without the WTF_INTERNAL. All other users can continue to use original |
| JSC_DECLARE_JIT_OPERATION with WTF_INTERNAL and not worry about the ugly name. |
| |
| I'm not terribly happy with this solution, and it's a little fragile too (you probably won't |
| directly use JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL in a place that needs |
| WTF_INTERNAL, but you might use JSC_DECLARE_CUSTOM_GETTER and JSC_DECLARE_CUSTOM_SETTER in |
| such a way!), but at least it will avoid the warning spam and allow us to see warnings for |
| real problems. |
| |
| * wtf/PlatformCallingConventions.h: |
| |
| 2020-10-15 Jiewen Tan <jiewen_tan@apple.com> |
| |
| [WebAuthn] Move AppAttestInternal related code from WKA to OpenSource |
| https://bugs.webkit.org/show_bug.cgi?id=217790 |
| <rdar://problem/59613406> |
| |
| Reviewed by Brent Fulgham. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-10-15 David Kilzer <ddkilzer@apple.com> |
| |
| WeakObjCPtr.h is not safe to include in C++ source files |
| <https://webkit.org/b/217712> |
| <rdar://problem/70250667> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/WeakObjCPtr.h: |
| (WTF::WeakObjCPtr::get const): |
| - Move implementation outside of the class and wrap it in |
| #ifdef __OBJC__/#endif. This makes the header safe to compile |
| with other C++ sources, but will fail if get() is used in a |
| C++ source file. |
| |
| 2020-10-14 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Unreviewed build fix. Disable IPC testing API on non-Cocoa platforms. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2020-10-14 Alex Christensen <achristensen@webkit.org> |
| |
| Disallow ports in file URLs |
| https://bugs.webkit.org/show_bug.cgi?id=217252 |
| |
| Reviewed by Darin Adler. |
| |
| This matches Chrome and the URL specification. |
| Covered by newly passing web platform tests. |
| |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::parsePort): |
| |
| 2020-10-13 Simon Fraser <simon.fraser@apple.com> |
| |
| Allow passive mouse wheel event listeners to not force synchronous scrolling |
| https://bugs.webkit.org/show_bug.cgi?id=158439 |
| <rdar://problem/28265360> |
| |
| Reviewed by Tim Horton. |
| |
| Define ENABLE_WHEEL_EVENT_REGIONS for macOS. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-10-14 Chris Dumez <cdumez@apple.com> |
| |
| Enable AudioWorklet by default |
| https://bugs.webkit.org/show_bug.cgi?id=217708 |
| |
| Reviewed by Eric Carlson. |
| |
| Enable AudioWorklet by default on platforms where modern/unprefixed WebAudio |
| is enabled. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2020-10-14 Zan Dobersek <zdobersek@igalia.com> |
| |
| Remove ACCELERATED_2D_CANVAS build flags and guarded code |
| https://bugs.webkit.org/show_bug.cgi?id=217603 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * wtf/PlatformEnable.h: |
| Remove the fallback ENABLE_ACCELERATED_2D_CANVAS definition. |
| |
| 2020-10-13 Chris Dumez <cdumez@apple.com> |
| |
| WebAudio tests are crashing in debug when enabling the GPU process |
| https://bugs.webkit.org/show_bug.cgi?id=217663 |
| |
| Reviewed by Geoff Garen. |
| |
| * wtf/CrossThreadQueue.h: |
| (WTF::CrossThreadQueue<DataType>::waitForMessage): |
| If CrossThreadQueue::kill() gets called while another thread is waiting on a |
| CrossThreadQueue::waitForMessage() call, make it so that waitForMessage() |
| returns a default-constructed DataType instead of crashing trying to |
| dequeue (since the queue is empty). |
| |
| 2020-10-13 Keith Rollin <krollin@apple.com> |
| |
| Remove leftover MACOSX_DEPLOYMENT_TARGET_macosx support |
| https://bugs.webkit.org/show_bug.cgi?id=217649 |
| <rdar://problem/70236877> |
| |
| Reviewed by Darin Adler. |
| |
| Bug 42796 introduced MACOSX_DEPLOYMENT_TARGET_<PLATFORM> as "support |
| for compiling WebKit against iOS SDKs". Support for the iOS part of |
| this feature was later removed in several changes, including Bug |
| 139212, Bug 139463 and Bug 144762. However, vestiges have remained for |
| five or six years in the form of MACOSX_DEPLOYMENT_TARGET_macosx. The |
| inclusion of the platform in MACOSX_DEPLOYMENT_TARGET is no longer |
| needed and can be removed. |
| |
| This changes brings most projects in conformance with other projects |
| that don't support including the platform in MACOSX_DEPLOYMENT_TARGET, |
| including WebEditingTester, gtest, WebKitTestRunner, MiniBrowser, and |
| TestWebKitAPI. |
| |
| Along the way, remove a couple of left-over references to macOS 10.16, |
| and a couple of places where [sdk=macosx*] was still being used. |
| |
| With this change, initialization of MACOSX_DEPLOYMENT_TARGET should be |
| consistent across all projects, with two exceptions: WebKitLauncher |
| (which hardcodes it to 10.12) and libwebrtc's copy of googletest |
| (which hardcodes it to 10.4). The reasons for these hard-coded values |
| is not apparent, so leave them be. |
| |
| * Configurations/DebugRelease.xcconfig: |
| |
| 2020-10-12 Luming Yin <luming_yin@apple.com> |
| |
| [macOS] Workaround for MAC_OS_X_VERSION_MAJOR incorrectly including minor version when building |
| with Xcode 12 on macOS Big Sur SUs |
| https://bugs.webkit.org/show_bug.cgi?id=217602 |
| rdar://70194453 |
| |
| Reviewed by Darin Adler. |
| |
| The previous workaround turns out to be ineffective because we can't set the value of |
| TARGET_MAC_OS_X_VERSION_MAJOR based on a previous value of itself. Introduce a new |
| variable TARGET_MAC_OS_X_VERSION_MAJOR to determine whether we need to explicitly |
| adjust MAC_OS_X_VERSION_MAJOR to 110000. |
| |
| * Configurations/DebugRelease.xcconfig: |
| |
| 2020-10-12 Andy Estes <aestes@apple.com> |
| |
| [macCatalyst] Enable WKPDFView |
| https://bugs.webkit.org/show_bug.cgi?id=217403 |
| <rdar://problem/48217791> |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformEnableCocoa.h: Enabled WKPDFView when building for the Catalyst variant on |
| Big Sur or later. |
| |
| 2020-10-12 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| -Wsign-compare warnings in URL.cpp and URLParser.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=217583 |
| |
| Using unsigned literals where required. |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::pathStart const): |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::needsNonSpecialDotSlash const): |
| |
| 2020-10-12 Luming Yin <luming_yin@apple.com> |
| |
| [macOS] Workaround for MAC_OS_X_VERSION_MAJOR incorrectly including minor version when building |
| with Xcode 12 on macOS Big Sur SUs |
| https://bugs.webkit.org/show_bug.cgi?id=217602 |
| rdar://70194453 |
| |
| Reviewed by Darin Adler. |
| |
| Due to a bug in Xcode (rdar://70185899), Xcode 12.0 and Xcode 12.1 Beta incorrectly includes the |
| minor release number in MAC_OS_X_VERSION_MAJOR, which causes Debug and Release builds of WebKit |
| to be misconfigured when building on macOS Big Sur SUs, leading to webpages failing to load. |
| |
| To work around the Xcode bug, when the MAC_OS_X_VERSION_MAJOR includes the minor version number, |
| drop the minor version number by explicitly setting TARGET_MAC_OS_X_VERSION_MAJOR to 110000. |
| |
| Note: This change should be reverted after <rdar://70185899> is resolved. |
| |
| * Configurations/DebugRelease.xcconfig: |
| |
| 2020-10-11 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| GeneratePreferences.rb is noisy |
| https://bugs.webkit.org/show_bug.cgi?id=217589 |
| |
| Reviewed by Sam Weinig. |
| |
| Don't print anything when the script is successful. Since it runs during the build, it |
| should only print errors. |
| |
| * Scripts/GeneratePreferences.rb: |
| |
| 2020-10-11 Luming Yin <luming_yin@apple.com> |
| |
| Strip patch version from TARGET_MAC_OS_X_VERSION_MAJOR when building for macOS Big Sur |
| or later |
| https://bugs.webkit.org/show_bug.cgi?id=217594 |
| rdar://70188497 |
| |
| Reviewed by Darin Adler. |
| |
| To ensure successful Mac Catalyst WebKit builds, strip the patch version from |
| TARGET_MAC_OS_X_VERSION_MAJOR by using two `base:`s on MACOSX_DEPLOYMENT_TARGET. |
| |
| * Configurations/Base.xcconfig: |
| |
| 2020-10-11 Luming Yin <luming_yin@apple.com> |
| |
| Ignore deployment suffix and identifier when computing major OS version for macOS |
| Big Sur and newer |
| https://bugs.webkit.org/show_bug.cgi?id=217584 |
| rdar://70168426 |
| |
| Reviewed by Darin Adler. |
| |
| Stop using MACOSX_DEPLOYMENT_TARGET:suffix:identifier to compute major OS versions. |
| Only use the deployment target base for macOS Big Sur and newer. Keep the manual |
| definitions for legacy versions of macOS. |
| |
| * Configurations/Base.xcconfig: |
| |
| 2020-10-09 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Assert Operation and HostFunction are in JITOperationsList |
| https://bugs.webkit.org/show_bug.cgi?id=217500 |
| |
| Reviewed by Saam Barati. |
| |
| This patch makes tagCodePtr etc. take PtrTag only from template parameter. |
| As a result, we can easily customize special verification process for specific PtrTag. |
| By leveraging this feature, we introduce HostFunction / JITOperation assertions for HostFunctionPtrTag and OperationPtrTag. |
| |
| We also add tagCodePtrWithStackPointerForJITCall and untagCodePtrWithStackPointerForJITCall, they are used only when we need |
| to tag a pointer with stack pointer which is a dynamic PtrTag. |
| |
| * wtf/PtrTag.cpp: |
| (WTF::tagForPtr): |
| * wtf/PtrTag.h: |
| (WTF::tagNativeCodePtrImpl): |
| (WTF::untagNativeCodePtrImpl): |
| (WTF::PtrTagTraits::tagCodePtr): |
| (WTF::PtrTagTraits::untagCodePtr): |
| (WTF::registerPtrTagLookup): |
| (WTF::reportBadTag): |
| (WTF::removeCodePtrTag): |
| (WTF::tagCodePtrImpl): |
| (WTF::tagCodePtr): |
| (WTF::untagCodePtrImpl): |
| (WTF::untagCodePtr): |
| (WTF::retagCodePtrImplHelper): |
| (WTF::retagCodePtrImpl): |
| (WTF::retagCodePtr): |
| (WTF::assertIsCFunctionPtr): |
| (WTF::isTaggedWith): |
| (WTF::tagCFunctionPtrImpl): |
| (WTF::tagCFunctionPtr): |
| (WTF::tagCFunction): |
| (WTF::untagCFunctionPtrImpl): |
| (WTF::untagCFunctionPtr): |
| (WTF::tagArrayPtr): |
| (WTF::untagArrayPtr): |
| (WTF::removeArrayPtrTag): |
| (WTF::retagArrayPtr): |
| (WTF::tagCodePtrWithStackPointerForJITCall): |
| (WTF::untagCodePtrWithStackPointerForJITCall): |
| (WTF::untagCodePtrImplHelper): Deleted. |
| |
| 2020-10-10 Sam Weinig <weinig@apple.com> |
| |
| Use WebPreference definitions from shared configuration files in WebCore (Part 1) |
| https://bugs.webkit.org/show_bug.cgi?id=217551 |
| |
| Reviewed by Darin Adler. |
| |
| This begins using the WebPreferences*.yaml files for the generation of |
| WebCore's Settings and InternalSettings classes. In this first part, we |
| only are moving settings that already exist in the WebPreferences*.yaml |
| files. A subsequent change will migrate the remaining additional settings |
| over. |
| |
| To do this we must add default values for 'WebCore', which are unfortunately |
| still needed for things like the empty client based SVGImage and sanitizing |
| web content functionality. We only need default WebCore values for preferences |
| that are bound to WebCore::Settings. It would be good to eliminate the need |
| for these eventually, but that is not a goal of this change. |
| |
| This also adds some new keys from WebCore's Settings.yaml: |
| - 'webcoreOnChange: *' called by WebCore::Settings when the setting changes. |
| - 'inspectorOverride: true' used to allow the inspector to override the setting. |
| - 'webcoreImplementation: custom' used to indicate that WebCore::SettingsBase |
| implements the setting. |
| - 'webcoreGetter: *' used to provide an alternate name for the getter in WebCore::Settings. |
| - 'webcoreExcludeFromInternalSettings: true' used to exclude from WebCore's InternalSettings |
| bindings. |
| |
| * Scripts/GeneratePreferences.rb: |
| Adds check that if the preference is bound to WebCore, it includes defaults for all |
| three front generators, 'WebKit', WebKitLegacy', and 'WebCore'. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| * Scripts/Preferences/WebPreferencesDebug.yaml: |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| Migrates defaults and additional keys from Settings.yaml. |
| |
| 2020-10-09 Keith Miller <keith_miller@apple.com> |
| |
| Finalizers shouldn't run if events can't fire |
| https://bugs.webkit.org/show_bug.cgi?id=214508 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Add a DropLockScope to make it easier to drop a lock for a short |
| piece of code. Also, instead of deleting int Locker constructor |
| we should just delete the underlying type of the |
| NoLockingNecessary enum. |
| |
| * wtf/Locker.h: |
| (WTF::Locker::~Locker): |
| (WTF::Locker::unlockEarly): |
| (WTF::Locker::Locker): |
| (WTF::Locker::operator=): |
| (WTF::Locker::unlock): |
| (WTF::DropLockForScope::DropLockForScope): |
| (WTF::DropLockForScope::~DropLockForScope): |
| |
| 2020-10-08 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, reland r268170 |
| https://bugs.webkit.org/show_bug.cgi?id=217460 |
| |
| * wtf/PlatformRegisters.cpp: |
| (WTF::threadStateLRInternal): |
| (WTF::threadStatePCInternal): |
| * wtf/PtrTag.h: |
| (WTF::tagCodePtr): |
| (WTF::untagCodePtr): |
| (WTF::assertIsCFunctionPtr): |
| (WTF::assertIsNullOrCFunctionPtr): |
| (WTF::assertIsNotTagged): |
| (WTF::assertIsTagged): |
| (WTF::assertIsNullOrTagged): |
| (WTF::isTaggedWith): |
| (WTF::assertIsTaggedWith): |
| (WTF::assertIsNullOrTaggedWith): |
| (WTF::tagCFunctionPtr): |
| (WTF::tagCFunction): |
| (WTF::untagCFunctionPtr): |
| (WTF::tagInt): |
| |
| 2020-10-08 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r268170 and r268190. |
| https://bugs.webkit.org/show_bug.cgi?id=217502 |
| |
| Crash on ARM64E exclusively |
| |
| Reverted changesets: |
| |
| "[JSC] Restrict more ptr-tagging and avoid using |
| OperationPtrTag for JIT code" |
| https://bugs.webkit.org/show_bug.cgi?id=217460 |
| https://trac.webkit.org/changeset/268170 |
| |
| "Unreviewed, build fix for ARM64E" |
| https://bugs.webkit.org/show_bug.cgi?id=217460 |
| https://trac.webkit.org/changeset/268190 |
| |
| 2020-10-08 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Make it possible to send an arbitrary IPC message from JavaScript |
| https://bugs.webkit.org/show_bug.cgi?id=217423 |
| <rdar://problem/69969351> |
| |
| Reviewed by Geoffrey Garen. |
| |
| Added a compile time flag (ENABLE_IPC_TESTING_API) and a runtime flag (IPCTestingAPIEnabled) |
| for the JavaScript API to test IPC. |
| |
| * Scripts/GeneratePreferences.rb: |
| (Preference::nameLower): Keep IPC uppercase. |
| * Scripts/Preferences/WebPreferencesInternal.yaml: Added IPCTestingAPIEnabled. |
| * wtf/PlatformEnable.h: Added ENABLE_IPC_TESTING_API. |
| |
| 2020-10-08 Alex Christensen <achristensen@webkit.org> |
| |
| REGRESSION (r267763): [ iOS wk2 ] http/tests/in-app-browser-privacy/non-app-bound-domain-does-not-get-app-bound-session.html is a constant failure |
| https://bugs.webkit.org/show_bug.cgi?id=217386 |
| |
| Reviewed by Brent Fulgham. |
| |
| * Scripts/Preferences/WebPreferencesDebug.yaml: |
| |
| 2020-10-08 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, build fix for ARM64E |
| https://bugs.webkit.org/show_bug.cgi?id=217460 |
| |
| * wtf/PtrTag.h: |
| (WTF::tagCodePtr): |
| (WTF::untagCodePtr): |
| (WTF::assertIsCFunctionPtr): |
| (WTF::assertIsNullOrCFunctionPtr): |
| (WTF::assertIsNotTagged): |
| (WTF::assertIsTagged): |
| (WTF::assertIsNullOrTagged): |
| (WTF::isTaggedWith): |
| (WTF::assertIsTaggedWith): |
| (WTF::assertIsNullOrTaggedWith): |
| |
| 2020-10-07 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Restrict more ptr-tagging and avoid using OperationPtrTag for JIT code |
| https://bugs.webkit.org/show_bug.cgi?id=217460 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/PlatformRegisters.cpp: |
| (WTF::threadStateLRInternal): |
| (WTF::threadStatePCInternal): |
| * wtf/PtrTag.h: |
| (WTF::tagCFunctionPtr): |
| (WTF::tagCFunction): |
| (WTF::untagCFunctionPtr): |
| (WTF::tagInt): |
| (WTF::isTaggedWith): |
| (WTF::assertIsTaggedWith): |
| (WTF::assertIsNullOrTaggedWith): |
| |
| 2020-10-07 Keith Rollin <krollin@apple.com> |
| |
| Update post-processing rules for headers to not unnecessarily change timestamps |
| https://bugs.webkit.org/show_bug.cgi?id=217371 |
| <rdar://problem/69992230> |
| |
| Reviewed by Darin Adler. |
| |
| Under XCBuild, the scripts employed in custom build rules can be |
| invoked in innocuous situations. A common example is when the user is |
| building from the command-line and they change the `make` output from |
| stdout to a file, or vice-versa. Changing the output changes the |
| setting of the COLOR_DIAGNOSTICS environment variable, which is enough |
| to cause XCBuild to think something is different and that the custom |
| build rule needs to be invoked. For the script's part, nothing |
| significant has changed, yet it post-processes the header files, |
| causing their modification dates to change, causing downstream |
| rebuilds to occur. |
| |
| Fix this problem by adopting an approach that doesn't modify the |
| post-processed header files unless their contents actually change. |
| |
| * Scripts/GeneratePreferences.rb: |
| |
| 2020-10-07 Devin Rousso <drousso@apple.com> |
| |
| Add missing `#define` for `PENCILKIT_TEXT_INPUT` flag |
| https://bugs.webkit.org/show_bug.cgi?id=217436 |
| <rdar://problem/69720219> |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-10-07 Tadeu Zagallo <tzagallo@apple.com> |
| |
| Add maximum depth check to RedBlackTree |
| https://bugs.webkit.org/show_bug.cgi?id=217249 |
| <rdar://problem/69432957> |
| |
| Reviewed by Saam Barati. |
| |
| We limit all tree traversals to 128 levels deep. That's a very conservative upper bound that |
| would work for a tree that used all of the available address space. |
| |
| * wtf/RedBlackTree.h: |
| |
| 2020-10-07 Aditya Keerthi <akeerthi@apple.com> |
| |
| REGRESSION: Date/time pickers are not displayed in UIWebViews |
| https://bugs.webkit.org/show_bug.cgi?id=217341 |
| <rdar://problem/66881739> |
| |
| Reviewed by Wenson Hsieh. |
| |
| Date/time inputs were incorrectly disabled by default on |
| PLATFORM(IOS_FAMILY) in WebPreferencesInternal. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2020-10-06 Simon Fraser <simon.fraser@apple.com> |
| |
| Redundant rendering updates can be scheduled from inside Page::updateRendering() |
| https://bugs.webkit.org/show_bug.cgi?id=216726 |
| |
| Reviewed by Tim Horton. |
| |
| Make it possible to dump Vectors with inline capacity. |
| |
| * wtf/text/TextStream.h: |
| (WTF::operator<<): |
| |
| 2020-10-06 Youenn Fablet <youenn@apple.com> |
| |
| Enable video capture in WebProcess by default on MacOS |
| https://bugs.webkit.org/show_bug.cgi?id=217385 |
| <rdar://problem/69999542> |
| |
| Reviewed by Sam Weinig. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2020-10-06 Alex Christensen <achristensen@webkit.org> |
| |
| Align URL setters with reasonably behaving other browsers |
| https://bugs.webkit.org/show_bug.cgi?id=217366 |
| |
| Reviewed by Youenn Fablet. |
| |
| Firefox ignores everything after '/', '?', '#', and '\' in special URL schemes when setting the host to a new value. |
| Chrome doesn't add another '/' to the beginning of the path if it's a special scheme and starts with '\'. |
| I think these behaviors make sense, and aligning with these behaviors makes it so there are no tests in url-setters.html |
| that any other browser passes that we don't also pass. |
| Once https://github.com/whatwg/url/issues/551 is resolved this will also be reflected in spec wording. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::hasSpecialScheme const): |
| (WTF::forwardSlashHashOrQuestionMark): |
| (WTF::slashHashOrQuestionMark): |
| (WTF::URL::setHost): |
| (WTF::URL::setPath): |
| * wtf/URL.h: |
| |
| 2020-10-05 Sam Weinig <weinig@apple.com> |
| |
| Add implementation of <filesystem> to WTF for macOS 10.14 |
| https://bugs.webkit.org/show_bug.cgi?id=217302 |
| |
| Reviewed by Darin Adler. |
| |
| Imports a copy of <filesystem> and its needed implementation files |
| from libc++ (r343838) and modifies them to build outside of libc++. |
| This is only needed and only built for versions of macOS < 10.15 |
| and can be dropped when we require 10.15. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/StdFilesystem.cpp: Added. |
| * wtf/StdFilesystem.h: Added. |
| * LICENSE-libc++.txt: Added. |
| |
| 2020-10-05 Rob Buis <rbuis@igalia.com> |
| |
| WebKit doesn't parse "#" as delimiter for fragment identifier in data URIs |
| https://bugs.webkit.org/show_bug.cgi?id=68089 |
| |
| Reviewed by Alex Christensen, Ryosuke Niwa, and Darin Adler. |
| |
| * wtf/URL.h: |
| * wtf/spi/darwin/dyldSPI.h: |
| |
| 2020-10-05 Aditya Keerthi <akeerthi@apple.com> |
| |
| [Contact Picker API] Introduce bindings for the Contact Picker API |
| https://bugs.webkit.org/show_bug.cgi?id=216793 |
| <rdar://problem/69317957> |
| |
| Reviewed by Wenson Hsieh. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| Add experimental preference for the Contact Picker API. |
| |
| 2020-10-05 Sam Weinig <weinig@apple.com> |
| |
| Remove support for enabling subpixel CSSOM values, it's off by default everywhere and known to be not-compatible with the web |
| https://bugs.webkit.org/show_bug.cgi?id=217300 |
| |
| Reviewed by Simon Fraser. |
| |
| Remove preference for toggling subpixel CSSOM values. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2020-10-05 Alex Christensen <achristensen@webkit.org> |
| |
| URLParser should fail to parse URLs with hosts containing invalid punycode encodings |
| https://bugs.webkit.org/show_bug.cgi?id=217285 |
| |
| Reviewed by Darin Adler. |
| |
| URLParser has a fast path for parsing hosts that are all ASCII, but that does not validate hosts that are invalid punycode, such as "xn--". |
| Since all punycode encoded strings start with "xn--", if the input string starts with "xn--" then skip the fast path and let ICU decide if it's valid. |
| |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::domainToASCII): |
| (WTF::URLParser::startsWithXNDashDash): |
| (WTF::URLParser::parseHostAndPort): |
| * wtf/URLParser.h: |
| |
| 2020-10-05 Alex Christensen <achristensen@webkit.org> |
| |
| When appending a Windows drive letter to a file URL, remove any path we may have copied from the base URL |
| https://bugs.webkit.org/show_bug.cgi?id=217284 |
| |
| Reviewed by Darin Adler. |
| |
| This fixes a web platform test and adds another to verify that we remove the entire path, not just the last segment like we do with .. |
| Edge has implemented this, and in order to have a platform-independent URL we should do it too. |
| |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::isWindowsDriveLetter): |
| (WTF::URLParser::appendWindowsDriveLetter): |
| (WTF::URLParser::parse): |
| |
| 2020-10-05 Alex Christensen <achristensen@webkit.org> |
| |
| Fix UTF-8 encoding in URL parsing |
| https://bugs.webkit.org/show_bug.cgi?id=217289 |
| |
| Reviewed by Darin Adler. |
| |
| This matches the behavior of Firefox and the Unicode and whatwg encoding specifications. |
| |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::utf8PercentEncode): |
| (WTF::URLParser::utf8QueryEncode): |
| (WTF::URLParser::parseHostAndPort): |
| |
| 2020-10-03 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Introduce JITOperationList to validate JIT-caged pointers |
| https://bugs.webkit.org/show_bug.cgi?id=217261 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/PlatformCallingConventions.h: |
| * wtf/PlatformEnable.h: |
| |
| 2020-10-03 Alex Christensen <achristensen@webkit.org> |
| |
| Add extra slash after empty host copied from base URL if path is also empty |
| https://bugs.webkit.org/show_bug.cgi?id=217278 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::parse): |
| |
| 2020-10-03 Alex Christensen <achristensen@webkit.org> |
| |
| "http:" should not be a valid URL |
| https://bugs.webkit.org/show_bug.cgi?id=217250 |
| |
| Reviewed by Brady Eidson. |
| |
| Same with https, ws, wss, and for some reason ftp. |
| This matches the URL specification and Chrome and Firefox. |
| |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::parse): |
| |
| 2020-10-03 Aditya Keerthi <akeerthi@apple.com> |
| |
| [macOS] Enable date, time, and datetime-local input types |
| https://bugs.webkit.org/show_bug.cgi?id=217229 |
| <rdar://problem/69882757> |
| |
| Reviewed by Sam Weinig. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2020-10-02 Alex Christensen <achristensen@webkit.org> |
| |
| Copy host from base file URL |
| https://bugs.webkit.org/show_bug.cgi?id=217170 |
| |
| Reviewed by Brady Eidson. |
| |
| This matches Chrome and the URL specification. |
| Covered by newly passing web platform tests. |
| |
| I also updated the web platform tests from https://github.com/web-platform-tests/wpt/pull/25716 |
| which aligns with Safari in cases except copying of the host from base file URLs. |
| |
| The implementation pushes copying from the base URL downstream in the parsing process to where it is in the URL specification |
| so that we can properly decide how much of the base URL to copy and so we can copy it into the right place in the result URL. |
| |
| I also updated an assertion that makes sure that we re-use the input String if possible because there are cases where we copy |
| part of the parent URL, which is a "syntax violation" (meaning we copy the string parts and assemble a new one), then re-assemble |
| a new String that is equal to the input string. This is not a problem, it just needed to be reflected in the assertion. |
| |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::URLParser): |
| (WTF::URLParser::parse): |
| |
| 2020-10-02 Youenn Fablet <youenn@apple.com> |
| |
| Add AVAssetWriter SPI header |
| https://bugs.webkit.org/show_bug.cgi?id=217169 |
| <rdar://problem/69793050> |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformHave.h: |
| Remove dependency on AVAssetWriter_private.h. |
| Introduce HAVE_AVASSETWRITERDELEGATE_API for older OSes that only have delegate as SPI. |
| |
| 2020-10-01 Truitt Savell <tsavell@apple.com> |
| |
| Unreviewed, reverting r267841. |
| |
| Broke Catalina Builds |
| |
| Reverted changeset: |
| |
| "Add AVAssetWriter SPI header" |
| https://bugs.webkit.org/show_bug.cgi?id=217169 |
| https://trac.webkit.org/changeset/267841 |
| |
| 2020-10-01 Youenn Fablet <youenn@apple.com> |
| |
| Add AVAssetWriter SPI header |
| https://bugs.webkit.org/show_bug.cgi?id=217169 |
| <rdar://problem/69793050> |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformHave.h: |
| Remove dependency on AVAssetWriter_private.h |
| |
| 2020-10-01 Alex Christensen <achristensen@webkit.org> |
| |
| Non-special URLs are not idempotent |
| https://bugs.webkit.org/show_bug.cgi?id=215762 |
| |
| Reviewed by Tim Horton. |
| |
| https://github.com/whatwg/url/pull/505 added an interesting edge case to the URL serialization: |
| "If url’s host is null, url’s path’s size is greater than 1, and url’s path[0] is the empty string, then append U+002F (/) followed by U+002E (.) to output." |
| The problem was that URLs like "a:/a/..//a" would be parsed into "a://a" with a pathname of "//a" and an empty host. If "a://a" was then reparsed, it would again have an href of "a://a" |
| but its host would be "a" and it would have an empty path. There is consensus that URL parsing should be idempotent, so we need to do something different here. |
| According to https://github.com/whatwg/url/issues/415#issuecomment-419197290 this follows what Edge did (and then subsequently abandoned when they switched to Chromium) |
| to make URL parsing idempotent by adding "/." before the path in the edge case of a URL with a non-special scheme (not http, https, wss, etc.) and a null host and a non-empty path that |
| has an empty first segment. All the members of the URL remain unchanged except the full serialization (href). This is not important in practice, but important in theory. |
| |
| Our URL parser tries very hard to use the exact same WTF::String object given as input if it can. However, this step is better implemented as a post-processing step that will almost never happen |
| because otherwise we would have to parse the entire path twice to find out if we need to add "./" or if the "./" that may have already been there needs to stay. This is illustrated with the test URL |
| "t:/.//p/../../../..//x" which does need the "./". |
| |
| In the common case, this adds one well-predicted branch to URL parsing, so I expect performance to be unaffected. Since this is such a rare edge case of URLs, I expect no compatibility problems. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::pathStart const): |
| * wtf/URL.h: |
| (WTF::URL::pathStart const): Deleted. |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::copyURLPartsUntil): |
| (WTF::URLParser::URLParser): |
| (WTF::URLParser::needsNonSpecialDotSlash const): |
| (WTF::URLParser::addNonSpecialDotSlash): |
| * wtf/URLParser.h: |
| |
| 2020-09-30 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r267795. |
| https://bugs.webkit.org/show_bug.cgi?id=217135 |
| |
| Incorrect fix. |
| |
| Reverted changeset: |
| |
| "REGRESSION(r259582): Build fails on aarch64 Linux with WebKit |
| 2.30.1 on LLIntOffsetsExtractor.cpp.o" |
| https://bugs.webkit.org/show_bug.cgi?id=217079 |
| https://trac.webkit.org/changeset/267795 |
| |
| 2020-09-30 Mike Gorse <mgorse@suse.com> |
| |
| REGRESSION(r259582): Build fails on aarch64 Linux with WebKit 2.30.1 on LLIntOffsetsExtractor.cpp.o |
| https://bugs.webkit.org/show_bug.cgi?id=217079 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * wtf/PlatformEnable.h: Only define USE_JUMP_ISLANDS if JIT is enabled. |
| |
| 2020-09-30 Alexander Mikhaylenko <alexm@gnome.org> |
| |
| [GTK] Chassis type check fails if the value is quoted |
| https://bugs.webkit.org/show_bug.cgi?id=217123 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Sometimes the chassis type can be quoted, in this case we'll fail to |
| parse it and fall back to desktop type. Unquote the string before |
| attempting to parse it. |
| |
| * wtf/glib/ChassisType.cpp: |
| (WTF::readMachineInfoChassisType): |
| |
| 2020-09-29 Sam Weinig <weinig@apple.com> |
| |
| [Preferences] Adopt shared preferences configuration and script in WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=217075 |
| |
| Reviewed by Darin Adler. |
| |
| * Scripts/GeneratePreferences.rb: |
| Simplify input by passing the templates as complete paths, rather than by name + template directory. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| * Scripts/Preferences/WebPreferencesDebug.yaml: |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| Fix some mistakes / things left out to make WebKit defaults and names match current WebKit names and defaults. |
| |
| * wtf/CMakeLists.txt: |
| Copy all the preferences and scripts into WTF_SCRIPTS_DIR so it can be accessed by WebKit. |
| |
| 2020-09-29 Alex Christensen <achristensen@webkit.org> |
| |
| Remove plist-based ResourceLoadStatistics storage, which has been replaced by database-based storage |
| https://bugs.webkit.org/show_bug.cgi?id=217063 |
| |
| Reviewed by John Wilander. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2020-09-28 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Use JSC_DECLARE_JIT_OPERATION / JSC_DECLARE_CUSTOM_GETTER / JSC_DECLARE_CUSTOM_SETTER |
| https://bugs.webkit.org/show_bug.cgi?id=217071 |
| |
| Reviewed by Keith Miller. |
| |
| Add the following macros. |
| |
| 1. JSC_DECLARE_JIT_OPERATION |
| 2. JSC_DEFINE_JIT_OPERATION |
| 3. JSC_DECLARE_CUSTOM_GETTER |
| 4. JSC_DEFINE_CUSTOM_GETTER |
| 5. JSC_DECLARE_CUSTOM_SETTER |
| 6. JSC_DEFINE_CUSTOM_SETTER |
| |
| * wtf/PlatformCallingConventions.h: |
| |
| 2020-09-28 Sam Weinig <weinig@apple.com> |
| |
| [Preferences] Move GeneratePreferences.rb and yaml configuration files to WTF to be shared |
| https://bugs.webkit.org/show_bug.cgi?id=217056 |
| |
| Reviewed by Darin Adler. |
| |
| Move GeneratePreferences.rb and WebPreferences*.yaml files from WebKitLegacy to WTF, and install them into the existing |
| $SDKROOT/usr/local/install/wtf/Scripts for use by down stack projects. |
| |
| * Scripts/GeneratePreferences.rb: Copied from Source/WebKitLegacy/mac/Scripts/GeneratePreferences.rb. |
| * Scripts/Preferences: Added. |
| * Scripts/Preferences/WebPreferences.yaml: Copied from Source/WebKitLegacy/mac/WebView/WebPreferences.yaml. |
| * Scripts/Preferences/WebPreferencesDebug.yaml: Copied from Source/WebKitLegacy/mac/WebView/WebPreferencesDebug.yaml. |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: Copied from Source/WebKitLegacy/mac/WebView/WebPreferencesExperimental.yaml. |
| * Scripts/Preferences/WebPreferencesInternal.yaml: Copied from Source/WebKitLegacy/mac/WebView/WebPreferencesInternal.yaml. |
| * WTF.xcodeproj/project.pbxproj: |
| |
| 2020-09-25 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Introduce JSC_DECLARE_HOST_FUNCTION / JSC_DEFINE_HOST_FUNCTION to make host function definition easy-to-scanned for JIT-caging |
| https://bugs.webkit.org/show_bug.cgi?id=216966 |
| |
| Reviewed by Saam Barati. |
| |
| Rename JSC_HOST_CALL to JSC_HOST_CALL_ATTRIBUTE, and introduce JSC_DECLARE_HOST_FUNCTION / JSC_DEFINE_HOST_FUNCTION. |
| We also introduce JSC_ANNOTATE_HOST_FUNCTION if the function is not defined as free-function[1]. |
| |
| [1]: https://stackoverflow.com/questions/4861914/what-is-the-meaning-of-the-term-free-function-in-c |
| |
| * wtf/PlatformCallingConventions.h: |
| |
| 2020-09-25 Chris Dumez <cdumez@apple.com> |
| |
| Get rid of AudioNode::RefType |
| https://bugs.webkit.org/show_bug.cgi?id=216945 |
| |
| Reviewed by Darin Adler. |
| |
| Add third template parameter to RefPtr allowing to define the traits |
| from incrementing / decrementing the refcount. The default traits |
| call ref() / deref() but this can now be customized to call other |
| functions. |
| |
| * wtf/CompactRefPtrTuple.h: |
| * wtf/Forward.h: |
| * wtf/RefPtr.h: |
| (WTF::DefaultRefDerefTraits::refIfNotNull): |
| (WTF::DefaultRefDerefTraits::derefIfNotNull): |
| (WTF::RefPtr::RefPtr): |
| (WTF::RefPtr::~RefPtr): |
| (WTF::V>::RefPtr): |
| (WTF::V>::leakRef): |
| (WTF::=): |
| (WTF::V>::swap): |
| (WTF::swap): |
| (WTF::operator==): |
| (WTF::operator!=): |
| (WTF::static_pointer_cast): |
| (WTF::adoptRef): |
| (WTF::is): |
| |
| 2020-09-25 Antti Koivisto <antti@apple.com> |
| |
| [LFC][Integration] Enable on Apple Windows port |
| https://bugs.webkit.org/show_bug.cgi?id=216928 |
| <rdar://problem/69505961> |
| |
| Reviewed by Zalan Bujtas. |
| |
| * wtf/PlatformEnableWinApple.h: |
| |
| 2020-09-24 Keith Miller <keith_miller@apple.com> |
| |
| CSS angle unit conversions should consistently use the same associativity |
| https://bugs.webkit.org/show_bug.cgi?id=216906 |
| |
| Reviewed by Simon Fraser. |
| |
| Right now we inconsistently associate our floating point math for |
| angle unit conversions. In particular, |
| conversionToCanonicalUnitsScaleFactor expects there to be a single |
| fixed constant we can multiply by to change units. However, the |
| various conversion functions in WTF are not associated in this |
| way. e.g. rad2deg does ((radian * 180) / pi) rather than |
| (radian *(180 / pi)). Since FP math is NOT associative these |
| produce different results. For example, 1.57 radians is |
| 89.954373835539258 degrees in the first case but |
| 89.954373835539243 in the second. |
| |
| This patch changes those WTF functions to operate on a single |
| scale factor when converting to/from the canonical |
| unit. Conversions between non-canonical units first convert to the |
| canonical unit (degree). |
| |
| * wtf/MathExtras.h: |
| (deg2rad): |
| (rad2deg): |
| (deg2grad): |
| (grad2deg): |
| (deg2turn): |
| (turn2deg): |
| (rad2grad): |
| (grad2rad): |
| |
| 2020-09-24 Antti Koivisto <antti@apple.com> |
| |
| [LFC][Integration] Enable on Apple Windows port |
| https://bugs.webkit.org/show_bug.cgi?id=216928 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/PlatformEnableWinApple.h: |
| |
| For consistency. |
| |
| 2020-09-23 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| Remove ENABLE_SVG_FONTS macro |
| https://bugs.webkit.org/show_bug.cgi?id=216850 |
| |
| Reviewed by Don Olmstead. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2020-09-23 Youenn Fablet <youenn@apple.com> |
| |
| Add support for HTMLMediaElement.setSinkId |
| https://bugs.webkit.org/show_bug.cgi?id=216696 |
| |
| Reviewed by Eric Carlson. |
| |
| Add HAVE_AUDIO_OUTPUT_DEVICE_UNIQUE_ID. |
| * wtf/PlatformHave.h: |
| |
| 2020-09-21 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] BigInt should work with Map / Set |
| https://bugs.webkit.org/show_bug.cgi?id=216667 |
| |
| Reviewed by Robin Morisset. |
| |
| * wtf/Hasher.h: |
| (WTF::Hasher::hash const): |
| (WTF::add): |
| |
| 2020-09-21 Mark Lam <mark.lam@apple.com> |
| |
| Move some LLInt globals into JSC::Config. |
| https://bugs.webkit.org/show_bug.cgi?id=216685 |
| rdar://68964544 |
| |
| Reviewed by Keith Miller. |
| |
| 1. Introduce ConfigAlignment as a distinct value from ConfigSizeToProtect. |
| This is because ConfigSizeToProtect is now larger than 1 CeilingOnPageSize on |
| some platforms, but ConfigAlignment only needs to match CeilingOnPageSize. |
| |
| 2. Introduced ENABLE(UNIFIED_AND_FREEZABLE_CONFIG_RECORD) to disable using the |
| unified g_config record for Windows ports. |
| |
| This is needed because WTF is built as a DLL on Windows. offlineasm does not |
| know how to resolve a DLL exported variable. Additionally, the Windows ports |
| have never supported freezing of the Config record to begin with. So, we're |
| working around this by disabling ENABLE(UNIFIED_AND_FREEZABLE_CONFIG_RECORD) |
| for Windows. This allows JSC to have its own g_jscConfig record, which solves |
| this issue for now. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/WTFConfig.cpp: |
| (WTF::Config::permanentlyFreeze): |
| * wtf/WTFConfig.h: |
| |
| 2020-09-18 Don Olmstead <don.olmstead@sony.com> |
| |
| [WebGPU] Add ENABLE(WHLSL_COMPILER) guard |
| https://bugs.webkit.org/show_bug.cgi?id=216713 |
| |
| Reviewed by Myles C. Maxfield. |
| |
| Adds a default for ENABLE_WHLSL_COMPILER on Cocoa platforms. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-09-17 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: REGRESSION(r266885): fix open source build |
| https://bugs.webkit.org/show_bug.cgi?id=216675 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Add back methods used by `WebInspector.framework`. |
| |
| * wtf/JSONValues.h: |
| * wtf/JSONValues.cpp: |
| (WTF::JSONImpl::Value::asDouble const): Added. |
| (WTF::JSONImpl::Value::asInteger const): Added. |
| (WTF::JSONImpl::Value::asString const): Added. |
| (WTF::JSONImpl::ObjectBase::getBoolean const): Added. |
| (WTF::JSONImpl::ObjectBase::getString const): Added. |
| (WTF::JSONImpl::ObjectBase::getObject const): Added. |
| (WTF::JSONImpl::ObjectBase::getArray const): Added. |
| (WTF::JSONImpl::ObjectBase::getValue const): Added. |
| |
| 2020-09-16 Stephan Szabo <stephan.szabo@sony.com> |
| |
| Remove ENABLE_METER_ELEMENT |
| https://bugs.webkit.org/show_bug.cgi?id=216582 |
| |
| Reviewed by Fujii Hironori. |
| |
| With PlayStation finally planning to turn this on, |
| no ports had this disabled, so remove the enable flag. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2020-09-16 Alex Christensen <achristensen@webkit.org> |
| |
| Remove unneeded HAVE_FOUNDATION_WITH_SAVE_COOKIES_WITH_COMPLETION_HANDLER |
| https://bugs.webkit.org/show_bug.cgi?id=216572 |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-09-15 David Kilzer <ddkilzer@apple.com> |
| |
| WebKit should support building with clang ThreadSanitizer enabled |
| <https://webkit.org/b/216318> |
| <rdar://problem/31615729> |
| |
| Reviewed by Darin Adler. |
| |
| This patch doesn't attempt to resolve every potential false |
| positive, but makes it easy to build WebKit with TSan enabled. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| - Add ThreadSanitizerSupport.h to the project. |
| |
| * wtf/Compiler.h: |
| - Define TSAN_ENABLED and SUPPRESS_TSAN macros. |
| |
| * wtf/Locker.h: |
| (WTF::Locker::~Locker): |
| (WTF::Locker::unlockEarly): |
| (WTF::Locker::operator=): |
| (WTF::Locker::lock): |
| - Instrument lock/unlock methods for ThreadSanitizer. |
| |
| * wtf/ThreadSanitizerSupport.h: Add. |
| (AnnotateHappensBefore): |
| (AnnotateHappensAfter): |
| - Declare TSan runtime functions needed to annotate WTF::Locker. |
| (TSAN_ANNOTATE_HAPPENS_BEFORE): |
| (TSAN_ANNOTATE_HAPPENS_AFTER): |
| - Define macros used to call TSan runtime functions if TSan is |
| enabled. |
| |
| 2020-09-15 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [macOS Big Sur] CGFontRenderingGetFontSmoothingDisabled() is no longer useful |
| https://bugs.webkit.org/show_bug.cgi?id=216588 |
| <rdar://problem/68657748> |
| |
| Reviewed by Simon Fraser. |
| |
| We can eliminate WebKit's use of it to eventually phase it out entirely. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-09-12 Simon Fraser <simon.fraser@apple.com> |
| |
| Convert TextStream::FormattingFlags to an OptionSet<> |
| https://bugs.webkit.org/show_bug.cgi?id=216443 |
| |
| Reviewed by Darin Adler. |
| |
| Use an OptionSet<> for FormattingFlags. |
| |
| * wtf/text/TextStream.h: |
| (WTF::TextStream::TextStream): |
| (WTF::TextStream::formattingFlags const): |
| (WTF::TextStream::setFormattingFlags): |
| (WTF::TextStream::hasFormattingFlag const): |
| |
| 2020-09-11 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Canonicalize "true" unicode extension type value to "" |
| https://bugs.webkit.org/show_bug.cgi?id=216224 |
| |
| Reviewed by Ross Kirsling. |
| |
| * wtf/text/StringView.h: |
| (WTF::StringView::characterAt const): |
| (WTF::StringView::operator[] const): |
| |
| 2020-09-11 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Cocoa] Migrate CoreText-specific code from ***Cocoa.mm to ***CoreText.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=216400 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformUse.h: |
| |
| 2020-09-11 Kate Cheney <katherine_cheney@apple.com> |
| |
| Followup to Bug 215027: address comments to improve APP_BOUND_DOMAINS macro use |
| https://bugs.webkit.org/show_bug.cgi?id=216373 |
| <rdar://problem/68645704> |
| |
| Reviewed by Darin Adler. |
| |
| Remove unnecessary default. All enable flags are off by default. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2020-09-10 Ben Nham <nham@apple.com> |
| |
| Disable hardware JPEG decoding on x86 Mac |
| https://bugs.webkit.org/show_bug.cgi?id=216377 |
| |
| Reviewed by Geoff Garen. |
| |
| Add macros to disable HW JPEG decoding on x86 Macs and indicate the presence of a new MediaToolbox SPI. |
| (The latter is to prevent unnecessary dlopen/dlsym calls since we soft-link MediaToolbox.) |
| |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformHave.h: |
| |
| 2020-09-10 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: modernize generated backend protocol code |
| https://bugs.webkit.org/show_bug.cgi?id=216302 |
| <rdar://problem/68547649> |
| |
| Reviewed by Brian Burg. |
| |
| * wtf/JSONValues.h: |
| (WTF::JSONImpl::ObjectBase::setValue): |
| (WTF::JSONImpl::ObjectBase::setObject): |
| (WTF::JSONImpl::ObjectBase::setArray): |
| (WTF::JSONImpl::ArrayBase::pushValue): |
| (WTF::JSONImpl::ArrayBase::pushObject): |
| (WTF::JSONImpl::ArrayBase::pushArray): |
| (WTF::JSONImpl::ArrayOf::ArrayOf): Deleted. |
| (WTF::JSONImpl::ArrayOf::castedArray): Deleted. |
| (WTF::JSONImpl::ArrayOf::addItem): Deleted. |
| (WTF::JSONImpl::ArrayOf::create): Deleted. |
| * wtf/JSONValues.cpp: |
| (WTF::JSONImpl::Value::asValue): |
| (WTF::JSONImpl::Value::asObject): |
| (WTF::JSONImpl::Value::asArray): |
| (WTF::JSONImpl::Value::parseJSON): |
| (WTF::JSONImpl::Value::asBoolean const): |
| (WTF::JSONImpl::Value::asDouble const): |
| (WTF::JSONImpl::Value::asInteger const): |
| (WTF::JSONImpl::Value::asString const): |
| (WTF::JSONImpl::ObjectBase::asObject): |
| (WTF::JSONImpl::ObjectBase::memoryCost const): |
| (WTF::JSONImpl::ObjectBase::getBoolean const): |
| (WTF::JSONImpl::ObjectBase::getDouble const): |
| (WTF::JSONImpl::ObjectBase::getInteger const): |
| (WTF::JSONImpl::ObjectBase::getString const): |
| (WTF::JSONImpl::ObjectBase::getObject const): |
| (WTF::JSONImpl::ObjectBase::getArray const): |
| (WTF::JSONImpl::ObjectBase::getValue const): |
| (WTF::JSONImpl::ObjectBase::ObjectBase): |
| (WTF::JSONImpl::ArrayBase::asArray): |
| (WTF::JSONImpl::ArrayBase::writeJSON const): |
| (WTF::JSONImpl::ArrayBase::ArrayBase): |
| (WTF::JSONImpl::ArrayBase::get const): |
| (WTF::JSONImpl::ArrayBase::memoryCost const): |
| (WTF::JSONImpl::ObjectBase::openAccessors): Deleted. |
| Use `Ref&&` wherever possible and `Optional` instead of an out parameter for `get*`/`as*` |
| so that values can be more easily manipulated and can be confidently assumed to exist. |
| Remove unused overloads and allow subclasses to call `as*` instead of `openAccessors` as |
| they're effectively the same thing. |
| |
| 2020-09-10 Jer Noble <jer.noble@apple.com> |
| |
| [Cocoa] PERF: Don't instantiate AVPlayer-based audio decoders or renderers if an element is initially muted. |
| https://bugs.webkit.org/show_bug.cgi?id=216299 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-09-10 Tim Horton <timothy_horton@apple.com> |
| |
| Upstream additional linked-on-or-after version checks |
| https://bugs.webkit.org/show_bug.cgi?id=216365 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/spi/darwin/dyldSPI.h: |
| |
| 2020-09-10 Kate Cheney <katherine_cheney@apple.com> |
| |
| Clean up App-Bound Domains code to only compile for iOS with its own macro |
| https://bugs.webkit.org/show_bug.cgi?id=215027 |
| <rdar://problem/63688232> |
| |
| Reviewed by Darin Adler. |
| |
| Define a new APP_BOUND_DOMAINS preprocessor macro to more aptly gate |
| App Bound Domains behavior. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-09-10 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| [CG] REGRESSION (Big Sur): A GIF image with a finite loopCount loops an extra cycle |
| https://bugs.webkit.org/show_bug.cgi?id=216018 |
| <rdar://problem/68304035> |
| |
| Reviewed by Tim Horton. |
| |
| Add a new macro for the new accurate behavior of CGImageSource. |
| |
| Unrelated change: Fix the conditions for enabling the WebP images. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-09-09 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Simplify OptionSet::set |
| https://bugs.webkit.org/show_bug.cgi?id=216335 |
| |
| Reviewed by Said Abou-Hallawa. |
| |
| Simplified the implementation of OptionSet::set since we've verified that both clang and gcc |
| generate comparable code in x86_64 and clang does the same for arm64. |
| |
| * wtf/OptionSet.h: |
| (WTF::OptionSet::set): |
| |
| 2020-09-09 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Text copied and pasted from Mac Catalyst apps appears larger than expected |
| https://bugs.webkit.org/show_bug.cgi?id=215971 |
| <rdar://problem/65768907> |
| |
| Reviewed by Tim Horton. |
| |
| Add a new flag to guard the presence of `_UIApplicationCatalystUserInterfaceIdiom`, |
| `_UIApplicationCatalystScaleFactor`, and `_UIApplicationCatalystRequestViewServiceIdiomAndScaleFactor`. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-09-08 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Node flags should be an OptionSet |
| https://bugs.webkit.org/show_bug.cgi?id=216305 |
| |
| Reviewed by Antti Koivisto. |
| |
| * wtf/OptionSet.h: |
| (WTF::OptionSet::set): Added. |
| |
| 2020-09-06 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Make CompactUniquePtrTuple actually work with subclassing and custom deleter |
| https://bugs.webkit.org/show_bug.cgi?id=216225 |
| |
| Reviewed by Darin Adler. |
| |
| Fixed bugs in CompactUniquePtrTuple which prevented subclassing and custom deleter to work. |
| |
| * wtf/CompactPointerTuple.h: |
| (WTF::CompactPointerTuple::CompactPointerTuple): Added move constructor with implicit cast |
| of a convertible pointer type. |
| * wtf/CompactUniquePtrTuple.h: |
| (WTF::makeCompactUniquePtr): Added the missing deleter from the return type. |
| (WTF::CompactUniquePtrTuple::CompactUniquePtrTuple): Allow Deleter to be different if it's |
| the default deleter in the move constructor so that CompactUniquePtrTuple<U, Type> could be |
| moved to CompactUniquePtrTuple<T, Type> if U is convertible to T without having to specify |
| the same deleter (std::default_delete<U> is not same as std::default_delete<T> but allow it). |
| (WTF::CompactUniquePtrTuple::operator=): Ditto. |
| (WTF::CompactUniquePtrTuple::setPointer): Ditto from std::unique_ptr. |
| (WTF::CompactUniquePtrTuple): Friend declare all other specializations of CompactUniquePtrTuple |
| so that the above fixes work. |
| |
| 2020-09-06 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [iOS] attachmentActionFont() Needs to use kCTFontSymbolicTrait: @(kCTFontTraitTightLeading | kCTFontTraitEmphasized) to get the short emphasized footnote font |
| https://bugs.webkit.org/show_bug.cgi?id=215707 |
| <rdar://problem/63930892> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-09-06 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| CTFontGetPhysicalSymbolicTraits() is faster than CTFontCopyPhysicalFont()/CTFontGetSymbolicTraits() |
| https://bugs.webkit.org/show_bug.cgi?id=215685 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-09-06 Darin Adler <darin@apple.com> |
| |
| TextCodec refinements |
| https://bugs.webkit.org/show_bug.cgi?id=216219 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/unicode/CharacterNames.h: Use constexpr instead of just const. |
| Added byteOrderMark, synonym for zeroWidthNoBreakSpace. |
| |
| 2020-09-05 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Cocoa] USE(PLATFORM_SYSTEM_FALLBACK_LIST) is true on all Cocoa platforms, so there's no need to consult it in Cocoa-specific files |
| https://bugs.webkit.org/show_bug.cgi?id=215684 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformUse.h: |
| |
| 2020-09-05 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Cocoa] CTFontIsSystemUIFont() is faster than CTFontDescriptorIsSystemUIFont()/CTFontCopyFontDescriptor() |
| https://bugs.webkit.org/show_bug.cgi?id=215687 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-09-05 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Cocoa] Migrate off SPI in Font::platformWidthForGlyph() |
| https://bugs.webkit.org/show_bug.cgi?id=215670 |
| |
| Reviewed by Zalan Bujtas. |
| |
| * wtf/PlatformUse.h: |
| |
| 2020-09-04 Alex Christensen <achristensen@webkit.org> |
| |
| Move PDF heads-up display to UI process on macOS |
| https://bugs.webkit.org/show_bug.cgi?id=215780 |
| <rdar://problem/58715847> |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-09-03 Ryosuke Niwa <rniwa@webkit.org> |
| |
| GTK+ build fix attempt after r266573. |
| |
| * wtf/CompactUniquePtrTuple.h: |
| |
| 2020-09-02 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add CompactUniquePtrTuple |
| https://bugs.webkit.org/show_bug.cgi?id=215936 |
| |
| Reviewed by Darin Adler. |
| |
| Added a new template class, CompactUniquePtrTuple, which stores a pointer and up to 16-bits of |
| a POD type using CompactPointerTuple. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/CompactUniquePtrTuple.h: Added. |
| (WTF::makeCompactUniquePtr): Added. Like makeUnique, creates an object of the specified type |
| and returns CompactUniquePtrTuple. |
| (WTF::CompactUniquePtrTuple): Added. |
| (WTF::CompactUniquePtrTuple::CompactUniquePtrTuple): Move constructor. |
| (WTF::CompactUniquePtrTuple::~CompactUniquePtrTuple): |
| (WTF::CompactUniquePtrTuple::operator=): |
| (WTF::CompactUniquePtrTuple::pointer): |
| (WTF::CompactUniquePtrTuple::moveToUniquePtr): Clears this pointer and returns unique_ptr. |
| (WTF::CompactUniquePtrTuple::setPointer): Like CompactPointerTuple sets the pointer component |
| of this tuple, freeing the old object if there is already one stored. |
| (WTF::CompactUniquePtrTuple::type): |
| (WTF::CompactUniquePtrTuple::setType): |
| (WTF::CompactUniquePtrTuple::CompactUniquePtrTuple): Constructor which takes unique_ptr&&. |
| (WTF::CompactUniquePtrTuple::deletePointer): |
| |
| 2020-09-02 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add a variant of map which filters items to Vector.h |
| https://bugs.webkit.org/show_bug.cgi?id=215879 |
| |
| Reviewed by Darin Adler and Yusuke Suzuki. |
| |
| This patch adds WTF::compactMap, which calls a function on each item in an iterable object like WTF::map |
| but also filters the returned value. The mapped function may return Optional<T> or RefPtr<T>. The value |
| is kept in the result if the returned value is not WTF::nullopt in the case of Optional<T> and not null |
| in the case of RefPtr<T>. The result will be either Vector<T> for Optional<T> or else Vector<Ref<T>>. |
| |
| * wtf/Vector.h: |
| (WTF::CompactMapTraits:): Added. Traits to have a different behavior |
| (WTF::CompactMapTraits<Optional<T>>::hasValue): Added. |
| (WTF::CompactMapTraits<Optional<T>>::extractValue): Added. |
| (WTF::CompactMapTraits<RefPtr<T>>::hasValue): Added. |
| (WTF::CompactMapTraits<RefPtr<T>>::extractValue): Added. |
| (WTF::CompactMap): Added. The helper to use WTFMove on the argument to the mapped function if possible. |
| (WTF::compactMap): Added. |
| |
| 2020-09-02 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Unreviewed, reverting r266449. |
| |
| Underlying frameworks do not work correctly for loopCount >= |
| 1. |
| |
| Reverted changeset: |
| |
| "[CG] REGRESSION (Big Sur): A GIF image with a finite |
| loopCount loops an extra cycle" |
| https://bugs.webkit.org/show_bug.cgi?id=216018 |
| https://trac.webkit.org/changeset/266449 |
| |
| 2020-09-01 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| [CG] REGRESSION (Big Sur): A GIF image with a finite loopCount loops an extra cycle |
| https://bugs.webkit.org/show_bug.cgi?id=216018 |
| <rdar://problem/66660579> |
| |
| Reviewed by Tim Horton. |
| |
| Add a new macro for the new accurate behavior of CGImageSource. |
| |
| Unrelated change: Fix the conditions for enabling the WebP images. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-08-31 Mark Lam <mark.lam@apple.com> |
| |
| Remove some PtrTag debugging code from release builds. |
| https://bugs.webkit.org/show_bug.cgi?id=216025 |
| <rdar://problem/68098263> |
| |
| Reviewed by Saam Barati. |
| |
| Converted uses of PtrTagAction::ReleaseAssert to PtrTagAction::DebugAssert. |
| These assertions serve a purpose during development (hence, PtrTagAction::DebugAssert), |
| but is no longer needed for release builds. Previously, we use these assertions |
| to verify that pointers are tagged correctly in release build. Clang takes care |
| of that automatically now. |
| |
| Also removed PtrTag name lookup debugging utility from release builds. |
| |
| * wtf/PtrTag.cpp: |
| * wtf/PtrTag.h: |
| (WTF::untagCodePtr): |
| (WTF::retagCodePtrImpl): |
| (WTF::assertIsCFunctionPtr): |
| (WTF::assertIsNotTagged): |
| (WTF::assertIsTagged): |
| (WTF::assertIsTaggedWith): |
| |
| 2020-09-01 Alex Christensen <achristensen@webkit.org> |
| |
| Update URL fragment percent encode set |
| https://bugs.webkit.org/show_bug.cgi?id=216022 |
| |
| Reviewed by Youenn Fablet. |
| |
| It now matches the behavior of Chrome and Firefox, as well as the spec at |
| https://url.spec.whatwg.org/#fragment-percent-encode-set |
| |
| * wtf/URLParser.cpp: |
| (WTF::isInFragmentEncodeSet): |
| (WTF::URLParser::parse): |
| |
| 2020-09-01 Alex Christensen <achristensen@webkit.org> |
| |
| Align Big5 decoding with spec, Chrome, and Firefox |
| https://bugs.webkit.org/show_bug.cgi?id=216016 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/text/CodePointIterator.h: |
| |
| 2020-09-01 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [Linux] Web Inspector: show per thread cpu usage |
| https://bugs.webkit.org/show_bug.cgi?id=215883 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| Add API to get the thread ID in Linux platform. |
| |
| * wtf/Threading.cpp: |
| (WTF::Thread::initializeInThread): |
| * wtf/Threading.h: |
| (WTF::Thread::id const): |
| * wtf/ThreadingPrimitives.h: |
| * wtf/posix/ThreadingPOSIX.cpp: |
| (WTF::Thread::currentID): |
| |
| 2020-08-31 Alex Christensen <achristensen@webkit.org> |
| |
| Make Big5 encoder conform to the specification and behavior of Chrome and Firefox |
| https://bugs.webkit.org/show_bug.cgi?id=215983 |
| |
| Reviewed by Darin Adler. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/URLParser.cpp: |
| (WTF::CodePointIterator::CodePointIterator): Deleted. |
| (WTF::CodePointIterator::operator== const): Deleted. |
| (WTF::CodePointIterator::operator!= const): Deleted. |
| (WTF::CodePointIterator::atEnd const): Deleted. |
| (WTF::CodePointIterator::codeUnitsSince const): Deleted. |
| (WTF::CodePointIterator<LChar>::operator const): Deleted. |
| (WTF::CodePointIterator<LChar>::operator): Deleted. |
| (WTF::CodePointIterator<UChar>::operator const): Deleted. |
| (WTF::CodePointIterator<UChar>::operator): Deleted. |
| * wtf/text/CodePointIterator.h: Added. |
| (WTF::CodePointIterator::CodePointIterator): |
| (WTF::CodePointIterator::operator== const): |
| (WTF::CodePointIterator::operator!= const): |
| (WTF::CodePointIterator::atEnd const): |
| (WTF::CodePointIterator::codeUnitsSince const): |
| (WTF::CodePointIterator<LChar>::operator const): |
| (WTF::CodePointIterator<LChar>::operator): |
| (WTF::CodePointIterator<UChar>::operator const): |
| (WTF::CodePointIterator<UChar>::operator): |
| |
| 2020-08-30 Jim Mason <jmason@ibinx.com> |
| |
| [GTK] REGRESSION(r150392) insufficient space allocation results in heap corruption |
| https://bugs.webkit.org/show_bug.cgi?id=215976 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * wtf/glib/RunLoopGLib.cpp: |
| (WTF::RunLoop::TimerBase::TimerBase): |
| |
| 2020-08-27 Stephan Szabo <stephan.szabo@sony.com> |
| |
| [PlayStation] Build fix due to memmem not always being available. |
| https://bugs.webkit.org/show_bug.cgi?id=215893 |
| |
| Unreviewed build fix |
| |
| * wtf/PlatformHave.h: Don't always HAVE_MEMMEM on playstation |
| |
| 2020-08-27 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Include the run loop source name in frame rendering timeline |
| https://bugs.webkit.org/show_bug.cgi?id=215847 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| Pass the run loop source name to the observer. |
| |
| * wtf/RunLoop.h: |
| * wtf/glib/RunLoopGLib.cpp: |
| (WTF::RunLoop::RunLoop): |
| (WTF::RunLoop::notify): |
| |
| 2020-08-26 Alexey Shvayka <shvaikalesh@gmail.com> |
| |
| Use jsTypeofIsObject() in DFG AI and operationTypeOfIsObject() |
| https://bugs.webkit.org/show_bug.cgi?id=144457 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/TriState.h: |
| (WTF::invert): |
| |
| 2020-08-25 Ryosuke Niwa <rniwa@webkit.org> |
| |
| HashMap<Ref<T>>::take should return RefPtr<T> |
| https://bugs.webkit.org/show_bug.cgi?id=215830 |
| |
| Reviewed by Darin Adler. |
| |
| Updated the hash traits for Ref<T> to make HashMap<Ref<T>> and HashSet<Ref<T>> |
| return RefPtr<T> instad of Optional<Ref<T>>. |
| |
| * wtf/HashTraits.h: |
| (WTF::RefHashTraits::take): |
| |
| 2020-08-25 Per Arne Vollan <pvollan@apple.com> |
| |
| [Win] Assert failure under RunLoop::RunLoop |
| https://bugs.webkit.org/show_bug.cgi?id=215812 |
| |
| Reviewed by Brent Fulgham. |
| |
| The assert 'ASSERT(::IsWindow(m_runLoopMessageWindow))' under RunLoop::RunLoop will fail if the JSC API JSGlobalContextCreate*() |
| is being called by a client before WTF::initializeMainThread() has been called. The assertion fails because the method |
| RunLoop::registerRunLoopMessageWindowClass() has not been called yet, since it is only called when initializing the main thread. |
| This patch addresses this issue by making sure the window class has been registered before being referenced in RunLoop::RunLoopl |
| The method call is also removed from the main thread initialization, since the window class is only used in RunLoop::RunLoop, |
| making it sufficient to only be registered there. Also change the debug assert to a release assert, so we can catch similar |
| issues in release builds. |
| |
| * wtf/win/MainThreadWin.cpp: |
| (WTF::initializeMainThreadPlatform): |
| * wtf/win/RunLoopWin.cpp: |
| (WTF::RunLoop::registerRunLoopMessageWindowClass): |
| (WTF::RunLoop::RunLoop): |
| |
| 2020-08-24 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Implement rendering frames timeline panel for GTK+ port |
| https://bugs.webkit.org/show_bug.cgi?id=150392 |
| <rdar://problem/23200510> |
| |
| Reviewed by Brian Burg. |
| |
| Add API to observe RunLoop events for GLib event loop implementation. |
| |
| * wtf/RunLoop.h: |
| * wtf/glib/RunLoopGLib.cpp: |
| (WTF::RunLoop::RunLoop): Use RunLoopSource struct and initialize the RunLoop. |
| (WTF::RunLoop::observe): Add the given observer to the set. |
| (WTF::RunLoop::notify): Notife observers of the given event. |
| (WTF::RunLoop::TimerBase::TimerBase): Use RunLoopSource struct and initialize the RunLoop. |
| |
| 2020-08-24 Alex Christensen <achristensen@webkit.org> |
| |
| Implement Request/Response consuming as FormData |
| https://bugs.webkit.org/show_bug.cgi?id=215671 |
| |
| Reviewed by Darin Adler. |
| |
| In order to be compatible with other browsers, we need a verson of String::fromUTF8 that |
| uses U8_NEXT_OR_FFFD instead of U8_NEXT, but changing that across the board will break other things. |
| Leave everything else as it is, use templates and constexpr to not add any branches, but add |
| String::fromUTF8ReplacingInvalidSequences to allow me to make our FormData consuming compatible with other browsers. |
| |
| * wtf/text/WTFString.cpp: |
| (WTF::fromUTF8Helper): |
| (WTF::String::fromUTF8): |
| (WTF::String::fromUTF8ReplacingInvalidSequences): |
| * wtf/text/WTFString.h: |
| * wtf/unicode/UTF8Conversion.cpp: |
| (WTF::Unicode::convertUTF8ToUTF16Impl): |
| (WTF::Unicode::convertUTF8ToUTF16): |
| (WTF::Unicode::convertUTF8ToUTF16ReplacingInvalidSequences): |
| * wtf/unicode/UTF8Conversion.h: |
| |
| 2020-08-24 Alex Christensen <achristensen@webkit.org> |
| |
| Make _WKWebsiteDataStoreConfiguration SPI for HSTS storage to replace _WKProcessPoolConfiguration.hstsStorageDirectory |
| https://bugs.webkit.org/show_bug.cgi?id=213048 |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-08-22 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Add Intl.Segmenter |
| https://bugs.webkit.org/show_bug.cgi?id=213638 |
| |
| Reviewed by Ross Kirsling. |
| |
| * wtf/text/WTFString.cpp: |
| (WTF::String::charactersWithoutNullTermination const): |
| (WTF::String::charactersWithNullTermination const): |
| * wtf/text/WTFString.h: |
| |
| 2020-08-18 Simon Fraser <simon.fraser@apple.com> |
| |
| Turn off wheel event regions until we need them |
| https://bugs.webkit.org/show_bug.cgi?id=215586 |
| |
| Reviewed by Darin Adler. |
| |
| Leave ENABLE_WHEEL_EVENT_REGIONS off because it's currently unused, and adds extra |
| region building overhead on macOS. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-08-17 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [WTF] HashTable<Ref<K>, V>::HashTable(const HashTable& other) can't compile |
| https://bugs.webkit.org/show_bug.cgi?id=215550 |
| |
| Reviewed by Darin Adler. |
| |
| Even though the copy constructor takes a const HashTable |
| reference, RefHashTraits::assignToEmpty takes non-const Ref<P>. It |
| seems that RefHashTraits::assignToEmpty and |
| Ref::assignToHashTableEmptyValue are unnecessary. Just remove them. |
| |
| * wtf/HashTraits.h: |
| (WTF::RefHashTraits::assignToEmpty): Deleted. |
| * wtf/Ref.h: |
| (WTF::Ref::assignToHashTableEmptyValue): Deleted. |
| |
| 2020-08-17 Youenn Fablet <youenn@apple.com> |
| |
| Bump HAVE_NSURLSESSION_WEBSOCKET requirement to BigSur for MacOS |
| https://bugs.webkit.org/show_bug.cgi?id=215517 |
| |
| Reviewed by Alex Christensen. |
| |
| Catalina NSURLSession WebSocket is missing some features we need. |
| Bump it to Big Sur. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-08-15 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Use std::call_once + LazyNeverDestroyed to initialize complex data structures |
| https://bugs.webkit.org/show_bug.cgi?id=215535 |
| <rdar://problem/66774266> |
| |
| Reviewed by Mark Lam. |
| |
| NeverDestroyed<> is not thread-safe in Darwin build since it is not using C++11 thread-safe static variable semantics. |
| This patch uses LazyNeverDestroyed and call_once to initialize complex data structures so that we can ensure they are |
| initialized atomically. |
| |
| We also move some of `singleton` definitions from headers to cpp files. This is important since this ensures that singleton |
| is only one instance which is generated in one translation unit. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/FastMalloc.cpp: |
| (WTF::MallocCallTracker::singleton): |
| * wtf/Language.cpp: |
| (WTF::observerMap): |
| (WTF::preferredLanguagesOverride): |
| * wtf/Logger.cpp: |
| (WTF::Logger::observers): |
| * wtf/Logger.h: |
| (WTF::Logger::observerLock): |
| (WTF::Logger::observers): Deleted. |
| * wtf/MemoryPressureHandler.cpp: |
| (WTF::MemoryPressureHandler::singleton): |
| * wtf/MemoryPressureHandler.h: |
| * wtf/RunLoop.cpp: |
| (WTF::RunLoop::current): |
| * wtf/Threading.cpp: |
| (WTF::Thread::initializeInThread): |
| * wtf/URL.cpp: |
| (WTF::aboutBlankURL): |
| (WTF::aboutSrcDocURL): |
| * wtf/cf/LanguageCF.cpp: |
| (WTF::preferredLanguages): |
| * wtf/cocoa/NSURLExtras.mm: |
| (WTF::rangeOfURLScheme): |
| * wtf/text/LineBreakIteratorPoolICU.cpp: Copied from Source/WTF/wtf/Logger.cpp. |
| (WTF::LineBreakIteratorPool::sharedPool): |
| * wtf/text/LineBreakIteratorPoolICU.h: |
| (WTF::LineBreakIteratorPool::sharedPool): Deleted. |
| * wtf/text/StringView.cpp: |
| * wtf/text/TextBreakIterator.cpp: |
| (WTF::TextBreakIteratorCache::singleton): |
| * wtf/text/TextBreakIterator.h: |
| (WTF::TextBreakIteratorCache::singleton): Deleted. |
| * wtf/threads/Signals.cpp: |
| (WTF::activeThreads): |
| |
| 2020-08-11 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Text input autocorrect="off" attribute ignored on Mac |
| https://bugs.webkit.org/show_bug.cgi?id=151019 |
| <rdar://problem/65061700> |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/PlatformEnableCocoa.h: Turn the feature on for macOS. |
| |
| 2020-08-10 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Cocoa] Migrate from CTFontTransformGlyphsWithLanguage() to CTFontShapeGlyphs() |
| https://bugs.webkit.org/show_bug.cgi?id=215059 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformUse.h: Rename CTFONTTRANSFORMGLYPHSWITHLANGUAGE to CTFONTSHAPEGLYPHS, |
| because that's the new function. |
| |
| 2020-08-09 Ben Nham <nham@apple.com> |
| |
| Preload graphics drivers in Mac WebProcess |
| https://bugs.webkit.org/show_bug.cgi?id=215183 |
| |
| Reviewed by Darin Adler. |
| |
| Enable GPU driver preheating in versions of the OS that might not have the drivers in the dyld |
| shared cache due to size restrictions. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-08-09 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r263195, r263252, and r265394. |
| https://bugs.webkit.org/show_bug.cgi?id=215312 |
| |
| Revert all related GC Bitmap changes because some of perf is |
| not fully recovered |
| |
| Reverted changesets: |
| |
| "Replace JSC::FreeList linked list with a Bitmap." |
| https://bugs.webkit.org/show_bug.cgi?id=213071 |
| https://trac.webkit.org/changeset/263195 |
| |
| "Unify Bitmap math loops in |
| MarkedBlock::Handle::specializedSweep()." |
| https://bugs.webkit.org/show_bug.cgi?id=213345 |
| https://trac.webkit.org/changeset/263252 |
| |
| "[JSC] Disable ENABLE_BITMAP_FREELIST" |
| https://bugs.webkit.org/show_bug.cgi?id=215285 |
| https://trac.webkit.org/changeset/265394 |
| |
| 2020-08-08 Joonghun Park <jh718.park@samsung.com> |
| |
| [WTF] Remove the build warning since r265344. |
| https://bugs.webkit.org/show_bug.cgi?id=215269 |
| |
| warning: parameter ‘integer’ set but not used [-Wunused-but-set-parameter] |
| |
| * wtf/text/IntegerToStringConversion.h: |
| (WTF::lengthOfIntegerAsString): |
| |
| 2020-08-07 John Wilander <wilander@apple.com> |
| |
| Experimental: Cap the expiry of persistent cookies set in 3rd-party CNAME cloaked HTTP responses |
| https://bugs.webkit.org/show_bug.cgi?id=215201 |
| <rdar://problem/57454633> |
| |
| Reviewed by Brent Fulgham. Also reviewed and commented on by Chris Dumez, Jiten Mehta, Sam Weinig, and Alex Christensen. |
| |
| This change defines HAVE_CFNETWORK_CNAME_AND_COOKIE_TRANSFORM_SPI. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-08-07 Saam Barati <sbarati@apple.com> |
| |
| Use thread_switch instead of switch_pri to drop priority to zero for 1ms instead of 10 |
| https://bugs.webkit.org/show_bug.cgi?id=215248 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| This seems to be a slight JetStream2 and Speedometer2 speedup. In the |
| range of 0%-0.75%, depending on device. |
| |
| * wtf/posix/ThreadingPOSIX.cpp: |
| (WTF::Thread::yield): |
| |
| 2020-08-07 Robin Morisset <rmorisset@apple.com> |
| |
| Fix inequality in newly added assertion |
| https://bugs.webkit.org/show_bug.cgi?id=215272 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| No new tests, as it was caught by our testing infrastructure (not sure why it only got caught after landing). |
| |
| * wtf/IndexSparseSet.h: |
| (WTF::OverflowHandler>::validate): |
| |
| 2020-08-07 Robin Morisset <rmorisset@apple.com> |
| |
| IndexSparseSet::sort() should update m_map |
| https://bugs.webkit.org/show_bug.cgi?id=215100 |
| |
| Reviewed by Yusuke Suzuki and Mark Lam. |
| |
| IndexSparseSet is made of two fields: m_values and m_map, and the two must be kept in sync. |
| But its sort routine currently only sorts m_values. |
| This might be related to a random crash that seems to occasionally occur in the vicinity of this code in the wild (rdar://problem/64594569) |
| |
| I added a validation routine, that I run in the tests that I added to TestWTF. |
| I verified, and without the fix, the validation routine fails after the sorting. |
| |
| I also fixed remove() which was wrong on non-trivial types (thanks to Mark for catching this other bug). |
| |
| * wtf/IndexSparseSet.h: |
| (WTF::OverflowHandler>::remove): |
| (WTF::OverflowHandler>::sort): |
| (WTF::OverflowHandler>::validate): |
| |
| 2020-08-07 Youenn Fablet <youenn@apple.com> |
| |
| Introduce a Vector::isolatedCopy() && |
| https://bugs.webkit.org/show_bug.cgi?id=215160 |
| |
| Reviewed by Alex Christensen. |
| |
| By introducing an isolatedCopy() &&, we remove the need to allocate a vector buffer. |
| This can make a Vector<String>::isolatedCopy() allocate no memory at all in cases like RegistrationDatabase::schedulePushChanges. |
| |
| * wtf/Vector.h: |
| (WTF::Malloc>::isolatedCopy const): |
| (WTF::Malloc>::isolatedCopy): |
| |
| 2020-08-06 David Kilzer <ddkilzer@apple.com> |
| |
| WTF::makeString() should handle enum values |
| <https://webkit.org/b/214906> |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/text/IntegerToStringConversion.h: |
| (WTF::numberToStringSigned): |
| - Drive-by fix to change std::make_unsigned<>::type to |
| std::make_unsigned_t<>. |
| (WTF::writeNumberToBufferImpl): Delete. |
| (WTF::writeIntegerToBufferImpl): |
| - Rename from WTF::writeNumberToBufferImpl(). |
| (WTF::writeNumberToBufferSigned): Delete. |
| (WTF::writeNumberToBufferUnsigned): Delete. |
| (WTF::writeIntegerToBuffer): |
| - Replace WTF::writeNumberToBufferSigned() and |
| WTF::writeNumberToBufferUnsigned() with a single function that |
| uses constexpr checks to let the compiler eliminate code. Had |
| to use if/else if/else construct to help the compiler |
| eliminate unused cases. |
| (WTF::lengthOfNumberAsStringImpl): Delete. |
| (WTF::lengthOfIntegerAsStringImpl): |
| - Rename from WTF::lengthOfNumberAsStringImpl(). |
| (WTF::lengthOfNumberAsStringSigned): Delete. |
| (WTF::lengthOfNumberAsStringUnsigned): Delete. |
| (WTF::lengthOfIntegerAsString): |
| - Replace WTF::lengthOfNumberAsStringSigned() and |
| WTF::lengthOfNumberAsStringUnsigned() with a single function |
| that uses constexpr checks to let the compiler eliminate code. |
| Had to use if/else if/else construct to help the compiler |
| eliminate unused cases. |
| |
| * wtf/text/StringConcatenateNumbers.h: |
| (WTF::StringTypeAdapter<SignedInt, ...>): Deleted. |
| (WTF::StringTypeAdapter<UnignedInt, ...>): Deleted. |
| (WTF::StringTypeAdapter<Integer, ...>): |
| - Combine signed/unsigned templated classes into a single class |
| now that WTF::lengthOfIntegerAsString() and |
| WTF::writeIntegerToBuffer() are templated. |
| (WTF::StringTypeAdapter<Enum, ...>): |
| - Add support for enum types to WTF::makeString(). This also |
| takes advantage of templated WTF::lengthOfIntegerAsString() |
| and WTF::writeIntegerToBuffer() functions since enum types may |
| be either signed or unsigned. |
| |
| 2020-08-05 Tim Horton <timothy_horton@apple.com> |
| |
| Remove all references to non-existent 10.16 |
| https://bugs.webkit.org/show_bug.cgi?id=215202 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * Configurations/Base.xcconfig: |
| * Configurations/DebugRelease.xcconfig: |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformHave.h: |
| * wtf/PlatformUse.h: |
| |
| 2020-08-04 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Use LazyNeverDestroyed & std::call_once for complex singletons |
| https://bugs.webkit.org/show_bug.cgi?id=215153 |
| <rdar://problem/65718983> |
| |
| Reviewed by Mark Lam. |
| |
| Add lock's bits in crash information to investigate if this speculative fix does not work. |
| |
| * wtf/LockAlgorithmInlines.h: |
| (WTF::Hooks>::lockSlow): |
| (WTF::Hooks>::unlockSlow): |
| |
| 2020-08-04 Keith Miller <keith_miller@apple.com> |
| |
| CheckpointSideState shoud play nicely with StackOverflowException unwinding. |
| https://bugs.webkit.org/show_bug.cgi?id=215114 |
| |
| Reviewed by Saam Barati. |
| |
| Add a helper so we can have soft stack bounds. |
| |
| * wtf/StackBounds.h: |
| (WTF::StackBounds::withSoftOrigin const): |
| |
| 2020-08-04 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [MSVC] wtf/Optional.h: error C2280: 'WTF::constexpr_storage_t<T> &WTF::constexpr_storage_t<T>::operator =(const WTF::constexpr_storage_t<T> &)': attempting to reference a deleted function |
| https://bugs.webkit.org/show_bug.cgi?id=215003 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Microsoft reported the upcoming MSVC can't compile |
| Optional<std::pair<JSC::SamplingProfiler::StackFrame::CodeLocation,JSC::CodeBlock *>>. |
| |
| > wtf/Optional.h(419,39): error C2280: 'WTF::constexpr_storage_t<T> &WTF::constexpr_storage_t<T>::operator =(const WTF::constexpr_storage_t<T> &)': attempting to reference a deleted function |
| |
| They suggests using std::is_trivially_copy_assignable_v in |
| Optional ctor instead of std::is_trivially_copyable_v. |
| |
| * wtf/Optional.h: |
| (WTF::Optional::Optional): Replaced std::is_trivially_copyable_v with std::is_trivially_copy_assignable_v. |
| |
| 2020-08-04 Alex Christensen <achristensen@webkit.org> |
| |
| about: scheme URL constants should be backed by StaticStringImpl |
| https://bugs.webkit.org/show_bug.cgi?id=215113 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/URL.cpp: |
| (WTF::aboutBlankURL): |
| (WTF::aboutSrcDocURL): |
| |
| 2020-08-03 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Remove the ENABLE_DATA_INTERACTION feature flag |
| https://bugs.webkit.org/show_bug.cgi?id=215091 |
| |
| Reviewed by Megan Gardner. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-08-01 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r265097, r265113, and r265122. |
| https://bugs.webkit.org/show_bug.cgi?id=215065 |
| |
| Broke AppleSilicon Big Sur |
| |
| Reverted changesets: |
| |
| "Strip pointers instead of authing for byteOffset to not allow |
| for a possible way to guess data pac" |
| https://bugs.webkit.org/show_bug.cgi?id=214952 |
| https://trac.webkit.org/changeset/265097 |
| |
| "Compute number of PAC bits from what the OS says its address |
| space is" |
| https://bugs.webkit.org/show_bug.cgi?id=214986 |
| https://trac.webkit.org/changeset/265113 |
| |
| "Remove UB from nonPACBitsMask computation" |
| https://bugs.webkit.org/show_bug.cgi?id=214996 |
| https://trac.webkit.org/changeset/265122 |
| |
| 2020-07-30 Simon Fraser <simon.fraser@apple.com> |
| |
| Have TimingScope track the max event duration |
| https://bugs.webkit.org/show_bug.cgi?id=215006 |
| |
| Reviewed by Tim Horton. |
| |
| Have TimingScope track and print the longest event, as well as the count and |
| mean duration. |
| |
| * wtf/TimingScope.cpp: |
| (WTF::TimingScope::scopeDidEnd): |
| |
| 2020-07-30 Keith Miller <keith_miller@apple.com> |
| |
| Remove UB from nonPACBitsMask computation |
| https://bugs.webkit.org/show_bug.cgi?id=214996 |
| |
| Reviewed by Tadeu Zagallo. |
| |
| For non-ARM64E we now set numberOfPACBits to zero, which was causing UB in our computation of the nonPACBitsMask. |
| |
| * wtf/CagedPtr.h: |
| |
| 2020-07-30 Jer Noble <jer.noble@apple.com> |
| |
| [Cocoa] Adopt -[AVContentKeyRequest willOutputBeObscuredDueToInsufficientExternalProtectionForDisplays:] |
| https://bugs.webkit.org/show_bug.cgi?id=214659 |
| <rdar://problem/63555006> |
| |
| Reviewed by Darin Adler. |
| |
| Add a new Observer template class. This allows classes to provide support for listeners without requiring |
| those listeners to subclass from a pure-virtual (and CanMakeWeakPtr capable) client class. Instead, clients |
| can just create one of these Observer objects, and pass a WeakPtr to that observer to the notifying object. |
| When the client object destroys the observer, it is automatically unregistered when the observing object |
| uses a WeakHashSet. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/Observer.h: Added. |
| (WTF::Observer<Out): |
| |
| 2020-07-30 Keith Miller <keith_miller@apple.com> |
| |
| Compute number of PAC bits from what the OS says its address space is |
| https://bugs.webkit.org/show_bug.cgi?id=214986 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/CagedPtr.h: |
| * wtf/PtrTag.h: |
| |
| 2020-07-29 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [Win Debug] Unreviewed build fix |
| |
| > JavaScriptCore/runtime/JSArrayBufferView.cpp(51): error C2660: 'Gigacage::isEnabled': function does not take 0 arguments |
| |
| * wtf/Gigacage.h: |
| (Gigacage::isEnabled): Added isEnabled taking no argument which was adeed to bmalloc in r249556 (Bug 201521). |
| |
| 2020-07-29 Don Olmstead <don.olmstead@sony.com> |
| |
| Remove USE(ZLIB) |
| https://bugs.webkit.org/show_bug.cgi?id=214929 |
| |
| Reviewed by Darin Adler. |
| |
| Remove setting a default value of USE_ZLIB. |
| |
| * wtf/PlatformUse.h: |
| |
| 2020-07-28 Karl Rackler <rackler@apple.com> |
| |
| Unreviewed, reverting r264955. |
| |
| Reverting because this commit may have caused issues with |
| tests. |
| |
| Reverted changeset: |
| |
| "WebCoreResourceHandleAsOperationQueueDelegate can use |
| RunLoop::dispatch" |
| https://bugs.webkit.org/show_bug.cgi?id=214771 |
| https://trac.webkit.org/changeset/264955 |
| |
| 2020-07-27 Geoffrey Garen <ggaren@apple.com> |
| |
| WebCoreResourceHandleAsOperationQueueDelegate can use RunLoop::dispatch |
| https://bugs.webkit.org/show_bug.cgi?id=214771 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/cf/RunLoopCF.cpp: |
| (WTF::RunLoop::dispatch): Migrated the optimization from |
| WebCoreResourceHandleAsOperationQueueDelegate. All Cocoa WebViews begin |
| life with a single SchedulePair scheduled in kCFRunLoopCommonModes, so |
| this optimization is the common case. |
| |
| (Note that I did not copy the kCFRunLoopDefaultMode clause from |
| the WebCoreResourceHandleAsOperationQueueDelegate optimization. That's |
| because it's not the common case, and also because it's not correct to |
| do a vanilla disptach() in the case of kCFRunLoopDefaultMode because a |
| vanilla dispatch() would use kCFRunLoopCommonModes.) |
| |
| 2020-07-27 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Disable BIGINT32 optimization temporarily because of SP2 / JS2 regression |
| https://bugs.webkit.org/show_bug.cgi?id=214776 |
| |
| Reviewed by Darin Adler. |
| |
| We disable BIGINT32 optimization because it causes 1% regression in JetStream2 and Speedometer2. |
| We should enable it after we fix the cause of regression. |
| |
| * wtf/PlatformUse.h: |
| |
| 2020-07-27 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [WPE][GTK] Add API to support "Privacy Report" |
| https://bugs.webkit.org/show_bug.cgi?id=213493 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| Add support for using GRefPtr with GDateTime. |
| |
| * wtf/glib/GRefPtr.cpp: |
| (WTF::refGPtr): |
| (WTF::derefGPtr): |
| * wtf/glib/GRefPtr.h: |
| |
| 2020-07-23 Keith Miller <keith_miller@apple.com> |
| |
| iOS simulator does not support WebAssembly |
| https://bugs.webkit.org/show_bug.cgi?id=191064 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Now that it seems we can JIT in the Simulator we should enable |
| WebAssembly there. This just means enabling FTL/B3 so WASM gets |
| enabled. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-07-23 Aditya Keerthi <akeerthi@apple.com> |
| |
| [macOS] Datalist dropdown scrollbar position does not match visible region |
| https://bugs.webkit.org/show_bug.cgi?id=214656 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/PlatformHave.h: Define HAVE_NSTABLEVIEWSTYLE. |
| |
| 2020-07-23 Brady Eidson <beidson@apple.com> |
| |
| Add Gamepad tests that exercise the native frameworks |
| <rdar://problem/65343674> and https://bugs.webkit.org/show_bug.cgi?id=214188 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-07-23 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r264745. |
| https://bugs.webkit.org/show_bug.cgi?id=214681 |
| |
| Broke 3 web-platform-tests on iOS |
| |
| Reverted changeset: |
| |
| "iOS simulator does not support WebAssembly" |
| https://bugs.webkit.org/show_bug.cgi?id=191064 |
| https://trac.webkit.org/changeset/264745 |
| |
| 2020-07-22 Jer Noble <jer.noble@apple.com> |
| |
| [Cocoa] Add feature flag for WebM & VP9 |
| https://bugs.webkit.org/show_bug.cgi?id=214672 |
| <rdar://problem/65959506> |
| |
| Reviewed by Beth Dakin. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-07-22 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Update macOS Version macros |
| https://bugs.webkit.org/show_bug.cgi?id=214653 |
| |
| Reviewed by Tim Horton. |
| |
| * Configurations/Base.xcconfig: |
| * Configurations/DebugRelease.xcconfig: |
| * wtf/PlatformHave.h: |
| |
| 2020-07-22 Keith Miller <keith_miller@apple.com> |
| |
| iOS simulator does not support WebAssembly |
| https://bugs.webkit.org/show_bug.cgi?id=191064 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Now that it seems we can JIT in the Simulator we should enable |
| WebAssembly there. This just means enabling FTL/B3 so WASM gets |
| enabled. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-07-22 Geoffrey Garen <ggaren@apple.com> |
| |
| WTF::Function adoption should be explicit instead of implicit |
| https://bugs.webkit.org/show_bug.cgi?id=214654 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/Function.h: |
| (WTF::Function<Out): |
| (WTF::adoptImpl): Added an adopt function for Functions and made the |
| adopting constructor private. |
| |
| * wtf/cf/RunLoopCF.cpp: |
| (WTF::RunLoop::dispatch): Use new adopt function. |
| |
| 2020-07-22 Jer Noble <jer.noble@apple.com> |
| |
| Unreviewed build fix after r264710; add a HAVE_AVPLAYER_VIDEORANGEOVERRIDE guard. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-07-22 Geoffrey Garen <ggaren@apple.com> |
| |
| JSRunLoopTimer should use WTF::RunLoop rather than custom CF code |
| https://bugs.webkit.org/show_bug.cgi?id=214102 |
| |
| Unreviewed, re-landing r264242 with crash fixed. |
| |
| To support JSC using external locking around a RunLoop timer, we needed |
| to avoid modifying unsynchronized timer state while firing. |
| |
| * wtf/cf/RunLoopCF.cpp: |
| (WTF::RunLoop::TimerBase::start): |
| |
| 2020-07-21 Eric Carlson <eric.carlson@apple.com> |
| |
| Use AVRoutePickerView when available for choosing AirPlay devices |
| https://bugs.webkit.org/show_bug.cgi?id=213497 |
| <rdar://problem/58610662> |
| |
| Reviewed by Jer Noble. |
| |
| * wtf/PlatformHave.h: Define HAVE_AVROUTEPICKERVIEW. |
| |
| 2020-07-20 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [ECMA-402] Implement Intl.DisplayNames |
| https://bugs.webkit.org/show_bug.cgi?id=209779 |
| |
| Reviewed by Ross Kirsling. |
| |
| * wtf/text/StringView.h: |
| |
| 2020-07-20 Adrian Perez de Castro <aperez@igalia.com> |
| |
| Non unified build fixes, midsummer 2020 edition |
| https://bugs.webkit.org/show_bug.cgi?id=213616 |
| |
| Unreviewed build fix. |
| |
| * wtf/text/StringParsingBuffer.h: Add missing inclusion of wtf/text/StringView.h, |
| and removed other now-unneeded header inclusions. |
| |
| 2020-07-19 Geoffrey Garen <ggaren@apple.com> |
| |
| There should be only one RunLoop Timer class |
| https://bugs.webkit.org/show_bug.cgi?id=214340 |
| |
| Reviewed by Darin Adler. |
| |
| RunLoop::Timer wins. RunLoopTimer loses. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/PlatformHave.h: |
| * wtf/PlatformMac.cmake: Remove RunLoopTimer. |
| |
| * wtf/RunLoop.cpp: |
| (WTF::RunLoop::dispatchAfter): While we're here. let's make dispatchAfter |
| available on all platforms. We had cross-platform code, but it was |
| factored to be needlessly platform-specific. |
| |
| * wtf/RunLoop.h: Added a version of dispatch() that accepts a |
| SchedulePairHashSet for Cocoa. Removed some indirection from timer |
| stuff, since it was confusing me. Consistently named all time intervals |
| "interval". |
| |
| * wtf/RunLoopTimer.h: Removed. |
| |
| * wtf/cf/RunLoopCF.cpp: |
| (WTF::createTimer): Factored out a helper function for dispatch() to use. |
| (WTF::RunLoop::dispatch): This function is the meat of the patch. It's |
| the only unique functionality that RunLoopTimer used to provide. |
| (WTF::RunLoop::TimerBase::start): Adopted helper function. |
| (WTF::RunLoop::runForDuration): Deleted. |
| (WTF::RunLoop::TimerBase::timerFired): Deleted. |
| |
| * wtf/cf/RunLoopTimerCF.cpp: Removed. |
| |
| * wtf/generic/RunLoopGeneric.cpp: |
| (WTF::RunLoop::dispatchAfter): Deleted. Now cross-platform. |
| |
| * wtf/glib/RunLoopGLib.cpp: |
| (WTF::RunLoop::TimerBase::updateReadyTime): |
| (WTF::RunLoop::TimerBase::start): |
| (WTF::RunLoop::TimerBase::stop): |
| (WTF::DispatchAfterContext::DispatchAfterContext): Deleted. |
| (WTF::DispatchAfterContext::dispatch): Deleted. |
| (WTF::RunLoop::dispatchAfter): Deleted. Now cross-platform. |
| |
| * wtf/win/RunLoopWin.cpp: |
| (WTF::RunLoop::TimerBase::start): |
| (WTF::RunLoop::dispatchAfter): Deleted. Now cross-platform. |
| |
| 2020-07-17 Sam Weinig <weinig@apple.com> |
| |
| Remove final vestigates of SimpleColor |
| https://bugs.webkit.org/show_bug.cgi?id=214439 |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/KeyValuePair.h: |
| (WTF::KeyValuePair::KeyValuePair): |
| Add overload of constructor that is not a template function to aid deduction |
| when using std::initializer_lists to contruct a HashMap. |
| |
| 2020-07-17 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| Don't include <wtf/text/WTFString.h> in SVGParserUtilities.h |
| https://bugs.webkit.org/show_bug.cgi?id=214320 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/Forward.h: Added foward declarations for template specializations of DefaultHash. |
| |
| 2020-07-17 Keith Miller <keith_miller@apple.com> |
| |
| Fix 32-bit debug watchos build |
| https://bugs.webkit.org/show_bug.cgi?id=214480 |
| |
| Reviewed by Michael Saboff. |
| |
| subtracting pointers produces a ptrdiff_t but on 32-bit that's the same |
| as an int. Since we were comparing that to an unsigned that triggered |
| the signed comparison warning, which broke the build. |
| |
| * wtf/text/StringParsingBuffer.h: |
| |
| 2020-07-17 Truitt Savell <tsavell@apple.com> |
| |
| Unreviewed, reverting r264482. |
| |
| Part of an attempted fix for the build |
| |
| Reverted changeset: |
| |
| "Use AVRoutePickerView when available for choosing AirPlay |
| devices" |
| https://bugs.webkit.org/show_bug.cgi?id=213497 |
| https://trac.webkit.org/changeset/264482 |
| |
| 2020-07-16 Xabier Rodriguez Calvar <calvaris@igalia.com> |
| |
| Rename createBoxPtr into adoptBoxPtr |
| https://bugs.webkit.org/show_bug.cgi?id=214171 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/BoxPtr.h: |
| (WTF::adoptInBoxPtr): |
| |
| 2020-07-16 Per Arne Vollan <pvollan@apple.com> |
| |
| XPC connection should be suspended before setting target queue |
| https://bugs.webkit.org/show_bug.cgi?id=214427 |
| |
| Reviewed by Darin Adler. |
| |
| Declare function to suspend XPC connection. |
| |
| * wtf/spi/darwin/XPCSPI.h: |
| |
| 2020-07-16 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [WTF] Remove the unnecessary inner class DefaultHash<T>::Hash |
| https://bugs.webkit.org/show_bug.cgi?id=214389 |
| |
| Reviewed by Darin Adler. |
| |
| DefaultHash<T> doesn't need to have a inner struct Hash. This can |
| be a problem for forward declarations (Bug 214320 Comment 5). |
| |
| * wtf/BitVector.h: |
| * wtf/Forward.h: |
| * wtf/HashFunctions.h: |
| (WTF::PairHash::hash): |
| (WTF::PairHash::equal): |
| (WTF::TupleHash::hash): |
| (WTF::TupleHash::equal): |
| * wtf/ListHashSet.h: |
| * wtf/LoggingHashMap.h: |
| * wtf/LoggingHashSet.h: |
| * wtf/MetaAllocatorPtr.h: |
| * wtf/ObjectIdentifier.h: |
| * wtf/OptionSetHash.h: |
| (WTF::DefaultHash<OptionSet<T>>::hash): |
| (WTF::DefaultHash<OptionSet<T>>::equal): |
| (WTF::DefaultHash<OptionSet<T>>::Hash::hash): Deleted. |
| (WTF::DefaultHash<OptionSet<T>>::Hash::equal): Deleted. |
| * wtf/Packed.h: |
| * wtf/RetainPtr.h: |
| * wtf/StackShot.h: |
| * wtf/URLHash.h: |
| * wtf/VectorHash.h: |
| (WTF::VectorHash::hash): |
| * wtf/text/AtomString.h: |
| * wtf/text/AtomStringHash.h: |
| * wtf/text/CString.h: |
| * wtf/text/StringHash.h: |
| * wtf/text/StringImpl.h: |
| * wtf/text/SymbolRegistry.h: |
| (WTF::DefaultHash<SymbolRegistryKey>::hash): |
| (WTF::DefaultHash<SymbolRegistryKey>::equal): |
| (WTF::DefaultHash<SymbolRegistryKey>::Hash::hash): Deleted. |
| (WTF::DefaultHash<SymbolRegistryKey>::Hash::equal): Deleted. |
| * wtf/text/WTFString.h: |
| |
| 2020-07-16 Eric Carlson <eric.carlson@apple.com> |
| |
| Use AVRoutePickerView when available for choosing AirPlay devices |
| https://bugs.webkit.org/show_bug.cgi?id=213497 |
| <rdar://problem/58610662> |
| |
| Unreviewed build fix. |
| |
| * wtf/PlatformHave.h: Define HAVE_AVROUTEPICKERVIEW. |
| |
| 2020-07-16 Jonathan Bedard <jbedard@apple.com> |
| |
| [Big Sur] De-duplicate SPI |
| https://bugs.webkit.org/show_bug.cgi?id=214415 |
| <rdar://problem/65678060> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-07-16 Jonathan Bedard <jbedard@apple.com> |
| |
| [Big Sur] Build on Seed 1 |
| https://bugs.webkit.org/show_bug.cgi?id=214396 |
| <rdar://problem/65644762> |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformHave.h: Add HAVE(LARGE_CONTROL_SIZE). |
| |
| 2020-07-15 Saagar Jha <saagar@saagarjha.com> |
| |
| Add some missing boilerplate to help fix build on macOS Big Sur |
| https://bugs.webkit.org/show_bug.cgi?id=214338 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformHave.h: Add HAVE_LARGE_CONTROL_SIZE and enable it on Big Sur. |
| |
| 2020-07-15 Darin Adler <darin@apple.com> |
| |
| Remove a few more uses of the terms black/white list |
| https://bugs.webkit.org/show_bug.cgi?id=214371 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/URLHelpers.cpp: |
| (WTF::URLHelpers::loadIDNAllowedScriptList): Renamed. |
| (WTF::URLHelpers::isLookalikeCharacter): Renamed. |
| (WTF::URLHelpers::addScriptToIDNAllowedScriptList): Renamed. |
| (WTF::URLHelpers::initializeDefaultIDNAllowedScriptList): Renamed. |
| (WTF::URLHelpers::allCharactersInAllowedIDNScriptList): Renamed. |
| (WTF::URLHelpers::mapHostName): Updated for name changes. |
| * wtf/URLHelpers.h: Renamed things. |
| |
| * wtf/cocoa/NSURLExtras.mm: |
| (WTF::readIDNAllowedScriptListFile): Renamed. |
| (WTF::URLHelpers::loadIDNAllowedScriptList): Renamed. Also use a modern for |
| loop to simplify the code. |
| |
| 2020-07-15 Jim Mason <jmason@ibinx.com> |
| |
| [WTF] Fix PackedAlignedPtr for X86_64 canonical addresses |
| https://bugs.webkit.org/show_bug.cgi?id=214142 |
| |
| Reviewed by Mark Lam |
| |
| * wtf/Packed.h: |
| (WTF::PackedAlignedPtr::get const): |
| (WTF::PackedAlignedPtr::set): |
| |
| 2020-07-15 Brady Eidson <beidson@apple.com> |
| |
| Resolve race between IOHIDManager and GameController framework. |
| <rdar://problem/65554490> and https://bugs.webkit.org/show_bug.cgi?id=214245 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-07-14 Alex Christensen <achristensen@webkit.org> |
| |
| REGRESSION(r262341) URL::createCFURL should produce a CFURL that uses UTF-8 to decode its percent-encoded sequences |
| https://bugs.webkit.org/show_bug.cgi?id=214314 |
| <rdar://problem/65079249> |
| |
| Reviewed by Darin Adler. |
| |
| r262341 made it so we usually pass kCFStringEncodingISOLatin1 into CFURLCreateAbsoluteURLWithBytes when creating a CFURLRef from a WTF::URL. |
| This is correct for the interpretation of the bytes to create a CFStringRef, and that is a change we want to make. |
| The encoding, however, is also stored with the CFURL and used later when interpreting percent-encoded sequences. |
| We want to use kCFStringEncodingUTF8 to make the interpretation of percent-encoded sequences the same as it used to be. |
| To avoid making a separate CString most of the time, use characters8() only for ASCII-only URLs, where UTF-8 and Latin1 are the same. |
| For all other URLs, we have to make a CString containing the UTF-8 representation of the string to get the percent-encoded sequences interpreted the same. |
| |
| * wtf/cf/URLCF.cpp: |
| (WTF::URL::createCFURL const): |
| * wtf/cocoa/URLCocoa.mm: |
| (WTF::URL::createCFURL const): |
| |
| 2020-07-14 Jer Noble <jer.noble@apple.com> |
| |
| Add support for parsing VP-style codec strings. |
| https://bugs.webkit.org/show_bug.cgi?id=214270 |
| <rdar://problem/65500048> |
| |
| Reviewed by Eric Carlson. |
| |
| Add a variant of toIntegralType<> which returns an Optional. Since no existing callers of the |
| original toIntegralType fail to pass in the optional bool* parameter, make that parameter |
| non-optional, as it causes a conflict with the new Optional-returning version. |
| |
| * wtf/text/StringToIntegerConversion.h: |
| (WTF::toIntegralType): |
| |
| 2020-07-13 Keith Miller <keith_miller@apple.com> |
| |
| Clean up SourceProvider and add caller relative load script to jsc.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=214205 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Using a URL as a boolean in a conditional should be a compile |
| error. Currently, it "works" because it actually calls `operator |
| NSURL*()`... which is likely NOT what you wanted. Until we decide |
| what it means to have a URL in a conditional it will be a compile |
| error. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::fileSystemPath const): |
| * wtf/URL.h: |
| |
| 2020-07-12 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] String.protoytpe.toLocaleLowerCase's availableLocales HashSet is inefficient |
| https://bugs.webkit.org/show_bug.cgi?id=213158 |
| |
| Reviewed by Darin Adler. |
| |
| Add characterAt method to ASCIILiteral. |
| |
| * wtf/text/ASCIILiteral.h: |
| |
| 2020-07-12 Darin Adler <darin@apple.com> |
| |
| Some further streamlining of Gradient handling code |
| https://bugs.webkit.org/show_bug.cgi?id=214239 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/Vector.h: Added an overload for insert analogous to the ones we already have |
| for append and uncheckedAppend, helpful for type deduction. |
| |
| 2020-07-12 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| [macOS]: A HEIF image, selected from the OpenPanel, should be converted to an accepted MIME type |
| https://bugs.webkit.org/show_bug.cgi?id=213347 |
| <rdar://problem/57258464> |
| |
| Reviewed by Darin Adler. |
| |
| Allow a suffix to be included in the temporary file name. The goal is to |
| make it possible to create temporary image files with valid extensions. |
| |
| * wtf/FileSystem.h: |
| (WTF::FileSystemImpl::openTemporaryFile): |
| * wtf/cocoa/FileSystemCocoa.mm: |
| (WTF::FileSystemImpl::openTemporaryFile): |
| * wtf/glib/FileSystemGlib.cpp: |
| (WTF::FileSystemImpl::openTemporaryFile): |
| * wtf/posix/FileSystemPOSIX.cpp: |
| (WTF::FileSystemImpl::openTemporaryFile): |
| * wtf/win/FileSystemWin.cpp: |
| (WTF::FileSystemImpl::openTemporaryFile): |
| |
| 2020-07-12 Rob Buis <rbuis@igalia.com> |
| |
| Improve IPv6 detection when setting host/hostname |
| https://bugs.webkit.org/show_bug.cgi?id=214218 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::setHost): do not bail out if ':' was found but we start |
| with a '[', since the host may be IPv6. |
| (WTF::URL::setHostAndPort): multiple colons are acceptable only in case of IPv6. |
| |
| 2020-07-11 Sam Weinig <weinig@apple.com> and Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Relanding "Make hasher work with tuple-like classes" |
| https://bugs.webkit.org/show_bug.cgi?id=214224 |
| |
| Reviewed by Darin Adler. |
| |
| The original patch broke the internal build. And reverting patch (r264274) broke the build too. |
| This patch relands r264270 with `constexpr` => `inline constexpr` template variable fix. |
| |
| * wtf/Hasher.h: |
| (WTF::add): |
| (WTF::addTupleLikeHelper): |
| (WTF::TypeCheckHelper<decltype): Deleted. |
| (WTF::addTupleHelper): Deleted. |
| Add support for tuple-like classes. These are classes that: |
| - Have defined specializations of std::tuple_size<> and std::tuple_element<>. |
| - And have either a member function named get<> or there exists a function get<>() |
| that takes the class as argument that can be looked up via ADL. |
| |
| To avoid abiguity when hashing std::array, the add() overload enabled for containers |
| with a begin member functions also now checks that the container is not tuple-like. |
| The std::pair overload is no longer needed as it will use the tuple-like one now. |
| |
| * wtf/OptionSet.h: |
| * wtf/StdLibExtras.h: |
| Move is_type_complete_v<> from OptionSet.h to StdLibExtras.h and rename to |
| adhere to WebKit style as IsTypeComplete<>. |
| |
| 2020-07-11 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r264270. |
| https://bugs.webkit.org/show_bug.cgi?id=214228 |
| |
| Broke the build |
| |
| Reverted changeset: |
| |
| "Make hasher work with tuple-like classes" |
| https://bugs.webkit.org/show_bug.cgi?id=214224 |
| https://trac.webkit.org/changeset/264270 |
| |
| 2020-07-11 Darin Adler <darin@apple.com> |
| |
| Remove live ranges from AccessibilityObject.h, AccessibilityObjectInterface.h, AccessibilityRenderObject.h, AXIsolatedObject.h |
| https://bugs.webkit.org/show_bug.cgi?id=214215 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/cocoa/VectorCocoa.h: Added a new makeVector that takes a function. |
| Also updated createNSArray to use std::invoke. |
| |
| 2020-07-11 Sam Weinig <weinig@apple.com> |
| |
| Make hasher work with tuple-like classes |
| https://bugs.webkit.org/show_bug.cgi?id=214224 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/Hasher.h: |
| (WTF::add): |
| (WTF::addTupleLikeHelper): |
| (WTF::TypeCheckHelper<decltype): Deleted. |
| (WTF::addTupleHelper): Deleted. |
| Add support for tuple-like classes. These are classes that: |
| - Have defined specializations of std::tuple_size<> and std::tuple_element<>. |
| - And have either a member function named get<> or there exists a function get<>() |
| that takes the class as argument that can be looked up via ADL. |
| |
| To avoid abiguity when hashing std::array, the add() overload enabled for containers |
| with a begin member functions also now checks that the container is not tuple-like. |
| The std::pair overload is no longer needed as it will use the tuple-like one now. |
| |
| * wtf/OptionSet.h: |
| * wtf/StdLibExtras.h: |
| Move is_type_complete_v<> from OptionSet.h to StdLibExtras.h and rename to |
| adhere to WebKit style as IsTypeComplete<>. |
| |
| 2020-07-10 Brady Eidson <beidson@apple.com> |
| |
| GameController.framework gamepads should support Home buttons. |
| <rdar://problem/63500696> and https://bugs.webkit.org/show_bug.cgi?id=212933 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-07-10 Xabier Rodriguez Calvar <calvaris@igalia.com> |
| |
| [GStreamer][EME][OpenCDM] Implement OpenCDM support |
| https://bugs.webkit.org/show_bug.cgi?id=213550 |
| |
| Reviewed by Philippe Normand. |
| |
| * wtf/PlatformEnable.h: Disable OPENCDM by default. |
| |
| 2020-07-09 Xabier Rodriguez Calvar <calvaris@igalia.com> |
| |
| Simplify BoxPtr::create |
| https://bugs.webkit.org/show_bug.cgi?id=214144 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/BoxPtr.h: |
| (WTF::createBoxPtr): Use the alias instead of the unrolled type. |
| |
| 2020-07-09 Per Arne Vollan <pvollan@apple.com> |
| |
| [Cocoa] Update Launch Services database in the WebContent process from the Network process |
| https://bugs.webkit.org/show_bug.cgi?id=213794 |
| |
| Reviewed by Brent Fulgham. |
| |
| Added HAVE define for determining if the class LSDatabaseContext is present. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-07-09 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r264148. |
| https://bugs.webkit.org/show_bug.cgi?id=214136 |
| |
| Introduced layout test failures |
| |
| Reverted changeset: |
| |
| "[Cocoa] Update Launch Services database in the WebContent |
| process from the Network process" |
| https://bugs.webkit.org/show_bug.cgi?id=213794 |
| https://trac.webkit.org/changeset/264148 |
| |
| 2020-07-09 Xabier Rodriguez Calvar <calvaris@igalia.com> |
| |
| [WTF] Implement new BoxPtr alias |
| https://bugs.webkit.org/show_bug.cgi?id=212379 |
| |
| Reviewed by Darin Adler. |
| |
| Added BoxPtr.h that includes BoxPtr<T> as alias of |
| Box<std::unique_ptr<T>>. We discussed about this class on bugzilla |
| and we agreed on this alias being the best idea. Apart from the |
| alias I'm adding a couple of helpers like a create function and |
| the operator== and operator!=. |
| |
| Tests: BoxPtr API tests added. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/BoxPtr.h: Added. |
| (WTF::createBoxPtr): |
| (WTF::operator==): |
| (WTF::operator!=): |
| * wtf/CMakeLists.txt: |
| |
| 2020-07-08 Per Arne Vollan <pvollan@apple.com> |
| |
| [Cocoa] Update Launch Services database in the WebContent process from the Network process |
| https://bugs.webkit.org/show_bug.cgi?id=213794 |
| |
| Reviewed by Brent Fulgham. |
| |
| Added HAVE define for determining if the class LSDatabaseContext is present. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-07-08 Per Arne Vollan <pvollan@apple.com> |
| |
| [Cocoa] Make it possible to establish direct XPC connections between WebKit processes |
| https://bugs.webkit.org/show_bug.cgi?id=214079 |
| |
| Reviewed by Brent Fulgham. |
| |
| Declare function to create a xpc endpoint, as well as a function to create a connection from an endpoint. |
| |
| * wtf/spi/darwin/XPCSPI.h: |
| |
| 2020-07-08 Geoffrey Garen <ggaren@apple.com> |
| |
| dyld: Symbol not found: __ZN3WTF19initializeThreadingEv - webkit MacOSX |
| https://bugs.webkit.org/show_bug.cgi?id=214034 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/Threading.cpp: |
| (WTF::initializeThreading): Export the old symbol name for compatibility. |
| |
| 2020-07-07 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] WebProcess hangs when browsing GitHub |
| https://bugs.webkit.org/show_bug.cgi?id=213970 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| Use a lower priority for LayerFlushTimer and DisplayRefreshMonitorTimer. We were using a very high priority for |
| drawing with the idea of keeping a good rendering performance without being affected by other timers. The |
| problem is that animations can be controlled by timers, so we need to ensure that MainThreadSharedTimer has |
| higher priority than drawing. |
| |
| * wtf/glib/RunLoopSourcePriority.h: Use 110 for LayerFlushTimer and DisplayRefreshMonitorTimer. |
| |
| 2020-07-06 Geoffrey Garen <ggaren@apple.com> |
| |
| callOnMainThread should use the same queue as RunLoop::dispatch |
| https://bugs.webkit.org/show_bug.cgi?id=213830 |
| |
| Reviewed by Brady Eidson. |
| |
| This should reduce flakiness in scheduled tasks. |
| |
| There's no need to keep a separate queue anymore since both APIs have |
| the same semantics now. |
| |
| * wtf/MainThread.cpp: |
| (WTF::callOnMainThread): |
| (WTF::functionQueue): Deleted. |
| (WTF::dispatchFunctionsFromMainThread): Deleted. |
| * wtf/MainThread.h: |
| * wtf/cocoa/MainThreadCocoa.mm: |
| (WTF::scheduleDispatchFunctionsOnMainThread): Deleted. |
| * wtf/generic/MainThreadGeneric.cpp: |
| (WTF::scheduleDispatchFunctionsOnMainThread): Deleted. |
| * wtf/win/MainThreadWin.cpp: |
| (WTF::scheduleDispatchFunctionsOnMainThread): Deleted. |
| |
| 2020-07-06 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| Spams system logs with "Current memory footprint: 10 MB" |
| https://bugs.webkit.org/show_bug.cgi?id=213991 |
| |
| Reviewed by Darin Adler. |
| |
| This particular log statement is too much spam in the system journal, since it prints |
| continuously under normal operating conditions. Let's limit it only to Apple platforms, |
| which have had RELEASE_LOG() for a long time and where this is presumably expected. |
| |
| * wtf/MemoryPressureHandler.cpp: |
| (WTF::MemoryPressureHandler::measurementTimerFired): |
| |
| 2020-07-06 Sam Weinig <weinig@apple.com> |
| |
| Compile-time enable (but leave disabled at runtime by default) date/time input types on macOS to allow testing of cross platform (e.g. DOM) aspects of the controls |
| https://bugs.webkit.org/show_bug.cgi?id=213949 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformEnableCocoa.h: |
| Enable building date/time input types on all Cocoa ports. |
| |
| 2020-07-06 Geoffrey Garen <ggaren@apple.com> |
| |
| RunLoop::dispatch should only call wakeUp when needed |
| https://bugs.webkit.org/show_bug.cgi?id=213705 |
| |
| Reviewed by Brady Eidson. |
| |
| RunLoop::wakeUp is super expensive (at least on Darwin platforms). Back |
| when IndexedDB used RunLoop::dispatch, RunLoop::wakeUp accounted for 15% |
| of all database lookup time. |
| |
| We can reduce the cost a bit by only scheduling a wakeUp when the queue |
| is empty. |
| |
| * wtf/RunLoop.cpp: |
| (WTF::RunLoop::performWork): Take all the functions out of the pending |
| queue before we start executing them; that way, we can tell if a new |
| function has been added to the pending queue since we enetered |
| performWork. |
| |
| (WTF::RunLoop::dispatch): Only call wakeUp if we need to. |
| |
| * wtf/RunLoop.h: |
| |
| 2020-07-04 Darin Adler <darin@apple.com> |
| |
| [Cocoa] Add almost everything from FeatureDefines.xcconfig to PlatformEnableCocoa.h |
| https://bugs.webkit.org/show_bug.cgi?id=213964 |
| |
| Reviewed by Sam Weinig. |
| |
| Added logic that matches what FeatureDefines.xcconfig does for everything |
| except for ENABLE_EXPERIMENTAL_FEATURES. |
| |
| Changed format so we mostly list platforms where we do not want to enable |
| a certain feature; also order it pretty consistently macOS, iOS, Mac Catalyst, |
| watchOS, then tvOS. This format highlights possible mistakes when not enabling |
| a feature on some platforms in an easier to understand way. |
| |
| * wtf/PlatformEnableCocoa.h: |
| (ENABLE_AIRPLAY_PICKER): List platforms that do *not* enable this. |
| (ENABLE_APPLE_PAY): All except Mac Catalyst, watchOS, tvOS. |
| Not sure why disabled in Mac Catalyst, but replicates FeatureDefines.xcconfig. |
| (ENABLE_APPLE_PAY_REMOTE_UI): List platforms that do *not* enable this. |
| (ENABLE_AUTOCAPITALIZE): List platforms that do *not* enable this. |
| (ENABLE_AUTOCORRECT): List platforms that do *not* enable this. |
| (ENABLE_CONTENT_FILTERING): All except older watchOS simulator and tvOS. |
| (ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER): Re-sorted this. |
| (ENABLE_CSS_CONIC_GRADIENTS): All except older macOS and tvOS. The tvOS |
| exception seems questionable, so added a FIXME. |
| (ENABLE_DARK_MODE_CSS): All except watchOS and tvOS. |
| (ENABLE_DATA_INTERACTION): All except macOS, watchOS, and tvOS. |
| (ENABLE_DATA_DETECTION): All except Mac Catalyst, watchOS, and tvOS. |
| (ENABLE_EDITABLE_REGION): Only iOS. |
| (ENABLE_ENCRYPTED_MEDIA): All except older macOS and Mac Catalyst. |
| (ENABLE_FULLSCREEN_API): All except Mac Catalyst, watchOS, and tvOS. |
| (ENABLE_FULL_KEYBOARD_ACCESS): All except Mac Catalyst, watchOS, and tvOS. |
| (ENABLE_GAMEPAD): All except watchOS. |
| (ENABLE_INPUT_TYPE_DATE): All except macOS, Mac Catalyst, and tvOS. |
| (ENABLE_INPUT_TYPE_DATETIMELOCAL): Ditto. |
| (ENABLE_INPUT_TYPE_MONTH): Ditto. |
| (ENABLE_INPUT_TYPE_TIME): Ditto. |
| (ENABLE_INPUT_TYPE_WEEK): Ditto. |
| (ENABLE_MEDIA_CAPTURE): All except macOS. |
| (ENABLE_MEDIA_SOURCE): All except Mac Catalyst, watchOS, tvOS, and |
| all simulators. |
| (ENABLE_MEDIA_STREAM): All except Mac Catalyst, watchOS, and tvOS. |
| (ENABLE_NAVIGATOR_STANDALONE): All iOS family. (Considered writing as |
| all except macOS, but left like this to match some .cpp code for now.) |
| (ENABLE_OVERFLOW_SCROLLING_TOUCH): All iOS family. |
| (ENABLE_PICTURE_IN_PICTURE_API): All except Mac Catalyst, watchOS, and tvOS. |
| (ENABLE_SPEECH_SYNTHESIS): All except Mac Catalyst. |
| (ENABLE_REVEAL): All except older macOS, watchOS, and tvOS. |
| (ENABLE_SIGILL_CRASH_ANALYZER): All except macOS and watchOS. |
| (ENABLE_TAKE_UNBOUNDED_NETWORKING_ASSERTION): All except macOS, watchOS, and tvOS. |
| (ENABLE_VIDEO_PRESENTATION_MODE): All except simulators and tvOS. |
| (ENABLE_WEBGPU): All except older macOS, Mac Catalyst, and simulators. |
| (ENABLE_WEB_API_STATISTICS): Re-sorted this. |
| (ENABLE_WEB_AUTHN): All except Mac Catalyst, watchOS, and tvOS. |
| (ENABLE_WEB_RTC): All except Mac Catalyst, watchOS, and tvOS. |
| |
| 2020-07-04 Darin Adler <darin@apple.com> |
| |
| [Cocoa] Remove all features from FeatureDefines.xcconfig that are already mentioned in PlatformEnableCocoa.h |
| https://bugs.webkit.org/show_bug.cgi?id=213962 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/PlatformEnableCocoa.h: |
| (ENABLE_DRAG_SUPPORT): Before, this was enabled for iOS, iOS simulator, and Mac Catalyst in the |
| FeatureDefines.xcconfig file, but then disabled for any other iOS family platform here, then enabled |
| by default in PlatformEnable.h, which covered Mac. Instead, disable here only for watchOS and tvOS, |
| which gives the same result in a more straightforward way. |
| (ENABLE_GEOLOCATION): Before, this was enabled for iOS, iOS simulator, Mac Catalyst, and Mac in the |
| FeatureDefines.xcconfig file, then enabled for any other iOS family platform here. Instead, just |
| enable here for all Cocoa platforms, which gives the same result in a more straightforward way. |
| |
| 2020-07-03 Darin Adler <darin@apple.com> |
| |
| Make generate-unified-sources.sh not depend on features being listed in FEATURE_DEFINES environment variable |
| https://bugs.webkit.org/show_bug.cgi?id=212420 |
| |
| Reviewed by Don Olmstead. |
| |
| * Scripts/generate-unified-source-bundles.rb: Removed the --feature-flags |
| command line option along with the code that implements it. |
| |
| 2020-07-03 Sam Weinig <weinig@apple.com> |
| |
| Remove support for ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE |
| https://bugs.webkit.org/show_bug.cgi?id=213932 |
| |
| Reviewed by Darin Adler. |
| |
| Removes support for non-standard <input type="datetime">, currently being |
| guarded by the macro ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE. This macro, was |
| added back in 2013 as a temporary measure to support some engines who shipped |
| support for <input type="datetime">. It is currently not enabled for any |
| ports so now seems like as good a time as any to remove it. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2020-07-03 Sam Weinig <weinig@apple.com> |
| |
| Add "-Wliteral-conversion" warning to Xcode based builds and fix the issues it finds |
| https://bugs.webkit.org/show_bug.cgi?id=213931 |
| |
| Reviewed by Darin Adler. |
| |
| * Configurations/Base.xcconfig: |
| Add -Wliteral-conversion. |
| |
| 2020-07-03 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r263882. |
| https://bugs.webkit.org/show_bug.cgi?id=213933 |
| |
| Broke the build |
| |
| Reverted changeset: |
| |
| "Make _WKWebsiteDataStoreConfiguration SPI for HSTS storage to |
| replace _WKProcessPoolConfiguration.hstsStorageDirectory" |
| https://bugs.webkit.org/show_bug.cgi?id=213048 |
| https://trac.webkit.org/changeset/263882 |
| |
| 2020-07-02 Alex Christensen <achristensen@webkit.org> |
| |
| Make _WKWebsiteDataStoreConfiguration SPI for HSTS storage to replace _WKProcessPoolConfiguration.hstsStorageDirectory |
| https://bugs.webkit.org/show_bug.cgi?id=213048 |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-07-02 Alex Christensen <achristensen@webkit.org> |
| |
| Add testing infrastructure and SPI declaration for HTTP/2 ping |
| https://bugs.webkit.org/show_bug.cgi?id=213913 |
| |
| Reviewed by Jer Noble. |
| |
| This is work towards rdar://problem/64495827 |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-07-01 Tim Horton <timothy_horton@apple.com> |
| |
| Upstream application accent color support |
| https://bugs.webkit.org/show_bug.cgi?id=213859 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-07-01 Alexey Shvayka <shvaikalesh@gmail.com> |
| |
| Use more efficient makeString() instead of StringBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=213708 |
| |
| Reviewed by Sam Weinig. |
| |
| Introduces StringTypeAdapter<std::tuple> overload, which enables using |
| makeString() instead of StringBuilder in more cases. |
| |
| * wtf/text/StringConcatenate.h: |
| (WTF::StringTypeAdapter<std::tuple<StringTypes...>, void>): Added. |
| |
| 2020-06-30 Geoffrey Garen <ggaren@apple.com> |
| |
| [Cocoa] [GTK] RunLoop::Timer::isActive() is incorrect for timers while they are firing |
| https://bugs.webkit.org/show_bug.cgi?id=213771 |
| |
| Reviewed by Darin Adler. |
| |
| I noticed this because it triggered an assertion failure in |
| BackgroundProcessResponsivenessTimer::scheduleNextResponsivenessCheck(). |
| |
| In WebKit timer parlance "isActive()" means "will fire again", so a |
| one-shot timer should report inactive right when it fires. Otherwise, |
| there's no way to check if it needs to be rescheduled. |
| |
| * wtf/cf/RunLoopCF.cpp: |
| (WTF::RunLoop::TimerBase::timerFired): For one-shot timers, stop our |
| timer before it fires, so that we know it is not active. |
| |
| * wtf/glib/RunLoopGLib.cpp: |
| (WTF::RunLoop::TimerBase::TimerBase): For repeating timers, reschedule |
| our timer before it fires, so that we know it is active. |
| |
| 2020-06-30 Mark Lam <mark.lam@apple.com> |
| |
| Add handling for a case of OOME in CSSTokenizer and CSSParser. |
| https://bugs.webkit.org/show_bug.cgi?id=213702 |
| <rdar://problem/64808889> |
| |
| Reviewed by Darin Adler. |
| |
| 1. Added FailureAction so that we can parameterize how we want to handle failures. |
| In this patch, we're only using this for allocation failures, but we could |
| technically apply this to other types of failures as well. |
| |
| 2. Apply FailureAction to many methods in Vector (and its super classes) so that |
| we can start de-duplicating code. Previously, we were always duplicating code |
| just to have a "try" version of the same method that reports the failure to |
| allocate instead of crashing. We can now parameterize all these methods on a |
| FailureAction template parameter instead, and avoid the code duplication. |
| This patch also reverses some of the existing code duplication. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/FailureAction.h: Added. |
| * wtf/Vector.h: |
| (WTF::VectorBufferBase::allocateBuffer): |
| (WTF::VectorBufferBase::tryAllocateBuffer): |
| (WTF::VectorBuffer::allocateBuffer): |
| (WTF::VectorBuffer::tryAllocateBuffer): |
| (WTF::Vector::reserveCapacity): |
| (WTF::Vector::tryReserveCapacity): |
| (WTF::Vector::reserveInitialCapacity): |
| (WTF::Vector::tryReserveInitialCapacity): |
| (WTF::Vector::append): |
| (WTF::Vector::tryAppend): |
| (WTF::Vector::constructAndAppend): |
| (WTF::Vector::tryConstructAndAppend): |
| (WTF::Vector::expandCapacity): |
| (WTF::Vector::resize): |
| (WTF::Vector::grow): |
| (WTF::Vector::reserveCapacity): |
| (WTF::Vector::reserveInitialCapacity): |
| (WTF::Vector::append): |
| (WTF::Vector::constructAndAppend): |
| (WTF::Vector::appendSlowCase): |
| (WTF::Vector::constructAndAppendSlowCase): |
| (WTF::Vector::appendVector): |
| (WTF::Vector::insert): |
| (WTF::Vector::tryExpandCapacity): Deleted. |
| (WTF::Vector::tryReserveCapacity): Deleted. |
| (WTF::Vector::tryAppend): Deleted. |
| (WTF::Vector::tryConstructAndAppend): Deleted. |
| (WTF::Vector::tryConstructAndAppendSlowCase): Deleted. |
| |
| 2020-06-30 Peng Liu <peng.liu6@apple.com> |
| |
| Enable the support of FULLSCREEN_API in WebKitTestRunner |
| https://bugs.webkit.org/show_bug.cgi?id=213774 |
| |
| Reviewed by Youenn Fablet. |
| |
| Replace the definition of ENABLE_FULLSCREEN_API in FeatureDefines.xcconfig with |
| the one in PlatformEnableCocoa.h. We have to do that because WebKitTestRunner |
| does not have a FeatureDefines.xcconfig but it uses "ENABLE(FULLSCREEN_API)" |
| to conditionally compile code to test the element fullscreen API. |
| WebKitTestRunner can use the macro defined in PlatformEnableCocoa.h. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-06-30 Alex Christensen <achristensen@webkit.org> |
| |
| Remove WTF::MD5 |
| https://bugs.webkit.org/show_bug.cgi?id=213766 |
| |
| Reviewed by Youenn Fablet. |
| |
| It was only used for CURL's cache file name generation. |
| If you want to use a broken hash function, use SHA1. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/MD5.cpp: Removed. |
| * wtf/MD5.h: Removed. |
| |
| 2020-06-30 Andy Estes <aestes@apple.com> |
| |
| [Xcode] Enable the "My Mac (Mac Catalyst)" destination in WebKit Xcode projects |
| https://bugs.webkit.org/show_bug.cgi?id=213740 |
| |
| Reviewed by Darin Adler. |
| |
| * Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this |
| project supports building for Mac Catalyst. |
| |
| 2020-06-30 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r263724. |
| https://bugs.webkit.org/show_bug.cgi?id=213781 |
| |
| |
| Reverted changeset: |
| |
| "Make _WKWebsiteDataStoreConfiguration SPI for HSTS storage to |
| replace _WKProcessPoolConfiguration.hstsStorageDirectory" |
| https://bugs.webkit.org/show_bug.cgi?id=213048 |
| https://trac.webkit.org/changeset/263724 |
| |
| 2020-06-29 Geoffrey Garen <ggaren@apple.com> |
| |
| Unreviewed, rolling out an accidental change from r263723. |
| |
| * wtf/cf/RunLoopCF.cpp: |
| (WTF::RunLoop::TimerBase::timerFired): |
| |
| 2020-06-29 Alex Christensen <achristensen@webkit.org> |
| |
| Make _WKWebsiteDataStoreConfiguration SPI for HSTS storage to replace _WKProcessPoolConfiguration.hstsStorageDirectory |
| https://bugs.webkit.org/show_bug.cgi?id=213048 |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-06-29 Geoffrey Garen <ggaren@apple.com> |
| |
| [GTK] [Win] Build callOnMainThread on WTF::RunLoop rather than on a timer |
| https://bugs.webkit.org/show_bug.cgi?id=213694 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| As of https://bugs.webkit.org/show_bug.cgi?id=213063, Darwin platforms |
| use the RunLoop. Let's match them for consistency, and to delete some |
| code. |
| |
| * wtf/generic/MainThreadGeneric.cpp: |
| (WTF::scheduleDispatchFunctionsOnMainThread): |
| (WTF::MainThreadDispatcher::MainThreadDispatcher): Deleted. |
| (WTF::MainThreadDispatcher::schedule): Deleted. |
| (WTF::MainThreadDispatcher::fired): Deleted. |
| * wtf/glib/RunLoopSourcePriority.h: |
| * wtf/win/MainThreadWin.cpp: |
| (WTF::initializeMainThreadPlatform): |
| (WTF::scheduleDispatchFunctionsOnMainThread): |
| (WTF::ThreadingWindowWndProc): Deleted. |
| |
| 2020-06-29 Guowei Yang <guowei_yang@apple.com> |
| |
| Adding Experimental Feature Flags for CoreImage backed SVG/CSS Filters |
| https://bugs.webkit.org/show_bug.cgi?id=213578 |
| |
| Reviewed by Darin Adler, Simon Fraser, Myles C. Maxfield. |
| |
| Preparing to implement CoreImage backed filter rendering |
| Needs Compiler guards and experimental feature guard. |
| |
| * wtf/PlatformEnableCocoa.h: Added definition of a feature flag, |
| ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER |
| * wtf/PlatformUse.h: Added compiler guard #define USE_CORE_IMAGE 1 |
| to indicate whether CoreImage code is visible to the compiler |
| |
| 2020-06-29 Tetsuharu Ohzeki <tetsuharu.ohzeki@gmail.com> |
| |
| Remove ENABLE_STREAMS_API compilation flag |
| https://bugs.webkit.org/show_bug.cgi?id=213728 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2020-06-29 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Add more StringView / ASCIILiteral helper functions and add ICUDeleter |
| https://bugs.webkit.org/show_bug.cgi?id=209774 |
| |
| Reviewed by Ross Kirsling and Darin Adler. |
| |
| Add ICUDeleter for cleaner ICU object deletion. |
| Add ICU::majorVersion and ICU::minorVersion to switch the skeleton string in Intl.NumberFormat. |
| Add more features for ASCIILiteral. |
| |
| This patch is part of https://bugs.webkit.org/show_bug.cgi?id=209774. I land it separately from |
| Intl.NumberFormat change to unlock the further Intl implementations using ICUDeleter. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/text/ASCIILiteral.h: |
| * wtf/text/StringView.cpp: |
| (WTF::codePointCompare): |
| * wtf/text/StringView.h: |
| (WTF::StringView::StringView): |
| * wtf/unicode/icu/ICUHelpers.cpp: Copied from Source/WTF/wtf/text/ASCIILiteral.h. |
| (WTF::ICU::version): |
| (WTF::ICU::majorVersion): |
| (WTF::ICU::minorVersion): |
| * wtf/unicode/icu/ICUHelpers.h: |
| (WTF::ICUDeleter::operator()): |
| |
| 2020-06-28 Geoffrey Garen <ggaren@apple.com> |
| |
| Rename initializeThreading to initialize |
| https://bugs.webkit.org/show_bug.cgi?id=213674 |
| |
| Reviewed by Mark Lam. |
| |
| Reasons: |
| |
| (1) You need to call it even if you don't use threads. |
| |
| (2) It initializes things unrelated to threads (like the PRNG). |
| |
| (3) People seem to get confused about the relationship between |
| initializeThreading() and initializeMainThread(), and sometimes think |
| initializeThreading() is a superset. The opposite is true! I think the |
| confusion may come from "threading" being read as "all threading". |
| |
| Some filenames still use the legacy name. We can fix that in post. |
| |
| * benchmarks/ConditionSpeedTest.cpp: |
| (main): |
| * benchmarks/HashSetDFGReplay.cpp: |
| (main): |
| * benchmarks/LockFairnessTest.cpp: |
| (main): |
| * benchmarks/LockSpeedTest.cpp: |
| (main): |
| * wtf/MainThread.cpp: |
| (WTF::initializeMainThread): |
| * wtf/Threading.cpp: |
| (WTF::Thread::create): |
| (WTF::initialize): |
| (WTF::initializeThreading): Deleted. |
| * wtf/Threading.h: |
| (WTF::Thread::current): |
| |
| 2020-06-27 Sam Weinig <weinig@apple.com> |
| |
| Improve assertions in StringParsingBuffer |
| https://bugs.webkit.org/show_bug.cgi?id=213633 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/text/StringParsingBuffer.h: |
| Address additional feedback and improve the assertions by making them more |
| clear and avoid potential overflows. |
| |
| 2020-06-26 Geoffrey Garen <ggaren@apple.com> |
| |
| Re-land r262863 |
| https://bugs.webkit.org/show_bug.cgi?id=213654 |
| |
| Reviewed by Tadeu Zagallo. |
| |
| r263575 should fix the crash we saw. |
| |
| * wtf/cocoa/MainThreadCocoa.mm: |
| (WTF::initializeMainThreadPlatform): |
| (WTF::scheduleDispatchFunctionsOnMainThread): |
| (-[JSWTFMainThreadCaller call]): Deleted. |
| |
| 2020-06-26 Geoffrey Garen <ggaren@apple.com> |
| |
| Initializing the main thread should initialize the main run loop |
| https://bugs.webkit.org/show_bug.cgi?id=213637 |
| |
| Reviewed by Anders Carlsson. |
| |
| Previously, some code initialized one, some the other, and some both; |
| and some code tried to initialize more than once; and some code tried |
| to initialize in ways that would crash but luckily got pre-empted by |
| other code that had already initialized. |
| |
| In addition to general confusion, this setup made it subtly high stakes |
| to call certain functions, like callOnMainThread or |
| RunLoop::main().dispatch(), because they might crash if the right |
| initialization had not been performed. |
| |
| Let's fix that. |
| |
| * wtf/MainThread.cpp: |
| (WTF::initializeMainThread): Removed defunct comment about |
| initializeMainThreadToProcessMainThread. Shrank scope of initializeKey. |
| * wtf/RunLoop.cpp: |
| (WTF::RunLoop::initializeMain): Don't call initializeMainThread anymore |
| because it calls us now. No need for a store fence since we run on the |
| main thread and we don't store anything. |
| (WTF::RunLoop::initializeWeb): Upgrade to RELEASE_ASSERT. |
| * wtf/RunLoop.h: Removed incorrect comment. (Fascinating to wonder when |
| it became incorrect.) |
| |
| 2020-06-25 Sam Weinig <weinig@apple.com> |
| |
| Add a new templated string type to help write more idiomatic parsing code |
| https://bugs.webkit.org/show_bug.cgi?id=213588 |
| |
| Reviewed by Darin Adler. |
| |
| Introduce StringParsingBuffer<CharType>, a new class in the String class family |
| designed to be used by parsing code. It's designed to be used with the helper |
| function, readCharactersForParsing, and for the user to write the parsing code |
| in a way that will work for both latin1 and UTF-16 inputs. Most usage will likely |
| follow something like the following form |
| |
| { |
| ... |
| auto parsedResult = readCharactersForParsing(stringishObjectToParse, [](auto parsingBuffer) { |
| while (parsingBuffer.hasCharactersRemaining()) { |
| if (*parsingBuffer == foo) { |
| ... |
| } |
| } |
| |
| ... |
| |
| return parsedResult |
| }); |
| ... |
| } |
| |
| API tests added. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| Add StringParsingBuffer.h |
| |
| * wtf/Forward.h: |
| Forward declare StringParsingBuffer. |
| |
| * wtf/text/StringParsingBuffer.h: |
| Added. |
| |
| 2020-06-25 Tadeu Zagallo <tzagallo@apple.com> |
| |
| WTF::callOnMainThread should not require the main runloop to be initialized |
| https://bugs.webkit.org/show_bug.cgi?id=213612 |
| <rdar://problem/64446028> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| When using JavaScriptCore as a framework, the WTF main runloop is never initialized. However, |
| the inspector uses CFString wrappers, which use `callOnMainThread` when deallocating the |
| underlying string. For now, we bring back the old `JSWTFMainThreadCaller` to ensure we have |
| a way of dispatching to the main thread, even when the main runloop hasn't been initialized. |
| |
| * wtf/RunLoop.cpp: |
| (WTF::RunLoop::mainIfExists): |
| * wtf/RunLoop.h: |
| * wtf/cocoa/MainThreadCocoa.mm: |
| (-[JSWTFMainThreadCaller call]): |
| (WTF::initializeMainThreadPlatform): |
| (WTF::scheduleDispatchFunctionsOnMainThread): |
| |
| 2020-06-24 Umar Iqbal <uiqbal@apple.com> |
| |
| We should resurrect the older patch that collects some statistics of web API calls |
| https://bugs.webkit.org/show_bug.cgi?id=213319 |
| |
| Reviewed by Brent Fulgham. |
| |
| + Enabled ENABLE_WEB_API_STATISTICS flag |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-06-24 Geoffrey Garen <ggaren@apple.com> |
| |
| Removed the 50ms rescheduling timeout from callOnMainThread |
| https://bugs.webkit.org/show_bug.cgi?id=213560 |
| |
| Reviewed by Anders Carlsson. |
| |
| This is a step toward making the engine less flaky by unifying |
| callOnMainThread with RunLoop::dispatch. |
| |
| The timeout was added in r40888 to avoid a hang under heavy postMessage |
| load. A few reasons this isn’t the right approach anymore: |
| |
| (1) postMessage has migrated to EventLoop, which does its own |
| scheduling. |
| |
| (2) postMessage does not use the application process RunLoop in Modern |
| WebKit. |
| |
| (3) Delay is not a sufficient solution to a messaging hang — because |
| you’ll just OOM crash instead. The original author noted this problem |
| in bug 23705 but never resolved it; and we rediscovered it in r233111. |
| |
| I verified manually that the r40888 version of |
| fast/workers/worker-timeout.html does not hang. |
| |
| * wtf/MainThread.cpp: |
| (WTF::dispatchFunctionsFromMainThread): |
| |
| 2020-06-23 Geoffrey Garen <ggaren@apple.com> |
| |
| Remove WTF::setMainThreadCallbacksPaused |
| https://bugs.webkit.org/show_bug.cgi?id=213112 |
| |
| Reviewed by Tim Horton. |
| |
| setMainThreadCallbacksPaused pauses all uses of callOnMainThread. That |
| has too many side-effects. For example, you can scroll, but you can't |
| paint any large images (since they do async image decoding). |
| |
| Meanwhile, setMainThreadCallbacksPaused doesn't pause RunLoop::dispatch. |
| So, other things don't get paused. |
| |
| Let's just rely on suspending the ScriptExecutionContext and document |
| event queue. That should suspend JavaScript-visible stuff without |
| suspending engine-critical stuff. |
| |
| * wtf/MainThread.cpp: |
| (WTF::dispatchFunctionsFromMainThread): |
| (WTF::setMainThreadCallbacksPaused): Deleted. |
| * wtf/MainThread.h: |
| |
| 2020-06-23 Chris Dumez <cdumez@apple.com> |
| |
| Remove a lot of unnecessary calls to Ref::copyRef() |
| https://bugs.webkit.org/show_bug.cgi?id=213533 |
| |
| Reviewed by Darin Adler. |
| |
| Remove a lot of unnecessary calls to Ref::copyRef() now that Ref is copyable. |
| |
| * wtf/glib/SocketConnection.cpp: |
| (WTF::SocketConnection::waitForSocketWritability): |
| |
| 2020-06-23 Saam Barati <sbarati@apple.com> |
| |
| Remove WKkIsTranslated once our bots are updated to the needed SDK |
| https://bugs.webkit.org/show_bug.cgi?id=213489 |
| |
| Reviewed by Tim Horton. |
| |
| We can use the "sysctl.proc_translated" sysctl instead. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/TranslatedProcess.cpp: Added. |
| (WTF::isX86BinaryRunningOnARM): |
| * wtf/TranslatedProcess.h: |
| (WTF::isX86BinaryRunningOnARM): |
| |
| 2020-06-23 Mark Lam <mark.lam@apple.com> |
| |
| Handle string overflow in DFG graph dump while validating AI. |
| https://bugs.webkit.org/show_bug.cgi?id=213524 |
| <rdar://problem/64635620> |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/StringPrintStream.cpp: |
| (WTF::StringPrintStream::tryToString): |
| * wtf/StringPrintStream.h: |
| |
| 2020-06-22 Saam Barati <sbarati@apple.com> |
| |
| Allow building JavaScriptCore Mac+arm64 in public SDK build |
| https://bugs.webkit.org/show_bug.cgi?id=213472 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformHave.h: |
| |
| 2020-06-22 Timothy Horton <timothy_horton@apple.com> |
| |
| Fix the build |
| |
| * wtf/TranslatedProcess.h: |
| (WTF::isX86BinaryRunningOnARM): |
| |
| 2020-06-22 Tim Horton <timothy_horton@apple.com> |
| |
| Disable the JS JIT when running in a translated process |
| https://bugs.webkit.org/show_bug.cgi?id=213478 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/PlatformHave.h: |
| * wtf/TranslatedProcess.h: Added. |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| Add a helper function that can be used to determine that the current process |
| is being translated; currently the only case is an x86_64 process running on arm64e. |
| |
| 2020-06-22 Tim Horton <timothy_horton@apple.com> |
| |
| Update macOS version macros |
| https://bugs.webkit.org/show_bug.cgi?id=213484 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Configurations/Base.xcconfig: |
| * Configurations/DebugRelease.xcconfig: |
| |
| 2020-06-22 Geoffrey Garen <ggaren@apple.com> |
| |
| Unreviewed, re-landing r262904. |
| |
| r263223 should fix the test flakiness we saw. |
| |
| Re-landed changeset: |
| |
| "[Cocoa] Build callOnMainThread on WTF::RunLoop rather than on |
| a timer" |
| https://bugs.webkit.org/show_bug.cgi?id=213063 |
| https://trac.webkit.org/changeset/262904 |
| |
| 2020-06-21 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Ensure ASCIILiteral is ASCII characters at compile time |
| https://bugs.webkit.org/show_bug.cgi?id=213449 |
| |
| Reviewed by Ross Kirsling. |
| |
| The purpose of ASCIILiteral is ensure that this is compile-time (do not need to consider about ownership) ASCII characters. |
| By using `isASCII` and `ASSERT_UNDER_CONSTEXPR_CONTEXT`, we can make sure that this C string does not include non ASCII characters. |
| For example, |
| |
| auto globalVariable = "ラーメン (Ramen in Japanese)"_s; |
| |
| becomes compile error. |
| |
| * wtf/ASCIICType.h: |
| (WTF::isASCII): |
| * wtf/text/ASCIILiteral.h: |
| (WTF::StringLiterals::operator _s): |
| |
| 2020-06-21 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] URL should support dataLog |
| https://bugs.webkit.org/show_bug.cgi?id=213450 |
| |
| Reviewed by Mark Lam. |
| |
| Add URL::dump(PrintStream&) to support `dataLog(url)` which is extremely useful for WTF / JSC developers. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::dump const): |
| * wtf/URL.h: |
| |
| 2020-06-19 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Check Gigacage usage before launching VM |
| https://bugs.webkit.org/show_bug.cgi?id=213410 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/Gigacage.h: |
| (Gigacage::footprint): |
| (Gigacage::maxSize): |
| (Gigacage::size): |
| |
| 2020-06-19 Truitt Savell <tsavell@apple.com> |
| |
| Unreviewed, reverting r263223. |
| |
| Broke compositing/video/video-border-radius-clipping.html on |
| Mac release wk1 |
| |
| Reverted changeset: |
| |
| "Unreviewed, re-landing r262904." |
| https://bugs.webkit.org/show_bug.cgi?id=213063 |
| https://trac.webkit.org/changeset/263223 |
| |
| 2020-06-19 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| -Wsign-compare in isValidOptionSet |
| https://bugs.webkit.org/show_bug.cgi?id=213383 |
| |
| Reviewed by Darin Adler. |
| |
| The OptionSet's StorageType is always unsigned, even if the enum's underlying value is not. |
| Match this in isValidOptionSet to avoid -Wsign-compare during validity checking. |
| |
| * wtf/OptionSet.h: |
| (WTF::isValidOptionSet): |
| |
| 2020-06-19 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Cocoa] Unify "font:" CSS shorthand values between macOS and iOS family |
| https://bugs.webkit.org/show_bug.cgi?id=213332 |
| <rdar://problem/64479189> |
| |
| Reviewed by Tim Horton and Darin Adler. |
| |
| All Cocoa platforms support kCTUIFontTextStyleTitle0 and kCTUIFontTextStyleTitle4. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-06-18 Mark Lam <mark.lam@apple.com> |
| |
| Unify Bitmap math loops in MarkedBlock::Handle::specializedSweep(). |
| https://bugs.webkit.org/show_bug.cgi?id=213345 |
| |
| Reviewed by Robin Morisset and Saam Barati. |
| |
| 1. Removed Bitmap::words. Use Bitmap::numberOfWords instead. |
| 2. Removed Bitmap::wordSize. Use Bitmap::bitsInWord instead. |
| 3. Added a new Bitmap::words() method which returns the address of the underlying |
| bitmap storage as a Bitmap::Word*. This enables clients to do direct bit |
| manipulation on the Bitmap words if needed. |
| |
| * wtf/Bitmap.h: |
| (WTF::WordType>::get const): |
| (WTF::WordType>::set): |
| (WTF::WordType>::testAndSet): |
| (WTF::WordType>::testAndClear): |
| (WTF::WordType>::concurrentTestAndSet): |
| (WTF::WordType>::concurrentTestAndClear): |
| (WTF::WordType>::clear): |
| (WTF::WordType>::invert): |
| (WTF::WordType>::nextPossiblyUnset const): |
| (WTF::WordType>::count const): |
| (WTF::WordType>::isEmpty const): |
| (WTF::WordType>::isFull const): |
| (WTF::WordType>::merge): |
| (WTF::WordType>::filter): |
| (WTF::WordType>::exclude): |
| (WTF::WordType>::concurrentFilter): |
| (WTF::WordType>::subsumes const): |
| (WTF::WordType>::forEachSetBit const): |
| (WTF::WordType>::findBit const): |
| (WTF::WordType>::mergeAndClear): |
| (WTF::WordType>::setAndClear): |
| (WTF::WordType>::setEachNthBit): |
| (WTF::= const): |
| (WTF::=): |
| (WTF::WordType>::hash const): |
| |
| 2020-06-18 Geoffrey Garen <ggaren@apple.com> |
| |
| Unreviewed, re-landing r262904. |
| |
| r263219 and r263175 should fix the test flakiness we saw. |
| |
| Re-landed changeset: |
| |
| "[Cocoa] Build callOnMainThread on WTF::RunLoop rather than on |
| a timer" |
| https://bugs.webkit.org/show_bug.cgi?id=213063 |
| https://trac.webkit.org/changeset/262904 |
| |
| 2020-06-18 David Kilzer <ddkilzer@apple.com> |
| |
| [IPC hardening] OptionSet<> values should be validated |
| <https://webkit.org/b/213199> |
| <rdar://problem/64369963> |
| |
| Reviewed by Anders Carlsson. |
| |
| * wtf/OptionSet.h: |
| (WTF::isValidOptionSet): Add. |
| |
| 2020-06-17 Mark Lam <mark.lam@apple.com> |
| |
| Replace JSC::FreeList linked list with a Bitmap. |
| https://bugs.webkit.org/show_bug.cgi?id=213071 |
| |
| Reviewed by Filip Pizlo. |
| |
| 1. Use countOfBits<> template to compute the number of bits. |
| 2. Introduce log2() and log2Constexpr() utility functions. |
| 3. Make Bitmap<>::forEachSetBit() a little bit more efficient: we don't need to |
| keep iterating if the bitmap word is already empty of bits. |
| |
| * wtf/Bitmap.h: |
| (WTF::WordType>::forEachSetBit const): |
| * wtf/MathExtras.h: |
| (WTF::clzConstexpr): |
| (WTF::clz): |
| (WTF::ctzConstexpr): |
| (WTF::ctz): |
| (WTF::getMSBSet): |
| (WTF::getMSBSetConstexpr): |
| (WTF::log2): |
| (WTF::log2Constexpr): |
| |
| 2020-06-17 David Kilzer <ddkilzer@apple.com> |
| |
| Replace OptionSetTraits/OptionSetValues with EnumTraits/EnumValues |
| <https://webkit.org/b/213264> |
| |
| Reviewed by Brent Fulgham. |
| |
| * wtf/OptionSet.h: |
| (WTF::isValidOptionSetEnum): |
| (WTF::maskRawValue): |
| - Replace OptionSetTraits<>/OptionSetValues<> with |
| EnumTraits<>/EnumValues<>. |
| |
| 2020-06-08 Andy Estes <aestes@apple.com> |
| |
| [Apple Pay] Enable layout tests on more platforms |
| https://bugs.webkit.org/show_bug.cgi?id=212955 |
| <rdar://problem/64174156> |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/PlatformEnableCocoa.h: Removed ENABLE_APPLE_PAY_INSTALLMENT_IDENTIFIERS, |
| ENABLE_APPLE_PAY_INSTALLMENT_ITEMS, ENABLE_APPLE_PAY_SESSION_V8, |
| ENABLE_APPLE_PAY_SESSION_V9, and ENABLE_APPLE_PAY_SESSION_V10. |
| * wtf/PlatformHave.h: Removed HAVE_PASSKIT_INSTALLMENT_IDENTIFIERS and corrected iOS version |
| checks for HAVE_PASSKIT_INSTALLMENTS. |
| |
| 2020-06-16 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| Fix build with !HAVE(MACHINE_CONTEXT) |
| https://bugs.webkit.org/show_bug.cgi?id=213223 |
| <rdar://problem/64390209> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| In r263074, I messed up and broke the build with !HAVE(MACHINE_CONTEXT). Even though the |
| sole purpose of that commit was to fix !HAVE(MACHINE_CONTEXT), I must have somehow messed up |
| when testing my change. |
| |
| Anyway, we can just create an empty PlatformRegisters object when HAVE(MACHINE_CONTEXT) is |
| false. At first, I was worried that passing an empty PlatformRegisters could be open to |
| misuse, but it's actually hard to misuse it because the only sensible thing you can do with |
| it is pass it to MachineContext, and you can't use MachineContext outside |
| HAVE(MACHINE_CONTEXT), so we should be good. |
| |
| * wtf/threads/Signals.cpp: |
| (WTF::jscSignalHandler): |
| |
| 2020-06-16 Chris Dumez <cdumez@apple.com> |
| |
| Stop calling userPreferredLanguages() in the UIProcess |
| https://bugs.webkit.org/show_bug.cgi?id=213214 |
| <rdar://problem/64317593> |
| |
| Reviewed by Per Arne Vollan. |
| |
| Export WTF::languageDidChange() so we can call it from WebKit2. |
| |
| * wtf/Language.h: |
| |
| 2020-06-16 Mark Lam <mark.lam@apple.com> |
| |
| Add SIGABRT handler for non OS(DARWIN) builds to the jsc shell with the -s option. |
| https://bugs.webkit.org/show_bug.cgi?id=213200 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * wtf/threads/Signals.h: |
| (WTF::toSystemSignal): |
| (WTF::fromSystemSignal): |
| |
| 2020-06-15 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| WTF signal machinery is guarded by #if USE(PTHREADS) && HAVE(MACHINE_CONTEXT) but does not use pthreads or machine context |
| https://bugs.webkit.org/show_bug.cgi?id=213223 |
| |
| Reviewed by Mark Lam. |
| |
| Use #if OS(UNIX) instead. |
| |
| * wtf/WTFConfig.h: |
| * wtf/threads/Signals.cpp: |
| * wtf/threads/Signals.h: |
| |
| 2020-06-15 Keith Miller <keith_miller@apple.com> |
| |
| REGRESSION (r263045): TestWTF.Signals.SignalsWorkOnExit crashing |
| https://bugs.webkit.org/show_bug.cgi?id=213211 |
| |
| Reviewed by Mark Lam. |
| |
| Don't call toMachMask on Signal::Usr as mach doesn't support user exceptions. |
| |
| * wtf/threads/Signals.cpp: |
| (WTF::SignalHandlers::add): |
| |
| 2020-06-15 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| Consistently use WTF_ATTRIBUTE_PRINTF in Assertions.[cpp,h] |
| https://bugs.webkit.org/show_bug.cgi?id=213204 |
| |
| Reviewed by Darin Adler. |
| |
| Use WTF_ATTRIBUTE_PRINTF for all functions taking a printf format specifier. The first |
| argument should be the position of the format string itself (starting from 1), and the |
| second argument should be the position of the ... parameter pack, or 0 for functions that |
| take a va_list. |
| |
| * wtf/Assertions.cpp: |
| * wtf/Assertions.h: |
| |
| 2020-06-15 Keith Miller <keith_miller@apple.com> |
| |
| Unreviewed, build fix for build without mach exceptions. |
| |
| * wtf/threads/Signals.cpp: |
| (WTF::SignalHandlers::add): |
| (WTF::addSignalHandler): |
| |
| 2020-06-15 Keith Miller <keith_miller@apple.com> |
| |
| Signal handlers should have a two phase installation. |
| https://bugs.webkit.org/show_bug.cgi?id=213160 |
| |
| Reviewed by Mark Lam. |
| |
| LLDB does not like it when we single step while there are mach exception |
| handlers installed because LLDB suspends all the non-active threads. |
| With Mach exception handlers installed, the OS will send a mach message |
| to our exception handler port, which is different than the active thread. |
| When this happens, the combination of LLDB and the process JSC is in effectively |
| deadlock. |
| |
| Under our new approach, we go back to only telling the OS we care about |
| these exceptions late but lock down the function pointers early. This way |
| processes that benefit from our exception handler code are easier to debug. |
| |
| * wtf/threads/Signals.cpp: |
| (WTF::addSignalHandler): |
| (WTF::activateSignalHandlersFor): |
| (WTF::installSignalHandler): Deleted. |
| * wtf/threads/Signals.h: |
| |
| 2020-06-15 Per Arne Vollan <pvollan@apple.com> |
| |
| Pack bytes a little tighter in MemoryPressureHandler |
| https://bugs.webkit.org/show_bug.cgi?id=200392 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Save a tiny bit of memory by packing member variables tighter in MemoryPressureHandler. |
| |
| * wtf/MemoryPressureHandler.h: |
| |
| 2020-06-12 Keith Miller <keith_miller@apple.com> |
| |
| Tests expecting a crash should use a signal handler in the JSC CLI process |
| https://bugs.webkit.org/show_bug.cgi?id=212479 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Add signals for floating point exceptions and breakpoints. There's a |
| note for breakpoints that explains how using them in the same process |
| as lldb will cause badness. Fortunately, the only place I plan on using |
| the breakpoint handler is to check for tests where crashing is expected. |
| |
| * wtf/threads/Signals.cpp: |
| (WTF::fromMachException): |
| (WTF::toMachMask): |
| * wtf/threads/Signals.h: |
| (WTF::toSystemSignal): |
| (WTF::fromSystemSignal): |
| |
| 2020-06-12 Jason Lawrence <lawrence.j@apple.com> |
| |
| Unreviewed, reverting r262904. |
| |
| This commit broke a test on Mac wk1 Debug. |
| |
| Reverted changeset: |
| |
| "[Cocoa] Build callOnMainThread on WTF::RunLoop rather than on |
| a timer" |
| https://bugs.webkit.org/show_bug.cgi?id=213063 |
| https://trac.webkit.org/changeset/262904 |
| |
| 2020-06-12 Adrian Perez de Castro <aperez@igalia.com> |
| |
| Build is broken with EVENT_LOOP_TYPE=GLib |
| https://bugs.webkit.org/show_bug.cgi?id=212987 |
| |
| Reviewed by Konstantin Tokarev. |
| |
| * wtf/CurrentTime.cpp: Make sure that <time.h> is included to get clock_gettime() and |
| friends defined when USE_GLIB is disabled. |
| * wtf/PlatformJSCOnly.cmake: Use FileSystemGLib instead of FileSystemPOSIX when |
| EVENT_LOOP_TYPE=GLib is set, add missing sources needed when ENABLE_REMOTE_INSPECTOR |
| is set. |
| * wtf/glib/RunLoopSourcePriority.h: Use the same list of priorities for WPE and JSCOnly. |
| |
| 2020-06-11 Alex Christensen <achristensen@webkit.org> |
| |
| Re-enable download resume tests |
| https://bugs.webkit.org/show_bug.cgi?id=213098 |
| <rdar://problem/63512518> |
| |
| Reviewed by Geoffrey Garen. |
| |
| Workaround is no longer needed because underlying bug has been fixed. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-06-11 Jonathan Bedard <jbedard@apple.com> |
| |
| WebKit: Make UIGestureRecognizer build for watchOS and tvOS |
| https://bugs.webkit.org/show_bug.cgi?id=213038 |
| <rdar://problem/64217654> |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformHave.h: Enable HAVE(UI_GESTURE_RECOGNIZER_MODIFIER_FLAGS) for watchOS and tvOS. |
| |
| 2020-06-11 David Kilzer <ddkilzer@apple.com> |
| |
| [IPC] Adopt enum class for DragSourceAction |
| <https://webkit.org/b/212885> |
| <rdar://problem/64094134> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/OptionSet.h: |
| (WTF::OptionSet::hasExactlyOneBitSet const): Add. |
| - Move here from WebCore::ExactlyOneBitSet() in |
| Source/WebCore/page/EventHandler.cpp. |
| (WTF::OptionSet::toSingleValue const): Add. |
| - Use hasExactlyOneBitSet() to determine whether exactly one |
| enum bitmask value can be returned. |
| |
| 2020-06-11 Geoffrey Garen <ggaren@apple.com> |
| |
| [Cocoa] Build callOnMainThread on WTF::RunLoop rather than on a timer |
| https://bugs.webkit.org/show_bug.cgi?id=213063 |
| |
| Reviewed by Anders Carlsson. |
| |
| Always use the RunLoop API for main thread tasks. |
| |
| Previously, callOnMainThread sometimes scheduled a timer and sometimes |
| used the RunLoop. (Ironically, the timer behavior was added in r55816 |
| with the intention to establish a single point of execution. Now, it has |
| the opposite effect.) |
| |
| I picked the RunLoop API rather than the timer API because it moves us |
| closer to universally applying the RunLoop speedup in |
| https://bugs.webkit.org/show_bug.cgi?id=202874. Also, it avoids |
| allocating a timer, which can be expensive. |
| |
| * wtf/cocoa/MainThreadCocoa.mm: |
| (WTF::scheduleDispatchFunctionsOnMainThread): The webIfExists() check |
| is a superset of the isWebThread() check, so we can just remove the |
| isWebThread() check when scheduling tasks to the web thread. |
| (WTF::timerFired): Deleted. |
| (WTF::postTimer): Deleted. |
| |
| 2020-06-10 Geoffrey Garen <ggaren@apple.com> |
| |
| Some style improvements to main thread code |
| https://bugs.webkit.org/show_bug.cgi?id=213051 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/RunLoop.cpp: |
| (WTF::RunLoop::initializeMain): Renamed initializeMainRunLoop => initializeMain |
| to match the getter's name. |
| (WTF::RunLoop::initializeWeb): Samesies. |
| (WTF::RunLoop::webIfExists): Added an IfExists accessor for use in |
| scheduleDispatchFunctionsOnMainThread(). |
| (WTF::RunLoop::initializeMainRunLoop): Deleted. |
| (WTF::RunLoop::initializeWebRunLoop): Deleted. |
| |
| * wtf/RunLoop.h: |
| |
| * wtf/cocoa/MainThreadCocoa.mm: |
| (WTF::scheduleDispatchFunctionsOnMainThread): Use RunLoop::webIfExists() |
| to check for the web thread run loop, since that's more explicit than |
| checking a pthread variable. |
| |
| (WTF::isWebThread): Renamed mainThreadPthread => webThreadPthread because |
| it's the web thread. Changed style on globals to "s_" for consistency. |
| Removed mainThreadNSThread because it was unused. |
| (WTF::initializeApplicationUIThread): |
| (WTF::initializeWebThread): |
| (WTF::canCurrentThreadAccessThreadLocalData): |
| |
| 2020-06-10 Geoffrey Garen <ggaren@apple.com> |
| |
| [Cocoa] Build callOnMainThread on WTF::RunLoop rather than on NSObject methods |
| https://bugs.webkit.org/show_bug.cgi?id=213043 |
| |
| Reviewed by Simon Fraser. |
| |
| Original patch by Sihui Liu. |
| |
| From https://bugs.webkit.org/show_bug.cgi?id=202874, this is the subset |
| of Sihui's patch that unifies some of RunLoop and callOnMainThread. |
| |
| My goal is to simplify the code, and shrink the diff when testing |
| CFRunLoopSource1 in the future. |
| |
| * wtf/RunLoop.cpp: |
| (WTF::RunLoop::initializeWebRunLoop): |
| (WTF::RunLoop::web): |
| * wtf/RunLoop.h: |
| * wtf/cocoa/MainThreadCocoa.mm: |
| (WTF::initializeMainThreadPlatform): |
| (WTF::scheduleDispatchFunctionsOnMainThread): |
| (WTF::initializeWebThread): |
| (-[JSWTFMainThreadCaller call]): Deleted. |
| |
| 2020-06-10 Jer Noble <jer.noble@apple.com> |
| |
| Catalyst WebKit apps continue to play audio after quitting |
| https://bugs.webkit.org/show_bug.cgi?id=212981 |
| <rdar://problem/57089471> |
| |
| Reviewed by Chris Dumez. |
| |
| Add the ability to call copyToVector() on a WeakHashSet. This requires two changes: |
| - A template specialization that returns a Vector<WeakPtr<T>> from copyToVector() |
| - A template specialization that calls calculateSize() rather than size() on the object |
| being iterated upon. |
| |
| * wtf/WeakHashSet.h: |
| (WTF::copyToVector): |
| |
| 2020-06-09 Tim Horton <timothy_horton@apple.com> |
| |
| Use os_log instead of asl_log |
| https://bugs.webkit.org/show_bug.cgi?id=213001 |
| |
| Reviewed by Saam Barati. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/Assertions.cpp: |
| |
| 2020-06-09 Chris Dumez <cdumez@apple.com> |
| |
| Use bridge cast in String(NSString *) constructor |
| https://bugs.webkit.org/show_bug.cgi?id=212989 |
| |
| Reviewed by Darin Adler. |
| |
| Use bridge cast in String(NSString *) constructor instead of a reinterpret_cast as this |
| is the preferred way of converting a NS Type to a CF one. |
| |
| * wtf/text/cocoa/StringCocoa.mm: |
| (WTF::String::String): |
| |
| 2020-06-09 Per Arne Vollan <pvollan@apple.com> |
| |
| All platforms should enable CFPrefs read only mode in the WebContent process |
| https://bugs.webkit.org/show_bug.cgi?id=212910 |
| |
| Reviewed by Tim Horton. |
| |
| In https://bugs.webkit.org/show_bug.cgi?id=212411, CFPrefs read only mode was adopted, but not all platforms were included. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-06-09 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| REGRESSION (r260820): [macCatalyst] Web process crashes when uploading a file |
| https://bugs.webkit.org/show_bug.cgi?id=212976 |
| <rdar://problem/64033186> |
| |
| Reviewed by Tim Horton. |
| |
| Add `HAVE(FRONTBOARD_SYSTEM_APP_SERVICES)`. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-06-08 Chris Fleizach <cfleizach@apple.com> |
| |
| HAVE(ACCESSIBILITY_BUNDLES_PATH) is defined in terms of PLATFORM(IOS_FAMILY) but only checks the version of __IPHONE_OS_VERSION_MIN_REQUIRED |
| https://bugs.webkit.org/show_bug.cgi?id=212704 |
| <rdar://problem/63931340> |
| |
| Reviewed by Darin Adler. |
| |
| Ensure that this works for all iOS familes. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-06-08 Per Arne Vollan <pvollan@apple.com> |
| |
| [Cocoa] Adopt read-only mode for preferences in the WebContent process |
| https://bugs.webkit.org/show_bug.cgi?id=212411 |
| |
| Reviewed by Darin Adler. |
| |
| Change name of HAVE define to match SPI name. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-06-08 Andy Estes <aestes@apple.com> |
| |
| [Apple Pay] Remove -respondsToSelector: check before calling -[PKPaymentRequest setBoundInterfaceIdentifier:] |
| https://bugs.webkit.org/show_bug.cgi?id=212884 |
| <rdar://problem/64090963> |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/PlatformHave.h: On macOS, HAVE_PASSKIT_BOUND_INTERFACE_IDENTIFIER should be defined |
| starting in Catalina. |
| |
| 2020-06-08 Andy Estes <aestes@apple.com> |
| |
| [Apple Pay] Remove ENABLE_APPLE_PAY_SETUP, ENABLE_APPLE_PAY_SESSION_V7, and HAVE_PASSKIT_PAYMENT_SETUP |
| https://bugs.webkit.org/show_bug.cgi?id=212883 |
| <rdar://problem/64090763> |
| |
| Reviewed by Youenn Fablet. |
| |
| These macros evaluate to true whenever ENABLE(APPLE_PAY) is true on platforms supported by |
| trunk WebKit, so we can either remove them or replace them with ENABLE(APPLE_PAY). |
| |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformHave.h: |
| |
| 2020-06-08 youenn fablet <youenn@apple.com> |
| |
| [Cocoa] Use AVAssetWriterDelegate to implement MediaRecorder |
| https://bugs.webkit.org/show_bug.cgi?id=206582 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-06-07 Andy Estes <aestes@apple.com> |
| |
| [Apple Pay] HAVE(PAYMENT_METHOD_BILLING_ADDRESS) should be true on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=212877 |
| <rdar://problem/64080998> |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-06-07 Philippe Normand <pnormand@igalia.com> |
| |
| Remove ENABLE_VIDEO_TRACK ifdef guards |
| https://bugs.webkit.org/show_bug.cgi?id=212568 |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/PlatformEnable.h: Remove ENABLE_VIDEO_TRACK, which is now enabled by |
| default under the ENABLE_VIDEO guard. |
| * wtf/PlatformEnableCocoa.h: Ditto. |
| |
| 2020-06-06 David Kilzer <ddkilzer@apple.com> |
| |
| Use OptionSet<DragOperation> for mask values |
| <https://webkit.org/b/212605> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/OptionSet.h: |
| (WTF::OptionSet::OptionSet): |
| - Add constructor for OptionSet(Optional). |
| |
| 2020-06-05 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, reverting r262619, r262625, and r262641. |
| |
| Caused mediarecorder layout test crashes. |
| |
| Reverted changesets: |
| |
| "[Cocoa] Use AVAssetWriterDelegate to implement MediaRecorder" |
| https://bugs.webkit.org/show_bug.cgi?id=206582 |
| https://trac.webkit.org/changeset/262619 |
| |
| "[Cocoa] Use AVAssetWriterDelegate to implement MediaRecorder" |
| https://bugs.webkit.org/show_bug.cgi?id=206582 |
| https://trac.webkit.org/changeset/262625 |
| |
| "Unreviewed, silence deprecation warning to fix build with |
| latest SDK." |
| https://trac.webkit.org/changeset/262641 |
| |
| 2020-06-05 Per Arne Vollan <pvollan@apple.com> |
| |
| [Cocoa] Adopt read-only mode for preferences in the WebContent process |
| https://bugs.webkit.org/show_bug.cgi?id=212411 |
| |
| Reviewed by Darin Adler. |
| |
| Create HAVE define indicating support for read-only preference SPI. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-06-05 youenn fablet <youenn@apple.com> |
| |
| [Cocoa] Use AVAssetWriterDelegate to implement MediaRecorder |
| https://bugs.webkit.org/show_bug.cgi?id=206582 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-06-04 Jonathan Bedard <jbedard@apple.com> |
| |
| WTF: Exclude MachExceptions.defs from all embedded builds |
| https://bugs.webkit.org/show_bug.cgi?id=212796 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Configurations/WTF.xcconfig: |
| |
| 2020-06-04 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [macOS] Add a way to override the contact AutoFill button image |
| https://bugs.webkit.org/show_bug.cgi?id=212775 |
| <rdar://problem/60381452> |
| |
| Reviewed by Tim Horton. |
| |
| Rename `SYSTEM_ATTACHMENT_PLACEHOLDER_ICON` to `ALTERNATE_ICONS`. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-06-04 Jacob Uphoff <jacob_uphoff@apple.com> |
| |
| Unreviewed, reverting r262546. |
| |
| This commit caused internal build failures |
| |
| Reverted changeset: |
| |
| "[Cocoa] Adopt read-only mode for preferences in the |
| WebContent process" |
| https://bugs.webkit.org/show_bug.cgi?id=212411 |
| https://trac.webkit.org/changeset/262546 |
| |
| 2020-06-04 Per Arne Vollan <pvollan@apple.com> |
| |
| [Cocoa] Adopt read-only mode for preferences in the WebContent process |
| https://bugs.webkit.org/show_bug.cgi?id=212411 |
| |
| Reviewed by Darin Adler. |
| |
| Create HAVE define indicating support for read-only preference SPI. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-06-04 Tim Horton <timothy_horton@apple.com> |
| |
| Work around broken system version macro |
| https://bugs.webkit.org/show_bug.cgi?id=212726 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Configurations/DebugRelease.xcconfig: |
| |
| 2020-06-04 Andy Estes <aestes@apple.com> |
| |
| [watchOS] Re-enable content filtering in the simulator build |
| https://bugs.webkit.org/show_bug.cgi?id=212711 |
| <rdar://problem/63938350> |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-06-03 Andy Estes <aestes@apple.com> |
| |
| [Apple Pay] Add new values for -apple-pay-button-type |
| https://bugs.webkit.org/show_bug.cgi?id=212684 |
| <rdar://problem/63908535> |
| |
| Reviewed by Anders Carlsson. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-06-01 Simon Fraser <simon.fraser@apple.com> |
| |
| Add ENABLE(WHEEL_EVENT_REGIONS), enabled on macOS which is the only platform that needs wheel event regions for scrolling thread hit-testing |
| https://bugs.webkit.org/show_bug.cgi?id=212620 |
| |
| Reviewed by Tim Horton. |
| |
| Surround code related to wheel event regions with ENABLE(WHEEL_EVENT_REGIONS). |
| |
| Eventually we'll use this same code for touch event regions, and when we do, we |
| can rejigger the #ifdefs. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-06-02 Mark Lam <mark.lam@apple.com> |
| |
| Change Gigacage::Config to use storage in WebConfig::g_config instead of its own. |
| https://bugs.webkit.org/show_bug.cgi?id=212585 |
| <rdar://problem/63812487> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| We now think of the various Config records as being allocated from parts of a |
| WebConfig::g_config buffer. WTF::Config will manage the mechanics of freezing |
| that buffer. And the JSC VM is still the determiner of if/when to freeze the |
| buffer, and it will do this at the end of the construction of the very first |
| VM instance (as before). |
| |
| Gigacage::Config reserves space in WebConfig::g_config. |
| WTF::Config will honor that reservation and place itself after that. |
| JSC::Config will continue to place itself at WTF::Config::spaceForExtensions. |
| |
| The upside of this approach this is that we can now share the same memory page |
| for all the Configs, and can freeze them in one go. |
| |
| The downside is that g_gigacageConfig, g_wtfConfig, and g_jscConfig now have to |
| be macros. This results in some weirdness e.g. they are no longer qualified by |
| namespaces: referring to WTF::g_wtfConfig is now incorrect. |
| |
| * wtf/Gigacage.h: |
| (Gigacage::disablingPrimitiveGigacageIsForbidden): |
| (Gigacage::isDisablingPrimitiveGigacageForbidden): Deleted. |
| (Gigacage::isPrimitiveGigacagePermanentlyEnabled): Deleted. |
| (Gigacage::canPrimitiveGigacageBeDisabled): Deleted. |
| * wtf/WTFConfig.cpp: |
| (WTF::Config::permanentlyFreeze): |
| * wtf/WTFConfig.h: |
| (): Deleted. |
| |
| 2020-06-01 Simon Fraser <simon.fraser@apple.com> |
| |
| Add ENABLE(TOUCH_ACTION_REGIONS) to wrap code that's only relevant for platforms that consult touch-action for event handling |
| https://bugs.webkit.org/show_bug.cgi?id=212572 |
| |
| Reviewed by Andy Estes. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-05-31 Mark Lam <mark.lam@apple.com> |
| |
| Change JSC::Config to use storage in WTF::Config instead of its own. |
| https://bugs.webkit.org/show_bug.cgi?id=212575 |
| <rdar://problem/63796584> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/WTFConfig.h: |
| |
| 2020-05-30 Mark Lam <mark.lam@apple.com> |
| |
| Rename Signal::BadAccess to Signal::AccessFault. |
| https://bugs.webkit.org/show_bug.cgi?id=212577 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| This is needed because GTK port's X11 has a #define for BadAccess (in include/X11/X.h): |
| |
| #define BadAccess 10 /* depending on context: |
| - key/button already grabbed |
| - attempt to free an illegal |
| cmap entry |
| - attempt to store into a read-only |
| color map entry. |
| - attempt to modify the access control |
| list from other than the local host. |
| */ |
| |
| As a result, this would break the GTK build when wtf/Signals.h is #include'd. |
| |
| * wtf/threads/Signals.cpp: |
| (WTF::fromMachException): |
| (WTF::toMachMask): |
| (WTF::jscSignalHandler): |
| * wtf/threads/Signals.h: |
| (WTF::toSystemSignal): |
| (WTF::fromSystemSignal): |
| |
| 2020-05-29 Alex Christensen <achristensen@webkit.org> |
| |
| Use correct encoding when converting a WTF::URL to CFURLRef |
| https://bugs.webkit.org/show_bug.cgi?id=212486 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/cf/CFURLExtras.cpp: |
| (WTF::createCFURLFromBuffer): |
| * wtf/cf/CFURLExtras.h: |
| * wtf/cf/URLCF.cpp: |
| (WTF::URL::createCFURL const): |
| * wtf/cocoa/URLCocoa.mm: |
| (WTF::URL::createCFURL const): |
| |
| 2020-05-29 Brent Fulgham <bfulgham@apple.com> |
| |
| [Cocoa] Improve logging quality for non-ephemeral sessions |
| https://bugs.webkit.org/show_bug.cgi?id=212551 |
| <rdar://problem/62461099> |
| |
| Reviewed by David Kilzer. |
| |
| * wtf/PlatformHave.h: Add new feature check for CFNetwork convenience setter. |
| |
| 2020-05-29 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| REGRESSION (r261812): editing/async-clipboard/clipboard-item-get-type-basic.html is flaky |
| https://bugs.webkit.org/show_bug.cgi?id=212281 |
| <rdar://problem/63554912> |
| |
| Reviewed by Tim Horton. |
| |
| Add a new `HAVE()` define. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-05-27 Keith Miller <keith_miller@apple.com> |
| |
| for-of should check the iterable is a JSArray for FastArray in DFG iterator_open |
| https://bugs.webkit.org/show_bug.cgi?id=212383 |
| |
| Reviewed by Saam Barati. |
| |
| Optional should be able to copy/move constructor itself as long as <T> is |
| trivially copyable. This lets us copy Optionals into const globals without |
| global constructors. |
| |
| * wtf/Optional.h: |
| (WTF::Optional::Optional): |
| (WTF::Optional::__NOEXCEPT_): |
| |
| 2020-05-27 Noam Rosenthal <noam@webkit.org> |
| |
| Implement AccessKeyLabel attribute. |
| https://bugs.webkit.org/show_bug.cgi?id=72715 |
| |
| Reviewed by Darin Adler. |
| |
| Added character names for upArrow/option, as they're needed for accessKeyLabel. |
| |
| * wtf/unicode/CharacterNames.h: |
| |
| 2020-05-27 Saam Barati <sbarati@apple.com> |
| |
| Improve comments about OS/PLATFORM(IOS) and friends |
| https://bugs.webkit.org/show_bug.cgi?id=212438 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformLegacy.h: |
| * wtf/PlatformOS.h: |
| |
| 2020-05-27 David Kilzer <ddkilzer@apple.com> |
| |
| Add OptionSetTraits<> and use with WebCore::DragDestinationAction |
| <https://webkit.org/b/212397> |
| |
| Reviewed by Alex Christensen. |
| |
| Add OptionSetTraits<> (similar to EnumTraits<>) to define all |
| valid values for a given enum type. This allows us to use that |
| bitmask with OptionSet<>::fromRaw() to clear undefined bits, and |
| to validate enum values used with the OptionSet<> constructors. |
| |
| Note that the extra validation possible with OptionSetTraits<> |
| is enabled based on the existence of that type using the new |
| WTF::is_type_complete_v<> type trait. Other OptionSet<> enums |
| fall back to the original validation checks. |
| |
| Finally, typename <T> is changed to <E> for OptionSet<> to |
| emphasize that it's an enum typename. |
| |
| * wtf/OptionSet.h: |
| (WTF::is_type_complete_v): Add. |
| (WTF::OptionSetTraits): Add. |
| (WTF::OptionSetValues): Add. |
| (WTF::OptionSetValueChecker): Add. |
| (WTF::isValidOptionSetEnum): Add. |
| (WTF::maskRawValue): Add. |
| (WTF::OptionSet::Iterator::operator* const): |
| (WTF::OptionSet::fromRaw): |
| (WTF::OptionSet::OptionSet): |
| (WTF::OptionSet::contains const): |
| |
| 2020-05-27 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| -Wdeprecated-copy caused by Bitmap copy assignment operator |
| https://bugs.webkit.org/show_bug.cgi?id=212421 |
| |
| Reviewed by Mark Lam. |
| |
| This copy assignment operator is not needed, and causes warnings because we do not have a |
| corresponding copy constructor. We could add a copy constructor, but it's easiest to just |
| remove the copy assignment operator. |
| |
| * wtf/Bitmap.h: |
| |
| 2020-05-26 Darin Adler <darin@apple.com> |
| |
| Sort PlatformEnableCocoa.h and add definitions for the simple cases from FeatureDefines.xcconfig |
| https://bugs.webkit.org/show_bug.cgi?id=212389 |
| |
| Reviewed by Anders Carlsson. |
| |
| Added more PlatformEnableCocoa.h; allowing us to later remove things from |
| FeatureDefines.xcconfig (patch forthcoming). |
| |
| * wtf/PlatformEnableCocoa.h: Added definitions from FeatureDefines.xcconfig that |
| were simple, and that differ from the defaults in PlatformEnable.h. That includes |
| 3D_TRANSFORMS, ACCESSIBILITY_ISOLATED_TREE (macOS >= 10.6), APPLICATION_MANIFEST, |
| ASYNC_SCROLLING, ATTACHMENT_ELEMENT, AVF_CAPTIONS, CACHE_PARTITIONING, |
| CSS_COMPOSITING, CSS_PAINTING_API, CSS_SCROLL_SNAP, CSS_SELECTORS_LEVEL4, |
| CSS_TRAILING_WORD, CSS_TYPED_OM, DATACUE_VALUE, DATALIST_ELEMENT, FILTERS_LEVEL_2, |
| GPU_PROCESS, INDEXED_DATABASE, INDEXED_DATABASE_IN_WORKERS, INSPECTOR_TELEMETRY, |
| INTERSECTION_OBSERVER, LAYOUT_FORMATTING_CONTEXT, LEGACY_CSS_VENDOR_PREFIXES, |
| LEGACY_CUSTOM_PROTOCOL_MANAGER, MEDIA_CONTROLS_SCRIPT, MEMORY_SAMPLER, |
| MOUSE_CURSOR_SCALE (macOS), NETWORK_CACHE_SPECULATIVE_REVALIDATION, |
| NETWORK_CACHE_STALE_WHILE_REVALIDATE, NOTIFICATIONS (macOS), PDFKIT_PLUGIN (macOS), |
| PERIODIC_MEMORY_MONITOR (macOS), PUBLIC_SUFFIX_LIST, RESIZE_OBSERVER, |
| RESOURCE_LOAD_STATISTICS, RUBBER_BANDING (macOS), SANDBOX_EXTENSIONS, |
| SERVER_PRECONNECT, SERVICE_CONTROLS (macOS), SHAREABLE_RESOURCE, |
| TELEPHONE_NUMBER_DETECTION, TEXT_AUTOSIZING, USERSELECT_ALL, USER_MESSAGE_HANDLERS, |
| VARIATION_FONTS, VIDEO, VIDEO_USES_ELEMENT_FULLSCREEN (macOS), |
| WEBDRIVER_KEYBOARD_INTERACTIONS, WEBDRIVER_MOUSE_INTERACTIONS (macOS), |
| WEBGL, WEBGL2, WEB_AUDIO, WEB_CRYPTO, and WIRELESS_PLAYBACK_TARGET. Sorted and |
| merged all the existing settings. |
| |
| 2020-05-26 Alex Christensen <achristensen@webkit.org> |
| |
| UTF-8 encode strings of invalid URLs when converting WTF::URL to NSURL instead of truncating the UTF-16 encoding |
| https://bugs.webkit.org/show_bug.cgi?id=212393 |
| <rdar://problem/63095503> |
| |
| Reviewed by Tim Horton. |
| |
| This only changes behavior in code that is marked as UNLIKELY because it can only be reached by invalid unicode URLs, |
| but it can be reached and should behave in a reasonable manner in those cases. This makes Safari behave more similarly |
| to Firefox in this case instead of doing something similar to no other browser. |
| |
| * wtf/URL.cpp: |
| (WTF::copyASCII): Deleted. |
| (WTF::URL::copyToBuffer const): Deleted. |
| * wtf/URL.h: |
| * wtf/cf/URLCF.cpp: |
| (WTF::URL::createCFURL const): |
| * wtf/cocoa/URLCocoa.mm: |
| (WTF::URL::createCFURL const): |
| |
| 2020-05-26 Yoshiaki JITSUKAWA <yoshiaki.jitsukawa@sony.com> |
| |
| [PlayStation] Disable LLINT_EMBEDDED_OPCODE_ID |
| https://bugs.webkit.org/show_bug.cgi?id=212387 |
| |
| Reviewed by Don Olmstead. |
| |
| * wtf/CMakeLists.txt: |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnablePlayStation.h: Added. |
| |
| 2020-05-26 Mark Lam <mark.lam@apple.com> |
| |
| Enhance Bitmap::setEachNthBit() to also take an end index. |
| https://bugs.webkit.org/show_bug.cgi?id=212386 |
| <rdar://problem/63643324> |
| |
| Reviewed by Robin Morisset. |
| |
| Previously, it was only taking the n interval, and the start index. |
| Also fixed isEmpty() and isFull() to return a bool instead of size_t. |
| |
| * wtf/Bitmap.h: |
| (WTF::WordType>::isEmpty const): |
| (WTF::WordType>::isFull const): |
| (WTF::WordType>::setEachNthBit): |
| |
| 2020-05-26 Don Olmstead <don.olmstead@sony.com> |
| |
| [CMake] Add static analyzers |
| https://bugs.webkit.org/show_bug.cgi?id=212280 |
| |
| Reviewed by David Kilzer. |
| |
| Export headers from Plaform.h so include-what-you-use does not suggest they be |
| included directly. The headers being exported will #error when included outside of |
| Platform.h |
| |
| * wtf/Platform.h: |
| |
| 2020-05-25 Alex Christensen <achristensen@webkit.org> |
| |
| Expose more network metrics to WebCoreNSURLSession |
| https://bugs.webkit.org/show_bug.cgi?id=212359 |
| <rdar://problem/62909440> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-05-22 David Kilzer <ddkilzer@apple.com> |
| |
| WTF::isValidEnum() has a typo in static_assert making it a tautological comparison |
| <https://webkit.org/b/212290> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/EnumTraits.h: |
| (WTF::isValidEnum): Use sizeof(std::underlying_type_t<E>) |
| instead of std::underlying_type_t<E>() to fix the bug. |
| |
| 2020-05-22 Chris Dumez <cdumez@apple.com> |
| |
| RELEASE_ASSERT() that InitializeWebKit2() is getting called on the main thread |
| https://bugs.webkit.org/show_bug.cgi?id=212283 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/spi/darwin/dyldSPI.h: |
| |
| 2020-05-22 Andy Estes <aestes@apple.com> |
| |
| [Apple Pay] Add new ApplePayInstallmentConfiguration members |
| https://bugs.webkit.org/show_bug.cgi?id=212160 |
| <rdar://problem/60703650> |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/PlatformEnableCocoa.h: Defined ENABLE_APPLE_PAY_INSTALLMENT_IDENTIFIERS. |
| |
| 2020-05-21 Robin Morisset <rmorisset@apple.com> |
| |
| Various compile-time boolean flags could/should be marked constexpr |
| https://bugs.webkit.org/show_bug.cgi?id=212244 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/ParkingLot.cpp: |
| |
| 2020-05-20 Mark Lam <mark.lam@apple.com> |
| |
| Add more Bitmap methods. |
| https://bugs.webkit.org/show_bug.cgi?id=212190 |
| <rdar://problem/63481333> |
| |
| Reviewed by Robin Morisset. |
| |
| Specifically, |
| setEachNthBit - sets every Nth bit starting at a specified start bit |
| operator= - assignment |
| operator|= - bit or and assignment |
| operator&= - bit and and assignment |
| operator^= - bit xor and assignment |
| |
| * wtf/Bitmap.h: |
| |
| 2020-05-21 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com> |
| |
| [PlayStation] Add minimal WKView API to enable TestWebKitAPI |
| https://bugs.webkit.org/show_bug.cgi?id=211868 |
| |
| Reviewed by Alex Christensen. |
| |
| Enable TestWebKitAPI |
| |
| * wtf/PlatformPlayStation.cmake: |
| Link libc as a system library. |
| |
| 2020-05-21 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Unreviewed, fix the iOS 13.4 build after r261978 |
| |
| Add a `HAVE()` macro to guard usages of _UIHoverEventRespondable. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-05-20 Simon Fraser <simon.fraser@apple.com> |
| |
| [macOS] Scrolling synchronization part 1: Have the scrolling thread wait half a frame for the main thread to complete the rendering update |
| https://bugs.webkit.org/show_bug.cgi?id=212168 |
| |
| Reviewed by Tim Horton. |
| |
| Some new trace points for scrolling thread activity. |
| |
| * wtf/SystemTracing.h: |
| |
| 2020-05-20 Tim Horton <timothy_horton@apple.com> |
| |
| WKMouseGestureRecognizer should be implemented without using UIKit internals |
| https://bugs.webkit.org/show_bug.cgi?id=212173 |
| <rdar://problem/61163726> |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-05-20 Alex Christensen <achristensen@webkit.org> |
| |
| Remove implicit URL->String conversion operators |
| https://bugs.webkit.org/show_bug.cgi?id=211033 |
| |
| Reviewed by Darin Adler. |
| |
| These operators have been the cause of many subtle bugs related to type inference that are hard to see in the code, |
| as well as performance bugs where we unnecessarily re-parse parsed URLs. |
| After my recent cleanup this was easier than I thought it would be. |
| |
| * wtf/URL.h: |
| (WTF::URL::operator const String& const): Deleted. |
| (WTF::URL::operator StringView const): Deleted. |
| (WTF::URL::operator NSString * const): Deleted. |
| |
| 2020-05-20 Antoine Quint <graouts@apple.com> |
| |
| [Web Animations] Animation engine should not wake up every tick for steps timing functions |
| https://bugs.webkit.org/show_bug.cgi?id=212103 |
| <rdar://problem/62737868> |
| |
| Reviewed by Simon Fraser. |
| |
| Allow Seconds to be divided or multiplied by a double with operands in any order. |
| |
| * wtf/Seconds.h: |
| (WTF::operator*): |
| (WTF::operator/): |
| |
| 2020-05-20 Youenn Fablet <youenn@apple.com> |
| |
| [Mac] Use preferedPixelBufferFormat for AVVideoCaptureSource |
| https://bugs.webkit.org/show_bug.cgi?id=212071 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformHave.h: |
| Add HAVE_DISPLAY_LAYER_BIPLANAR_SUPPORT macro. |
| |
| 2020-05-19 Adrian Perez de Castro <aperez@igalia.com> |
| |
| WTF::LockedPrintStream should be final |
| https://bugs.webkit.org/show_bug.cgi?id=212107 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/LockedPrintStream.h: Make class WTF::LockedPrintStream final. |
| |
| 2020-05-19 Mark Lam <mark.lam@apple.com> |
| |
| Put PtrTagLookup data structures in Configs for freezing. |
| https://bugs.webkit.org/show_bug.cgi?id=212089 |
| <rdar://problem/63401487> |
| |
| Reviewed by Robin Morisset. |
| |
| * wtf/PtrTag.cpp: |
| (WTF::tagForPtr): |
| (WTF::ptrTagName): |
| (WTF::registerPtrTagLookup): |
| * wtf/PtrTag.h: |
| (WTF::PtrTagLookup::initialize): |
| * wtf/WTFConfig.h: |
| |
| 2020-05-19 Mark Lam <mark.lam@apple.com> |
| |
| Remove unnecessary debug logging from release builds. |
| https://bugs.webkit.org/show_bug.cgi?id=212084 |
| <rdar://problem/63398704> |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/PtrTag.h: |
| |
| 2020-05-18 Andy Estes <aestes@apple.com> |
| |
| http/tests/ssl/applepay/ApplePayInstallmentConfiguration.https.html fails in public SDK builds |
| https://bugs.webkit.org/show_bug.cgi?id=212000 |
| <rdar://problem/63323082> |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformHave.h: |
| |
| 2020-05-18 Mark Lam <mark.lam@apple.com> |
| |
| Implement a faster findBitInWord() using the hardware ctz instruction. |
| https://bugs.webkit.org/show_bug.cgi?id=212032 |
| <rdar://problem/63348086> |
| |
| Reviewed by Saam Barati. |
| |
| Based on local microbenchmarking, both ARM64 and X86_64 shows a speed up of |
| 28% - 95% faster than the loop. |
| |
| The largest perf regressions for ctz vs the loop, are when finding 1 in a mostly |
| set word or finding 0 in a mostly cleared word. For example, on X86_64: |
| Find 1 in 0xffffffffffffffff: using loop 8.67 ms, using ctz 6.07 ms, delta 30.0% |
| Find 0 in 0x8000000000000000: using loop 9.01 ms, using ctz 6.54 ms, delta 28.1% |
| |
| The largest perf progressions for ctz vs the loop, are the opposite: finding 1 in |
| a mostly cleared word, or finding a 0 in a mostly set word. For example, on X86_64: |
| Find 1 in 0x8000000000000000: using loop 91.4 ms, using ctz 6.48 ms, delta 92.9% |
| Find 0 in 0xffffffffffffffff: using loop 91.7 ms, using ctz 6.95 ms, delta 92.4% |
| |
| TL;DR: the microbenchmark methodology used: |
| |
| findBitInWord() takes: |
| a. word to scan |
| b. startIndex |
| c. endIndex |
| d. bool value to scan for, either 1 or 0. |
| |
| 1. Randomly select 1000 startIndex and endIndex pairs. |
| The endIndex is guaranteed to be >= startIndex. |
| |
| 2. Using a base word of 0xffffffffffffffff (or uint64_t) and 0xffffffff (for uint32_t), |
| shift left by 0 - N (where N is the number of bits in the word) to generate |
| N + 1 words for the test. This produces words with contiguous lengths of 1s |
| and 0s. We're choosing these words to deliberately measure the effects o |
| run lengths of 0s or 1s on the algorithm in use. |
| |
| 3. For each test word, call findBitInWord() with the start and end indexes chosen |
| in 1 for a 100 iterations. |
| |
| 4. Run (3) once to search for a true value, and once to search for a false value. |
| |
| 5. Print the results for each test word and value pair. |
| |
| * wtf/BitVector.cpp: |
| * wtf/Bitmap.h: |
| * wtf/StdLibExtras.h: |
| (WTF::findBitInWord): |
| |
| 2020-05-18 Darin Adler <darin@apple.com> |
| |
| Add iterator checking to ListHashSet |
| https://bugs.webkit.org/show_bug.cgi?id=211669 |
| |
| Reviewed by Anders Carlsson. |
| |
| HashSet and HashMap have iterator checking in debug builds. |
| Add similar checking to ListHashSet, controlled by the same |
| macro, CHECK_HASHTABLE_ITERATORS. Use WeakPtr to make the |
| implementation simple. |
| |
| * wtf/Forward.h: Update to add a second parameter to WeakPtr. |
| Also rearranged and tweaked the file a bug. |
| |
| * wtf/ListHashSet.h: Make ListHashSet and ListHashSetNode derive |
| from CanMakeWeakPtr. Add m_weakSet and m_weakPosition members to |
| ListHashSetConstIterator, and assert their values at the appropriate |
| times so we will get a breakpoint or crash. |
| |
| * wtf/WeakHashSet.h: Updated to add a Counter argument for testing. |
| |
| * wtf/WeakPtr.h: Removed the DID_CREATE_WEAK_PTR_IMPL and |
| WILL_DESTROY_WEAK_PTR_IMPL macros, which didn't really work because |
| using them violated the C++ one-definition rule. Replaced with |
| a Counter argument, which defaults to EmptyCounter, which is inlines |
| that do nothing. This required some updates to the classes and |
| functions to make them work with a second argument. |
| |
| 2020-05-15 Alex Christensen <achristensen@webkit.org> |
| |
| Make host parser fail on ^ |
| https://bugs.webkit.org/show_bug.cgi?id=211901 |
| |
| Reviewed by Geoffrey Garen. |
| |
| This matches the behavior of Chrome and Firefox, and now the specification! |
| I updated the URL wpt data, and this introduces new PASSes. |
| |
| * wtf/URLParser.cpp: |
| (WTF::isC0Control): |
| (WTF::isForbiddenHostCodePoint): |
| |
| 2020-05-14 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [macOS] Update the placeholder icon image for attachment elements with progress="0" |
| https://bugs.webkit.org/show_bug.cgi?id=211898 |
| <rdar://problem/63203900> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Add a new flag for HAVE(SYSTEM_ATTACHMENT_PLACEHOLDER_ICON). |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-05-14 Chris Dumez <cdumez@apple.com> |
| |
| Regression(r254856) Family Health iOS app is broken due to lack for WebSQL support |
| https://bugs.webkit.org/show_bug.cgi?id=211896 |
| <rdar://problem/63025045> |
| |
| Reviewed by Maciej Stachowiak. |
| |
| * wtf/spi/darwin/dyldSPI.h: |
| |
| 2020-05-13 Ross Kirsling <ross.kirsling@sony.com> |
| |
| [IWYU] Try removing redundant includes in WTF implementation files |
| https://bugs.webkit.org/show_bug.cgi?id=211821 |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/Assertions.cpp: |
| * wtf/Bag.cpp: |
| * wtf/BitVector.cpp: |
| * wtf/ConcurrentBuffer.cpp: |
| * wtf/ConcurrentPtrHashSet.cpp: |
| * wtf/CrossThreadCopier.cpp: |
| * wtf/CurrentTime.cpp: |
| * wtf/DataLog.cpp: |
| * wtf/DateMath.cpp: |
| * wtf/FastBitVector.cpp: |
| * wtf/FastMalloc.cpp: |
| * wtf/FileSystem.cpp: |
| * wtf/Gigacage.cpp: |
| * wtf/HashTable.cpp: |
| * wtf/JSValueMalloc.cpp: |
| * wtf/Language.cpp: |
| * wtf/MainThread.cpp: |
| * wtf/MetaAllocator.cpp: |
| * wtf/MonotonicTime.cpp: |
| * wtf/NumberOfCores.cpp: |
| * wtf/OSLogPrintStream.cpp: |
| * wtf/ParallelHelperPool.cpp: |
| * wtf/ParkingLot.cpp: |
| * wtf/PrintStream.cpp: |
| * wtf/RAMSize.cpp: |
| * wtf/RandomDevice.cpp: |
| * wtf/RandomNumber.cpp: |
| * wtf/RefCountedArray.cpp: |
| * wtf/RefCountedLeakCounter.cpp: |
| * wtf/SegmentedVector.cpp: |
| * wtf/SmallPtrSet.cpp: |
| * wtf/StackBounds.cpp: |
| * wtf/ThreadGroup.cpp: |
| * wtf/Threading.cpp: |
| * wtf/TimeWithDynamicClockType.cpp: |
| * wtf/URL.cpp: |
| * wtf/URLParser.cpp: |
| * wtf/UUID.cpp: |
| * wtf/UniqueArray.cpp: |
| * wtf/Vector.cpp: |
| * wtf/WTFConfig.cpp: |
| * wtf/WallTime.cpp: |
| * wtf/WordLock.cpp: |
| * wtf/WorkQueue.cpp: |
| * wtf/WorkerPool.cpp: |
| * wtf/generic/WorkQueueGeneric.cpp: |
| * wtf/posix/OSAllocatorPOSIX.cpp: |
| * wtf/posix/ThreadingPOSIX.cpp: |
| * wtf/text/AtomString.cpp: |
| * wtf/text/AtomStringImpl.cpp: |
| * wtf/text/AtomStringTable.cpp: |
| * wtf/text/CString.cpp: |
| * wtf/text/StringBuffer.cpp: |
| * wtf/text/StringBuilder.cpp: |
| * wtf/text/StringImpl.cpp: |
| * wtf/text/StringView.cpp: |
| * wtf/text/TextBreakIterator.cpp: |
| * wtf/text/TextStream.cpp: |
| * wtf/text/WTFString.cpp: |
| * wtf/threads/Signals.cpp: |
| |
| 2020-05-13 Jer Noble <jer.noble@apple.com> |
| |
| Replace isNullFunctionPointer with real weak-linking support |
| https://bugs.webkit.org/show_bug.cgi?id=211751 |
| |
| Reviewed by Sam Weinig. |
| |
| Replace isNullFunctionPointer with a macro which explicitly marks symbols as weakly imported. |
| |
| * wtf/darwin/WeakLinking.h: |
| (WTF::isNullFunctionPointer): Deleted. |
| |
| 2020-05-12 Mark Lam <mark.lam@apple.com> |
| |
| catch_mach_exception_raise_state() should fail early if the faulting address is not of interest. |
| https://bugs.webkit.org/show_bug.cgi?id=211799 |
| <rdar://problem/62939204> |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/threads/Signals.cpp: |
| |
| 2020-05-12 Jer Noble <jer.noble@apple.com> |
| |
| REGRESSION(r258314): 5% regression on Membuster5 |
| https://bugs.webkit.org/show_bug.cgi?id=211803 |
| <rdar://problem/60609824> |
| |
| Reviewed by Darin Adler. |
| |
| Disable HAVE(AVSAMPLEBUFFERVIDEOOUTPUT), as it caused a large regression in our Membuster5 benchmark. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-05-12 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Fix existing usage of final/override/virtual in JSC and WTF |
| https://bugs.webkit.org/show_bug.cgi?id=211772 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/Assertions.cpp: |
| * wtf/Expected.h: |
| * wtf/FilePrintStream.h: |
| * wtf/JSONValues.h: |
| * wtf/LockedPrintStream.h: |
| * wtf/OSLogPrintStream.h: |
| * wtf/ParallelHelperPool.cpp: |
| * wtf/RunLoop.h: |
| * wtf/SharedTask.h: |
| * wtf/StringPrintStream.h: |
| * wtf/WorkQueue.h: |
| * wtf/WorkerPool.cpp: |
| |
| 2020-05-11 Darin Adler <darin@apple.com> |
| |
| Fix problems caught by replacing WTF::Optional with std::optional |
| https://bugs.webkit.org/show_bug.cgi?id=211703 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/URLHelpers.cpp: |
| (WTF::URLHelpers::mapHostName): Make URLDecodeFunction a function |
| pointer and use nullptr instead of trying to use Optional<> with |
| a function reference. |
| (WTF::URLHelpers::collectRangesThatNeedMapping): Ditto. |
| (WTF::URLHelpers::applyHostNameFunctionToMailToURLString): Ditto. |
| (WTF::URLHelpers::applyHostNameFunctionToURLString): Ditto. |
| (WTF::URLHelpers::mapHostNames): Ditto. |
| (WTF::URLHelpers::userVisibleURL): Ditto. |
| * wtf/URLHelpers.h: Ditto. |
| |
| * wtf/cocoa/NSURLExtras.mm: |
| (WTF::decodeHostName): Pass nullptr for URLDecodeFunction. |
| |
| 2020-05-11 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| AtomString::init should temporarily disable checks via `isMainThread` due to WebThread's inconsistent state |
| https://bugs.webkit.org/show_bug.cgi?id=211754 |
| |
| Reviewed by Dean Jackson. |
| |
| When starting WebThread via StartWebThread function, we have special period between the prologue of StartWebThread and spawning WebThread actually. |
| In this period, `isMainThread()` returns false even if this is called on the main thread since WebThread is now enabled and we are not taking a WebThread lock. |
| This causes assertion hits in MainThreadLazyNeverDestroyed initialization only in WebThread platforms. |
| |
| This patch takes conservative approach to fix this assertion hits: just bypass these assertions since this should not be fired. We bypass assertions by using |
| constructWithoutAccessCheck, which intentionally skips `isMainThread()` check for construction. In non WebThread environment, we do not lose the assertion |
| coverage since we already have ASSERT(isUIThread()). And ASSERT(isUIThread()) ensures that this is called in system main thread in WebThread platforms. |
| |
| Unfortunately, we have no mechanism to test this effectively. WK1 LayoutTests runner cannot show assertions since WK1 runners already initialize necessary |
| things somewhere before calling AtomString::init() in StartWebThread. This is the same in TestWebKitAPI. For now, I manually tested that assertion does not fire. |
| |
| * wtf/NeverDestroyed.h: |
| (WTF::LazyNeverDestroyed::construct): |
| (WTF::LazyNeverDestroyed::constructWithoutAccessCheck): |
| (WTF::LazyNeverDestroyed::storagePointerWithoutAccessCheck const): |
| (WTF::LazyNeverDestroyed::storagePointer const): |
| * wtf/text/AtomString.cpp: |
| (WTF::AtomString::init): |
| |
| 2020-05-11 Basuke Suzuki <basuke.suzuki@sony.com> |
| |
| [bmalloc][WTF] Add computing memory size implementation for FreeBSD |
| https://bugs.webkit.org/show_bug.cgi?id=211749 |
| |
| Reviewed by David Kilzer. |
| |
| Share sysinfo(3) implementation with Linux and FreeBSD. |
| |
| * wtf/RAMSize.cpp: |
| (WTF::computeRAMSize): |
| |
| 2020-05-11 Mark Lam <mark.lam@apple.com> |
| |
| Introduce WTF::Config and put Signal.cpp's init-once globals in it. |
| https://bugs.webkit.org/show_bug.cgi?id=211729 |
| <rdar://problem/62938878> |
| |
| Reviewed by Keith Miller and Saam Barati. |
| |
| 1. Added WTF::Config for storing globals that effectively serve as constants i.e |
| we'll be initializing them before or during the first VM instantiation, but |
| should not have any reason to modify them later. The WTF::Config will be frozen |
| (along with JSC::Config) at the end of instantiating the first VM instance. |
| |
| 2. Added a Config::AssertNotFrozenScope RAII object to ensure that initialization |
| operations that should only be called at initialization time, will not be |
| called once the Config has been frozen. |
| |
| 3. Moved most of Signal.cpp's globals into WTF::Config. The only globals (or |
| statics) not moved are ones that cannot be moved because they require a |
| non-trivial default constructor (once_flag), or need to be modifiable |
| at runtime (e.g. Lock). |
| |
| Instead of freezing the once_flag, we sanity check the call_once block with |
| the Config::AssertNotFrozenScope. |
| |
| 4. SignalHandler records are now allocated from arrays of SignalHandlerMemory in |
| the WTF::Config. The number of signal handlers we will ever install is always |
| finite. Hence, there's no reason to use a dynamic data structure like the |
| LocklessBag to hold it. |
| |
| We introduce a SignalHandlers struct to manage these arrays (and all the other |
| Signal.cpp globals that we want to move to the WTF::Config). Amongst other |
| things, SignalHandlers provides the abstractions for: |
| |
| a. allocating memory for the SignalHandler instances. See SignalHandlers::alloc(). |
| b. iterating SignalHandler instances. See SignalHandlers::forEachHandler(). |
| |
| To maintain the synchronization properties of the LocklessBag, |
| SignalHandlers::alloc() uses a mutex. In practice, this mutex will never be |
| contended on because all signal handlers are now installed at initialization |
| time before any concurrency comes into play. |
| |
| 5. We now initialize activeThreads() eagerly via initializeThreading. In |
| production configurations, this does not matter because signal handler |
| installations will always trigger its initialization. However, in debugging |
| configurations, we may end up disabling the use of all signal handlers. As a |
| result, we need to do this eager initialization to ensure that it is done |
| before we freeze the WTF::Config. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/Threading.cpp: |
| (WTF::initializeThreading): |
| * wtf/WTFConfig.cpp: Added. |
| (WTF::Config::disableFreezingForTesting): |
| (WTF::Config::permanentlyFreeze): |
| * wtf/WTFConfig.h: Added. |
| (WTF::Config::configureForTesting): |
| (WTF::Config::AssertNotFrozenScope::~AssertNotFrozenScope): |
| * wtf/threads/Signals.cpp: |
| (WTF::SignalHandlers::alloc): |
| (WTF::SignalHandlers::forEachHandler const): |
| (WTF::startMachExceptionHandlerThread): |
| (WTF::handleSignalsWithMach): |
| (WTF::setExceptionPorts): |
| (WTF::activeThreads): |
| (WTF::installSignalHandler): |
| (WTF::jscSignalHandler): |
| (WTF::SignalHandlers::initialize): |
| * wtf/threads/Signals.h: |
| |
| 2020-05-11 David Kilzer <ddkilzer@apple.com> |
| |
| [WTF] CStringBuffer::createUninitialized() should use Checked<size_t> |
| <https://webkit.org/b/211746> |
| <rdar://problem/62729848> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/text/CString.cpp: |
| (WTF::CStringBuffer::createUninitialized): |
| - Switch from RELEASE_ASSERT() to Checked<size_t>() for overflow |
| check. RELEASE_ASSERT() was using the wrong type, too. |
| |
| 2020-05-11 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, reverting r261440. |
| |
| Caused 6 TestWTF.WTF failures |
| |
| Reverted changeset: |
| |
| "Add iterator checking to ListHashSet" |
| https://bugs.webkit.org/show_bug.cgi?id=211669 |
| https://trac.webkit.org/changeset/261440 |
| |
| 2020-05-11 Tetsuharu Ohzeki <tetsuharu.ohzeki@gmail.com> |
| |
| Use alias template for <type_traits> in WTF/wtf/TypeCast.h |
| https://bugs.webkit.org/show_bug.cgi?id=211714 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/TypeCasts.h: |
| (WTF::TypeCastTraits::isOfType): |
| (WTF::is): |
| (WTF::downcast): |
| |
| 2020-05-10 Darin Adler <darin@apple.com> |
| |
| Add copy constructor and assignment operator to Ref<> |
| https://bugs.webkit.org/show_bug.cgi?id=211705 |
| |
| Reviewed by Sam Weinig. |
| |
| As recently discussed in some WebKit bug patch review, we think that Ref and RefPtr |
| should have the same design, except for whether the value can be null. Ref had a |
| more ambitious approach to avoiding reference count churn, requiring a |
| call to copyRef to make any copying explicit, partly by analogy with raw C |
| references, which also can't be copied (but they can't be moved either). We choose |
| to change Ref to match RefPtr and to take the risk of additional churn. This makes |
| it easier to use Ref in contexts like collection classes and structures. An |
| alternative would be to go the other direction, and make RefPtr require a call to |
| copyRef: seems like an obviously worse option. |
| |
| * wtf/Ref.h: Add the copy constructor and assignment operator. |
| These follow a similar pattern to the move constructor and assignment operator. |
| Also add a deprecation comment before copyRef, which we will eventually remove. |
| |
| 2020-05-10 Tetsuharu Ohzeki <tetsuharu.ohzeki@gmail.com> |
| |
| Use alias template to define `match_constness_t` in Wtf/wtp/TypeCasts.h |
| https://bugs.webkit.org/show_bug.cgi?id=211698 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/TypeCasts.h: |
| (WTF::downcast): |
| |
| 2020-05-10 Basuke Suzuki <basuke.suzuki@sony.com> |
| |
| Add ENABLE_PERIODIC_MEMORY_MONITOR flag. |
| https://bugs.webkit.org/show_bug.cgi?id=211704 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Define ENABLE_PERIODIC_MEMORY_MONITOR flags in specific platform file. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-05-10 Darin Adler <darin@apple.com> |
| |
| Remove now-unneeded HAVE(CORE_VIDEO) |
| https://bugs.webkit.org/show_bug.cgi?id=211677 |
| |
| Reviewed by Dan Bernstein. |
| |
| * wtf/PlatformHave.h: Remove HAVE_CORE_VIDEO. |
| |
| 2020-05-09 Darin Adler <darin@apple.com> |
| |
| Delete some dead code in WorkQueueCocoa.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=211676 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/cocoa/WorkQueueCocoa.cpp: |
| (WTF::targetQueueForQOSClass): Deleted. |
| |
| 2020-05-09 Darin Adler <darin@apple.com> |
| |
| Add iterator checking to ListHashSet |
| https://bugs.webkit.org/show_bug.cgi?id=211669 |
| |
| Reviewed by Anders Carlsson. |
| |
| HashSet and HashMap have iterator checking in debug builds. |
| Add similar checking to ListHashSet, controlled by the same |
| macro, CHECK_HASHTABLE_ITERATORS. Use WeakPtr to make the |
| implementation simple. |
| |
| * wtf/ListHashSet.h: Make ListHashSet and ListHashSetNode derive |
| from CanMakeWeakPtr. Add m_weakSet and m_weakPosition members to |
| ListHashSetConstIterator, and assert their values at the appropriate |
| times so we will get a breakpoint or crash. |
| |
| 2020-05-08 Darin Adler <darin@apple.com> |
| |
| Streamline MarkupAccumulator to improve efficiency a bit |
| https://bugs.webkit.org/show_bug.cgi?id=211656 |
| |
| Reviewed by Anders Carlsson. |
| |
| * wtf/text/StringBuilder.cpp: |
| (WTF::StringBuilder::isAllASCII const): Added. |
| * wtf/text/StringBuilder.h: Added isAllASCII. |
| |
| 2020-05-09 David Quesada <david_quesada@apple.com> |
| |
| Remove HAVE_UI_SCROLL_VIEW_INDICATOR_FLASHING_SPI |
| https://bugs.webkit.org/show_bug.cgi?id=211662 |
| rdar://problem/63048713 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-05-08 Basuke Suzuki <basuke.suzuki@sony.com> |
| |
| [WTF] Share Linux's MemoryPressureHandler among other Unix ports |
| https://bugs.webkit.org/show_bug.cgi?id=208955 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Renamed MemoryPressureHandlerLinux to MemoryPressureHandlerUnix and added FreeBSD implementation |
| of memory status functions. Change PlayStation port to use it from generic implementation. |
| |
| * wtf/MemoryPressureHandler.cpp: |
| (WTF::MemoryPressureHandler::MemoryPressureHandler): |
| * wtf/MemoryPressureHandler.h: |
| * wtf/PlatformGTK.cmake: |
| * wtf/PlatformJSCOnly.cmake: |
| * wtf/PlatformPlayStation.cmake: |
| * wtf/PlatformWPE.cmake: |
| * wtf/generic/MemoryFootprintGeneric.cpp: |
| (WTF::memoryFootprint): |
| * wtf/unix/MemoryPressureHandlerUnix.cpp: Renamed from Source\WTF\wtf\linux\MemoryPressureHandlerLinux.cpp. |
| (WTF::processMemoryUsage): |
| |
| 2020-05-08 Darin Adler <darin@apple.com> |
| |
| Remove now-unneeded HAVE(AVFOUNDATION_LOADER_DELEGATE) |
| https://bugs.webkit.org/show_bug.cgi?id=211646 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformHave.h: Don't set HAVE_AVFOUNDATION_LOADER_DELEGATE. |
| |
| 2020-05-08 Don Olmstead <don.olmstead@sony.com> |
| |
| [clang-tidy] Run modernize-use-nullptr over WTF |
| https://bugs.webkit.org/show_bug.cgi?id=211628 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Use the fix option in clang-tidy to ensure nullptr is being used across WTF. |
| |
| * wtf/Assertions.cpp: |
| * wtf/BumpPointerAllocator.h: |
| (WTF::BumpPointerPool::BumpPointerPool): |
| (WTF::BumpPointerPool::create): |
| (WTF::BumpPointerAllocator::BumpPointerAllocator): |
| * wtf/DataLog.cpp: |
| (WTF::setDataFile): |
| * wtf/DateMath.cpp: |
| (WTF::parseES5DatePortion): |
| (WTF::parseES5TimePortion): |
| * wtf/FastMalloc.cpp: |
| (WTF::fastZeroedMalloc): |
| (WTF::fastStrDup): |
| (WTF::tryFastZeroedMalloc): |
| (WTF::isFastMallocEnabled): |
| (WTF::fastMallocGoodSize): |
| (WTF::fastAlignedMalloc): |
| (WTF::tryFastAlignedMalloc): |
| (WTF::fastAlignedFree): |
| (WTF::tryFastMalloc): |
| (WTF::fastMalloc): |
| (WTF::tryFastCalloc): |
| (WTF::fastCalloc): |
| (WTF::fastFree): |
| (WTF::fastRealloc): |
| (WTF::tryFastRealloc): |
| (WTF::releaseFastMallocFreeMemory): |
| (WTF::releaseFastMallocFreeMemoryForThisThread): |
| (WTF::fastMallocStatistics): |
| (WTF::fastMallocSize): |
| (WTF::fastCommitAlignedMemory): |
| (WTF::fastDecommitAlignedMemory): |
| (WTF::fastEnableMiniMode): |
| (WTF::fastDisableScavenger): |
| (WTF::fastMallocDumpMallocStats): |
| (WTF::AvoidRecordingScope::avoidRecordingCount): |
| (WTF::AvoidRecordingScope::AvoidRecordingScope): |
| (WTF::AvoidRecordingScope::~AvoidRecordingScope): |
| (WTF::MallocCallTracker::MallocSiteData::MallocSiteData): |
| (WTF::MallocCallTracker::singleton): |
| (WTF::MallocCallTracker::MallocCallTracker): |
| (WTF::MallocCallTracker::recordMalloc): |
| (WTF::MallocCallTracker::recordRealloc): |
| (WTF::MallocCallTracker::recordFree): |
| (WTF::MallocCallTracker::dumpStats): |
| * wtf/HashTable.h: |
| (WTF::KeyTraits>::inlineLookup): |
| (WTF::KeyTraits>::lookupForWriting): |
| (WTF::KeyTraits>::fullLookupForWriting): |
| (WTF::KeyTraits>::add): |
| * wtf/MetaAllocator.cpp: |
| (WTF::MetaAllocator::findAndRemoveFreeSpace): |
| * wtf/ParallelJobsGeneric.cpp: |
| * wtf/RandomDevice.cpp: |
| (WTF::RandomDevice::cryptographicallyRandomValues): |
| * wtf/RawPointer.h: |
| (WTF::RawPointer::RawPointer): |
| * wtf/RedBlackTree.h: |
| * wtf/SHA1.cpp: |
| (WTF::SHA1::hexDigest): |
| * wtf/SchedulePair.h: |
| (WTF::SchedulePair::SchedulePair): |
| * wtf/StackTrace.cpp: |
| (WTFGetBacktrace): |
| (WTF::StackTrace::dump const): |
| * wtf/StringExtras.h: |
| (strnstr): |
| * wtf/Variant.h: |
| * wtf/Vector.h: |
| (WTF::VectorBufferBase::deallocateBuffer): |
| (WTF::VectorBufferBase::releaseBuffer): |
| (WTF::VectorBufferBase::VectorBufferBase): |
| * wtf/cf/CFURLExtras.cpp: |
| (WTF::createCFURLFromBuffer): |
| (WTF::getURLBytes): |
| * wtf/cf/CFURLExtras.h: |
| * wtf/cf/FileSystemCF.cpp: |
| (WTF::FileSystem::pathAsURL): |
| * wtf/dtoa/double-conversion.cc: |
| * wtf/dtoa/utils.h: |
| (WTF::double_conversion::BufferReference::BufferReference): |
| * wtf/text/CString.cpp: |
| (WTF::CString::mutableData): |
| * wtf/text/CString.h: |
| * wtf/text/StringBuffer.h: |
| (WTF::StringBuffer::release): |
| * wtf/text/StringImpl.cpp: |
| (WTF::StringImpl::createUninitializedInternal): |
| (WTF::StringImpl::reallocateInternal): |
| * wtf/text/StringImpl.h: |
| (WTF::StringImpl::constructInternal<LChar>): |
| (WTF::StringImpl::constructInternal<UChar>): |
| (WTF::StringImpl::characters<LChar> const): |
| (WTF::StringImpl::characters<UChar> const): |
| (WTF::find): |
| (WTF::reverseFindLineTerminator): |
| (WTF::reverseFind): |
| (WTF::equalIgnoringNullity): |
| (WTF::codePointCompare): |
| (WTF::isSpaceOrNewline): |
| (WTF::lengthOfNullTerminatedString): |
| (WTF::StringImplShape::StringImplShape): |
| (WTF::StringImpl::isolatedCopy const): |
| (WTF::StringImpl::isAllASCII const): |
| (WTF::StringImpl::isAllLatin1 const): |
| (WTF::isAllSpecialCharacters): |
| (WTF::isSpecialCharacter const): |
| (WTF::StringImpl::StringImpl): |
| (WTF::StringImpl::create8BitIfPossible): |
| (WTF::StringImpl::createSubstringSharingImpl): |
| (WTF::StringImpl::createFromLiteral): |
| (WTF::StringImpl::tryCreateUninitialized): |
| (WTF::StringImpl::adopt): |
| (WTF::StringImpl::cost const): |
| (WTF::StringImpl::costDuringGC): |
| (WTF::StringImpl::setIsAtom): |
| (WTF::StringImpl::setHash const): |
| (WTF::StringImpl::ref): |
| (WTF::StringImpl::deref): |
| (WTF::StringImpl::copyCharacters): |
| (WTF::StringImpl::at const): |
| (WTF::StringImpl::allocationSize): |
| (WTF::StringImpl::maxInternalLength): |
| (WTF::StringImpl::tailOffset): |
| (WTF::StringImpl::requiresCopy const): |
| (WTF::StringImpl::tailPointer const): |
| (WTF::StringImpl::tailPointer): |
| (WTF::StringImpl::substringBuffer const): |
| (WTF::StringImpl::substringBuffer): |
| (WTF::StringImpl::assertHashIsCorrect const): |
| (WTF::StringImpl::StaticStringImpl::StaticStringImpl): |
| (WTF::StringImpl::StaticStringImpl::operator StringImpl&): |
| (WTF::equalIgnoringASCIICase): |
| (WTF::startsWithLettersIgnoringASCIICase): |
| (WTF::equalLettersIgnoringASCIICase): |
| * wtf/text/TextBreakIterator.cpp: |
| (WTF::initializeIterator): |
| (WTF::setContextAwareTextForIterator): |
| (WTF::openLineBreakIterator): |
| * wtf/text/TextBreakIterator.h: |
| (WTF::LazyLineBreakIterator::get): |
| * wtf/text/WTFString.cpp: |
| (WTF::charactersToFloat): |
| * wtf/text/cf/StringImplCF.cpp: |
| (WTF::StringWrapperCFAllocator::allocate): |
| (WTF::StringWrapperCFAllocator::create): |
| (WTF::StringImpl::createCFString): |
| * wtf/text/icu/UTextProviderLatin1.cpp: |
| (WTF::uTextLatin1Clone): |
| (WTF::openLatin1ContextAwareUTextProvider): |
| * wtf/text/icu/UTextProviderUTF16.cpp: |
| (WTF::openUTF16ContextAwareUTextProvider): |
| * wtf/win/FileSystemWin.cpp: |
| (WTF::FileSystemImpl::makeAllDirectories): |
| (WTF::FileSystemImpl::storageDirectory): |
| (WTF::FileSystemImpl::openTemporaryFile): |
| (WTF::FileSystemImpl::openFile): |
| (WTF::FileSystemImpl::writeToFile): |
| (WTF::FileSystemImpl::readFromFile): |
| (WTF::FileSystemImpl::deleteNonEmptyDirectory): |
| * wtf/win/LanguageWin.cpp: |
| (WTF::localeInfo): |
| * wtf/win/MainThreadWin.cpp: |
| (WTF::initializeMainThreadPlatform): |
| * wtf/win/OSAllocatorWin.cpp: |
| (WTF::OSAllocator::reserveUncommitted): |
| (WTF::OSAllocator::reserveAndCommit): |
| * wtf/win/RunLoopWin.cpp: |
| (WTF::RunLoop::run): |
| (WTF::RunLoop::iterate): |
| (WTF::RunLoop::RunLoop): |
| (WTF::RunLoop::cycle): |
| (WTF::RunLoop::TimerBase::start): |
| * wtf/win/ThreadingWin.cpp: |
| (WTF::Thread::establishHandle): |
| |
| 2020-05-08 Darin Adler <darin@apple.com> |
| |
| Make callBufferProducingFunction safer to use by adding a compile-time assertion |
| https://bugs.webkit.org/show_bug.cgi?id=211599 |
| |
| Reviewed by Ross Kirsling. |
| |
| * wtf/unicode/icu/ICUHelpers.h: |
| (WTF::CallBufferProducingFunction::argumentTuple): Add a static_assert that |
| checks these are just simple types, aside from the Vector for the buffer. |
| This would have caught the UpconvertedCharacters problem fixed earlier today. |
| |
| 2020-05-08 Don Olmstead <don.olmstead@sony.com> |
| |
| WTF headers should compile independently |
| https://bugs.webkit.org/show_bug.cgi?id=211608 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| When a WTF header is included on its own within a source file it should compile. |
| These issues were found when working on a tooling build for running static |
| analysis over WTF. Forward declarations were used whenever possible otherwise |
| an include was used. |
| |
| Additionally fix some errors found by Clang 10. |
| |
| * wtf/AggregateLogger.h: |
| * wtf/CallbackAggregator.h: |
| * wtf/Dominators.h: |
| * wtf/HashIterators.h: |
| * wtf/IndexSparseSet.h: |
| * wtf/LoggingHashMap.h: |
| * wtf/LoggingHashTraits.h: |
| * wtf/RunLoopTimer.h: |
| * wtf/Stopwatch.h: |
| * wtf/Threading.h: |
| * wtf/cf/RunLoopTimerCF.cpp: |
| * wtf/persistence/PersistentCoder.h: |
| * wtf/text/LineBreakIteratorPoolICU.h: |
| * wtf/text/NullTextBreakIterator.h: |
| * wtf/text/StringOperators.h: |
| * wtf/text/StringToIntegerConversion.h: |
| * wtf/text/cf/TextBreakIteratorCF.h: |
| * wtf/text/icu/TextBreakIteratorICU.h: |
| * wtf/text/win/WCharStringExtras.h: |
| |
| 2020-05-07 Don Olmstead <don.olmstead@sony.com> |
| |
| Remove unused USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) |
| https://bugs.webkit.org/show_bug.cgi?id=211582 |
| |
| Reviewed by Fujii Hironori. |
| |
| After r261264 all ports implemented USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR. |
| |
| * wtf/PlatformUse.h: |
| |
| 2020-05-07 Mark Lam <mark.lam@apple.com> |
| |
| Give the DFG and FTL WorkList threads more stack space on ASAN builds. |
| https://bugs.webkit.org/show_bug.cgi?id=211535 |
| <rdar://problem/62947884> |
| |
| Reviewed by Geoffrey Garen. |
| |
| 1. Add the ability to set the ThreadType for AutomaticThreads. |
| 2. Give ThreadType::Compiler (which currently only used for the DFG anf FTL |
| WorkList threads) a larger stack for OS(DARWIN) on ASAN builds. |
| |
| This is needed because ASAN is a memory hungry beast, and we want the ASAN |
| builds to get to exercise the same amount of code a regular build will (instead |
| of failing out early with a stack overflow error). |
| |
| * wtf/AutomaticThread.cpp: |
| (WTF::AutomaticThread::AutomaticThread): |
| (WTF::AutomaticThread::start): |
| * wtf/AutomaticThread.h: |
| * wtf/Threading.cpp: |
| (WTF::stackSize): |
| * wtf/Threading.h: |
| |
| 2020-05-07 Mark Lam <mark.lam@apple.com> |
| |
| Add stack checks to the DFG and FTL bytecode parser. |
| https://bugs.webkit.org/show_bug.cgi?id=211547 |
| <rdar://problem/62958880> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Added a StackCheck::Scope RAII object to help verify that the default reserved |
| zone size is at least adequate for known work loads. If this the StackCheck::Scope |
| assertions fail, then we either need more stack checks, or the reserved zone size |
| needs to be increased. |
| |
| Note that the assertions are usually only on in Debug builds. Ideally, we would |
| want to measure the reserved zone size with a Release build. To do that, we |
| can just set VERIFY_STACK_CHECK_RESERVED_ZONE_SIZE to 1 unconditionally in |
| StackCheck.h and rebuild. |
| |
| * wtf/StackCheck.h: |
| (WTF::StackCheck::Scope::Scope): |
| (WTF::StackCheck::Scope::~Scope): |
| (WTF::StackCheck::Scope::isSafeToRecurse): |
| (WTF::StackCheck::StackCheck): |
| |
| 2020-05-06 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com> and Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [Win] Implement DisplayRefreshMonitor by using RunLoop::Timer |
| https://bugs.webkit.org/show_bug.cgi?id=211431 |
| |
| Reviewed by Don Olmstead. |
| |
| USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR is turned off only for Windows ports. |
| Turn it on, and add DisplayRefreshMonitorWin. |
| |
| I'll remove USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR macro in a follow-up patch. |
| |
| * wtf/PlatformUse.h: |
| |
| 2020-05-06 Darin Adler <darin@apple.com> |
| |
| Make a helper for the pattern of ICU functions that may need to be called twice to populate a buffer |
| https://bugs.webkit.org/show_bug.cgi?id=211499 |
| |
| Reviewed by Ross Kirsling. |
| |
| This first cut version is ready to be used in most, but not all, of the places we use the |
| needsToGrowToProduceBuffer function. The places it is not right for yet are ones that have |
| special considerations because of null character termination or destinations that are |
| not a Vector. Later we can refine that further, if we like, and possibly use something |
| similar in call sites that use needsToGrowToProduceCString as well. |
| |
| * wtf/unicode/icu/ICUHelpers.h: |
| (WTF::needsToGrowToProduceBuffer): Changed to constexpr, since we can. |
| (WTF::needsToGrowToProduceCString): Ditto. |
| (WTF::CallBufferProducingFunction::findVector): Added. Implementation detail |
| of callBufferProducingFunction. |
| (WTF::CallBufferProducingFunction::argumentTuple): Ditto. |
| (WTF::callBufferProducingFunction): Added. |
| |
| 2020-05-06 Alex Christensen <achristensen@webkit.org> |
| |
| Reduce IPC overhead for message receiver name and message name to 2 bytes |
| https://bugs.webkit.org/show_bug.cgi?id=211112 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/EnumTraits.h: |
| |
| 2020-05-06 Darin Adler <darin@apple.com> |
| |
| Remove now-unneeded USE(GRAMMAR_CHECKING) |
| https://bugs.webkit.org/show_bug.cgi?id=211452 |
| |
| Reviewed by Anders Carlsson. |
| |
| * wtf/PlatformUse.h: Don't set USE_GRAMMAR_CHECKING. |
| |
| 2020-05-06 Devin Rousso <drousso@apple.com> |
| |
| ASSERT_WITH_MESSAGE(m_isOwnedByMainThread == isMainThread()) when web inspecting |
| https://bugs.webkit.org/show_bug.cgi?id=203638 |
| <rdar://problem/56761893> |
| |
| Reviewed by Brian Burg. |
| |
| * wtf/Stopwatch.h: |
| (WTF::Stopwatch::elapsedTime const): Added. |
| (WTF::Stopwatch::elapsedTimeSince const): Added. |
| (WTF::Stopwatch::elapsedTime): Deleted. |
| (WTF::Stopwatch::elapsedTimeSince): Deleted. |
| |
| 2020-05-06 Darin Adler <darin@apple.com> |
| |
| Reduce HAVE(HOSTED_CORE_ANIMATION) |
| https://bugs.webkit.org/show_bug.cgi?id=211423 |
| |
| Reviewed by Anders Carlsson. |
| |
| * wtf/PlatformHave.h: Simplified conditional to just PLATFORM(MAC) |
| for HOSTED_CORE_ANIMATION. |
| |
| 2020-05-05 Darin Adler <darin@apple.com> |
| |
| Remove HAVE(AVFOUNDATION_LEGIBLE_OUTPUT_SUPPORT) |
| https://bugs.webkit.org/show_bug.cgi?id=211461 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformHave.h: Don't define HAVE_AVFOUNDATION_LEGIBLE_OUTPUT_SUPPORT. |
| |
| 2020-05-05 Mark Lam <mark.lam@apple.com> |
| |
| Allow Bitmap to use up to a UCPURegister word size for internal bit storage. |
| https://bugs.webkit.org/show_bug.cgi?id=211328 |
| <rdar://problem/62755865> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| 1. Moved the definition of CPURegister and UCPURegister down into WTF. |
| Added CPU(REGISTER64) and CPU(REGISTER32) for determining what size a CPU |
| general purpose register is. |
| |
| 2. Updated Bitmap so that it will automatically choose the minimal required |
| word size for the number of bits it needs to store. This means the Bitmap |
| can automatically choose a WordType from uint8_t up to UCPURegister. |
| Previously, the WordType is always uint32_t by default. |
| |
| This should improve perf with use of Bitmap on 64-bit platforms. The size |
| optimization is necessary to prevent bloat on 64-bit platforms which would have |
| resulted if we simply set the default to always be UCPURegister. |
| |
| 3. Added a check in findRunOfZeros() for handling the edge case where the |
| requested runLength exceeds the bitmapSize. |
| |
| 4. Fixed a bug in count() that was unnecessarily casting the bits to unsigned |
| instead of just using the Bitmap WordType. As a result, when using a WordType |
| of uint64_t, it was discarding bits from the count. |
| |
| 5. Fixed invert() to leave the bits beyond bitmapSize untouched. |
| Fixed isFull() to ignore the bits beyond bitmapSize. |
| |
| By fixing invert() to leave those bits as 0, isEmpty() and hash() will |
| continue to work. Otherwise, inverting those bits will cause isEmpty() to |
| always fail, and hash()'s result may be different for the same set of bit |
| values within bitmapSize. |
| |
| isFull(), on the other hand, checks for set bits in the words. Since there |
| may be 0 valued bits beyond bitmapSize, isFull() needs to be fixed to ignore |
| those. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/Bitmap.h: |
| (WTF::WordType>::invert): |
| (WTF::WordType>::findRunOfZeros const): |
| (WTF::WordType>::count const): |
| (WTF::WordType>::isFull const): |
| * wtf/CMakeLists.txt: |
| * wtf/PlatformCPU.h: |
| * wtf/PlatformUse.h: |
| * wtf/StdIntExtras.h: Copied from Source/WTF/wtf/StdIntExtras.h. |
| |
| 2020-05-05 Darin Adler <darin@apple.com> |
| |
| Remove now-unneeded USE(COREMEDIA) and USE(VIDEOTOOLBOX) |
| https://bugs.webkit.org/show_bug.cgi?id=211437 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformUse.h: Don't set USE_COREMEDIA or USE_VIDEOTOOLBOX. |
| |
| 2020-05-05 Darin Adler <darin@apple.com> |
| |
| Remove now-uneeded HAVE macros related to PDF |
| https://bugs.webkit.org/show_bug.cgi?id=211435 |
| |
| Reviewed by Anders Carlsson. |
| |
| * wtf/PlatformHave.h: Remove HAVE_PDFHOSTVIEWCONTROLLER_SNAPSHOTTING, |
| always set for iOS, HAVE_LEGACY_PDF_SUPPORT, always set for all Cocoa |
| platforms, and HAVE_PDF_HOST_VIEW_CONTROLLER_WITH_BACKGROUND_COLOR, |
| always set for iOS family platforms. |
| |
| 2020-05-05 Darin Adler <darin@apple.com> |
| |
| Remove now-unneeded HAVE(DISALLOWABLE_USER_INSTALLED_FONTS) |
| https://bugs.webkit.org/show_bug.cgi?id=211428 |
| |
| Reviewed by Anders Carlsson. |
| |
| * wtf/PlatformHave.h: Don't define HAVE_DISALLOWABLE_USER_INSTALLED_FONTS. |
| |
| 2020-05-04 Darin Adler <darin@apple.com> |
| |
| [Mac] Remove __MAC_OS_X_VERSION_MIN_REQUIRED checks for versions older than 10.14 |
| https://bugs.webkit.org/show_bug.cgi?id=211420 |
| |
| Reviewed by Alex Christensen. |
| |
| * WTF.xcodeproj/project.pbxproj: Removed DeprecatedSymbolsUsedBySafari.mm. |
| |
| * wtf/PlatformEnableCocoa.h: Removed __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400. |
| * wtf/PlatformHave.h: Ditto. This leaves behind some cases of |
| "PLATFORM(MAC) || PLATFORM(IOS)" that should probably be turned on for watchOS |
| and tvOS too, eventually. Also "PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST)". |
| |
| * wtf/PlatformMac.cmake: Removed DeprecatedSymbolsUsedBySafari.mm. |
| |
| * wtf/PlatformUse.h: Removed __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400. |
| |
| * wtf/mac/DeprecatedSymbolsUsedBySafari.mm: Removed. |
| |
| * wtf/spi/darwin/ProcessMemoryFootprint.h: Removed |
| __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400. |
| |
| 2020-05-04 Darin Adler <darin@apple.com> |
| |
| Remove now-unneeded HAVE(SANDBOX_ISSUE_MACH/READ_EXTENSION_TO_PROCESS_BY_AUDIT_TOKEN) |
| https://bugs.webkit.org/show_bug.cgi?id=211427 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/PlatformHave.h: Remove both macros mentioned in the title above. |
| * wtf/spi/darwin/SandboxSPI.h: Remove #if HAVE. |
| |
| 2020-05-04 Darin Adler <darin@apple.com> |
| |
| Remove now-unneeded HAVE(AUTHORIZATION_STATUS_FOR_MEDIA_TYPE) |
| https://bugs.webkit.org/show_bug.cgi?id=211426 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/PlatformHave.h: Removed code to set HAVE_AUTHORIZATION_STATUS_FOR_MEDIA_TYPE, |
| which was doing so on all Cocoa platforms. |
| |
| 2020-05-04 Darin Adler <darin@apple.com> |
| |
| Remove now-unneeded HAVE(ACCESSIBILITY_SUPPORT) |
| https://bugs.webkit.org/show_bug.cgi?id=211425 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/PlatformHave.h: Don't set HAVE_ACCESSIBILITY_SUPPORT. It was on for all |
| Cocoa platform builds. |
| |
| 2020-05-04 Darin Adler <darin@apple.com> |
| |
| Remove now-unneeded HAVE(NETWORK_EXTENSION) |
| https://bugs.webkit.org/show_bug.cgi?id=211424 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/PlatformHave.h: Don't define HAVE_NETWORK_EXTENSION. |
| |
| 2020-05-04 Darin Adler <darin@apple.com> |
| |
| Remove now-unneeded HAVE(SEC_TRUST_EVALUATE_WITH_ERROR) |
| https://bugs.webkit.org/show_bug.cgi?id=211429 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/PlatformHave.h: Don't set HAVE_SEC_TRUST_EVALUATE_WITH_ERROR. |
| |
| 2020-05-04 Darin Adler <darin@apple.com> |
| |
| Remove unneeded USE(MEDIAREMOTE) |
| https://bugs.webkit.org/show_bug.cgi?id=211385 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformUse.h: Don't set USE_MEDIAREMOTE. |
| |
| 2020-05-04 Darin Adler <darin@apple.com> |
| |
| Remove now-unneded HAVE(WINDOW_SERVER_OCCLUSION_NOTIFICATIONS) |
| https://bugs.webkit.org/show_bug.cgi?id=211380 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/PlatformHave.h: Don't define HAVE_WINDOW_SERVER_OCCLUSION_NOTIFICATIONS. |
| |
| 2020-05-04 Darin Adler <darin@apple.com> |
| |
| Remove unused USE(COREAUDIO) |
| https://bugs.webkit.org/show_bug.cgi?id=211384 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/PlatformUse.h: Don't define USE_COREAUDIO. |
| |
| 2020-05-04 Darin Adler <darin@apple.com> |
| |
| Remove now-unneeded HAVE(UI_REMOTE_VIEW) |
| https://bugs.webkit.org/show_bug.cgi?id=211382 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/PlatformHave.h: Remove code to define HAVE_UI_REMOTE_VIEW. |
| |
| 2020-05-04 Darin Adler <darin@apple.com> |
| |
| Remove now-unneeded HAVE(MENU_CONTROLLER_SHOW_HIDE_API) |
| https://bugs.webkit.org/show_bug.cgi?id=211381 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/PlatformHave.h: Remove code to set HAVE_MENU_CONTROLLER_SHOW_HIDE_API. |
| |
| 2020-05-04 Darin Adler <darin@apple.com> |
| |
| Remove now-unneeded HAVE(VOUCHERS) |
| https://bugs.webkit.org/show_bug.cgi?id=211379 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/PlatformHave.h: Remove definition of HAVE_VOUCHERS. |
| |
| 2020-05-04 Darin Adler <darin@apple.com> |
| |
| Remove now-unneeded HAVE(MEDIA_PLAYER) |
| https://bugs.webkit.org/show_bug.cgi?id=211378 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/PlatformHave.h: Remove code that sets HAVE_MEDIA_PLAYER. |
| |
| 2020-05-04 Darin Adler <darin@apple.com> |
| |
| Remove unused HAVE(STRINGS_H) |
| https://bugs.webkit.org/show_bug.cgi?id=211377 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/PlatformHave.h: Remove code to set HAVE_STRINGS_H. |
| |
| 2020-05-04 Darin Adler <darin@apple.com> |
| |
| Remove no-longer-needed HAVE(UISCENE) |
| https://bugs.webkit.org/show_bug.cgi?id=211376 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/PlatformHave.h: Don't define HAVE_UISCENE any more. |
| It's always true for PLATFORM(IOS_FAMILY). |
| |
| 2020-05-03 Mark Lam <mark.lam@apple.com> |
| |
| Remove some unused and broken functions in Bitmap. |
| https://bugs.webkit.org/show_bug.cgi?id=211368 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Bitmap::operator[] never worked. There's currently no way to use it to read a |
| bit value. We also can't use it to set a bit value because it relies on |
| Bitmap::iterator::operator= to set the value. However, Bitmap::iterator stores |
| the Bitmap* as a const pointer, and Bitmap::iterator::operator= calls set() on |
| the const pointer. If we try to use operator[] to set a bit, we'll get a |
| compilation error. |
| |
| This patch removes the 2 variants of Bitmap::operator[] and Bitmap::iterator::operator=. |
| |
| * wtf/Bitmap.h: |
| (WTF::WordType>::operator): Deleted. |
| (WTF::WordType>::operator const const): Deleted. |
| |
| 2020-05-03 Rob Buis <rbuis@igalia.com> |
| |
| atob() should not accept a vertical tab |
| https://bugs.webkit.org/show_bug.cgi?id=184529 |
| |
| Reviewed by Darin Adler. |
| |
| Add an option to allow discarding of base64 decoding |
| when a vertical tab is encountered. |
| |
| * wtf/text/Base64.cpp: |
| (WTF::base64DecodeInternal): |
| * wtf/text/Base64.h: |
| |
| 2020-05-02 Mark Lam <mark.lam@apple.com> |
| |
| Gardening: rolling out r261050 and r261051. |
| https://bugs.webkit.org/show_bug.cgi?id=211328 |
| <rdar://problem/62755865> |
| |
| Not reviewed. |
| |
| Appears to make editing/undo-manager/undo-manager-delete-stale-undo-items.html timeout always. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/Bitmap.h: |
| * wtf/CMakeLists.txt: |
| * wtf/StdIntExtras.h: Removed. |
| |
| 2020-05-02 Mark Lam <mark.lam@apple.com> |
| |
| [Follow up] Allow Bitmap to use up to a UCPURegister word size for internal bit storage. |
| https://bugs.webkit.org/show_bug.cgi?id=211328 |
| <rdar://problem/62755865> |
| |
| Not reviewed. |
| |
| Landing file missed in last commit. |
| |
| * wtf/StdIntExtras.h: Added. |
| |
| 2020-05-01 Mark Lam <mark.lam@apple.com> |
| |
| Allow Bitmap to use up to a UCPURegister word size for internal bit storage. |
| https://bugs.webkit.org/show_bug.cgi?id=211328 |
| <rdar://problem/62755865> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| 1. Moved the definition of CPURegister and UCPURegister down into WTF. |
| 2. Updated Bitmap so that it will automatically choose the minimal required |
| word size for the number of bits it needs to store. This means the Bitmap |
| can automatically choose a WordType from uint8_t up to UCPURegister. |
| Previously, the WordType is always uint32_t by default. |
| |
| This should improve perf with use of Bitmap on 64-bit platforms. The size |
| optimization is necessary to prevent bloat on 64-bit platforms which would have |
| resulted if we simply set the default to always be UCPURegister. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/Bitmap.h: |
| * wtf/CMakeLists.txt: |
| * wtf/StdIntExtras.h: Added. |
| |
| 2020-05-01 Saam Barati <sbarati@apple.com> |
| |
| Have a thread local cache for the Wasm LLInt bytecode buffer |
| https://bugs.webkit.org/show_bug.cgi?id=211317 |
| |
| Reviewed by Filip Pizlo and Mark Lam. |
| |
| * wtf/Vector.h: |
| (WTF::Vector::sizeInBytes const): |
| |
| 2020-05-01 Don Olmstead <don.olmstead@sony.com> |
| |
| [GTK] Add additional exports to support hidden visibility |
| https://bugs.webkit.org/show_bug.cgi?id=211246 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * wtf/ASCIICType.cpp: |
| * wtf/DateMath.h: |
| * wtf/FileSystem.h: |
| * wtf/PrintStream.h: |
| * wtf/RunLoop.h: |
| * wtf/glib/GLibUtilities.h: |
| * wtf/glib/GSocketMonitor.h: |
| * wtf/glib/SocketConnection.h: |
| (WTF::SocketConnection::isClosed const): |
| * wtf/linux/CurrentProcessMemoryStatus.h: |
| |
| 2020-05-01 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Introduce MainThreadNeverDestroyed / MainThreadLazyNeverDestroyed |
| https://bugs.webkit.org/show_bug.cgi?id=211264 |
| |
| Reviewed by Mark Lam. |
| |
| Since AtomString has thread-affinity, `static NeverDestroyed<const AtomString>` is basically only safe for the main-thread use. |
| We should ensure that this is only used in the main-thread. To do that, this patch introduces MainThreadNeverDestroyed and |
| MainThreadLazyNeverDestroyed. They are NeverDestroyed and LazyNeverDestroyed + main-thread assertions. |
| |
| * wtf/Forward.h: |
| * wtf/NeverDestroyed.h: |
| (WTF::AnyThreadsAccessTraits::assertAccess): |
| (WTF::MainThreadAccessTraits::assertAccess): |
| (WTF::NeverDestroyed::NeverDestroyed): |
| (WTF::NeverDestroyed::storagePointer const): |
| (WTF::LazyNeverDestroyed::construct): |
| (WTF::LazyNeverDestroyed::storagePointer const): |
| (WTF::makeNeverDestroyed): |
| * wtf/text/AtomString.cpp: |
| * wtf/text/AtomString.h: |
| |
| 2020-05-01 Don Olmstead <don.olmstead@sony.com> |
| |
| Use export macros on all platforms |
| https://bugs.webkit.org/show_bug.cgi?id=211293 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Always use export macros on all platforms. Remove USE_EXPORT_MACROS and always |
| define macros based on the platform. Allow overriding of WTF_EXPORT_PRIVATE otherwise |
| use the defaults. |
| |
| Remove definition of WTF_HIDDEN_DECLARATION since its not used anywhere. |
| |
| * wtf/ExportMacros.h: |
| * wtf/PlatformUse.h: |
| |
| 2020-04-30 Ross Kirsling <ross.kirsling@sony.com> |
| |
| TriState should be an enum class and use "Indeterminate" instead of "Mixed" |
| https://bugs.webkit.org/show_bug.cgi?id=211268 |
| |
| Reviewed by Mark Lam. |
| |
| The word "indeterminate" comes from boost::tribool. |
| A third state is generally not "mixed" but rather unknown. |
| |
| * wtf/TriState.h: |
| |
| 2020-04-29 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [Win] Deadlock in WTF::Thread::didExit() while WebKitNetworkProcess.exe is exiting |
| https://bugs.webkit.org/show_bug.cgi?id=210955 |
| |
| Reviewed by Don Olmstead. |
| |
| The thread_local object of the main thread is destructed after |
| Windows terminates other threads. If the terminated thread was |
| holding a mutex, trying to lock the mutex causes deadlock. |
| |
| * wtf/win/ThreadingWin.cpp: |
| (WTF::Thread::ThreadHolder::~ThreadHolder): Do nothing if the |
| thread is the main thread. |
| |
| 2020-04-29 Jer Noble <jer.noble@apple.com> |
| |
| [Mac] Adopt kMTSupportNotification_ShouldPlayHDRVideoChanged notification |
| https://bugs.webkit.org/show_bug.cgi?id=211028 |
| <rdar://problem/61173289> |
| |
| Reviewed by Aakash Jain. |
| |
| Follow-up test failure fix; correct the debug/non-debug variants of SOFT_LINK_FRAMEWORK_FOR_SOURCE_WITH_EXPORT. |
| |
| * wtf/win/SoftLinking.h: |
| |
| 2020-04-29 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r260650. |
| https://bugs.webkit.org/show_bug.cgi?id=211172 |
| |
| It is breaking internal bots (Requested by youenn on #webkit). |
| |
| Reverted changeset: |
| |
| "Call STDynamicActivityAttributionPublisher in the WebProcess" |
| https://bugs.webkit.org/show_bug.cgi?id=210772 |
| https://trac.webkit.org/changeset/260650 |
| |
| 2020-04-29 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: Uncaught Exception: SyntaxError: Unexpected identifier 'E'. Expected either a closing ']' or a ',' following an array element. |
| https://bugs.webkit.org/show_bug.cgi?id=211163 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * wtf/JSONValues.h: |
| * wtf/JSONValues.cpp: |
| (WTF::JSONImpl::appendDoubleQuotedString): |
| (WTF::JSONImpl::Value::escapeString): Added. |
| Pull out and expose the logic for escaping strings so it can be used elsewhere. |
| |
| 2020-04-29 Saam Barati <sbarati@apple.com> |
| |
| U_STRING_NOT_TERMINATED_WARNING ICU must be handled when using the output buffer as a C string |
| https://bugs.webkit.org/show_bug.cgi?id=211142 |
| <rdar://problem/62530860> |
| |
| Reviewed by Darin Adler. |
| |
| Most of our uses of ICU require us to produce a buffer of the correct |
| length. We often test if the first call to ICU API succeeds, and if it |
| doesn't, we grow to the required buffer size, and try again. However, |
| there are a few APIs that we use like this, except that they write their |
| output to a C string instead of a buffer. |
| |
| In a couple scenarios when we were producing C strings, we were only testing |
| for the U_BUFFER_OVERFLOW_ERROR, instead of both U_BUFFER_OVERFLOW_ERROR and |
| U_STRING_NOT_TERMINATED_WARNING. This patch fixes those bugs. It also |
| introduces two new helper methods for testing error codes returned by ICU. |
| |
| - The first is needsToGrowToProduceBuffer, which returns true if we need to |
| grow the buffer and re-call into ICU to get the result. |
| - The second is needsToGrowToProduceCString, which returns true if we need to |
| grow the buffer and re-call into ICU to produce a valid C string. |
| |
| I've audited all uses of U_BUFFER_OVERFLOW_ERROR and converted them to use one |
| of the above helper methods instead. |
| |
| The issues in our handling of U_STRING_NOT_TERMINATED_WARNING were caught on iOS JSC |
| tests in JSTests/stress/intl-datetimeformat.js |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/text/LineBreakIteratorPoolICU.h: |
| (WTF::LineBreakIteratorPool::makeLocaleWithBreakKeyword): |
| * wtf/text/StringView.cpp: |
| (WTF::normalizedNFC): |
| * wtf/unicode/icu/ICUHelpers.h: Added. |
| (WTF::needsToGrowToProduceCString): |
| (WTF::needsToGrowToProduceBuffer): |
| |
| 2020-04-29 Noam Rosenthal <noam@webkit.org> |
| |
| Add StringView::isAllSpecialCharacters() |
| https://bugs.webkit.org/show_bug.cgi?id=211150 |
| |
| This enables checking for whitespace-only strings without allocating a StringImpl wrapper. |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/text/StringView.h: |
| (WTF::isSpecialCharacter const): |
| |
| 2020-04-27 Ryan Haddad <ryanhaddad@apple.com> |
| |
| [Cocoa] stop using out arguments for document attributes when converting to attributed strings |
| https://bugs.webkit.org/show_bug.cgi?id=211048 |
| |
| Unreviewed partial revert of r260739 to remove unexpected logging that broke Catalina-Release-WK2-Perf tests. |
| |
| * wtf/cocoa/URLCocoa.mm: |
| (WTF::URL::createCFURL const): |
| |
| 2020-04-26 Darin Adler <darin@apple.com> |
| |
| [Cocoa] stop using out arguments for document attributes when converting to attributed strings |
| https://bugs.webkit.org/show_bug.cgi?id=211048 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/cocoa/URLCocoa.mm: |
| (WTF::URL::createCFURL const): Use init instead of initWithString:@"". The two are |
| equivalent in more recent versions of Foundation. |
| |
| 2020-04-26 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com> |
| |
| [PlayStation] Enable TestWTF and TestWebCore |
| https://bugs.webkit.org/show_bug.cgi?id=208849 |
| |
| Reviewed by Don Olmstead. |
| |
| * wtf/PlatformPlayStation.cmake: |
| Add WTF_CopySharedLibs() to install dependencies. |
| |
| 2020-04-26 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Use `static Lock` instead of `static NeverDestroyed<Lock>` |
| https://bugs.webkit.org/show_bug.cgi?id=211036 |
| |
| Reviewed by Darin Adler. |
| |
| Lock can be static-initialized since it has constexpr constructor. No need to use NeverDestroyed<Lock>. |
| |
| * wtf/Logger.h: |
| (WTF::Logger::observerLock): |
| |
| 2020-04-26 Joonghun Park <jh718.park@samsung.com> |
| |
| [WTF] Workaround gcc bug for unsigned bitfield related usual arithmetic conversions |
| https://bugs.webkit.org/show_bug.cgi?id=211044 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::setHost): |
| (WTF::URL::setHostAndPort): |
| (WTF::URL::setUser): |
| (WTF::URL::setPassword): |
| |
| 2020-04-25 Joonghun Park <jh718.park@samsung.com> |
| |
| Unreviewed. Remove the bulid warnings below since r260707. |
| warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare] |
| |
| * wtf/URL.cpp: |
| (WTF::URL::setHost): |
| (WTF::URL::setHostAndPort): |
| (WTF::URL::setUser): |
| (WTF::URL::setPassword): |
| |
| 2020-04-25 Darin Adler <darin@apple.com> |
| |
| [Cocoa] Deal with another round of Xcode upgrade checks |
| https://bugs.webkit.org/show_bug.cgi?id=211027 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * WTF.xcodeproj/project.pbxproj: Bump the upgrade check version. |
| Add a harmless base localization; this project contains nothing localized. |
| |
| 2020-04-25 Alex Christensen <achristensen@webkit.org> |
| |
| Prepare to remove automatic URL->String conversion operators |
| https://bugs.webkit.org/show_bug.cgi?id=211007 |
| |
| Reviewed by Darin Adler. |
| |
| Too many bugs have been caused by the compiler finding a way to make a String from a URL without being visible in the code. |
| This does all the easy things to prepare to remove operator String& and operator NSString*. |
| The hard things will be done in the smaller patch that actually removes them. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::protocolIsJavaScript const): |
| * wtf/URL.h: |
| |
| 2020-04-25 Darin Adler <darin@apple.com> |
| |
| Move URL to use StringView when returning substrings of the URL |
| https://bugs.webkit.org/show_bug.cgi?id=210431 |
| |
| Reviewed by Anders Carlsson. |
| |
| * wtf/URL.cpp: Remove unused CharBuffer type. Remove UCharBuffer |
| type and write the type explicitly in the 3 places it's used. |
| Removed the invalidPortNumber constant, since we use Optional |
| instead of a special port number now. |
| (WTF::copyASCII): Remove unnecessary special case for empty string. |
| Tweaked coding style and comment a bit. |
| (WTF::URL::URL): Streamlined by getting rid of a local variable. |
| (WTF::shouldTrimFromURL): Tweaked coding style. |
| (WTF::URL::lastPathComponent const): Return a StringView. |
| Also, use the pathStart function for clarity. |
| (WTF::URL::port const): Use a StringView to call parseUInt16. |
| (WTF::URL::protocolHostAndPort const): Optimized to always allocate |
| the string in the right size rather than removing characters from it |
| after creating it. |
| (WTF::decodeEscapeSequence): Added. Factored out from the function |
| below to make it a little more readable. |
| (WTF::decodeEscapeSequencesFromParsedURL): Convert a null StringView |
| to a null String rather than an empty String, use a stack buffer and |
| the helper function above, and added some FIXME comments about |
| encoding handling. |
| (WTF::URL::user const): Simplified by calling encodedUser. |
| (WTF::URL::password const): Simplified by calling encodedPassword. |
| (WTF::URL::encodedUser const): Return a StringView. |
| (WTF::URL::encodedPassword const): Ditto. Also renamed from encodedPass. |
| (WTF::URL::fragmentIdentifier const): Ditto. |
| (WTF::URL::hasFragmentIdentifier const): Moved to header so it can |
| be inlined. |
| (WTF::URL::truncatedForUseAsBase const): Renamed from baseAsString. |
| This function is currently only used with local file URLs and it's |
| not perfectly clear to me precisely what it is for, hence the name |
| is not so great. |
| (WTF::URL::fileSystemPath const): Removed unneeded check for validity |
| since isLocalFile does that check. Removed unneeded typecast now that |
| path returns a StringView. |
| (WTF::defaultPortForProtocolMapForTesting): Deleted. |
| (WTF::ensureDefaultPortForProtocolMapForTesting): Deleted. |
| (WTF::registerDefaultPortForProtocolForTesting): Deleted. |
| (WTF::clearDefaultPortForProtocolMapForTesting): Deleted. |
| (WTF::defaultPortForProtocol): Deleted. |
| (WTF::isDefaultPortForProtocol): Deleted. |
| (WTF::protocolIsInternal): Rewrote to take a StringView. Before it |
| was written as a template that looked like it supported classes other |
| than String, but actually would crash if called on a StringView. |
| (WTF::URL::protocolIs const): Removed unneeded explicit cast to StringView. |
| (WTF::URL::query const): Return a StringView. |
| (WTF::URL::path const): Return a StringView, use the pathStart |
| function for clarity. |
| (WTF::URL::setProtocol): Use a toStringWithoutCopying to save some |
| work when making the protocol canonical. Call parse instead of |
| creating a URLParser here. |
| (WTF::URL::credentialsEnd const): Added. Helper for various functions |
| that manipulate the credentials section. |
| (WTF::URL::setHost): Take StringView. Streamlined the code by using |
| StringView::contains, by using makeString rather than StringBuilder, |
| and by calling parse instead of creating a URLParser here. |
| (WTF::URL::removePort): Deleted, since setPort takes an Optional now. |
| (WTF::URL::setPort): Take Optional<uint16_t>. Call parse instead of |
| creating a URLParser here. |
| (WTF::URL::removeHostAndPort): Deleted. Callers can pass a null |
| StringView to setHostAndPort instead. |
| (WTF::URL::setHostAndPort): Take StringView. Don't remove the old |
| host and port in the nomral case where we end up overwriting the entire |
| URL at the end of the function anyway. Use parseUInt16 instead of |
| toIntStrict to check port number for validity, which makes sure we will |
| reject port numbers larger than 65535. Use makeString instead of |
| StringBuilder and call parse rather than creating a URLParser here. |
| (WTF::parse): Added. Helper function for when we create a new string |
| and want to parse it as the new contents of the URL. Used in almost |
| every setter function. |
| (WTF::URL::remove): Added. Helper function for efficiently removing |
| a piece of the URL string and re-parsing. Used in many setter functions. |
| (WTF::URL::setUser): Take StringView. Use makeString instead of |
| StringBuilder, and parse and remove instead of creating a URLParser here. |
| (WTF::URL::setPassword): Renamed from setPass. Take StringView. |
| Use makeString instead of StringBuilder, and parse and remove instead of |
| creating a URLParser here. |
| (WTF::URL::removeCredientials): Added. Efficiently removes both the |
| user name and password if either is present. |
| (WTF::URL::setFragmentIdentifier): Use parse instead of creating |
| a URL parser here. |
| (WTF::URL::removeFragmentIdentifier): Removed unnecessary checks for |
| things already optimized by String::left. Could later consider merging |
| this in with setFragmentIdentifier, using a null vs. empty distinction, |
| but not doing that for now. |
| (WTF::URL::setQuery): Take StringView. |
| (WTF::URL::setPath): Take StringView. |
| (WTF::stringWithoutQueryOrFragmentIdentifier): Added. |
| (WTF::stringWithoutFragmentIdentifier): Added. |
| (WTF::equalIgnoringFragmentIdentifier): Simplified implementation by |
| using stringWithoutFragmentIdentifier. |
| (WTF::equalIgnoringQueryAndFragment): Deleted. |
| (WTF::hostsAreEqual): Deleted. |
| (WTF::URL::isMatchingDomain const): Take StringView. |
| (WTF::protocolIs): Take StringView. |
| (WTF::URL::protocolIs): Moved to inline in the header. |
| (WTF::URL::strippedForUseAsReferrer const): Rewrite for efficiency. |
| (WTF::protocolIsJavaScript): Moved to inline in the header. |
| (WTF::protocolIsInHTTPFamily): Take StringView. |
| (WTF::aboutBlankURL): Use ASCIILiteral. |
| (WTF::aboutSrcDocURL): Use ASCIILiteral. |
| (WTF::portAllowed): Removed 65535 as a blocked port; wasn't needed. |
| (WTF::mimeTypeFromDataURL): Take StringView. |
| (WTF::URL::stringCenterEllipsizedToLength const): Tweaked style. |
| (WTF::URL::fakeURLWithRelativePart): Take StringView. |
| (WTF::URL::fileURLWithFileSystemPath): Take StringView.. |
| (WTF::URL::queryWithLeadingQuestionMark const): Added. |
| (WTF::URL::fragmentIdentifierWithLeadingNumberSign const): Added. |
| (WTF::URL::hostIsIPAddress): Tweak coding style. |
| |
| * wtf/URL.h: Made URLTextEncoding destructor protected. Removed |
| unused forward declaration of URLHash structure. Use WTF_EXPORT_PRIVATE |
| on functions from URL rather than on the whole class, since the style |
| checker told me to do that. Moved some inline function bodies out of |
| the class definition for clarity and to keep the style checker happy. |
| Updated many arguemnts from String to StringView and return values for |
| substrings of the URL to StringView. Removed some unused functions and |
| some obsolete comments. |
| |
| * wtf/cf/CFURLExtras.cpp: |
| (WTF::isCFURLSameOrigin): Use hasCredentials. |
| * wtf/text/StringView.cpp: |
| (WTF::StringView::endsWith const): Added. |
| (WTF::parseUInt16): Added. |
| (WTF::equalRespectingNullity): Added. |
| (WTF::StringView::contains const): Added overload that takes a |
| const char* so the call site doesn't have to convert it to a StringView. |
| |
| * wtf/text/StringView.h: Updated for the additions above. |
| Also added a default start of 0 to the find function. |
| |
| * wtf/text/WTFString.cpp: |
| (WTF::charactersToIntStrict): Removed unneeded explicit template argument. |
| (WTF::charactersToUIntStrict): Ditto. |
| (WTF::charactersToInt64Strict): Ditto. |
| (WTF::charactersToUInt64Strict): Ditto. |
| (WTF::charactersToIntPtrStrict): Ditto. |
| (WTF::charactersToInt): Ditto. |
| (WTF::charactersToUInt): Ditto. |
| (WTF::charactersToInt64): Ditto. |
| (WTF::charactersToUInt64): Ditto. |
| (WTF::charactersToIntPtr): Ditto. |
| |
| 2020-04-24 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] allThreads registration is racy with allThreads unregistration |
| https://bugs.webkit.org/show_bug.cgi?id=210995 |
| <rdar://problem/61609690> |
| |
| Reviewed by Keith Miller. |
| |
| There is a race between registering a thread to allThreads and unregistering a thread from allThreads. |
| |
| 1. Caller: A new thread is created, but not registering it to allThreads yet. |
| 2. Thread: The thread is running. |
| 3. Thread: The thread finishes its execution before the thread is registered into allThreads. |
| 4. Thread: The thread unregisters itself from allThreads. |
| 5. Caller: Registers the new thread to allThreads after it already finished its execution. |
| 6. The thread is never removed from allThreads. |
| |
| This patch adds m_didUnregisterFromAllThreads flag to Thread, and add the thread to allThreads only when this flag is false. |
| |
| Covered by LayoutTests/inspector/cpu-profiler/threads.html. |
| |
| * wtf/Threading.cpp: |
| (WTF::Thread::create): |
| (WTF::Thread::didExit): |
| * wtf/Threading.h: |
| (WTF::Thread::Thread): |
| |
| 2020-04-24 Alex Christensen <achristensen@webkit.org> |
| |
| REGRESSION(260485) Payment requests don't do anything |
| https://bugs.webkit.org/show_bug.cgi?id=210997 |
| <rdar://problem/62275343> |
| |
| Reviewed by Darin Adler. |
| |
| We were giving the PKPaymentRequest an NSArray<NSString *> instead of NSArray<NSURL *>. |
| This was a problem with all uses of createNSArray with Vector<URL>. |
| Now it's fixed with a test. |
| |
| * wtf/URL.h: |
| * wtf/cocoa/URLCocoa.mm: |
| (WTF::makeNSArrayElement): |
| (WTF::makeVectorElement): |
| |
| 2020-04-24 Megan Gardner <megan_gardner@apple.com> |
| |
| Make LEGACY_PDF_SUPPORT feature flag. |
| https://bugs.webkit.org/show_bug.cgi?id=210868 |
| <rdar://problem/62199847> |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-04-24 Youenn Fablet <youenn@apple.com> and Luming Yin <luming_yin@apple.com> |
| |
| Call STDynamicActivityAttributionPublisher in the WebProcess |
| https://bugs.webkit.org/show_bug.cgi?id=210772 |
| <rdar://problem/62075201> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-04-23 Don Olmstead <don.olmstead@sony.com> |
| |
| [CMake] CMAKE_BINARY_DIR should always be a PRIVATE include directory |
| https://bugs.webkit.org/show_bug.cgi?id=196717 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Remove public includes in WTF. |
| |
| * wtf/CMakeLists.txt: |
| |
| 2020-04-22 Darin Adler <darin@apple.com> |
| |
| [Cocoa] Build with UChar as char16_t even in builds that use Apple's internal SDK |
| https://bugs.webkit.org/show_bug.cgi?id=210845 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Configurations/Base.xcconfig: Move ICU-configuring macros to Platform.h. |
| |
| * wtf/Platform.h: Set macros here. The file says not to put things like this in it, |
| but in practice this is the right place to put something that we need set consistently |
| for all the WebKit projects. |
| - U_HIDE_DEPRECATED_API, to make sure we don't use it by accident. |
| - U_SHOW_CPLUSPLUS_API=0, to make sure we don't use it by accident. |
| - UCHAR_TYPE=char16_t when compiling C++, which is the default on most platforms, |
| but not the default in Apple's internal SDK. |
| - U_DISABLE_RENAMING when building on Apple platforms, important so we can link |
| to an older version of ICU and still load with a newer version. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::hostAndPort const): Get rid of an obsolete cast to unsigned to work |
| around uint16_t not being treated as a number by makeString. |
| |
| * wtf/URLHelpers.cpp: Rework to not use deprecated USCRIPT_CODE_LIMIT. |
| (WTF::URLHelpers::whiteListIDNScript): Added overloads. |
| (WTF::URLHelpers::initializeDefaultIDNScriptWhiteList): Use an array of |
| UScriptCode instead of an array of strings. |
| (WTF::URLHelpers::allCharactersInIDNScriptWhiteList): Updated for the above. |
| |
| * wtf/cocoa/NSURLExtras.mm: |
| (WTF::decodePercentEscapes): Use createCFString instead of converting to NString |
| and then typecasting. |
| (WTF::URLByTruncatingOneCharacterBeforeComponent): Updated to use a constexpr |
| instead of a macro. |
| (WTF::dataForURLComponentType): Ditto. |
| (WTF::URLByRemovingComponentAndSubsequentCharacter): Ditto. |
| (WTF::originalURLData): Ditto. |
| |
| 2020-04-22 Claudio Saavedra <csaavedra@igalia.com> |
| |
| [GTK4] Several fixes to GdkEvent APIs for GTK4 |
| https://bugs.webkit.org/show_bug.cgi?id=210856 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * wtf/glib/GTypedefs.h: In GTK4 GdkEvent is a struct. |
| |
| 2020-04-21 Peng Liu <peng.liu6@apple.com> |
| |
| Fix MACCATALYST build failures |
| https://bugs.webkit.org/show_bug.cgi?id=210815 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2020-04-19 Darin Adler <darin@apple.com> |
| |
| [Cocoa] Use createNSArray in many more places that build NSArray objects from C++ collections |
| https://bugs.webkit.org/show_bug.cgi?id=210702 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/cocoa/VectorCocoa.h: Improved the createNSArray function template: |
| 1) Skip nil values. This matches what we do with Optional<> in makeVector and |
| was always my intention; apparently forgot to do it. |
| 2) Instead of taking a const reference argument, take a forwarding reference |
| and use forwarding when passing collection elements to makeNSArrayElement |
| or the passed-in function. Can transfer ownership of collection elements |
| as they are transformed into array elements, which makes sense if the |
| Objective-C objects are wrappers that take ownership of what's wrapped. |
| 3) Take any collection that works with std::size and a range-based for loop, |
| no longer requiring a size member function. Includes arrays. |
| 4) Since this now intended for use on collections other than WTF::Vector, |
| added "using WTF::createNSArray" since argument-dependent lookup won't |
| find the function template in those cases. |
| |
| 2020-04-21 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [Win] Use generic WorkQueue instead of WorkQueueWin.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=210785 |
| |
| Reviewed by Darin Adler. |
| |
| WorkQueueWin was using random threads to execute dispatched |
| functions. This is not desired for IPC::Connection because it |
| needs to call CancelIo API in the same thread started aync |
| ReadFile operations. |
| |
| Implemented RunLoop::dispatchAfter in RunLoopWin.cpp in order to |
| use generic WorkQueue. |
| |
| * wtf/PlatformWin.cmake: |
| * wtf/RunLoop.h: Added DispatchTimer class for USE(WINDOWS_EVENT_LOOP). |
| (WTF::RunLoop::DispatchTimer::DispatchTimer): |
| (WTF::RunLoop::DispatchTimer::setFunction): |
| * wtf/WorkQueue.h: Removed code for USE(WINDOWS_EVENT_LOOP). |
| * wtf/win/RunLoopWin.cpp: |
| (WTF::RunLoop::dispatchAfter): Added. |
| * wtf/win/WorkQueueWin.cpp: Removed. |
| |
| 2020-04-21 Charlie Turner <cturner@igalia.com> |
| |
| [Clang 10] Fix warning: definition of implicit copy assignment operator for 'PageBlock' is deprecated because it has a user-declared copy constructor |
| https://bugs.webkit.org/show_bug.cgi?id=210748 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| Recent Clang's will issue a warning if you declare an explicit |
| copy construction, but leave the compiler to fill in an implicit |
| assignment operator. I think this is to catch cases where you do |
| something exciting in an assignment operator/copy constructor and |
| forget to do the same exciting thing in the other. |
| |
| * wtf/PageAllocation.h: Import the base's constructor to avoid |
| defining our own identical one. |
| * wtf/PageBlock.h: Remove trivial constructor and replace with |
| member initializers. Remove copy constructor. This looks identical |
| to what the compiler would generate anyway. |
| |
| 2020-04-21 Claudio Saavedra <csaavedra@igalia.com> |
| |
| [GTK4] Adapt to GtkIconTheme API changes |
| https://bugs.webkit.org/show_bug.cgi?id=210745 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| * wtf/glib/GTypedefs.h: Remove unneeded GtkIconInfo definition. |
| |
| 2020-04-20 Timothy Horton <timothy_horton@apple.com> |
| |
| Try to fix the build after r260407 |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-04-20 Peng Liu <peng.liu6@apple.com> |
| |
| Fix build failures when video fullscreen and picture-in-picture is disabled |
| https://bugs.webkit.org/show_bug.cgi?id=210777 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2020-04-20 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Add document about WTF malloc-related macros |
| https://bugs.webkit.org/show_bug.cgi?id=208367 |
| |
| Reviewed by Anders Carlsson, Simon Fraser, and Darin Adler. |
| |
| This adds document about WTF malloc-related macros since we have bunch of macros now. |
| |
| * wtf/FastMalloc.h: |
| |
| 2020-04-20 Darin Adler <darin@apple.com> |
| |
| REGRESSION (r253987): StringImpl::adopt(Vector&&) copies only half of the characters in the Vector when copying across malloc zones |
| https://bugs.webkit.org/show_bug.cgi?id=210736 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/text/StringImpl.cpp: |
| (WTF::StringImpl::replace): Use copyCharacters instead of memcpy. |
| |
| * wtf/text/StringImpl.h: Use std::is_same_v instead of std::is_same. |
| (WTF::StringImpl::StringImpl): Use copyCharacters instead of memcpy. |
| Also drop C-style cast to cast away const. |
| (WTF::StringImpl::adopt): Don't even try to adopt across malloc zones. |
| |
| 2020-04-20 Darin Adler <darin@apple.com> |
| |
| Use #import instead of #include in Objective-C and don't use #pragma once |
| https://bugs.webkit.org/show_bug.cgi?id=210724 |
| |
| Reviewed by David Kilzer. |
| |
| * wtf/cocoa/Entitlements.mm: |
| * wtf/cocoa/FileSystemCocoa.mm: |
| * wtf/cocoa/MainThreadCocoa.mm: |
| * wtf/cocoa/SystemTracingCocoa.cpp: |
| * wtf/mac/DeprecatedSymbolsUsedBySafari.mm: |
| * wtf/mac/SchedulePairMac.mm: |
| * wtf/text/cocoa/StringCocoa.mm: |
| * wtf/text/cocoa/TextStreamCocoa.mm: |
| More #import. |
| |
| 2020-04-19 Brady Eidson <beidson@apple.com> |
| |
| Add WKScriptMessageHandler API that asynchronously responds with a promise. |
| rdar://problem/57243492 and https://bugs.webkit.org/show_bug.cgi?id=206398 |
| |
| Reviewed by Andy Estes. |
| |
| * wtf/CompletionHandler.h: |
| (WTF::CompletionHandlerWithFinalizer<Out): Add a variant of CompletionHandler that allows for a Finalizer function |
| to handle cases where the Completion function hasn't been called at destruction time. |
| |
| 2020-04-19 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Enable BigInt |
| https://bugs.webkit.org/show_bug.cgi?id=210726 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/PlatformUse.h: |
| |
| 2020-04-18 Robin Morisset <rmorisset@apple.com> |
| |
| Support an inlined representation in JSValue of small BigInts ("BigInt32") |
| https://bugs.webkit.org/show_bug.cgi?id=206182 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Add a USE(BIGINT32) flag. |
| |
| * wtf/PlatformUse.h: |
| |
| 2020-04-18 Keith Miller <keith_miller@apple.com> |
| |
| Redesign how we do for-of iteration for JSArrays |
| https://bugs.webkit.org/show_bug.cgi?id=175454 |
| |
| Reviewed by Filip Pizlo. |
| |
| * wtf/EnumClassOperatorOverloads.h: |
| |
| 2020-04-18 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Move DataRef.h from WebCore to WTF to utilize it in JSC |
| https://bugs.webkit.org/show_bug.cgi?id=210689 |
| |
| Reviewed by Anders Carlsson. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/DataRef.h: Renamed from Source/WebCore/rendering/style/DataRef.h. |
| |
| 2020-04-17 Saam Barati <sbarati@apple.com> |
| |
| GetTypedArrayByteOffset is broken on arm64e |
| https://bugs.webkit.org/show_bug.cgi?id=210631 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/CagedPtr.h: |
| (WTF::CagedPtr::rawBits const): |
| |
| 2020-04-17 Peng Liu <peng.liu6@apple.com> |
| |
| Cleanup the macros for video fullscreen and picture-in-picture |
| https://bugs.webkit.org/show_bug.cgi?id=210638 |
| |
| Reviewed by Eric Carlson. |
| |
| Add macro ENABLE_VIDEO_PRESENTATION_MODE. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2020-04-17 Claudio Saavedra <csaavedra@igalia.com> |
| |
| [GTK][WPE] Bump dependencies minimum required version in Platform.h |
| https://bugs.webkit.org/show_bug.cgi?id=210651 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| Bring the minimum required version in Platform.h in sync with the actual |
| minimal required version. This ensures that deprecated APIs used bring up |
| compilation warnings. |
| |
| * wtf/Platform.h: |
| |
| 2020-04-17 Per Arne Vollan <pvollan@apple.com> |
| |
| [iOS] Deny iokit open access to graphics related classes |
| https://bugs.webkit.org/show_bug.cgi?id=210616 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/spi/darwin/SandboxSPI.h: |
| |
| 2020-04-17 Youenn Fablet <youenn@apple.com> |
| |
| Make use of WeakHashSet for MediaStreamTrackPrivate and RealtimeMediaSource observers |
| https://bugs.webkit.org/show_bug.cgi?id=210492 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/WeakHashSet.h: |
| |
| 2020-04-16 Daniel Bates <dabates@apple.com> |
| |
| Clean up VectorCocoa createNSArray overloads and add documentation for createNSArray taking a map function |
| https://bugs.webkit.org/show_bug.cgi?id=210610 |
| |
| Reviewed by Darin Adler. |
| |
| Remove unnecessary local variable. Rename "map" type in createNSArray function for clarity |
| and add documentation for createNSArray function that takes a map function. |
| |
| I was tempted, but decided not to write the createNSArray function that does not take a |
| map function in terms of the one that did. With the "right" optimization settings the |
| compiler should emit the same code, but I didn't verify this. So, I didn't do it. |
| |
| While I am here, update makeVector() to call shrinkToFit() to reduce the memory footprint |
| of the returned vector should it end of having less entries, due to filtering, than its |
| initial capacity. |
| |
| * wtf/cocoa/VectorCocoa.h: |
| (WTF::createNSArray): See above description. |
| (WTF::makeVector): Shrink to fit before returning the vector. See above for more details. |
| |
| 2020-04-16 Daniel Bates <dabates@apple.com> |
| |
| Move -_requestTextInputContextsInRect to WKContentView to simplify implementation |
| https://bugs.webkit.org/show_bug.cgi?id=210398 |
| <rdar://problem/61656931> |
| |
| Reviewed by Darin Adler. |
| |
| Add a convenience function to create an NSArray from a WTF::Vector with a transform function. |
| The tranform function can either return a RetainPtr or an id. |
| |
| * wtf/cocoa/VectorCocoa.h: |
| (WTF::createNSArray): Added. |
| |
| 2020-04-16 Eric Carlson <eric.carlson@apple.com> |
| |
| [macOS] Update ScreenTime as playback state changes |
| https://bugs.webkit.org/show_bug.cgi?id=210518 |
| <rdar://problem/61181092> |
| |
| Reviewed by Jer Noble. |
| |
| Define HAVE_MEDIA_USAGE_FRAMEWORK and ENABLE_MEDIA_USAGE |
| |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformHave.h: |
| |
| 2020-04-16 Alberto Garcia <berto@igalia.com> |
| |
| Unreviewed, set CeilingOnPageSize for MIPS64 |
| |
| This fixes a build failure ("Must set CeilingOnPageSize in |
| PageBlock.h"). |
| |
| * wtf/PageBlock.h: |
| |
| 2020-04-15 Chris Dumez <cdumez@apple.com> |
| |
| [IPC Hardening] MachMessage::messageSize() should use checked arithmetic |
| https://bugs.webkit.org/show_bug.cgi?id=210567 |
| <rdar://problem/61734355> |
| |
| Reviewed by Geoffrey Garen. |
| |
| Add operator / to CheckedArithmetic for convenience. |
| |
| * wtf/CheckedArithmetic.h: |
| (WTF::safeDivide): |
| (WTF::Checked::operator/=): |
| (WTF::operator/): |
| |
| 2020-04-15 Robin Morisset <rmorisset@apple.com> |
| |
| Flaky Test: fetch/fetch-worker-crash.html |
| https://bugs.webkit.org/show_bug.cgi?id=187257 |
| <rdar://problem/48527526> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Make startMachExceptionHandlerThread visible so that we can make sure it is called whenever initializing JSC. |
| |
| * wtf/threads/Signals.cpp: |
| (WTF::startMachExceptionHandlerThread): |
| * wtf/threads/Signals.h: |
| |
| 2020-04-14 Peng Liu <peng.liu6@apple.com> |
| |
| Adopt interface AVAudioRoutingArbiter for Mac |
| https://bugs.webkit.org/show_bug.cgi?id=210167 |
| |
| Reviewed by Eric Carlson. |
| |
| Add macro HAVE_AVAUDIO_ROUTING_ARBITER. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-04-13 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r260052. |
| https://bugs.webkit.org/show_bug.cgi?id=210479 |
| |
| Breaks iOS tests, needs more work (Requested by smfr on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "Add ENABLE_CUSTOM_SCROLLBARS and define it for macOS and for |
| non-Cocoa platforms" |
| https://bugs.webkit.org/show_bug.cgi?id=210460 |
| https://trac.webkit.org/changeset/260052 |
| |
| 2020-04-13 David Kilzer <ddkilzer@apple.com> |
| |
| Replace use of Checked<size_t, RecordOverflow> with CheckedSize |
| <https://webkit.org/b/210461> |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/FastMalloc.cpp: |
| (WTF::tryFastCalloc): |
| * wtf/Gigacage.cpp: |
| (Gigacage::tryMallocArray): |
| * wtf/glib/SocketConnection.cpp: |
| (WTF::SocketConnection::sendMessage): |
| |
| 2020-04-13 Simon Fraser <simon.fraser@apple.com> |
| |
| Add ENABLE_CUSTOM_SCROLLBARS and define it for macOS and for non-Cocoa platforms |
| https://bugs.webkit.org/show_bug.cgi?id=210460 |
| |
| Reviewed by Tim Horton. |
| |
| Define ENABLE_CUSTOM_SCROLLBARS for PLATFORM(MAC) and other non-Cocoa platforms. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-04-13 David Kilzer <ddkilzer@apple.com> |
| |
| Fix clang static analyzer warnings about unused instance variables in WebIconDatabase, WKView |
| <https://webkit.org/b/210427> |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/Compiler.h: |
| (WK_UNUSED_INSTANCE_VARIABLE): Add. |
| |
| 2020-04-13 Joonghun Park <jh718.park@samsung.com> |
| |
| Unreviewed. Remove redundant move in return statement. |
| |
| Return statement already returns rvalue, |
| so we don't need move here. |
| |
| This patch removes the build warning below since r259922. |
| warning: redundant move in return statement [-Wredundant-move] |
| |
| * wtf/persistence/PersistentCoders.cpp: |
| (WTF::Persistence::Coder<CString>::decode): |
| (WTF::Persistence::decodeStringText): |
| (WTF::Persistence::Coder<SHA1::Digest>::decode): |
| * wtf/persistence/PersistentCoders.h: |
| |
| 2020-04-12 Mark Lam <mark.lam@apple.com> |
| |
| Enable the ability to build the ASM LLInt for ARMv7k. |
| https://bugs.webkit.org/show_bug.cgi?id=210412 |
| |
| Reviewed by Sam Weinig. |
| |
| Remove some old code that forces the ENABLE(C_LOOP) to be true if ENABLE(JIT) is |
| false. These 2 options used to be mutually exclusive, but is no more. Now, we |
| allow platforms to choose to build the ASM LLInt instead even if ENABLE(JIT) is |
| false. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2020-04-12 Darin Adler <darin@apple.com> |
| |
| [Cocoa] Minor tweaks to code to get locale strings to remove one-time-initialization booleans |
| https://bugs.webkit.org/show_bug.cgi?id=210410 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp: |
| (WTF::textBreakLocalePreference): Use auto, and no need to explicitly mark this inline. |
| (WTF::topLanguagePreference): Use auto. |
| (WTF::localeIDInBuffer): Renamed from getLocale. Changed to return a std::array and to |
| handle failure cases afterward rather than by initializing beforehand. |
| (WTF::getSearchLocale): Deleted. |
| (WTF::currentSearchLocaleID): Using "static const auto", wrote this in a straightforward |
| and compact way, using localeIDInBuffer and topLanguagePreference. |
| (WTF::textBreakLocale): Renamed from getTextBreakLocale and changed to return a |
| RetainPtr<CFStringRef>. |
| (WTF::currentTextBreakLocaleID): Using "static const auto", wrote this in a straightforward |
| and compact way, using localeIDInBuffer and textBreakLocale. |
| |
| 2020-04-12 David Kilzer <ddkilzer@apple.com> |
| |
| Follow-up: WTF::Persistence::Coder and WTF::Persistence::Decoder should use WARN_UNUSED_RETURN |
| <https://webkit.org/b/210238> |
| <rdar://problem/61491575> |
| |
| Changes based on feedback from Alex Christensen and Darin Adler: |
| - Remove WARN_UNUSED_RETURN from methods returning Optional<>. |
| - Place WARN_UNUSED_RETURN consistently before the return type. |
| |
| * wtf/persistence/PersistentDecoder.h: |
| |
| 2020-04-10 Alex Christensen <achristensen@webkit.org> |
| |
| PersistentCoders should use modern decoding syntax |
| https://bugs.webkit.org/show_bug.cgi?id=207497 |
| |
| Reviewed by Darin Adler. |
| |
| This paves the way for more serialized types that do not have a default constructor. |
| |
| * wtf/persistence/PersistentCoder.h: |
| (WTF::Persistence::Coder::encode): |
| (WTF::Persistence::Coder::decode): |
| * wtf/persistence/PersistentCoders.cpp: |
| (WTF::Persistence::Coder<AtomString>::decode): |
| (WTF::Persistence::Coder<CString>::decode): |
| (WTF::Persistence::decodeStringText): |
| (WTF::Persistence::Coder<String>::decode): |
| (WTF::Persistence::Coder<SHA1::Digest>::decode): |
| * wtf/persistence/PersistentCoders.h: |
| (WTF::Persistence::Coder<Optional<T>>::decode): |
| (WTF::Persistence::Coder<Seconds>::decode): |
| (WTF::Persistence::Coder<WallTime>::decode): |
| * wtf/persistence/PersistentDecoder.cpp: |
| (WTF::Persistence::Decoder::decodeNumber): |
| (WTF::Persistence::Decoder::operator>>): |
| (WTF::Persistence::Decoder::decode): Deleted. |
| * wtf/persistence/PersistentDecoder.h: |
| (WTF::Persistence::Decoder::operator>>): |
| (WTF::Persistence::Decoder::decode): Deleted. |
| (WTF::Persistence::Decoder::decodeEnum): Deleted. |
| * wtf/persistence/PersistentEncoder.h: |
| (WTF::Persistence::Encoder::operator<<): |
| (WTF::Persistence::Encoder::encode): Deleted. |
| (WTF::Persistence::Encoder::encodeEnum): Deleted. |
| |
| 2020-04-10 David Kilzer <ddkilzer@apple.com> |
| |
| Follow-up: Add WARN_UNUSED_RETURN to decode methods in Source/WTF |
| <https://webkit.org/b/210323> |
| <rdar://problem/61565764> |
| |
| Changes based on feedback from Alex Christensen and Darin Adler: |
| - Remove WARN_UNUSED_RETURN from methods returning Optional<>. |
| - Place WARN_UNUSED_RETURN consistently before the return type. |
| |
| * wtf/MediaTime.h: |
| * wtf/MonotonicTime.h: |
| * wtf/ObjectIdentifier.h: |
| (WTF::ObjectIdentifier::decode): |
| * wtf/Seconds.h: |
| * wtf/URL.h: |
| |
| 2020-04-10 Alicia Boya GarcÃa <aboya@igalia.com> |
| |
| [WTF] DataMutex: Add runUnlocked() |
| https://bugs.webkit.org/show_bug.cgi?id=209811 |
| |
| Reviewed by Xabier Rodriguez-Calvar. |
| |
| This patch introduces a runUnlocked() method in WTF::DataMutex::LockedWrapper |
| to run a lambda function without the lock. This is intended to be used for |
| small sections of the code that need to be unlocked, in cases where using |
| scoping would prove non-ergonomic or where running the unlocked section is only |
| necessary or desired when a certain condition is met -- something that cannot |
| be done with C++ scoping. |
| |
| Safety mechanisms are provided. First, because this is used with a lambda, all |
| variables to be used in the unlocked section have to be specified in the |
| capture (global capture is possible but not recommended to simplify analysis). |
| Second, additional checks have been added to DataMutex to detect unlocked |
| accesses among other conditions. This will detect among other things naive |
| access to protected members by means of capturing the LockedWrapper by |
| reference. |
| |
| * wtf/DataMutex.h: |
| (WTF::OwnerAwareLockAdapter::lock): |
| (WTF::OwnerAwareLockAdapter::unlock): |
| (WTF::OwnerAwareLockAdapter::tryLock): |
| (WTF::OwnerAwareLockAdapter::isLocked const): |
| (WTF::DataMutex::LockedWrapper::operator->): |
| (WTF::DataMutex::LockedWrapper::operator*): |
| (WTF::DataMutex::LockedWrapper::mutex): |
| (WTF::DataMutex::LockedWrapper::lockHolder): |
| (WTF::DataMutex::LockedWrapper::runUnlocked): |
| |
| 2020-04-10 David Kilzer <ddkilzer@apple.com> |
| |
| Add WARN_UNUSED_RETURN to decode methods in Source/WTF |
| <https://webkit.org/b/210323> |
| <rdar://problem/61565764> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/MediaTime.h: |
| * wtf/MonotonicTime.h: |
| * wtf/ObjectIdentifier.h: |
| (WTF::ObjectIdentifier::decode): |
| * wtf/Seconds.h: |
| * wtf/URL.h: |
| * wtf/persistence/PersistentCoder.h: |
| (WTF::Persistence::Coder::decode): |
| |
| 2020-04-08 Darin Adler <darin@apple.com> |
| |
| [Cocoa] Simplify NSArray, NSDictionary, and NSNumber idioms throughout WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=210138 |
| |
| Reviewed by Alex Christensen. |
| |
| * WTF.xcodeproj/project.pbxproj: Added VectorCocoa.h. |
| * wtf/PlatformMac.cmake: Ditto. |
| |
| * wtf/cocoa/NSURLExtras.mm: Removed unneeded include. |
| * wtf/cocoa/URLCocoa.mm: Ditto. |
| |
| * wtf/cocoa/VectorCocoa.h: Added. Contains createNSArray and makeVector |
| function templates for converting NSArray to and from Vector. |
| |
| * wtf/text/WTFString.h: Added makeNSArrayElement and makeVectorElement |
| functions, making createNSArray and makeVector compatible with String. |
| * wtf/text/cocoa/StringCocoa.mm: |
| (WTF::makeNSArrayElement): Added. |
| (WTF::makeVectorElement): Added. |
| |
| 2020-04-09 David Kilzer <ddkilzer@apple.com> |
| |
| Add using WTF::isInBounds to CheckedArithmetic.h |
| <https://webkit.org/b/210299> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/CheckedArithmetic.h: |
| - Add `using WTF::isInBounds` statement so this function may be |
| used unprefixed outside the WTF project. |
| |
| 2020-04-09 David Kilzer <ddkilzer@apple.com> |
| |
| WTF::Persistence::Coder and WTF::Persistence::Decoder should use WARN_UNUSED_RETURN |
| <https://webkit.org/b/210238> |
| <rdar://problem/61491575> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/persistence/PersistentCoders.cpp: |
| (WTF::Persistence::decodeStringText): |
| - Add WARN_UNUSED_RETURN. |
| |
| * wtf/persistence/PersistentCoders.h: |
| (WTF::Persistence::Coder<Optional<T>>::decode): |
| (WTF::Persistence::Coder<Seconds>::decode): |
| (WTF::Persistence::Coder<WallTime>::decode): |
| - Add WARN_UNUSED_RETURN. |
| - Add missing return value check for |
| decode.decodeFixedLengthData(). |
| |
| * wtf/persistence/PersistentDecoder.h: |
| (WTF::Persistence::Decoder::decode): |
| (WTF::Persistence::Decoder::decodeEnum): |
| (WTF::Persistence::Decoder::bufferIsLargeEnoughToContain const): |
| - Add WARN_UNUSED_RETURN. |
| |
| 2020-04-09 David Kilzer <ddkilzer@apple.com> |
| |
| Follow-up: WTF::Persistence::VectorCoder and IPC::VectorArgumentCoder should do bounds checking without crashing |
| <https://webkit.org/b/210227> |
| <rdar://problem/60832243> |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/persistence/PersistentCoders.h: |
| (WTF::Persistence::VectorCoder::decode): |
| - Replace safeCast<size_t> with isInBounds<size_t> so that we |
| don't crash if `decodedSize` is too big. Instead we fail |
| decoding by returning early. |
| - Revert checked arithemtic for multiplication since |
| bufferIsLargeEnoughToContain<T(size) already did this check |
| for us. |
| |
| 2020-04-09 Mark Lam <mark.lam@apple.com> |
| |
| Implement a more efficient tagCFunction() tool. |
| https://bugs.webkit.org/show_bug.cgi?id=210254 |
| |
| Reviewed by Keith Miller. |
| |
| The current tagCFunctionPtr() tool does some extra work that is not needed if |
| we are tagging a known function and not a potentially arbitrary pointer. For |
| example, |
| 1. it doesn't need to do a null check. |
| 2. it doesn't need to authenticate the function address. |
| 3. The RELEASE_ASSERT used to enforce that authentication can also go away. |
| |
| We should only use tagCFunction() (instead of tagCFunctionPtr()) if we know for |
| certain that we're operating on a C/C++ function, and not some arbitrary pointer. |
| |
| * wtf/PtrTag.h: |
| (WTF::tagCFunction): |
| |
| 2020-04-08 David Kilzer <ddkilzer@apple.com> |
| |
| WTF::Persistence::VectorCoder and IPC::VectorArgumentCoder should use checked arithmetic |
| <https://webkit.org/b/210227> |
| <rdar://problem/60832243> |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/persistence/PersistentCoders.h: |
| (WTF::Persistence::VectorCoder::decode): |
| - Use checked arithemtic for multiplication. |
| |
| 2020-04-08 Chris Dumez <cdumez@apple.com> |
| |
| querySelector("#\u0000") should match an element with ID U+FFFD |
| https://bugs.webkit.org/show_bug.cgi?id=210119 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/text/StringImpl.cpp: |
| (WTF::StringImpl::replace): |
| Slightly optimize the 16-bit code path of StringImpl::replace(). Since we know |
| there is no character match from indexes 0 to i, we can simply use memcpy for |
| this range. |
| |
| 2020-04-08 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Remove ENABLE_INTL define |
| https://bugs.webkit.org/show_bug.cgi?id=210164 |
| |
| Reviewed by Darin Adler. |
| |
| AppleWin (and, following suit, FTW) was the only upstream platform turning ENABLE_INTL off; |
| now that their headers have been upgraded to ICU 62, this define can be removed entirely. |
| |
| Going forward, we thus assume JSC has an Intl object and can simply runtime-guard any new features added to it. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-04-08 Adrian Perez de Castro <aperez@igalia.com> |
| |
| [GTK4] Make PAL::systemBeep() work |
| https://bugs.webkit.org/show_bug.cgi?id=210158 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * wtf/Platform.h: Define a value for GDK_VERSION_MIN_REQUIRED suitable for GTK4. |
| |
| 2020-04-08 Tim Horton <timothy_horton@apple.com> |
| |
| Rearrange and simplify some JSC feature flags |
| https://bugs.webkit.org/show_bug.cgi?id=210152 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformHave.h: |
| * wtf/PlatformUse.h: |
| |
| 2020-04-08 Philippe Normand <pnormand@igalia.com> |
| |
| [GTK][WPE] Release logs are unconditionally filling the journal |
| https://bugs.webkit.org/show_bug.cgi?id=209421 |
| |
| Reviewed by Carlos Alberto Lopez Perez. |
| |
| * wtf/Assertions.h: Don't send logs to systemd for disabled log channels. |
| * wtf/Logger.h: |
| (WTF::Logger::willLog const): Ditto. |
| |
| 2020-04-07 Chris Dumez <cdumez@apple.com> |
| |
| Merge DependencyAssertion into ProcessAssertion |
| https://bugs.webkit.org/show_bug.cgi?id=210076 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-04-07 Saam Barati <sbarati@apple.com> |
| |
| RAMification should have a way of gathering vmmaps for each test at the end of each run |
| https://bugs.webkit.org/show_bug.cgi?id=210060 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/FastMalloc.cpp: |
| (WTF::fastDisableScavenger): |
| * wtf/FastMalloc.h: |
| |
| 2020-04-06 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Update minimum ICU version to 60.2 |
| https://bugs.webkit.org/show_bug.cgi?id=209694 |
| |
| Reviewed by Darin Adler. |
| |
| This patch has two immediate motivations: |
| 1. To properly introduce a minimum ICU version for WebKit as a whole |
| (responding to a pain point identified in bug 209579) |
| 2. To support the development of ECMA-402 Intl API features, which JSC is quite behind on |
| (and which often boil down to exposing ICU functionality to JavaScript) |
| |
| * icu/LICENSE: |
| * icu/README: |
| * icu/unicode/: |
| Update ICU headers to major version 62, the version included in macOS Mojave. |
| |
| * wtf/text/AtomString.h: |
| * wtf/text/WTFString.h: |
| Remove obsoleted compile-time version checks. |
| |
| * wtf/text/cocoa/StringCocoa.mm: |
| (WTF::String::String): |
| * wtf/text/cocoa/StringViewCocoa.mm: |
| (WTF::StringView::createNSString const): |
| (WTF::StringView::createNSStringWithoutCopying const): |
| Manually convert between UChar and UniChar/unichar where needed. |
| |
| 2020-04-06 Saam Barati <sbarati@apple.com> |
| |
| Implement 1GB of executable memory on arm64 |
| https://bugs.webkit.org/show_bug.cgi?id=208490 |
| <rdar://problem/60797127> |
| |
| Reviewed by Keith Miller. |
| |
| * wtf/MetaAllocator.cpp: |
| (WTF::MetaAllocatorTracker::notify): |
| (WTF::MetaAllocatorTracker::release): |
| (WTF::MetaAllocator::release): |
| (WTF::MetaAllocatorHandle::MetaAllocatorHandle): |
| (WTF::MetaAllocatorHandle::~MetaAllocatorHandle): |
| (WTF::MetaAllocatorHandle::shrink): |
| (WTF::MetaAllocator::MetaAllocator): |
| (WTF::MetaAllocator::allocate): |
| (WTF::MetaAllocator::currentStatistics): |
| * wtf/MetaAllocator.h: |
| (WTF::MetaAllocatorTracker::find): |
| (WTF::MetaAllocator::allocate): |
| (WTF::MetaAllocator::currentStatistics): |
| (WTF::MetaAllocator::getLock): Deleted. |
| * wtf/MetaAllocatorHandle.h: |
| (WTF::MetaAllocatorHandle::allocator): |
| (WTF::MetaAllocatorHandle::isManaged): Deleted. |
| (WTF::MetaAllocatorHandle::ownerUID): Deleted. |
| * wtf/PlatformEnable.h: |
| * wtf/RedBlackTree.h: |
| * wtf/StdLibExtras.h: |
| (WTF::constructFixedSizeArrayWithArgumentsImpl): |
| (WTF::constructFixedSizeArrayWithArguments): |
| |
| 2020-04-04 Darin Adler <darin@apple.com> |
| |
| Stop using live ranges in DocumentMarkerController |
| https://bugs.webkit.org/show_bug.cgi?id=209985 |
| |
| Reviewed by Antti Koivisto. |
| |
| * wtf/RetainPtr.h: Define "id" here when compiling non-ObjC so it's easier to use |
| RetainPtr<id> in any header file. Lets us stop doing this many other places. |
| Harmless when not needed. |
| |
| 2020-04-04 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [Clang 10] Fix -Wimplicit-int-float-conversion compilation warnings in WTF |
| https://bugs.webkit.org/show_bug.cgi?id=209955 |
| |
| Reviewed by Darin Adler. |
| |
| Clang 10 reports a compilation warning for int to float |
| conversions losing the precision. The warning is often reported |
| for code converting a floating point value to an integer value. |
| For example: |
| |
| > Optional<int> positive_float_to_int(float f) { |
| > if (f > INT_MAX) |
| > return nullopt; |
| > return static_cast<int>(f); |
| > } |
| |
| INT_MAX is implicitly converted float, but float can't keep the |
| precision of such large value. And, C++ spec doesn't specify |
| whether it would be rounded up or down. Above code should be |
| rewritten to: |
| |
| > Optional<int> positive_float_to_int(float f) { |
| > if (f >= pow(2, 31)) |
| > return nullopt; |
| > return static_cast<int>(f); |
| > } |
| |
| Instead of using pow, this change added a template variable |
| maxPlusOne<T>. |
| |
| * wtf/MathExtras.h: |
| (powerOfTwo): Added. |
| (doubleToInteger): Added. |
| (maxPlusOne): Added. |
| * wtf/MediaTime.cpp: |
| (WTF::MediaTime::createWithFloat): |
| (WTF::MediaTime::createWithDouble): |
| |
| 2020-04-03 David Kilzer <ddkilzer@apple.com> |
| |
| [Xcode] Replace ASAN_OTHER_CFLAGS and ASAN_OTHER_CPLUSPLUSFLAGS with $(inherited) |
| <https://webkit.org/b/209963> |
| <rdar://problem/61257504> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Configurations/Base.xcconfig: |
| - Remove ASAN_OTHER_CFLAGS, ASAN_OTHER_CPLUSPLUSFLAGS and |
| ASAN_OTHER_LDFLAGS. |
| |
| 2020-04-02 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r259390. |
| https://bugs.webkit.org/show_bug.cgi?id=209944 |
| |
| It broke WinCairo builds (Requested by fujihiro on #webkit). |
| |
| Reverted changeset: |
| |
| "Enable offlineasm debug annotations for GCC" |
| https://bugs.webkit.org/show_bug.cgi?id=207119 |
| https://trac.webkit.org/changeset/259390 |
| |
| 2020-04-02 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Replace UIKit background task with a RunningBoard FinishTaskInterruptable assertion |
| https://bugs.webkit.org/show_bug.cgi?id=209825 |
| <rdar://problem/61118503> |
| |
| Reviewed by Geoffrey Garen. |
| |
| Add build-time flag for WebKit-specific assertion in RunningBoard. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-04-02 Keith Rollin <krollin@apple.com> |
| |
| Address static analysis warning in DataLog.cpp: Value stored to 'pathCharactersAvailable' is never read |
| https://bugs.webkit.org/show_bug.cgi?id=202153 |
| <rdar://problem/55671845> |
| |
| Reviewed by David Kilzer. |
| |
| Bug 168914 introduced some code that will initialize a variable to |
| zero, but then never use that variable afterwards. Address this by |
| removing the assignment. |
| |
| * wtf/DataLog.cpp: |
| (WTF::setDataFile): |
| |
| 2020-03-31 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| Update check for aarch64 |
| https://bugs.webkit.org/show_bug.cgi?id=209322 |
| |
| Reviewed by Mark Lam. |
| |
| CPU(ARM64) is used on Linux, so checking to avoid Apple platforms doesn't make much sense. |
| The comment implying that this is an Apple architecture also no longer makes sense. |
| |
| * wtf/PlatformCPU.h: |
| |
| 2020-03-31 Sihui Liu <sihui_liu@apple.com> |
| |
| IndexedDB: destroy WebIDBServer when session is removed in network process |
| https://bugs.webkit.org/show_bug.cgi?id=209606 |
| <rdar://problem/59310081> |
| |
| Reviewed by Geoffrey Garen. |
| |
| Add function to kill CrossThreadTaskHandler and make thread finish. Also add a callback to be called before |
| thread finishes. |
| |
| * wtf/CrossThreadTaskHandler.cpp: |
| (WTF::CrossThreadTaskHandler::CrossThreadTaskHandler): |
| (WTF::CrossThreadTaskHandler::setCompletionCallback): |
| (WTF::CrossThreadTaskHandler::kill): |
| * wtf/CrossThreadTaskHandler.h: |
| |
| 2020-03-30 David Kilzer <ddkilzer@apple.com> |
| |
| Fix "Dead nested assignment" static analyzer warning in monthFromDayInYear() |
| <https://webkit.org/b/209718> |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/DateMath.h: |
| (WTF::monthFromDayInYear): Change the last check so it doesn't |
| assign a value to `step`, thus avoiding the warning. |
| |
| 2020-03-28 Simon Fraser <simon.fraser@apple.com> |
| |
| Add a ScrollLatching log channel and improve some logging functionality |
| https://bugs.webkit.org/show_bug.cgi?id=209706 |
| |
| Reviewed by Darin Adler, David Kilzer. |
| |
| * wtf/text/TextStream.h: |
| (WTF::ValueOrNull::ValueOrNull): |
| (WTF::operator<<): |
| |
| 2020-03-27 Simon Fraser <simon.fraser@apple.com> |
| |
| Define ENABLE_WHEEL_EVENT_LATCHING and use it to wrap wheel event latching code |
| https://bugs.webkit.org/show_bug.cgi?id=209693 |
| |
| Reviewed by Zalan Bujtas. |
| |
| Define ENABLE_WHEEL_EVENT_LATCHING for macOS. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2020-03-27 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| REGRESSION(r258857): Broke aarch64 JSCOnly CI |
| https://bugs.webkit.org/show_bug.cgi?id=209670 |
| |
| Reviewed by Carlos Alberto Lopez Perez. |
| |
| Change aarch64 to use 4 KB rather than 64 KB as the ceiling on page size. |
| |
| This change is definitely incorrect, because it will break our internal aarch64 CI that uses |
| 64 KB pages. But maybe it will fix the public aarch64 CI bot that is using 4 KB pages? |
| Further investigation is required, because 64 KB should have been a safe value for all |
| platforms, but first step is to commit this and see what happens. |
| |
| * wtf/PageBlock.h: |
| |
| 2020-03-26 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| Fix various compiler warnings |
| https://bugs.webkit.org/show_bug.cgi?id=209438 |
| |
| Reviewed by Darin Adler. |
| |
| Suppress -Wclass-memaccess warning. ConcurrentBuffer is documented to support types that are |
| bit-copyable but not copy-constructable. This is strange, but who am I to question it? |
| |
| * wtf/ConcurrentBuffer.h: |
| |
| 2020-03-25 Christopher Reid <chris.reid@sony.com> |
| |
| [PlayStation] Specify a 16 KB minimum page size |
| https://bugs.webkit.org/show_bug.cgi?id=209566 |
| |
| Reviewed by Ross Kirsling. |
| |
| * wtf/PageBlock.h: |
| |
| 2020-03-25 Sihui Liu <sihui_liu@apple.com> |
| |
| Remove unused suspend functions in CrossThreadTaskHandler |
| https://bugs.webkit.org/show_bug.cgi?id=209553 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/CrossThreadTaskHandler.cpp: |
| (WTF::CrossThreadTaskHandler::taskRunLoop): |
| (WTF::CrossThreadTaskHandler::suspendAndWait): Deleted. |
| (WTF::CrossThreadTaskHandler::resume): Deleted. |
| * wtf/CrossThreadTaskHandler.h: |
| |
| 2020-03-24 Per Arne Vollan <pvollan@apple.com> |
| |
| [Cocoa] Fix launch time regression with CF prefs direct mode enabled |
| https://bugs.webkit.org/show_bug.cgi?id=209244 |
| |
| Reviewed by Darin Adler. |
| |
| Re-enable CF prefs direct mode. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-03-24 Per Arne Vollan <pvollan@apple.com> |
| |
| [Cocoa] Deny access to database mapping service |
| https://bugs.webkit.org/show_bug.cgi?id=209339 |
| <rdar://problem/56966010> |
| |
| Reviewed by Brent Fulgham. |
| |
| Disable the use of UTTypeRecord swizzling, since this is not needed with the new approach |
| of denying the database mapping service in this patch. |
| |
| * wtf/PlatformUse.h: |
| |
| 2020-03-23 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r258891. |
| https://bugs.webkit.org/show_bug.cgi?id=209459 |
| |
| Introduced layout test failures (Requested by perarne on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "[Cocoa] Deny access to database mapping service" |
| https://bugs.webkit.org/show_bug.cgi?id=209339 |
| https://trac.webkit.org/changeset/258891 |
| |
| 2020-03-23 Per Arne Vollan <pvollan@apple.com> |
| |
| [Cocoa] Deny access to database mapping service |
| https://bugs.webkit.org/show_bug.cgi?id=209339 |
| <rdar://problem/56966010> |
| |
| Reviewed by Brent Fulgham. |
| |
| Disable the use of UTTypeRecord swizzling, since this is not needed with the new approach |
| of denying the database mapping service in this patch. |
| |
| * wtf/PlatformUse.h: |
| |
| 2020-03-23 John Wilander <wilander@apple.com> |
| |
| Add the capability to change all of a website's cookies to SameSite=Strict |
| https://bugs.webkit.org/show_bug.cgi?id=209369 |
| <rdar://problem/60710690> |
| |
| Reviewed by Alex Christensen and David Kilzer. |
| |
| * wtf/PlatformHave.h: |
| Adds HAVE_CFNETWORK_SAMESITE_COOKIE_API for macOS Catalina and up, |
| iOS 13 and up, Catalyst, watchOS, and Apple TV. |
| |
| 2020-03-23 youenn fablet <youenn@apple.com> |
| |
| Rename blankURL to aboutBlankURL |
| https://bugs.webkit.org/show_bug.cgi?id=209344 |
| |
| Reviewed by Darin Adler. |
| |
| Rename blankURL to aboutBlankURL and allow using it without WTF:: prefix. |
| |
| * wtf/URL.cpp: |
| (WTF::aboutBlankURL): |
| (WTF::blankURL): Deleted. |
| * wtf/URL.h: |
| |
| 2020-03-23 Rob Buis <rbuis@igalia.com> |
| |
| XMLHttpRequest: getAllResponseHeaders() sorting |
| https://bugs.webkit.org/show_bug.cgi?id=200565 |
| |
| Reviewed by Darin Adler. |
| |
| Add a new manipulator that can efficiently convert |
| Strings to lower or upper ASCII. |
| |
| * wtf/text/StringConcatenate.h: |
| (WTF::lowercase): |
| (WTF::uppercase): |
| * wtf/text/StringView.cpp: |
| (WTF::getCharactersWithASCIICaseInternal): |
| (WTF::StringView::getCharactersWithASCIICase const): |
| * wtf/text/StringView.h: |
| |
| 2020-03-23 Antoine Quint <graouts@apple.com> |
| |
| DocumentTimeline / CSSTransition objects are leaking on CNN.com |
| https://bugs.webkit.org/show_bug.cgi?id=208069 |
| <rdar://problem/59680143> |
| |
| Reviewed by Darin Adler. |
| |
| Integrating post-commit review feedback from Darin. |
| |
| * wtf/ListHashSet.h: |
| (WTF::=): |
| |
| 2020-03-23 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| REGRESSION(r249808): [GTK] Crash in JSC Config::permanentlyFreeze() on architecture ppc64el |
| https://bugs.webkit.org/show_bug.cgi?id=209236 |
| |
| Reviewed by Mark Lam. |
| |
| Add new CeilingOnPageSize constants, for use in JSC, in order to centralize our compile-time |
| page size guessing into one place. Improve the implementation of pageSize() to |
| RELEASE_ASSERT() when CeilingOnPageSize is wrong, so we can detect and fix it if so. (It |
| will be even easier to detect if we change RELEASE_ASSERT_WITH_MESSAGE() to actually print |
| its message in release builds.) Change pageSize() to use sysconf(_SC_PAGESIZE), which is |
| specified by POSIX, instead of getpagesize(), which is nonstandard. |
| |
| * wtf/PageBlock.cpp: |
| (WTF::systemPageSize): |
| (WTF::pageSize): |
| * wtf/PageBlock.h: |
| |
| 2020-03-23 Jacob Uphoff <jacob_uphoff@apple.com> |
| |
| Unreviewed, reverting r258803. |
| |
| This revision caused many layout tests and 10 API tests to |
| start failing/crashing |
| |
| Reverted changeset: |
| |
| "[Cocoa] Deny access to database mapping service" |
| https://bugs.webkit.org/show_bug.cgi?id=209339 |
| https://trac.webkit.org/changeset/258803 |
| |
| 2020-03-23 youenn fablet <youenn@apple.com> |
| |
| StringView::startsWith and String::startsWith do not treat null strings the same |
| https://bugs.webkit.org/show_bug.cgi?id=209273 |
| |
| Reviewed by Darin Adler. |
| |
| Align StringImpl with StringView and make startsWith return true if prefix is null. |
| |
| * wtf/text/StringImpl.cpp: |
| (WTF::StringImpl::startsWith const): |
| |
| 2020-03-22 Antoine Quint <graouts@apple.com> |
| |
| DocumentTimeline / CSSTransition objects are leaking on CNN.com |
| https://bugs.webkit.org/show_bug.cgi?id=208069 |
| <rdar://problem/59680143> |
| |
| Reviewed by Simon Fraser, Geoffrey Garen and Darin Adler. |
| |
| If a CSSAnimation is set on an element using the `animation-name` CSS property, and later removed, it will leak due to the ListHashSet<RefPtr<CSSAnimation>> |
| (aka CSSAnimationCollection) member on ElementAnimationRareData being replaced to the new list, but the old list not being cleared from its members. |
| |
| We fix the ListHashSet assignment operator to use swap ensuring previously held items are cleared. |
| |
| * wtf/ListHashSet.h: |
| (WTF::=): |
| |
| 2020-03-20 Per Arne Vollan <pvollan@apple.com> |
| |
| [Cocoa] Deny access to database mapping service |
| https://bugs.webkit.org/show_bug.cgi?id=209339 |
| <rdar://problem/56966010> |
| |
| Reviewed by Brent Fulgham. |
| |
| Disable the use of UTTypeRecord swizzling, since this is not needed with the new approach |
| of denying the database mapping service in this patch. |
| |
| * wtf/PlatformUse.h: |
| |
| 2020-03-20 Oliver Hunt <oliver@nerget,com> |
| |
| Add correct annotations to block isa pointer |
| https://bugs.webkit.org/show_bug.cgi?id=209355 |
| <rdar://problem/60431606> |
| |
| Reviewed by Keith Miller. |
| |
| Trivial definition update. |
| |
| * wtf/BlockPtr.h: |
| (WTF::BlockPtr<R): |
| |
| 2020-03-20 Tim Horton <timothy_horton@apple.com> |
| |
| Upstream a variety of Cocoa-platform HAVE and ENABLE macros |
| https://bugs.webkit.org/show_bug.cgi?id=209307 |
| |
| Reviewed by Andy Estes. |
| |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformHave.h: |
| |
| 2020-03-20 youenn fablet <youenn@apple.com> |
| |
| Add routines to check about:blank and about:srcdoc URLs |
| https://bugs.webkit.org/show_bug.cgi?id=209174 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/URL.cpp: |
| (WTF::aboutSrcDocURL): |
| (WTF::URL::isAboutBlank const): |
| (WTF::URL::isAboutSrcDoc const): |
| * wtf/URL.h: |
| |
| 2020-03-20 Jacob Uphoff <jacob_uphoff@apple.com> |
| |
| Unreviewed, reverting r258748. |
| |
| This commit broke the Catalina build |
| |
| Reverted changeset: |
| |
| "Upstream a variety of Cocoa-platform HAVE and ENABLE macros" |
| https://bugs.webkit.org/show_bug.cgi?id=209307 |
| https://trac.webkit.org/changeset/258748 |
| |
| 2020-03-19 Tim Horton <timothy_horton@apple.com> |
| |
| Upstream a variety of Cocoa-platform HAVE and ENABLE macros |
| https://bugs.webkit.org/show_bug.cgi?id=209307 |
| |
| Reviewed by Andy Estes. |
| |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformHave.h: |
| |
| 2020-03-19 Tim Horton <timothy_horton@apple.com> |
| |
| Upstream the definition of HAVE_READ_ONLY_SYSTEM_VOLUME |
| https://bugs.webkit.org/show_bug.cgi?id=209305 |
| |
| Reviewed by Andy Estes. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-03-19 Tim Horton <timothy_horton@apple.com> |
| |
| Implement support for cursor interactions on iPad |
| https://bugs.webkit.org/show_bug.cgi?id=209268 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformEnableCocoa.h: |
| Don't disable the contextmenu event on iOS anymore. |
| |
| * wtf/PlatformHave.h: |
| Rename HAVE_HOVER_GESTURE_RECOGNIZER to HAVE_UIKIT_WITH_MOUSE_SUPPORT. |
| Add HAVE_UI_CURSOR_INTERACTION. |
| Enable HAVE_UI_PARALLAX_TRANSITION_GESTURE_RECOGNIZER on iOS. |
| |
| 2020-03-19 Charlie Turner <cturner@igalia.com> |
| |
| Fix many warnings with Clang 7.0 on GTK x86-64 in Debug. |
| https://bugs.webkit.org/show_bug.cgi?id=209146 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/LoggerHelper.h: When the RELEASE_LOG is disabled, avoid warning |
| spam about unused channel names. Call sites often create locals for |
| the channel name outside of RELEASE_LOG ifdef's, which cause many |
| unused variable warnings. |
| |
| 2020-03-19 Philippe Normand <pnormand@igalia.com> |
| |
| [GTK][WPE] Unreviewed, build fixes after r258547 when disabling release logging support |
| |
| * wtf/Logger.h: |
| (WTF::Logger::logAlwaysVerbose const): |
| |
| 2020-03-19 youenn fablet <youenn@apple.com> |
| |
| Make URL::path() return a StringView |
| https://bugs.webkit.org/show_bug.cgi?id=209173 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::path const): |
| * wtf/URL.h: |
| * wtf/text/StringView.h: |
| (WTF::startsWithLettersIgnoringASCIICase): |
| Add an overload for StringView. |
| |
| 2020-03-18 Peng Liu <peng.liu6@apple.com> |
| |
| The value of [AVPlayerViewController isPictureInPicturePossible] is NO in the first attempt to enter PiP |
| https://bugs.webkit.org/show_bug.cgi?id=204979 |
| |
| Reviewed by Jer Noble. |
| |
| A follow-up patch to fix build failures. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-03-18 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| REGRESSION(r254389): Cordova throws an exception because it expects a hyphen inside navigator.locale |
| https://bugs.webkit.org/show_bug.cgi?id=208969 |
| <rdar://problem/59845517> |
| |
| Reviewed by Darin Adler. |
| |
| We want to thwart fingerprinting by minimizing the list of locales, but we also don't want to break existing apps. |
| We can achieve both by a linked-on-or-after check. |
| |
| * wtf/cocoa/LanguageCocoa.mm: |
| (WTF::canMinimizeLanguages): |
| |
| 2020-03-17 Alex Christensen <achristensen@webkit.org> |
| |
| REGRESSION(r254856) Add exception for window.openDatabase to not masquerade as undefined in currently shipping Jesus Calling Devotional app |
| https://bugs.webkit.org/show_bug.cgi?id=209160 |
| <rdar://problem/60297073> |
| |
| Reviewed by Geoff Garen. |
| |
| * wtf/spi/darwin/dyldSPI.h: |
| |
| 2020-03-17 Per Arne Vollan <pvollan@apple.com> |
| |
| [Cocoa] Disable CF prefs direct mode |
| https://bugs.webkit.org/show_bug.cgi?id=209166 |
| <rdar://problem/60517387> |
| |
| Reviewed by Brent Fulgham. |
| |
| Revert <https://trac.webkit.org/changeset/258064> by disabling the CF prefs direct mode feature, |
| since it caused performance regressions. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2020-03-17 Philippe Normand <pnormand@igalia.com> |
| |
| RELEASE_LOG should not be Cocoa specific |
| https://bugs.webkit.org/show_bug.cgi?id=195182 |
| |
| Reviewed by Konstantin Tokarev. |
| |
| Add sd-journal logging support and wrap the os_log calls with the USE(OS_LOG) guard. |
| |
| * wtf/Assertions.cpp: |
| * wtf/Assertions.h: |
| * wtf/Logger.h: |
| (WTF::Logger::log): |
| * wtf/MemoryPressureHandler.cpp: |
| (WTF::toString): |
| * wtf/PlatformGTK.cmake: |
| * wtf/PlatformWPE.cmake: |
| * wtf/RefCountedLeakCounter.cpp: |
| |
| 2020-03-16 Keith Miller <keith_miller@apple.com> |
| |
| JavaScript identifier grammar supports unescaped astral symbols, but JSC doesn’t |
| https://bugs.webkit.org/show_bug.cgi?id=208998 |
| |
| Reviewed by Michael Saboff. |
| |
| * wtf/text/WTFString.cpp: |
| (WTF::String::fromCodePoint): |
| * wtf/text/WTFString.h: |
| |
| 2020-03-15 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Should not use variable-length-array (VLA) |
| https://bugs.webkit.org/show_bug.cgi?id=209043 |
| |
| Reviewed by Mark Lam. |
| |
| * Configurations/Base.xcconfig: |
| * wtf/UUID.cpp: |
| (WTF::bootSessionUUIDString): |
| |
| 2020-03-13 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Cocoa] Push applicationSDKVersion() down from WebCore into WTF |
| https://bugs.webkit.org/show_bug.cgi?id=209030 |
| |
| Reviewed by Simon Fraser. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/PlatformMac.cmake: |
| * wtf/cocoa/RuntimeApplicationChecksCocoa.cpp: Added. |
| * wtf/cocoa/RuntimeApplicationChecksCocoa.h: Added. |
| (WTF::applicationSDKVersionOverride): |
| (WTF::setApplicationSDKVersion): |
| (WTF::applicationSDKVersion): |
| |
| 2020-03-11 Jer Noble <jer.noble@apple.com> |
| |
| Adopt AVSampleBufferVideoOutput |
| https://bugs.webkit.org/show_bug.cgi?id=208951 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-03-11 Jer Noble <jer.noble@apple.com> |
| |
| [EME] Issue an "encrypted" event when a new encrypted initialization segment is encountered |
| https://bugs.webkit.org/show_bug.cgi?id=208923 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/LoggerHelper.h: |
| (WTF::LoggerHelper::childLogIdentifier): Made static. |
| |
| 2020-03-11 Per Arne Vollan <pvollan@apple.com> |
| |
| [macOS] Crash under WebKit::WebProcessPool::platformInitialize() |
| https://bugs.webkit.org/show_bug.cgi?id=208945 |
| |
| Reviewed by Brent Fulgham. |
| |
| Add macro to optionally soft link library. |
| |
| * wtf/cocoa/SoftLinking.h: |
| |
| 2020-03-11 Alex Christensen <achristensen@webkit.org> |
| |
| Enable safe browsing warnings in Mac Catalyst WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=208944 |
| <rdar://problem/58854302> |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-03-09 Megan Gardner <megan_gardner@apple.com> |
| |
| Build Fix |
| https://bugs.webkit.org/show_bug.cgi?id=208838 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-03-09 Don Olmstead <don.olmstead@sony.com> |
| |
| Remove obsolete feature flags |
| https://bugs.webkit.org/show_bug.cgi?id=208830 |
| |
| Reviewed by Alex Christensen. |
| |
| Remove ENABLE_CUSTOM_SCHEME_HANDLER as it is unused in source. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2020-03-08 Brady Eidson <beidson@apple.com> |
| |
| Remember completed subranges during incremental PDF loading. |
| https://bugs.webkit.org/show_bug.cgi?id=208785 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/Range.h: Don't include the typical 'using WTF::Range' as that makes it almost impossible |
| to use in the stack at WebCore or higher (Because of WebCore::Range) |
| |
| 2020-03-08 Per Arne Vollan <pvollan@apple.com> |
| |
| Unreviewed build fix. |
| |
| * wtf/PlatformUse.h: |
| |
| 2020-03-08 Per Arne Vollan <pvollan@apple.com> |
| |
| [iOS] Mapping to UTI from tag and tag class should be performed in the UI process |
| https://bugs.webkit.org/show_bug.cgi?id=208783 |
| |
| Reviewed by Brent Fulgham. |
| |
| * wtf/PlatformUse.h: |
| |
| 2020-03-08 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Lazily generate CGPaths for some simple types of paths, such as arcs and lines |
| https://bugs.webkit.org/show_bug.cgi?id=208464 |
| <rdar://problem/59963226> |
| |
| Reviewed by Daniel Bates, Darin Adler and Tim Horton. |
| |
| Add a feature flag for INLINE_PATH_DATA. This feature flag exists to ensure that we can avoid having |
| m_inlineData on Path in ports that don't implement the necessary facilities for inline path data yet, since it |
| would just end up being wasted memory. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2020-03-07 Daniel Bates <dabates@apple.com> |
| |
| [iOS] Implement support for dictation alternatives |
| https://bugs.webkit.org/show_bug.cgi?id=208720 |
| <rdar://problem/58540114> |
| |
| Reviewed by Wenson Hsieh. |
| |
| Part 5 |
| |
| Enable USE_DICTATION_ALTERNATIVES on iOS. |
| |
| * wtf/PlatformUse.h: |
| |
| 2020-03-05 Sam Weinig <weinig@apple.com> |
| |
| Move JavaScriptCore related feature defines from FeatureDefines.xcconfig to PlatformEnableCocoa.h |
| https://bugs.webkit.org/show_bug.cgi?id=207436 |
| <rdar://problem/59296762> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformEnable.h: |
| Add default values for ENABLE_FAST_JIT_PERMISSIONS and ENABLE_SEPARATED_WX_HEAP. |
| |
| * wtf/PlatformEnableCocoa.h: |
| Added ENABLE_FAST_JIT_PERMISSIONS and ENABLE_INTL (from FeatureDefines.xcconfig), ENABLE_SEPARATED_WX_HEAP |
| (from PlatformEnable.h) and ENABLE_FTL_JIT (from both FeatureDefines.xcconfig and PlatformEnable.h). |
| |
| 2020-03-06 Per Arne Vollan <pvollan@apple.com> |
| |
| [Cocoa] Re-enable CFPrefs direct mode |
| https://bugs.webkit.org/show_bug.cgi?id=208690 |
| |
| Reviewed by Brent Fulgham. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2020-03-06 Peng Liu <peng.liu6@apple.com> |
| |
| Use the feature flags mechanism to give default feature preference values |
| https://bugs.webkit.org/show_bug.cgi?id=208607 |
| |
| Reviewed by Youenn Fablet. |
| |
| ENABLE_GPU_PROCESS_FOR_WEBRTC is removed because we will use the feature flags |
| mechanism to give the default preference regarding the WebRTC in GPU process feature. |
| This patch also adds macro HAVE_SYSTEM_FEATURE_FLAGS. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformHave.h: |
| |
| 2020-03-05 Darin Adler <darin@apple.com> |
| |
| Improve some media code |
| https://bugs.webkit.org/show_bug.cgi?id=208322 |
| |
| Reviewed by Anders Carlsson. |
| |
| * wtf/WeakPtr.h: |
| (WTF::WeakPtr::operator! const): Added. |
| |
| 2020-03-05 Jer Noble <jer.noble@apple.com> |
| |
| [GPUP] Implement RemoteAudioSession |
| https://bugs.webkit.org/show_bug.cgi?id=208583 |
| |
| Reviewed by Alex Christensen. |
| |
| Add UniqueRef to the list of forward-declared template types. |
| |
| * wtf/Forward.h: |
| |
| 2020-03-04 Mark Lam <mark.lam@apple.com> |
| |
| Handle an out of memory error while constructing the BytecodeGenerator. |
| https://bugs.webkit.org/show_bug.cgi?id=208622 |
| <rdar://problem/59341136> |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/CagedUniquePtr.h: |
| (WTF::CagedUniquePtr::tryCreate): |
| |
| 2020-03-04 Brady Eidson <beidson@apple.com> |
| |
| Lay initial groundwork for new PDF loading model |
| https://bugs.webkit.org/show_bug.cgi?id=208599 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-03-04 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Add system trace points around display list replay |
| https://bugs.webkit.org/show_bug.cgi?id=208616 |
| |
| Reviewed by Simon Fraser. |
| |
| Add DisplayListReplayStart and DisplayListReplayEnd. |
| |
| * wtf/SystemTracing.h: |
| |
| 2020-03-04 Per Arne Vollan <pvollan@apple.com> |
| |
| [Cocoa] Add enable flag to disable direct mode for preferences |
| https://bugs.webkit.org/show_bug.cgi?id=208588 |
| |
| Reviewed by Brent Fulgham. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2020-03-03 Megan Gardner <megan_gardner@apple.com> |
| |
| Build Fix |
| https://bugs.webkit.org/show_bug.cgi?id=208530 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-03-03 Jiten Mehta <jmehta@apple.com> |
| |
| Adopt HTTP Alternative Services Storage |
| https://bugs.webkit.org/show_bug.cgi?id=208387 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-03-03 youenn fablet <youenn@apple.com> |
| |
| Rename USE(GPU_PROCESS) to ENABLE(GPU_PROCESS_FOR_WEBRTC) |
| https://bugs.webkit.org/show_bug.cgi?id=208505 |
| |
| Reviewed by Eric Carlson. |
| |
| Rename macro since the name is misleading. |
| Disable GPU_PROCESS_FOR_WEBRTC for iOS except simulator for now. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformUse.h: |
| |
| 2020-03-02 Ben Nham <nham@apple.com> |
| |
| Add performance probes for HTML parsing |
| https://bugs.webkit.org/show_bug.cgi?id=208271 |
| |
| Reviewed by Daniel Bates. |
| |
| This adds probes that show which lines of HTML are have been parsed. |
| |
| * wtf/SystemTracing.h: |
| |
| 2020-03-02 Ben Nham <nham@apple.com> |
| |
| [WTF] Add signpost API |
| https://bugs.webkit.org/show_bug.cgi?id=208395 |
| |
| Reviewed by Alex Christensen. |
| |
| We want to start using os_signpost instead of kdebug_trace when emitting performance events, |
| because it is usually cheaper (doesn't require a system call unless the log buffer is full) |
| and allows for richer tracepoints (allows for logging strings as well as integers). |
| |
| To facilitate this, this moves the os_signpost wrappers in NetworkDataTaskCocoa to |
| WTF. Since signposts can contain sensitive strings (like URLs), currently we only enable |
| them on Apple-internal devices when an environment variable is set. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/PlatformMac.cmake: |
| * wtf/SystemTracing.h: |
| * wtf/cocoa/SystemTracingCocoa.cpp: Added. |
| (WTFSignpostsEnabled): |
| (WTFSignpostLogHandle): |
| * wtf/spi/darwin/OSVariantSPI.h: Renamed from Source/WebCore/PAL/pal/spi/cocoa/OSVariantSPI.h. |
| |
| 2020-03-02 Alan Coon <alancoon@apple.com> |
| |
| Add new Mac target numbers |
| https://bugs.webkit.org/show_bug.cgi?id=208398 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Configurations/Base.xcconfig: |
| * Configurations/DebugRelease.xcconfig: |
| |
| 2020-03-02 Megan Gardner <megan_gardner@apple.com> |
| |
| Add date/time style to macCatalyst |
| https://bugs.webkit.org/show_bug.cgi?id=208456 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-03-02 Paulo Matos <pmatos@igalia.com> |
| |
| Fix JSC 32bit alignment increase gcc warning |
| https://bugs.webkit.org/show_bug.cgi?id=208445 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Use reinterpret_cast_ptr<>() instead of reinterpret_cast<>() to |
| avoid GCC warning about increase in alignment requirement for cast |
| target type. |
| |
| * wtf/HashTable.h: |
| (WTF::HashTable::tableSize const): |
| (WTF::HashTable::setTableSize const): |
| (WTF::HashTable::tableSizeMask const): |
| (WTF::HashTable::setTableSizeMask): |
| (WTF::HashTable::keyCount const): |
| (WTF::HashTable::setKeyCount const): |
| (WTF::HashTable::deletedCount const): |
| (WTF::HashTable::setDeletedCount const): |
| (WTF::KeyTraits>::allocateTable): |
| (WTF::KeyTraits>::deallocateTable): |
| |
| 2020-03-02 youenn fablet <youenn@apple.com> |
| |
| Enable capture in GPUProcess by default for recent platforms only |
| https://bugs.webkit.org/show_bug.cgi?id=208437 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformUse.h: |
| Introduce USE(GPU_PROCESS) |
| |
| 2020-02-29 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Remove std::lock_guard |
| https://bugs.webkit.org/show_bug.cgi?id=206451 |
| |
| Reviewed by Anders Carlsson. |
| |
| Remove use of std::lock_guard. This is deprecated in C++17. |
| |
| 1. For particularly low-level usage (like, bmalloc, std::mutex), use std::scoped_lock. |
| 2. For the other purpose, use holdLock. |
| |
| * benchmarks/ConditionSpeedTest.cpp: |
| * wtf/CryptographicallyRandomNumber.cpp: |
| * wtf/HashTable.cpp: |
| (WTF::HashTableStats::recordCollisionAtCount): |
| (WTF::HashTableStats::dumpStats): |
| * wtf/HashTable.h: |
| (WTF::KeyTraits>::invalidateIterators): |
| (WTF::addIterator): |
| (WTF::removeIterator): |
| * wtf/Language.cpp: |
| (WTF::userPreferredLanguages): |
| * wtf/MainThread.cpp: |
| (WTF::dispatchFunctionsFromMainThread): |
| (WTF::callOnMainThread): |
| (WTF::callOnMainAndWait): |
| * wtf/StackStats.cpp: |
| (WTF::StackStats::CheckPoint::CheckPoint): |
| (WTF::StackStats::CheckPoint::~CheckPoint): |
| (WTF::StackStats::probe): |
| (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): |
| (WTF::StackStats::LayoutCheckPoint::~LayoutCheckPoint): |
| * wtf/WordLock.cpp: |
| (WTF::WordLock::unlockSlow): |
| * wtf/cf/LanguageCF.cpp: |
| (WTF::languagePreferencesDidChange): |
| (WTF::platformUserPreferredLanguages): |
| * wtf/text/StringView.cpp: |
| (WTF::StringView::invalidate): |
| (WTF::StringView::adoptUnderlyingString): |
| (WTF::StringView::setUnderlyingString): |
| * wtf/unicode/icu/CollatorICU.cpp: |
| (WTF::Collator::Collator): |
| (WTF::Collator::~Collator): |
| * wtf/win/LanguageWin.cpp: |
| (WTF::platformLanguage): |
| |
| 2020-02-28 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] BuiltinNames' HashMap should be small |
| https://bugs.webkit.org/show_bug.cgi?id=208404 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/text/AtomStringImpl.cpp: |
| (WTF::HashTranslatorCharBuffer::HashTranslatorCharBuffer): Deleted. |
| * wtf/text/StringImpl.h: |
| (WTF::HashTranslatorCharBuffer::HashTranslatorCharBuffer): |
| |
| 2020-02-27 Basuke Suzuki <basuke.suzuki@sony.com> |
| |
| [WinCairo] Fix RemoteInspector reconnect issue |
| https://bugs.webkit.org/show_bug.cgi?id=208256 |
| |
| Reviewed by Devin Rousso. |
| |
| Added wakeupCallback to RunLoop. In case of RunLook::iterate, we need to wake up worker thread |
| when RunLoop is waking up. |
| |
| * wtf/RunLoop.h: |
| * wtf/generic/RunLoopGeneric.cpp: |
| (WTF::RunLoop::setWakeUpCallback): |
| (WTF::RunLoop::wakeUp): |
| * wtf/win/RunLoopWin.cpp: |
| (WTF::RunLoop::setWakeUpCallback): |
| (WTF::RunLoop::wakeUp): |
| |
| 2020-02-27 Simon Fraser <simon.fraser@apple.com> |
| |
| Add ENABLE(SCROLLING_THREAD) and use it to turn off some code we don't need for iOS |
| https://bugs.webkit.org/show_bug.cgi?id=208282 |
| |
| Reviewed by Tim Horton. |
| |
| Define ENABLE_SCROLLING_THREAD PLATFORM(MAC) and USE(NICOSIA). |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-02-26 Don Olmstead <don.olmstead@sony.com> |
| |
| Allow setting of stack sizes for threads |
| https://bugs.webkit.org/show_bug.cgi?id=208223 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Introduce ThreadType which is used internally to specify a stack size for a particular |
| type of thread. Platforms can make their own decisions on what the stack size should be |
| based on their own observations. Additionally a default stack size can be specified |
| by defining DEFAULT_THREAD_STACK_SIZE_IN_KB if the default stack for a platform is |
| insufficient in all cases, or when investigating the stack size for tuning. |
| |
| Both the pthread and Windows thread implementations are modified to set the stack size |
| if provided. |
| |
| * wtf/Threading.cpp: |
| (WTF::stackSize): |
| (WTF::Thread::create): |
| * wtf/Threading.h: |
| * wtf/posix/ThreadingPOSIX.cpp: |
| (WTF::Thread::establishHandle): |
| * wtf/win/ThreadingWin.cpp: |
| (WTF::Thread::establishHandle): |
| |
| 2020-02-26 Christopher Reid <chris.reid@sony.com> |
| |
| [Win] Implement NetworkCache::Data by using FileSystem::MappedFileData |
| https://bugs.webkit.org/show_bug.cgi?id=197684 |
| <rdar://problem/59467397> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/FileSystem.cpp: |
| * wtf/FileSystem.h: |
| Added FileAccessPermission flag when opening files. |
| Remove default argument for the listDirectory filter since the defaut |
| String() filter doesn't match all files on Mac and Windows. |
| |
| Added FileOpenMode::ReadWrite to be used with ReadWrite MappedFileData. |
| Added failIfFileExists flag to openFile. |
| |
| * wtf/glib/FileSystemGlib.cpp: |
| * wtf/posix/FileSystemPOSIX.cpp: |
| Added (S_IRUSR | S_IWUSR) file open modes. |
| |
| * wtf/win/FileSystemWin.cpp: |
| Implement getVolumeFreeSpace since some of the tests use it when toggling cache. |
| |
| * wtf/win/PathWalker.cpp: |
| |
| 2020-02-25 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: safari app extension isolated worlds and injected files use the extension's identifier instead of its name |
| https://bugs.webkit.org/show_bug.cgi?id=206911 |
| <rdar://problem/58026635> |
| |
| Reviewed by Brian Burg. |
| |
| * wtf/HashSet.h: |
| (WTF::HashSet::reserveInitialCapacity): Added. |
| |
| 2020-02-25 Justin Michaud <justin_michaud@apple.com> |
| |
| Inline Cache delete by id/val |
| https://bugs.webkit.org/show_bug.cgi?id=207522 |
| |
| Reviewed by Keith Miller and Filip Pizlo. |
| |
| * wtf/Spectrum.h: |
| (WTF::Spectrum::add): |
| (WTF::Spectrum::get const): |
| (WTF::Spectrum::buildList const): |
| (WTF::Spectrum::clear): |
| (WTF::Spectrum::removeIf): |
| (WTF::Spectrum::begin): Deleted. |
| (WTF::Spectrum::end): Deleted. |
| |
| 2020-02-25 Philippe Normand <pnormand@igalia.com> |
| |
| [WPE] Enable BACKTRACE_SYMBOLS |
| https://bugs.webkit.org/show_bug.cgi?id=208187 |
| |
| Reviewed by Žan Doberšek. |
| |
| * wtf/PlatformHave.h: Enable backtrace_symbols, to be combined |
| with dladdr() the stacktrace dumps will be improved. |
| |
| 2020-02-25 Saam Barati <sbarati@apple.com> |
| |
| Update stale comment about PackedAlignedPtr |
| https://bugs.webkit.org/show_bug.cgi?id=208176 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| The comment was stale since cells aren't guaranteed anymore to be |
| aligned on 16 byte boundaries because of the GCs precise allocations. |
| |
| * wtf/Packed.h: |
| |
| 2020-02-25 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Stop using gtk foreign drawing API to style form controls |
| https://bugs.webkit.org/show_bug.cgi?id=208129 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| Enable USE_NEW_THEME for the GTK port. |
| |
| * wtf/PlatformUse.h: |
| |
| 2020-02-25 Philippe Normand <pnormand@igalia.com> |
| |
| [Linux] StackTrace symbols are not demangled |
| https://bugs.webkit.org/show_bug.cgi?id=207933 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Demangle symbols provided by backtrace_symbols. |
| |
| * wtf/StackTrace.cpp: |
| (WTF::StackTrace::dump const): |
| |
| 2020-02-24 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Add tests for CompactRefPtrTuple |
| https://bugs.webkit.org/show_bug.cgi?id=208172 |
| |
| Reviewed by Darin Adler. |
| |
| Include Noncopyable.h. |
| |
| * wtf/CompactRefPtrTuple.h: |
| |
| 2020-02-24 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Attach WARN_UNUSED_RETURN to makeScopeExit and fix existing wrong usage |
| https://bugs.webkit.org/show_bug.cgi?id=208162 |
| |
| Reviewed by Robin Morisset. |
| |
| We should hold ScopeExit to call destructor when we exit from the scope actually. |
| Putting WARN_UNUSED_RETURN to fix existing misuse. |
| |
| * wtf/Scope.h: |
| |
| 2020-02-23 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Shrink Structure |
| https://bugs.webkit.org/show_bug.cgi?id=207827 |
| |
| Reviewed by Saam Barati. |
| |
| Make CompactPointerTuple usable for storing 16 bits data. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/CompactPointerTuple.h: |
| * wtf/CompactRefPtrTuple.h: Added. |
| * wtf/text/StringImpl.h: |
| * wtf/text/SymbolImpl.h: |
| (WTF::SymbolImpl::hashForSymbol const): |
| (WTF::SymbolImpl::SymbolImpl): |
| |
| 2020-02-21 Antti Koivisto <antti@apple.com> |
| |
| REGRESSION(r257072): MotionMark | Mac | -10% |
| https://bugs.webkit.org/show_bug.cgi?id=208054 |
| <rdar://problem/59664582> |
| |
| Reviewed by Geoffrey Garen. |
| |
| With rAF and slow scripts, suspended functions may pile up in RunLoop because every cycle does a rendering update. |
| |
| * wtf/RunLoop.cpp: |
| (WTF::RunLoop::performWork): |
| (WTF::RunLoop::suspendFunctionDispatchForCurrentCycle): |
| |
| Don't suspend if there are already pending suspended functions. |
| |
| * wtf/RunLoop.h: |
| |
| 2020-02-20 Jiewen Tan <jiewen_tan@apple.com> |
| |
| [WebAuthn] Replace DeviceIdentity.framework |
| https://bugs.webkit.org/show_bug.cgi?id=207985 |
| <rdar://problem/59369223> |
| |
| Reviewed by Brent Fulgham. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-02-20 Eric Liang <ericliang@apple.com> |
| |
| AX: Adopt _AXSCopyPathForAccessibilityBundle for WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=207828 |
| |
| Use the _AXSCopyPathForAccessibilityBundle new API. Updated the required SDK version. |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-02-20 Antti Koivisto <antti@apple.com> |
| |
| Unreviewed comment fix. |
| |
| * wtf/RunLoop.cpp: |
| (WTF::RunLoop::suspendFunctionDispatchForCurrentCycle): |
| |
| Words by Simon. |
| |
| 2020-02-20 Antti Koivisto <antti@apple.com> |
| |
| [macOS] Disable RunLoop function dispatch when there is a pending rendering update |
| https://bugs.webkit.org/show_bug.cgi?id=207931 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/RunLoop.cpp: |
| (WTF::RunLoop::performWork): |
| |
| Simplify the code by factoring it into a single loop. |
| Bail out if the runloop is initially suspended or if it becomes suspended by function execution. |
| Clear the suspended state so it last a single cycle only. |
| |
| (WTF::RunLoop::suspendFunctionDispatchForCurrentCycle): |
| |
| Set the suspended state and wake up the runloop to guarantee the state is cleared. |
| |
| * wtf/RunLoop.h: |
| |
| 2020-02-18 Keith Miller <keith_miller@apple.com> |
| |
| Add an os_log PrintStream |
| https://bugs.webkit.org/show_bug.cgi?id=207898 |
| |
| Reviewed by Mark Lam. |
| |
| When debugging on iOS writing to a file can be hard (thanks |
| Sandboxing!) so logging our dataLogs to os_log would make things |
| easier. This patch adds a new subclass of PrintStream, |
| OSLogPrintStream, that converts our file writes to |
| os_log. Unfortunately, os_log doesn't buffer writes so |
| OSLogPrintStream needs to do its own buffering. e.g. if you call |
| `dataLogLn("some text with a ", number, " and a ", string);` |
| os_log will log that as 5 separate logs. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/DataLog.cpp: |
| (WTF::setDataFile): |
| * wtf/DataLog.h: |
| * wtf/OSLogPrintStream.cpp: Added. |
| (WTF::OSLogPrintStream::OSLogPrintStream): |
| (WTF::OSLogPrintStream::~OSLogPrintStream): |
| (WTF::OSLogPrintStream::open): |
| (WTF::OSLogPrintStream::vprintf): |
| * wtf/OSLogPrintStream.h: Copied from Source/WTF/wtf/DataLog.h. |
| * wtf/PrintStream.cpp: |
| (WTF::printExpectedCStringHelper): |
| (WTF::printInternal): |
| * wtf/text/CString.cpp: |
| (WTF::CString::grow): |
| * wtf/text/CString.h: |
| |
| 2020-02-18 Simon Fraser <simon.fraser@apple.com> |
| |
| Move from "layer flush" terminology to "rendering update" |
| https://bugs.webkit.org/show_bug.cgi?id=207870 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/SystemTracing.h: |
| |
| 2020-02-17 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][Cocoa] Implement in-WebProcess cookie cache to avoid sync IPC for document.cookie in most cases |
| https://bugs.webkit.org/show_bug.cgi?id=207593 |
| <rdar://problem/56027027> |
| |
| Reviewed by Antti Koivisto. |
| |
| Add build time flags for new feature. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformHave.h: |
| |
| 2020-02-17 Tim Horton <timothy_horton@apple.com> |
| |
| Add and adopt HAVE(LOOKUP_GESTURE_RECOGNIZER) |
| https://bugs.webkit.org/show_bug.cgi?id=207876 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/PlatformHave.h: |
| For symmetry's sake, introduce a HAVE for this gesture. |
| |
| 2020-02-17 Mark Lam <mark.lam@apple.com> |
| |
| getVTablePointer() should return a const void*. |
| https://bugs.webkit.org/show_bug.cgi?id=207871 |
| <rdar://problem/59525721> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/PointerPreparations.h: |
| (WTF::getVTablePointer): |
| |
| 2020-02-17 Dean Jackson <dino@apple.com> |
| |
| [WebGL] Enable ANGLE by default for Cocoa platforms |
| https://bugs.webkit.org/show_bug.cgi?id=205483 |
| rdar://56925821 |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/Platform.h: |
| |
| 2020-02-17 Peng Liu <peng.liu6@apple.com> |
| |
| Fix check-webkit-style errors related to AVFoundationSPI.h |
| https://bugs.webkit.org/show_bug.cgi?id=207834 |
| |
| Reviewed by Eric Carlson. |
| |
| Add HAVE_VIDEO_PERFORMANCE_METRICS and USE_AV_SAMPLE_BUFFER_DISPLAY_LAYER to fix check-webkit-style errors. |
| |
| * wtf/PlatformHave.h: |
| * wtf/PlatformUse.h: |
| |
| 2020-02-17 VÃctor Manuel Jáquez Leal <vjaquez@igalia.com> |
| |
| a lot gcc warnings because of %{public}s format specifier |
| https://bugs.webkit.org/show_bug.cgi?id=207478 |
| |
| Reviewed by Darin Adler. |
| |
| Add PUBLIC_LOG_STRING macro which is defined depending on if |
| os_log()[1] is used or rather old printf(). |
| |
| OS Logging processes format specifiers for privacy matters, for |
| example dynamic strings, which demands %{public}s. But these |
| specifiers are not valid for printf(). |
| |
| Calls to logging with this specifier, if they are not Mac/Darwing |
| exclusive, use this new macro to avoid gcc warnings. |
| |
| 1. https://developer.apple.com/documentation/os/logging?language=objc |
| |
| * wtf/Assertions.h: |
| * wtf/MemoryPressureHandler.cpp: |
| (WTF::MemoryPressureHandler::ReliefLogger::logMemoryUsageChange): |
| |
| 2020-02-17 Antti Koivisto <antti@apple.com> |
| |
| [macOS] Add trace points for layer flush runloop observer |
| https://bugs.webkit.org/show_bug.cgi?id=207837 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/SystemTracing.h: |
| |
| 2020-02-17 Don Olmstead <don.olmstead@sony.com> |
| |
| [CMake] Use builtin targets |
| https://bugs.webkit.org/show_bug.cgi?id=205166 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformGTK.cmake: |
| * wtf/PlatformJSCOnly.cmake: |
| * wtf/PlatformPlayStation.cmake: |
| * wtf/PlatformWPE.cmake: |
| |
| 2020-02-16 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| Remove remaining WTF_EXPORT and WTF_IMPORT by replacing them with WTF_EXPORT_DECLARATION and WTF_IMPORT_DECLARATION |
| https://bugs.webkit.org/show_bug.cgi?id=207746 |
| |
| Reviewed by Don Olmstead. |
| |
| I removed WTF_EXPORT from function declarations in r256420 (Bug 207453). |
| WTF_EXPORT is still used mostly in *ExportMacros.h. However, there is no |
| difference between WTF_EXPORT and WTF_EXPORT_DECLARATION. |
| |
| Removed WTF_EXPORT and WTF_IMPORT by replacing them with |
| WTF_EXPORT_DECLARATION and WTF_IMPORT_DECLARATION |
| |
| Removed unused WTF_HIDDEN. |
| |
| Defined WTF_EXPORT_DECLARATION, WTF_IMPORT_DECLARATION and WTF_HIDDEN_DECLARATION empty |
| in case of !USE(EXPORT_MACROS) to simplify *ExportMacros.h. |
| |
| * wtf/ExportMacros.h: |
| |
| 2020-02-14 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r256633. |
| https://bugs.webkit.org/show_bug.cgi?id=207807 |
| |
| 4% memory regression in new Membuster, possibly some leaking |
| in WebKit Malloc? (Requested by yusukesuzuki on #webkit). |
| |
| Reverted changeset: |
| |
| "[Win] Implement NetworkCache::Data by using |
| FileSystem::MappedFileData" |
| https://bugs.webkit.org/show_bug.cgi?id=197684 |
| https://trac.webkit.org/changeset/256633 |
| |
| 2020-02-14 Christopher Reid <chris.reid@sony.com> |
| |
| [Win] Implement NetworkCache::Data by using FileSystem::MappedFileData |
| https://bugs.webkit.org/show_bug.cgi?id=197684 |
| |
| Reviewed by Fujii Hironori. |
| |
| * wtf/FileSystem.cpp: |
| * wtf/FileSystem.h: |
| Added FileAccessPermission flag when opening files. |
| Remove default argument for the listDirectory filter since the defaut |
| String() filter doesn't match all files on Mac and Windows. |
| |
| * wtf/glib/FileSystemGlib.cpp: |
| * wtf/posix/FileSystemPOSIX.cpp: |
| Added (S_IRUSR | S_IWUSR) file open modes. |
| |
| * wtf/win/FileSystemWin.cpp: |
| Implement getVolumeFreeSpace since some of the tests use it when toggling cache. |
| |
| * wtf/win/PathWalker.cpp: |
| |
| 2020-02-14 Alex Christensen <achristensen@webkit.org> |
| |
| Allow UIDNAInfo.errors from uidna_nameToUnicode that would not cause URL parsing failures |
| https://bugs.webkit.org/show_bug.cgi?id=207360 |
| <rdar://problem/57825317> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * wtf/URLHelpers.cpp: |
| (WTF::URLHelpers::mapHostName): |
| |
| 2020-02-12 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| WebP image format is not supported |
| https://bugs.webkit.org/show_bug.cgi?id=192672 |
| |
| Reviewed by Youenn Fablet. |
| |
| Introduce HAVE(WEBP) for macOS and iOS. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-02-12 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Compact JITCodeMap by storing BytecodeIndex and CodeLocation separately |
| https://bugs.webkit.org/show_bug.cgi?id=207673 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/MallocPtr.h: |
| |
| 2020-02-12 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r256010. |
| |
| Introduced ASan crashes |
| |
| Reverted changeset: |
| |
| "[Cocoa] Use AVAssetWriterDelegate to implement MediaRecorder" |
| https://bugs.webkit.org/show_bug.cgi?id=206582 |
| https://trac.webkit.org/changeset/r256010 |
| |
| 2020-02-12 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Shrink CachedResource |
| https://bugs.webkit.org/show_bug.cgi?id=207618 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/Markable.h: |
| (WTF::Markable::asOptional const): Add helper method to get Optional easily from Markable. |
| * wtf/ObjectIdentifier.h: |
| (WTF::ObjectIdentifier::MarkableTraits::isEmptyValue): |
| (WTF::ObjectIdentifier::MarkableTraits::emptyValue): |
| (WTF::ObjectIdentifier::ObjectIdentifier): Add MarkableTraits for ObjectIdentifier. |
| |
| 2020-02-12 Simon Fraser <simon.fraser@apple.com> |
| |
| Remove CSS_DEVICE_ADAPTATION |
| https://bugs.webkit.org/show_bug.cgi?id=203479 |
| |
| Reviewed by Tim Horton. |
| |
| CSS Working Group resolved to remove @viewport <https://github.com/w3c/csswg-drafts/issues/4766>, |
| so remove the code. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2020-02-11 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| Fix declarations marked by wrong export macros (WEBCORE_EXPORT and WTF_EXPORT) |
| https://bugs.webkit.org/show_bug.cgi?id=207453 |
| |
| Reviewed by Ross Kirsling. |
| |
| Export macros are prone to be misused because thier definitions |
| are identical for POSIX ports. They can be used interchangeably on |
| such ports. |
| |
| WTF should use WTF_EXPORT_PRIVATE instead of WTF_EXPORT. |
| |
| * wtf/HexNumber.h: |
| * wtf/Language.h: |
| * wtf/Logger.h: |
| * wtf/ProcessPrivilege.h: |
| * wtf/cocoa/CrashReporter.h: |
| * wtf/cocoa/Entitlements.h: |
| * wtf/text/LineEnding.h: |
| * wtf/text/TextBreakIterator.h: |
| * wtf/text/icu/UTextProviderLatin1.h: |
| Replaced WTF_EXPORT with WTF_EXPORT_PRIVATE. |
| |
| 2020-02-11 Eric Carlson <eric.carlson@apple.com> |
| |
| Support in-band VTT captions when loading media in the GPU Process |
| https://bugs.webkit.org/show_bug.cgi?id=207467 |
| <rdar://problem/59312749> |
| |
| Reviewed by Jer Noble. |
| |
| * wtf/LoggerHelper.h: |
| (WTF::LoggerHelper::childLogIdentifier const): |
| |
| 2020-02-10 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, speculative build fix on watchOS simulator |
| https://bugs.webkit.org/show_bug.cgi?id=207183 |
| |
| * wtf/HashTable.h: |
| (WTF::HashTableCapacityForSize::capacityForSize): |
| |
| 2020-02-10 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, fix build failure on watchOS simulator |
| https://bugs.webkit.org/show_bug.cgi?id=207183 |
| |
| * wtf/HashTable.h: |
| (WTF::HashTableCapacityForSize::capacityForSize): |
| |
| 2020-02-10 Daniel Bates <dabates@apple.com> |
| |
| Disallow setting base URL to a data or JavaScript URL |
| https://bugs.webkit.org/show_bug.cgi?id=207136 |
| |
| Reviewed by Brent Fulgham. |
| |
| Add some more macro definitions. |
| |
| * wtf/spi/darwin/dyldSPI.h: |
| |
| 2020-02-10 Truitt Savell <tsavell@apple.com> |
| |
| Unreviewed, rolling out r256091. |
| |
| Broke internal builds |
| |
| Reverted changeset: |
| |
| "Move trivial definitions from FeatureDefines.xcconfig to |
| PlatformEnableCocoa.h" |
| https://bugs.webkit.org/show_bug.cgi?id=207155 |
| https://trac.webkit.org/changeset/256091 |
| |
| 2020-02-10 Truitt Savell <tsavell@apple.com> |
| |
| Unreviewed, rolling out r256103. |
| |
| This patch is blocking the rollout of r256091 |
| |
| Reverted changeset: |
| |
| "Move JavaScriptCore related feature defines from |
| FeatureDefines.xcconfig to PlatformEnableCocoa.h" |
| https://bugs.webkit.org/show_bug.cgi?id=207436 |
| https://trac.webkit.org/changeset/256103 |
| |
| 2020-02-09 Keith Rollin <krollin@apple.com> |
| |
| Re-enable LTO for ARM builds |
| https://bugs.webkit.org/show_bug.cgi?id=207402 |
| <rdar://problem/49190767> |
| |
| Reviewed by Sam Weinig. |
| |
| Bug 190758 re-enabled LTO for Production builds for x86-family CPUs. |
| Enabling it for ARM was left out due to a compiler issue. That issue |
| has been fixed, and so now we can re-enable LTO for ARM. |
| |
| * Configurations/Base.xcconfig: |
| |
| 2020-02-08 Sam Weinig <weinig@apple.com> |
| |
| Move JavaScriptCore related feature defines from FeatureDefines.xcconfig to PlatformEnableCocoa.h |
| https://bugs.webkit.org/show_bug.cgi?id=207436 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformEnable.h: |
| Add default values for ENABLE_FAST_JIT_PERMISSIONS and ENABLE_SEPARATED_WX_HEAP. |
| |
| * wtf/PlatformEnableCocoa.h: |
| Added ENABLE_FAST_JIT_PERMISSIONS (from FeatureDefines.xcconfig), ENABLE_SEPARATED_WX_HEAP |
| (from PlatformEnable.h) and ENABLE_FTL_JIT (from both FeatureDefines.xcconfig and PlatformEnable.h). |
| |
| 2020-02-08 Sam Weinig <weinig@apple.com> |
| |
| Migrate definition of USE_PLATFORM_REGISTERS_WITH_PROFILE to PlatformUse.h |
| https://bugs.webkit.org/show_bug.cgi?id=207428 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformUse.h: |
| Move definition of USE_PLATFORM_REGISTERS_WITH_PROFILE from AdditionalFeatureDefines.h, where |
| it did not belong. |
| |
| 2020-02-08 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Try using 75% load factor for HashTable |
| https://bugs.webkit.org/show_bug.cgi?id=207183 |
| |
| Reviewed by Mark Lam. |
| |
| We know that hash-table is one of the most memory consuming part in WebKit. |
| By analyzing many production hash-table implementations[1], I found that many |
| of them are using 75% load-factor while our one is 50%. |
| |
| This patch changes the load-factor from 50% to 75%. But we pick 75% only for |
| small tables which capacity is <= 1024 based on collected data by micro-benchmarking. |
| The collected data is telling that longer probe-length affects on performance if table |
| size gets larger. |
| |
| [1]: LLVM DenseMap, Abseil's, rust's, and so on. |
| |
| * wtf/HashTable.h: |
| (WTF::HashTableCapacityForSize::shouldExpand): |
| (WTF::HashTableCapacityForSize::capacityForSize): |
| (WTF::HashTable::shouldExpand const): |
| (WTF::KeyTraits>::computeBestTableSize): |
| |
| 2020-02-08 Sam Weinig <weinig@apple.com> |
| |
| Move trivial definitions from FeatureDefines.xcconfig to PlatformEnableCocoa.h |
| https://bugs.webkit.org/show_bug.cgi?id=207155 |
| |
| Reviewed by Tim Horton. |
| |
| Move all trivial definitions (just ENABLE_FOO = ENABLE_FOO; or ENABLE_BAR = ;) |
| from the FeatureDefines.xcconfigs to PlatformEnableCocoa.h, ensuring each one |
| also has a default value in PlatformEnable.h |
| |
| ENABLE_INSPECTOR_TELEMETRY, ENABLE_TEXT_AUTOSIZING, ENABLE_WEBGL, ENABLE_METER_ELEMENT, |
| ENABLE_VIDEO_TRACK, ENABLE_WEB_AUDIO and ENABLE_CURSOR_VISIBILITY are all now always |
| set to 1 for Cocoa (if not defined already), as this was already the case via the xcconfig. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-02-07 Alex Christensen <achristensen@webkit.org> |
| |
| Harden HashTable IPC decoders |
| https://bugs.webkit.org/show_bug.cgi?id=207415 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/HashCountedSet.h: |
| |
| 2020-02-07 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r256051. |
| |
| Broke internal builds. |
| |
| Reverted changeset: |
| |
| "Move trivial definitions from FeatureDefines.xcconfig to |
| PlatformEnableCocoa.h" |
| https://bugs.webkit.org/show_bug.cgi?id=207155 |
| https://trac.webkit.org/changeset/256051 |
| |
| 2020-02-07 Stephan Szabo <stephan.szabo@sony.com> |
| |
| [Win] Two FileSystem API tests fail |
| https://bugs.webkit.org/show_bug.cgi?id=207388 |
| |
| Reviewed by Don Olmstead. |
| |
| * wtf/win/FileSystemWin.cpp: |
| Make getFinalPathName return dos path rather than nt volume path. |
| Change createSymbolicLink return to match CreateSymbolicLinkW |
| Have directoryName strip trailing slashes. |
| |
| 2020-02-03 Sam Weinig <weinig@apple.com> |
| |
| Move trivial definitions from FeatureDefines.xcconfig to PlatformEnableCocoa.h |
| https://bugs.webkit.org/show_bug.cgi?id=207155 |
| |
| Reviewed by Tim Horton. |
| |
| Move all trivial definitions (just ENABLE_FOO = ENABLE_FOO; or ENABLE_BAR = ;) |
| from the FeatureDefines.xcconfigs to PlatformEnableCocoa.h, ensuring each one |
| also has a default value in PlatformEnable.h |
| |
| ENABLE_INSPECTOR_TELEMETRY, ENABLE_TEXT_AUTOSIZING, ENABLE_WEBGL, ENABLE_METER_ELEMENT, |
| ENABLE_VIDEO_TRACK, ENABLE_WEB_AUDIO and ENABLE_CURSOR_VISIBILITY are all now always |
| set to 1 for Cocoa (if not defined already), as this was already the case via the xcconfig. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2020-02-07 youenn fablet <youenn@apple.com> |
| |
| Mandate UUID version 4 for mDNS ICE candidates |
| https://bugs.webkit.org/show_bug.cgi?id=207329 |
| <rdar://problem/59221606> |
| |
| Address post-commit comments from Darin by using isASCIIHexDigit. |
| |
| Unreviewed. |
| |
| * wtf/UUID.cpp: |
| (WTF::isVersion4UUID): |
| (WTF::isHexadecimalCharacter): Deleted. |
| |
| 2020-02-07 youenn fablet <youenn@apple.com> |
| |
| Mandate UUID version 4 for mDNS ICE candidates |
| https://bugs.webkit.org/show_bug.cgi?id=207329 |
| |
| Reviewed by Alex Christensen. |
| |
| Add a routine to validate version 4 UUID. |
| |
| * wtf/UUID.cpp: |
| (WTF::isHexadecimalCharacter): |
| (WTF::isVersion4UUID): |
| * wtf/UUID.h: |
| |
| 2020-02-07 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, revert 75% load-factor because of JetStream2/string-unpack-code-SP regression |
| https://bugs.webkit.org/show_bug.cgi?id=207183 |
| |
| * wtf/HashTable.h: |
| (WTF::HashTable::shouldExpand const): |
| (WTF::KeyTraits>::computeBestTableSize): |
| (WTF::HashTable::shouldExpand): Deleted. |
| (WTF::HashTableCapacityForSize::capacityForSize): Deleted. |
| |
| 2020-02-07 youenn fablet <youenn@apple.com> |
| |
| [Cocoa] Use AVAssetWriterDelegate to implement MediaRecorder |
| https://bugs.webkit.org/show_bug.cgi?id=206582 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-02-06 Mark Lam <mark.lam@apple.com> |
| |
| Add a comment in StringView::setUnderlyingString(const StringView&) for clarification. |
| https://bugs.webkit.org/show_bug.cgi?id=207368 |
| <rdar://problem/59211075> |
| |
| Reviewed by Keith Miller. |
| |
| Every time I read this code, I have to re-deduce why this code is thread safe. |
| So, I'm just going to add a comment to document it. |
| |
| * wtf/text/StringView.cpp: |
| (WTF::StringView::setUnderlyingString): |
| |
| 2020-02-06 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| REGRESSION(r254534): 1-3% regression on PLT |
| https://bugs.webkit.org/show_bug.cgi?id=207244 |
| <rdar://problem/58821709> |
| |
| Reviewed by Simon Fraser. |
| |
| CTFontTransformGlyphsWithLanguage() is only acceptable on certain OSes. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-02-06 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r255910, r255970, and r255972. |
| https://bugs.webkit.org/show_bug.cgi?id=207345 |
| |
| Broke internal builds (Requested by ryanhaddad on #webkit). |
| |
| Reverted changesets: |
| |
| "[Cocoa] Use AVAssetWriterDelegate to implement MediaRecorder" |
| https://bugs.webkit.org/show_bug.cgi?id=206582 |
| https://trac.webkit.org/changeset/255910 |
| |
| "[Cocoa] Use AVAssetWriterDelegate to implement MediaRecorder" |
| https://bugs.webkit.org/show_bug.cgi?id=206582 |
| https://trac.webkit.org/changeset/255970 |
| |
| "[Cocoa] Use AVAssetWriterDelegate to implement MediaRecorder" |
| https://bugs.webkit.org/show_bug.cgi?id=206582 |
| https://trac.webkit.org/changeset/255972 |
| |
| 2020-02-06 Ryan Haddad <ryanhaddad@apple.com> |
| |
| [Cocoa] Use AVAssetWriterDelegate to implement MediaRecorder |
| https://bugs.webkit.org/show_bug.cgi?id=206582 |
| |
| Unreviewed internal build fix attempt. |
| |
| * wtf/PlatformHave.h: Fix copy / paste error. |
| |
| 2020-02-06 Ryan Haddad <ryanhaddad@apple.com> |
| |
| [Cocoa] Use AVAssetWriterDelegate to implement MediaRecorder |
| https://bugs.webkit.org/show_bug.cgi?id=206582 |
| |
| Unreviewed internal build fix attempt. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-02-06 youenn fablet <youenn@apple.com> |
| |
| [Cocoa] Use AVAssetWriterDelegate to implement MediaRecorder |
| https://bugs.webkit.org/show_bug.cgi?id=206582 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-02-05 Don Olmstead <don.olmstead@sony.com> |
| |
| [PlayStation] Build a shared JavaScriptCore |
| https://bugs.webkit.org/show_bug.cgi?id=198446 |
| |
| Reviewed by Fujii Hironori. |
| |
| Add bmalloc definition when compiling WTF. Remove LanguageUnix.cpp since |
| LanguagePlayStation.cpp is present which results in duplicate symbol definitions. |
| |
| * wtf/PlatformPlayStation.cmake: |
| |
| 2020-02-05 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Try using 75% load factor for HashTable |
| https://bugs.webkit.org/show_bug.cgi?id=207183 |
| |
| Reviewed by Mark Lam. |
| |
| We know that hash-table is one of the most memory consuming part in WebKit. |
| By analyzing many production hash-table implementations[1], I found that many |
| of them are using 75% load-factor while our one is 50%. |
| |
| A/B test shows that 75% load-factor is performance-neutral in Speedometer2 and |
| JetStream2, while it offers 2~% improvement in Membuster. This means that we are |
| wasting too much memory for no-performance-improvement. |
| |
| This patch changes the load-factor from 50% to 75%. |
| |
| [1]: LLVM DenseMap, Abseil's, rust's, and so on. |
| |
| * wtf/HashTable.h: |
| (WTF::HashTable::shouldExpand): |
| (WTF::HashTable::shouldExpand const): |
| (WTF::HashTableCapacityForSize::capacityForSize): |
| (WTF::KeyTraits>::computeBestTableSize): |
| |
| 2020-02-05 Per Arne Vollan <pvollan@apple.com> |
| |
| [iOS] Do not create sandbox reports when the UI process cannot issue extensions to diagnostics service |
| https://bugs.webkit.org/show_bug.cgi?id=207279 |
| <rdar://problem/59030957> |
| |
| Reviewed by Brent Fulgham. |
| |
| Add flag which avoids generating sandbox reports. |
| |
| * wtf/spi/darwin/SandboxSPI.h: |
| |
| 2020-02-05 Alex Christensen <achristensen@webkit.org> |
| |
| Make WKWebView._negotiatedLegacyTLS accurate when loading main resouorce from network or cache |
| https://bugs.webkit.org/show_bug.cgi?id=207207 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/persistence/PersistentDecoder.cpp: |
| (WTF::Persistence::Decoder::decode): |
| * wtf/persistence/PersistentDecoder.h: |
| * wtf/persistence/PersistentEncoder.cpp: |
| (WTF::Persistence::Encoder::encode): |
| * wtf/persistence/PersistentEncoder.h: |
| |
| 2020-02-05 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r255818. |
| https://bugs.webkit.org/show_bug.cgi?id=207270 |
| |
| It is breaking some Mac builds (Requested by youenn on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "[Cocoa] Use AVAssetWriterDelegate to implement MediaRecorder" |
| https://bugs.webkit.org/show_bug.cgi?id=206582 |
| https://trac.webkit.org/changeset/255818 |
| |
| 2020-02-05 youenn fablet <youenn@apple.com> |
| |
| [Cocoa] Use AVAssetWriterDelegate to implement MediaRecorder |
| https://bugs.webkit.org/show_bug.cgi?id=206582 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-02-04 Adrian Perez de Castro <aperez@igalia.com> |
| |
| Non-unified build fixes early February 2020 edition |
| https://bugs.webkit.org/show_bug.cgi?id=207227 |
| |
| Reviewed by Don Olmstead. |
| |
| * wtf/SingleRootGraph.h: Add missing inclusion of wtf/StringPrintStream.h |
| |
| 2020-02-04 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Introduce UnlinkedCodeBlockGenerator and reduce sizeof(UnlinkedCodeBlock) |
| https://bugs.webkit.org/show_bug.cgi?id=207087 |
| |
| Reviewed by Tadeu Zagallo. |
| |
| Add more useful methods for RefCountedArray. |
| |
| * wtf/RefCountedArray.h: |
| (WTF::RefCountedArray::operator=): |
| (WTF::RefCountedArray::isEmpty const): |
| (WTF::RefCountedArray::front): |
| (WTF::RefCountedArray::front const): |
| (WTF::RefCountedArray::last): |
| (WTF::RefCountedArray::last const): |
| |
| 2020-02-03 Alex Christensen <achristensen@webkit.org> |
| |
| Reduce size of HashMap and HashSet |
| https://bugs.webkit.org/show_bug.cgi?id=207138 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| This reduces sizeof(HashMap) and sizeof(HashSet) from 24 to 8 on 64-bit systems. |
| I measured that the overwhelming majority of HashMaps and HashSets never see more than 0 elements, |
| so I moved the table metadata (tableSize, tableSizeMask, keyCount, deletedCount) to inside the |
| dynamically allocated memory. This makes another branch in size() for non-empty tables |
| and an additional read and write when rehashing in exchange for fewer writes in the constructor |
| and increased cache locality of everything that uses HashMap and HashSet, which is basically everything. |
| |
| * wtf/HashTable.h: |
| (WTF::HashTable::~HashTable): |
| (WTF::HashTable::end): |
| (WTF::HashTable::end const): |
| (WTF::HashTable::random): |
| (WTF::HashTable::size const): |
| (WTF::HashTable::capacity const): |
| (WTF::HashTable::isEmpty const): |
| (WTF::HashTable::reserveInitialCapacity): |
| (WTF::HashTable::shouldExpand const): |
| (WTF::HashTable::mustRehashInPlace const): |
| (WTF::HashTable::shouldShrink const): |
| (WTF::HashTable::shrink): |
| (WTF::HashTable::makeIterator): |
| (WTF::HashTable::makeConstIterator const): |
| (WTF::HashTable::makeKnownGoodIterator): |
| (WTF::HashTable::makeKnownGoodConstIterator const): |
| (WTF::HashTable::tableSize const): |
| (WTF::HashTable::setTableSize const): |
| (WTF::HashTable::tableSizeMask const): |
| (WTF::HashTable::setTableSizeMask): |
| (WTF::HashTable::keyCount const): |
| (WTF::HashTable::setKeyCount const): |
| (WTF::HashTable::deletedCount const): |
| (WTF::HashTable::setDeletedCount const): |
| (WTF::KeyTraits>::HashTable): |
| (WTF::KeyTraits>::inlineLookup): |
| (WTF::KeyTraits>::lookupForWriting): |
| (WTF::KeyTraits>::fullLookupForWriting): |
| (WTF::KeyTraits>::addUniqueForInitialization): |
| (WTF::KeyTraits>::add): |
| (WTF::KeyTraits>::addPassingHashCode): |
| (WTF::KeyTraits>::remove): |
| (WTF::KeyTraits>::removeIf): |
| (WTF::KeyTraits>::allocateTable): |
| (WTF::KeyTraits>::deallocateTable): |
| (WTF::KeyTraits>::expand): |
| (WTF::KeyTraits>::shrinkToBestSize): |
| (WTF::KeyTraits>::deleteReleasedWeakBuckets): |
| (WTF::KeyTraits>::rehash): |
| (WTF::KeyTraits>::clear): |
| (WTF::KeyTraits>::swap): |
| (WTF::KeyTraits>::checkTableConsistencyExceptSize const): |
| |
| 2020-02-03 Sam Weinig <weinig@apple.com> |
| |
| Start splitting platform specific overrides of default enable behavior into their own files |
| https://bugs.webkit.org/show_bug.cgi?id=207105 |
| |
| Reviewed by Dean Jackson. |
| |
| Splits out platform specific overrides of default enable behavior into separate files, |
| starting with one for all of the Cocoa related ports, one for Apple's Windows port, and |
| one for the WinCario port. |
| |
| The rule is now that all ENABLE_* macros should have a default defined in PlatformEnable.h, |
| but platforms are allowed to override it via their PlatformEnable*.h file. For now, I manually |
| ensured that all the defines in PlatformEnableCocoa.h, PlatformEnableWinApple.h and PlatformEnableWinCairo.h |
| also had defaults in PlatformEnable.h, but going forward this needs be validated either through |
| some sort of macro-based validation, through the style checker or something else. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: Copied from Source/WTF/wtf/PlatformEnable.h. |
| * wtf/PlatformEnableWinApple.h: Copied from Source/WTF/wtf/PlatformEnable.h. |
| * wtf/PlatformEnableWinCairo.h: Copied from Source/WTF/wtf/PlatformEnable.h. |
| |
| 2020-01-31 Don Olmstead <don.olmstead@sony.com> |
| |
| [CMake] Add _PRIVATE_LIBRARIES to framework |
| https://bugs.webkit.org/show_bug.cgi?id=207004 |
| |
| Reviewed by Konstantin Tokarev. |
| |
| Move uses of PRIVATE within _LIBRARIES to _PRIVATE_LIBRARIES. Any _LIBRARIES appended |
| afterwards will have that visibility set erroneously. |
| |
| * wtf/PlatformFTW.cmake: |
| |
| 2020-01-30 Conrad Shultz <conrad_shultz@apple.com> |
| |
| `FALLTHROUGH` macro isn't properly defined when building Objective-C files using Clang |
| https://bugs.webkit.org/show_bug.cgi?id=206637 |
| |
| Reviewed by Darin Adler. |
| |
| Allow the `FALLTHROUGH` macro to be defined properly when building with either GCC |
| or Clang. |
| |
| * wtf/Compiler.h: |
| |
| 2020-01-30 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Remove PackedIntVector |
| https://bugs.webkit.org/show_bug.cgi?id=207018 |
| |
| Reviewed by Mark Lam. |
| |
| Simply removing PackedIntVector since (1) nobody uses it, (2) it is somewhat broken (like, size()), and (3) its implementation is not so efficient. |
| If we want to have this feature, we can recreate it. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/PackedIntVector.h: Removed. |
| |
| 2020-01-30 Jonathan Bedard <jbedard@apple.com> |
| |
| PAL: Remove old iOS version macros |
| https://bugs.webkit.org/show_bug.cgi?id=206905 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformHave.h: Add HAVE(NSPROGRESS_PUBLISHING_SPI). |
| |
| 2020-01-28 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Should use light theme unless website declares support for dark themes in color-schemes property |
| https://bugs.webkit.org/show_bug.cgi?id=197947 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Do not define HAVE_OS_DARK_MODE_SUPPORT for the GTK port. |
| |
| * wtf/PlatformHave.h: |
| |
| 2020-01-28 Jonathan Bedard <jbedard@apple.com> |
| |
| WebCore: Guard uneven corners in rounded rectangles |
| https://bugs.webkit.org/show_bug.cgi?id=206838 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformHave.h: Add HAVE(CG_PATH_UNEVEN_CORNERS_ROUNDEDRECT). |
| |
| 2020-01-27 Jonathan Bedard <jbedard@apple.com> |
| |
| WebCore: Remove iOS 11 macros from RenderThemeIOS.mm |
| https://bugs.webkit.org/show_bug.cgi?id=206787 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformHave.h: Add HAVE(SYSTEM_FONT_STYLE_TITLE_0) and HAVE(SYSTEM_FONT_STYLE_TITLE_4). |
| |
| 2020-01-27 Jonathan Bedard <jbedard@apple.com> |
| |
| Fix OpenSource iphoneos arm64e build |
| https://bugs.webkit.org/show_bug.cgi?id=206703 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/PlatformUse.h: Add USE(DARWIN_REGISTER_MACROS) check. |
| |
| 2020-01-27 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r255159. |
| |
| Broke the watchOS build. |
| |
| Reverted changeset: |
| |
| "Fix OpenSource iphoneos arm64e build" |
| https://bugs.webkit.org/show_bug.cgi?id=206703 |
| https://trac.webkit.org/changeset/255159 |
| |
| 2020-01-27 Jonathan Bedard <jbedard@apple.com> |
| |
| Fix OpenSource iphoneos arm64e build |
| https://bugs.webkit.org/show_bug.cgi?id=206703 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/PlatformUse.h: Add USE(DARWIN_REGISTER_MACROS) check. |
| |
| 2020-01-27 Mark Lam <mark.lam@apple.com> |
| |
| Make getVTablePointer() an inline function to be compliant with WebKit style guidelines. |
| https://bugs.webkit.org/show_bug.cgi?id=206816 |
| |
| Reviewed by Darin Adler. |
| |
| Convert getVTablePointer() from a macro into an inline template function. This |
| makes the naming compliant with WebKit style guidelines. |
| |
| * wtf/PointerPreparations.h: |
| (WTF::getVTablePointer): |
| |
| 2020-01-25 Brady Eidson <beidson@apple.com> |
| |
| Make ContentWorlds be identified by an ObjectIdentifier instead of a uint64_t |
| https://bugs.webkit.org/show_bug.cgi?id=206784 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/ObjectIdentifier.h: |
| (WTF::ObjectIdentifier::generate): |
| (WTF::ObjectIdentifier::generateThreadSafe): |
| (WTF::ObjectIdentifier::enableGenerationProtection): To allow restricting generating an identifier to the UIProcess. |
| |
| 2020-01-25 Mark Lam <mark.lam@apple.com> |
| |
| Introduce a getVTablePointer() utility function. |
| https://bugs.webkit.org/show_bug.cgi?id=206804 |
| <rdar://problem/58872290> |
| |
| Reviewed by Yusuke Suzuki and Oliver Hunt. |
| |
| With getVTablePointer(), we can abstract away how we get a vtable function pointer |
| without assuming the way it is signed for ARM64E. With this, we can remove the |
| WTF_PREPARE_VTBL_POINTER_FOR_INSPECTION macro which assumes how a vtable function |
| pointer is signed. |
| |
| * wtf/PointerPreparations.h: |
| |
| 2020-01-25 Mark Lam <mark.lam@apple.com> |
| |
| Add some tests for dynamically allocated StaticStringImpls. |
| https://bugs.webkit.org/show_bug.cgi?id=206802 |
| |
| Reviewed by Darin Adler. |
| |
| Removed some unnecessary explicit specialization of the charactersAreAllASCII() |
| template function. |
| |
| * wtf/text/StringImpl.cpp: |
| (WTF::StringImpl::createFromLiteral): |
| (WTF::StringImpl::createStaticStringImpl): |
| |
| 2020-01-24 Mark Lam <mark.lam@apple.com> |
| |
| Move singleton Intl string locales out of JSGlobalObject. |
| https://bugs.webkit.org/show_bug.cgi?id=206791 |
| <rdar://problem/58889037> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Fix a bug in StringImpl::createStaticStringImpl(): I forgot to set its hash value |
| when I introduced it. StaticStringImpls require that its hash code be set ahead |
| of time, and cannot be mutated at runtime. See the comment in the definition of |
| StaticStringImpl in StringImpl.h. |
| |
| * wtf/text/StringImpl.cpp: |
| (WTF::StringImpl::createStaticStringImpl): |
| |
| 2020-01-24 Mark Lam <mark.lam@apple.com> |
| |
| IntlObject's cached strings should be immortal and safe for concurrent access. |
| https://bugs.webkit.org/show_bug.cgi?id=206779 |
| <rdar://problem/58831763> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Add a factory for creating a dynamically allocated StaticStringImpl. |
| |
| Note: StaticStringImpl is guaranteed to have the same shape as StringImpl. |
| The only difference is that s_refCountFlagIsStaticString is set on the refCount |
| for StaticStringImpl. Since the client will use the StaticStringImpl as a |
| StringImpl, we implement the factory by using StringImpl::createInternal() for |
| simplicity, and set the s_refCountFlagIsStaticString flag thereafter. |
| |
| * wtf/text/StringImpl.cpp: |
| (WTF::StringImpl::createStaticStringImpl): |
| * wtf/text/StringImpl.h: |
| |
| 2020-01-24 Keith Rollin <krollin@apple.com> |
| |
| Fix internal Apple builds after r254411 |
| https://bugs.webkit.org/show_bug.cgi?id=206723 |
| <rdar://problem/58844735> |
| |
| Reviewed by Maciej Stachowiak. |
| |
| The default Xcode build configuration has changed between macOS 10.13 |
| and macOS 10.15, such that references to some frameworks when bulding |
| for the latter don't work when building for the former. Fix this by |
| explicitly adding support for the desired build location rather than |
| assuming such support will be provided for us. |
| |
| * Configurations/WTF.xcconfig: |
| |
| 2020-01-24 Jonathan Bedard <jbedard@apple.com> |
| |
| WTF: Remove old iOS version macros |
| https://bugs.webkit.org/show_bug.cgi?id=206634 |
| <rdar://problem/58818561> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformEnable.h: Remove iOS 12 version macro. |
| * wtf/PlatformHave.h: Ditto. |
| * wtf/PlatformUse.h: Ditto. |
| |
| 2020-01-22 Darin Adler <darin@apple.com> |
| |
| Remove some unneeded definitions from Platform.h family headers |
| https://bugs.webkit.org/show_bug.cgi?id=206642 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformEnable.h: |
| Removed ENABLE_RESPECT_EXIF_ORIENTATION because it was unused. |
| |
| * wtf/PlatformHave.h: |
| Removed HAVE_PASSKIT_API_TYPE because it is now unused. |
| Removed HAVE_MERGESORT because it was unused. |
| Removed HAVE_AVFOUNDATION_VIDEO_OUTPUT because it is now unused. |
| Removed HAVE_AVFOUNDATION_MEDIA_SELECTION_GROUP because it is now unused. |
| Removed HAVE_CFNETWORK_WITH_CONTENT_ENCODING_SNIFFING_OVERRIDE because it was unused. |
| |
| * wtf/PlatformUse.h: |
| Removed USE_ARENA_ALLOC_ALIGNMENT_INTEGER because it was unused. |
| Removed USE_NETWORK_CFDATA_ARRAY_CALLBACK because it is now unused. |
| |
| 2020-01-22 Eric Carlson <eric.carlson@apple.com> |
| |
| uniqueLogIdentifier() should generate a unique identifiers |
| https://bugs.webkit.org/show_bug.cgi?id=206612 |
| |
| Reviewed by Brent Fulgham. |
| |
| * wtf/LoggerHelper.h: |
| (WTF::LoggerHelper::uniqueLogIdentifier): |
| |
| 2020-01-22 Sam Weinig <weinig@apple.com> |
| |
| Remove unused enable macro ENABLE_JIT_CONSTANT_BLINDING |
| https://bugs.webkit.org/show_bug.cgi?id=206415 |
| |
| Reviewed by Anders Carlsson. |
| |
| * wtf/PlatformEnable.h: |
| ENABLE_JIT_CONSTANT_BLINDING is not used anywhere in WebKit so can be removed. |
| |
| 2020-01-22 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] DateMath should accept more ISO-8601 timezone designators even if they are not included in ECMA262 to produce expected results in the wild code |
| https://bugs.webkit.org/show_bug.cgi?id=160287 |
| |
| Reviewed by Ross Kirsling. |
| |
| While ECMA262[1] always requires ":" in a timezone designator between hours and minutes (like, "hh:mm"), |
| ISO-8601 can accept additional forms, "+hh" and "+hhmm". This patch relaxes our Date parsing to accept this |
| type of timezone designators so that we can accept wider forms of date time formats. This addition does not |
| break the existing parsing rules since '+-' prefix can clarify that following sequences are timezones. |
| |
| [1]: https://tc39.es/ecma262/#sec-date-time-string-format |
| [2]: https://en.wikipedia.org/wiki/ISO_8601#Time_zone_designators |
| |
| * wtf/DateMath.cpp: |
| (WTF::parseES5TimePortion): |
| (WTF::parseES5DateFromNullTerminatedCharacters): |
| |
| 2020-01-21 Ross Kirsling <ross.kirsling@sony.com> |
| |
| [JSC] Date parse logic should be less redundant |
| https://bugs.webkit.org/show_bug.cgi?id=206560 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/DateMath.cpp: |
| (WTF::parseDateFromNullTerminatedCharacters): |
| * wtf/DateMath.h: |
| Align function signature with parseES5DateFromNullTerminatedCharacters. |
| Namely, drop the integer out param and flip the boolean one. |
| |
| 2020-01-21 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] AtomStringTable should be small |
| https://bugs.webkit.org/show_bug.cgi?id=206400 |
| |
| Reviewed by Sam Weinig. |
| |
| AtomStringTable is the largest hashtable typically. It takes more |
| than 256KB per WebProcess (sometimes, it took 1MB or more). |
| This patch leverages PackedPtr to compact it from 8 bytes per entry |
| to 6 bytes per entry. |
| |
| While this is still large, we should investigate how to compact C++ |
| pointers in 4 bytes[1] to shrink memory footprint, since WebKit |
| memory is used by Vector and HashTable fulfilled with pointers. |
| |
| [1]: https://bugs.webkit.org/show_bug.cgi?id=206469 |
| |
| * wtf/DumbPtrTraits.h: |
| (WTF::DumbPtrTraits::hashTableDeletedValue): |
| (WTF::DumbPtrTraits::isHashTableDeletedValue): |
| * wtf/Forward.h: |
| * wtf/HashTraits.h: |
| * wtf/Packed.h: |
| (WTF::Packed<T::Packed): |
| (WTF::Packed<T::isHashTableDeletedValue const): |
| (WTF::GetPtrHelper<PackedPtr<T>>::getPtr): |
| (WTF::PackedPtrTraits::hashTableDeletedValue): |
| (WTF::PackedPtrTraits::isHashTableDeletedValue): |
| (WTF::alignof): Deleted. |
| * wtf/Ref.h: |
| (WTF::Ref::Ref): |
| (WTF::Ref::isHashTableDeletedValue const): |
| (WTF::Ref::hashTableDeletedValue): Deleted. |
| * wtf/RefPtr.h: |
| (WTF::RefPtr::RefPtr): |
| (WTF::RefPtr::isHashTableDeletedValue const): |
| (WTF::RefPtr::hashTableDeletedValue): Deleted. |
| * wtf/text/AtomStringImpl.cpp: |
| (WTF::addToStringTable): |
| (WTF::CStringTranslator::equal): |
| (WTF::CStringTranslator::translate): |
| (WTF::UCharBufferTranslator::equal): |
| (WTF::UCharBufferTranslator::translate): |
| (WTF::HashAndUTF8CharactersTranslator::equal): |
| (WTF::HashAndUTF8CharactersTranslator::translate): |
| (WTF::SubstringTranslator::translate): |
| (WTF::SubstringTranslator8::equal): |
| (WTF::SubstringTranslator16::equal): |
| (WTF::LCharBufferTranslator::equal): |
| (WTF::LCharBufferTranslator::translate): |
| (WTF::BufferFromStaticDataTranslator::equal): |
| (WTF::BufferFromStaticDataTranslator::translate): |
| (WTF::AtomStringImpl::addSlowCase): |
| (WTF::AtomStringImpl::remove): |
| (WTF::AtomStringImpl::lookUpSlowCase): |
| (WTF::AtomStringImpl::lookUp): |
| * wtf/text/AtomStringTable.cpp: |
| (WTF::AtomStringTable::~AtomStringTable): |
| * wtf/text/AtomStringTable.h: |
| (WTF::AtomStringTable::table): |
| (): Deleted. |
| * wtf/text/StringHash.h: |
| (WTF::StringHash::hash): |
| (WTF::StringHash::equal): |
| (WTF::ASCIICaseInsensitiveHash::hash): |
| (WTF::ASCIICaseInsensitiveHash::equal): |
| * wtf/text/StringImpl.h: |
| |
| 2020-01-17 Sam Weinig <weinig@apple.com> |
| |
| Platform.h is out of control Part 8: Macros are used inconsistently |
| https://bugs.webkit.org/show_bug.cgi?id=206425 |
| |
| Reviewed by Darin Adler. |
| |
| Start addressing FIXMEs added to Platform.h (and helper files) during previous |
| cleanup work. |
| |
| - Renames WTF_CPU_EFFECTIVE_ADDRESS_WIDTH to WTF_OS_CONSTANT_EFFECTIVE_ADDRESS_WIDTH, |
| making it available via new macro OS_CONSTANT(...), and syncs bmalloc redefinition. |
| - Renames: |
| USE_LLINT_EMBEDDED_OPCODE_ID to ENABLE_LLINT_EMBEDDED_OPCODE_ID |
| USE_UDIS86 to ENABLE_UDIS86 |
| USE_ARM64_DISASSEMBLER to ENABLE_ARM64_DISASSEMBLER |
| Enable is more appropriate here as these enable functionality within webkit. |
| - Removes undefs that are no longer needed due to only defining the macro once now. |
| - Removes dead defined(__LP64__) check after PLATFORM(MAC) macOS is always 64-bit these |
| days. |
| |
| * wtf/Packed.h: |
| (WTF::alignof): |
| * wtf/Platform.h: |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformOS.h: |
| * wtf/WTFAssertions.cpp: |
| * wtf/text/StringCommon.h: |
| |
| 2020-01-20 David Kilzer <ddkilzer@apple.com> |
| |
| Fix missing header guards and clean up empty files in bmalloc, WTF, JavaScriptCore |
| <https://webkit.org/b/206481> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/cocoa/Entitlements.h: |
| * wtf/win/PathWalker.h: |
| - Add #pragma once. |
| |
| 2020-01-19 Claudio Saavedra <csaavedra@igalia.com> |
| |
| [GTK] Remove usage of deprecated GTimeVal |
| https://bugs.webkit.org/show_bug.cgi?id=206358 |
| |
| Reviewed by Žan Doberšek. |
| |
| Use g_get_real_time() directly instead of deprecated and unsafe API. |
| |
| * wtf/CurrentTime.cpp: |
| (WTF::currentTime): |
| |
| 2020-01-16 Keith Miller <keith_miller@apple.com> |
| |
| Reland bytecode checkpoints since bugs have been fixed |
| https://bugs.webkit.org/show_bug.cgi?id=206361 |
| |
| Unreviewed, reland. |
| |
| The watch bugs have been fixed by https://trac.webkit.org/changeset/254674 |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/Bitmap.h: |
| (WTF::WordType>::invert): |
| (WTF::WordType>::operator): |
| (WTF::WordType>::operator const const): |
| * wtf/CMakeLists.txt: |
| * wtf/EnumClassOperatorOverloads.h: Added. |
| * wtf/FastBitVector.h: |
| (WTF::FastBitReference::operator bool const): |
| (WTF::FastBitReference::operator|=): |
| (WTF::FastBitReference::operator&=): |
| (WTF::FastBitVector::fill): |
| (WTF::FastBitVector::grow): |
| * wtf/UnalignedAccess.h: |
| (WTF::unalignedLoad): |
| (WTF::unalignedStore): |
| |
| 2020-01-16 Tim Horton <timothy_horton@apple.com> |
| |
| Fix the build after r254701 |
| <rdar://problem/58667355> |
| |
| * wtf/Platform.h: |
| * wtf/PlatformEnable.h: |
| AdditionalFeatureDefines has to come first. |
| |
| 2020-01-16 Sam Weinig <weinig@apple.com> |
| |
| Platform.h is out of control Part 7: Split calling convention macro definitions out of Platform.h and into a new PlatformCallingConventions.h |
| https://bugs.webkit.org/show_bug.cgi?id=206377 |
| |
| Reviewed by Anders Carlsson. |
| |
| As a another step towards cleaning up Platform.h, split out all the calling convention |
| macros into their own file. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| Add new header. |
| |
| * wtf/Platform.h: |
| * wtf/PlatformCPU.h: |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformHave.h: |
| * wtf/PlatformLegacy.h: |
| * wtf/PlatformOS.h: |
| * wtf/PlatformUse.h: |
| Unify indirect inclusion guard. |
| |
| * wtf/PlatformCallingConventions.h: Copied from Source/WTF/wtf/Platform.h. |
| |
| 2020-01-16 Robin Morisset <rmorisset@apple.com> |
| |
| Use dataLogIf more regularly |
| https://bugs.webkit.org/show_bug.cgi?id=206332 |
| |
| Reviewed by Keith Miller. |
| |
| * wtf/DataLog.h: |
| (WTF::dataLog): Marked NEVER_INLINE, since it should never be perf-sensitive |
| |
| |
| 2020-01-16 Sam Weinig <weinig@apple.com> |
| |
| Platform.h is out of control Part 6: Split USE_* macro definitions out of Platform.h and into a new PlatformUse.h |
| https://bugs.webkit.org/show_bug.cgi?id=206354 |
| |
| Reviewed by Dan Bernstein. |
| |
| As a another step towards cleaning up Platform.h, split out all the legacy platform |
| macros into their own file. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| Add new file. |
| |
| * wtf/Platform.h: In addition to removing all the USE_* macros, consolidate |
| all the sub-includes at the top. |
| |
| * wtf/PlatformEnable.h: Moved ASSERT_ENABLED here from Platform.h, |
| as it makes more sense here. Eventually should be renamed ro ENABLE_ASSERT |
| for consistency. |
| |
| * wtf/PlatformUse.h: Copied from Source/WTF/wtf/Platform.h. |
| |
| 2020-01-16 Per Arne Vollan <pvollan@apple.com> |
| |
| [Win] Fix AppleWin build |
| https://bugs.webkit.org/show_bug.cgi?id=206299 |
| |
| Reviewed by Brent Fulgham. |
| |
| Build internal builds with VS2019. |
| |
| * WTF.vcxproj/WTF.proj: |
| |
| 2020-01-15 Sam Weinig <weinig@apple.com> |
| |
| Platform.h is out of control Part 5: Split HAVE_* macro definitions out of Platform.h and into a new PlatformHave.h |
| https://bugs.webkit.org/show_bug.cgi?id=206307 |
| |
| Reviewed by Anders Carlsson. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/Platform.h: |
| * wtf/PlatformHave.h: Copied from Source/WTF/wtf/Platform.h. |
| |
| 2020-01-15 Keith Miller <keith_miller@apple.com> |
| |
| Revert bytecode checkpoints since it breaks watch |
| https://bugs.webkit.org/show_bug.cgi?id=206301 |
| |
| Unreviewed, revert. |
| |
| 2020-01-14 Sam Weinig <weinig@apple.com> |
| |
| Platform.h is out of control Part 4: Split PLATFORM_* macro definitions out of Platform.h and into a new PlatformLegacy.h |
| https://bugs.webkit.org/show_bug.cgi?id=206272 |
| |
| Reviewed by Anders Carlsson. |
| |
| As a another step towards cleaning up Platform.h, split out all the legacy platform |
| macros into their own file. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/Platform.h: |
| * wtf/PlatformLegacy.h: Copied from Source/WTF/wtf/Platform.h. |
| |
| 2020-01-14 Sam Weinig <weinig@apple.com> |
| |
| Plaform.h helper files should have a consistent naming scheme |
| https://bugs.webkit.org/show_bug.cgi?id=206240 |
| |
| Reviewed by Dean Jackson. |
| |
| Rename Plaform.h helper files to use the prefix "Platform" consistently. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/CPU.h: Removed. |
| * wtf/FeatureDefines.h: Removed. |
| * wtf/OS.h: Removed. |
| * wtf/Platform.h: |
| * wtf/PlatformCPU.h: Copied from Source/WTF/wtf/CPU.h. |
| * wtf/PlatformEnable.h: Copied from Source/WTF/wtf/FeatureDefines.h. |
| * wtf/PlatformOS.h: Copied from Source/WTF/wtf/OS.h. |
| |
| 2020-01-14 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Cocoa] Glyph lookup should be language-sensitive (specifically between Yiddish and Hebrew) |
| https://bugs.webkit.org/show_bug.cgi?id=77568 |
| <rdar://problem/14649193> |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/Platform.h: |
| |
| 2020-01-13 Darin Adler <darin@apple.com> |
| |
| Use even more "shortest form" formatting, and less "fixed precision" and "fixed width" |
| https://bugs.webkit.org/show_bug.cgi?id=198918 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/Logger.h: |
| (WTF::LogArgument::toString): Log floating point numbers as shortest form instead of fixed precision. |
| |
| * wtf/MediaTime.cpp: |
| (WTF::MediaTime::toString const): Convert time to string as shortest form instead of fixed precision. |
| Also use multiple-argument append for great simplicity and clarity. |
| |
| 2020-01-14 Alicia Boya GarcÃa <aboya@igalia.com> |
| |
| [WTF] Make MediaTime constructor constexpr |
| https://bugs.webkit.org/show_bug.cgi?id=206036 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| https://bugs.webkit.org/show_bug.cgi?id=205723 allowed to declare |
| MediaTime variables as static inside functions without needing a |
| global destructor. |
| |
| It did not eliminate the call to the MediaTime constructor on runtime |
| though. This wasn't a problem for static variables inside functions, |
| as the compiler adds a guard variable to call the constructor the |
| first time the function is called. |
| |
| On the other hand, for variables defined outside of the scope of the |
| function, for them to be initialized the MediaTime constructor would |
| have to be called at runtime from a global constructor, something |
| we're trying to avoid and which generates an error in clang. |
| |
| But again, MediaTime is a simple class with only integral values, we |
| shouldn't need a runtime function call to initialize it! |
| |
| This patch makes the MediaTime constructor constexpr so that we don't |
| need runtime initialization for static MediaTime variables. This |
| allows us to declare them outside functions and enables the compiler |
| to generate code without guard variables when static MediaTime |
| variables are declared inside functions. |
| |
| A test has been added accessing a global const static MediaTime. The |
| build should not produce any error stating the need for a global |
| constructor. |
| |
| * wtf/MediaTime.cpp: |
| * wtf/MediaTime.h: |
| (WTF::MediaTime::MediaTime): |
| |
| 2020-01-14 David Kilzer <ddkilzer@apple.com> |
| |
| Enable -Wconditional-uninitialized in bmalloc, WTF, JavaScriptCore |
| <https://webkit.org/b/206190> |
| <rdar://problem/58540387> |
| |
| Reviewed by Mark Lam. |
| |
| * Configurations/Base.xcconfig: |
| (WARNING_CFLAGS): Add -Wconditional-uninitialized. |
| |
| 2020-01-13 Sam Weinig <weinig@apple.com> |
| |
| Platform.h is out of control Part 3: Move all ENABLE_* macros definitions in FeatureDefines.h |
| https://bugs.webkit.org/show_bug.cgi?id=206139 |
| |
| Reviewed by Anders Carlsson. |
| |
| - Moves all remaining ENABLE_* defines out of Platform.h and into FeatureDefines.h |
| - Moves most, USE_UDIS86 and USE_ARM64_DISASSEMBLER are tangled up in the JIT definitions |
| still, HAVE_* and USE_* defines out of FeatureDefines.h and into Platform.h |
| - Where straigthforward, convert macro definitions into a canonical 3 line entry of the |
| form: |
| |
| #if !defined(MACRO_NAME) && (<CONDITIONS HERE>) |
| #define MACRO_NAME 1 |
| #endif |
| |
| There is rarely (if ever) a resone to undefine or define one of these platform related |
| macros to 0 as the usage macros (e.g. HAVE(...), ENABLE(...), etc.) handle undefined as 0. |
| - Added a guard so that FeatureDefines.h can't be included directly, and must be included via |
| Platform.h. This is necessary as it depends heavily on macros defined in Platform.h |
| - Added numerous FIXMEs detailing follow up cleaning. |
| |
| * wtf/FeatureDefines.h: |
| * wtf/Platform.h: |
| |
| 2020-01-12 Sam Weinig <weinig@apple.com> |
| |
| Platform.h is out of control Part 2: Split WTF_OS_* macro definitions out of Platform.h and into a new OS.h |
| https://bugs.webkit.org/show_bug.cgi?id=206138 |
| |
| Reviewed by Anders Carlsson. |
| |
| As a another step towards cleaning up Platform.h, split out OS related |
| macros into their own file. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/OS.h: Copied from Source/WTF/wtf/Platform.h. |
| * wtf/Platform.h: |
| |
| 2020-01-11 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| REGRESSION(r185816): In the Hong Kong locale, navigator.language reports it's in the Taiwan locale |
| https://bugs.webkit.org/show_bug.cgi?id=200043 |
| |
| Unreviewed. |
| |
| Fix build. |
| |
| * wtf/cocoa/LanguageCocoa.mm: |
| (WTF::canMinimizeLanguages): |
| |
| 2020-01-11 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| REGRESSION(r185816): In the Hong Kong locale, navigator.language reports it's in the Taiwan locale |
| https://bugs.webkit.org/show_bug.cgi?id=200043 |
| |
| Unreviewed. |
| |
| Addressing additional review comments. |
| |
| * wtf/cocoa/LanguageCocoa.mm: |
| (WTF::canMinimizeLanguages): |
| |
| 2020-01-11 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Fix internal Apple builds after r254389 |
| https://bugs.webkit.org/show_bug.cgi?id=206135 |
| |
| Rubber stamped by Zalan Bujtas. |
| |
| * wtf/spi/cocoa/NSLocaleSPI.h: |
| |
| 2020-01-11 Sam Weinig <weinig@apple.com> |
| |
| Platform.h is out of control Part 1: Split WTF_CPU_* macro definitions out of Platform.h and into a new CPU.h |
| https://bugs.webkit.org/show_bug.cgi?id=206124 |
| |
| Reviewed by Anders Carlsson. |
| |
| As a step towards cleaning up Platform.h, split out CPU related |
| macros into their own file. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/CPU.h: Copied from Source/WTF/wtf/Platform.h. |
| * wtf/Platform.h: |
| |
| 2020-01-10 Dean Jackson <dino@apple.com> |
| |
| [WebGL] Clarify USE_OPENGL_ES_3 |
| https://bugs.webkit.org/show_bug.cgi?id=206081 |
| <rdar://problem/58486798> |
| |
| Reviewed by Simon Fraser. |
| |
| Make it clear that USE_ANGLE | USE_OPENGL | USE_OPENGL_ES are exclusive, |
| and that the availability of OpenGL ES 3 is a separate query. |
| |
| * wtf/Platform.h: |
| |
| 2020-01-11 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, fix RunLoopGeneric's RunLoop::cycle |
| |
| * wtf/generic/RunLoopGeneric.cpp: |
| (WTF::RunLoop::cycle): |
| |
| 2020-01-10 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| REGRESSION(r185816): In the Hong Kong locale, navigator.language reports it's in the Taiwan locale |
| https://bugs.webkit.org/show_bug.cgi?id=200043 |
| <rdar://problem/44119496> |
| |
| Reviewed by Dean Jackson. |
| |
| We ask the system for the current locale using CFLocaleCopyPreferredLanguages(), and then round-trip |
| it through CFBundleGetLocalizationInfoForLocalization() / CFBundleCopyLocalizationForLocalizationInfo(). |
| This was to work around the fact that CFLocaleCopyPreferredLanguages() previously didn't report BCP47 |
| language codes. However, that round-tripping was introducing errors, such as "zh-Hant-HK" was getting |
| turned into "zh-Hant-TW" which is clearly wrong. The CFBundle functions were never supposed to be used |
| in this way. |
| |
| Instead, we can use CFLocaleCreateCanonicalLanguageIdentifierFromString() which is intended to |
| canonicalize locale identifiers, and does return BCP47 language codes. However, this function preserves |
| more fingerprinting entropy than the old code path, so we pass the input through new NSLocale SPI to |
| minimize the entropy revealed. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/Language.h: |
| * wtf/Platform.h: |
| * wtf/PlatformMac.cmake: |
| * wtf/cf/LanguageCF.cpp: |
| (WTF::httpStyleLanguageCode): |
| (WTF::platformUserPreferredLanguages): |
| * wtf/cocoa/LanguageCocoa.mm: Added. |
| (WTF::minimizedLanguagesFromLanguages): |
| * wtf/spi/cocoa/NSLocaleSPI.h: Added. |
| |
| 2020-01-10 Simon Fraser <simon.fraser@apple.com> |
| |
| Introduce ENABLE_META_VIEWPORT and use it in some WK2 code |
| https://bugs.webkit.org/show_bug.cgi?id=206091 |
| |
| Reviewed by Tim Horton. |
| |
| Define ENABLE_META_VIEWPORT for iOS. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2020-01-09 Tim Horton <timothy_horton@apple.com> |
| |
| Adopt TARGET_OS_MACCATALYST in more places |
| https://bugs.webkit.org/show_bug.cgi?id=206040 |
| <rdar://problem/57127108> |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/Platform.h: |
| |
| 2020-01-09 Simon Fraser <simon.fraser@apple.com> |
| |
| Add ENABLE_UI_SIDE_COMPOSITING and use it in a few places |
| https://bugs.webkit.org/show_bug.cgi?id=205982 |
| |
| Reviewed by Jon Lee. |
| |
| Add a #define ENABLE_UI_SIDE_COMPOSITING for Cocoa platforms. Minor comment cleanup, and |
| move the duplicate ENABLE_ASYNC_SCROLLING from iOS and macOS sections into the Cocoa section. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2020-01-08 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Reduce binary size by purging C++ type information in Objective-C fields and parameters |
| https://bugs.webkit.org/show_bug.cgi?id=205905 |
| |
| Reviewed by Saam Barati. |
| |
| Objective-C has reflection mechanisms. This means that fields, methods, and their types |
| need to hold its string representations in binary even if we are using release build. |
| While typical Objective-C class does not have large size of type names, C++ struct / class |
| has very large one, and putting them in Objective-C method names, parameter types, or fields |
| makes binary size very large. |
| |
| Interesting thing is that type information is gathered when parameter is a C++ pointer, reference, |
| or value. And it gathers one-level deep information from this pointer etc. This means that, if |
| we use RefPtr<T>, collected type information is the one of RefPtr, not one of T. So it becomes significantly |
| smaller. |
| |
| This patch introduces NakedRef<T>. This is similar to Ref while it does not have any ownership. So it |
| is just a wrapper around T&. We already have NakedPtr<T>. And use NakedRef<T> / NakedPtr<T> instead |
| of T& and T* if, |
| |
| 1. T is C++ class. |
| 2. T* / T& is in Objective-C fields or parameter types (including a return type). |
| |
| Then, these type information is one of NakedRef<T> / NakedPtr<T> instead of T, and we can reduce binary size. |
| |
| This patch saves 600~KB in binary size. |
| |
| Note the following things. |
| |
| 1. If we use `__attribute__((objc_direct))`, `__attribute__((objc_direct_members))`, possibly, we can completely remove these |
| metadata without using NakedRef / NakedPtr[1]. However, this is not available for our supporting platforms now (including |
| pre-Catalina OSes). This NakedRef / NakedPtr technique can reduce binary without waiting for it. |
| 2. Reverting NakedRef / NakedPtr to usual reference / pointer is fairly easy since it is well typed. Once `__attribute__((objc_direct))` |
| becomes available in our platforms, we can consider it. But using NakedRef / NakedPtr is harmless. |
| |
| [1]: https://github.com/llvm/llvm-project/commit/d4e1ba3fa9dfec2613bdcc7db0b58dea490c56b1 |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/NakedRef.h: Added. |
| (WTF::NakedRef::NakedRef): |
| (WTF::NakedRef::operator-> const): |
| (WTF::NakedRef::get const): |
| (WTF::NakedRef::operator T& const): |
| (WTF::NakedRef::operator! const): |
| (WTF::=): |
| (WTF::NakedRef<T>::swap): |
| (WTF::swap): |
| |
| 2020-01-08 Alicia Boya GarcÃa <aboya@igalia.com> |
| |
| [WTF] Allow MediaTime static constants |
| https://bugs.webkit.org/show_bug.cgi?id=205723 |
| |
| Reviewed by Darin Adler. |
| |
| Despite all its convenience methods, at its core MediaTime is a rather |
| trivial class with only integral members. Despite this, since it had a |
| destructor declared, this made the class non-trivially destructible |
| even if the implementation was empty, and therefore clang did not |
| allow to use it for static variables unless done in form of a pointer. |
| |
| By removing the destructor this restriction is lifted and we don't |
| need heap allocations for static MediaTime objects. |
| |
| Previous usages of heap allocation for static MediaTime objects have |
| been rewritten to take advantage of this. Test coverage is provided by |
| successful compilation without [-Werror,-Wexit-time-destructors] |
| errors and existing tests. |
| |
| * wtf/MediaTime.cpp: |
| (WTF::MediaTime::zeroTime): |
| (WTF::MediaTime::invalidTime): |
| (WTF::MediaTime::positiveInfiniteTime): |
| (WTF::MediaTime::negativeInfiniteTime): |
| (WTF::MediaTime::indefiniteTime): |
| (WTF::MediaTime::~MediaTime): Deleted. |
| * wtf/MediaTime.h: |
| |
| 2020-01-07 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Implement css3-images image-orientation |
| https://bugs.webkit.org/show_bug.cgi?id=89052 |
| |
| Reviewed by Simon Fraser. |
| |
| Remove the ENABLE_CSS_IMAGE_ORIENTATION feature flag. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2020-01-07 Simon Fraser <simon.fraser@apple.com> |
| |
| Add some more Animations logging |
| https://bugs.webkit.org/show_bug.cgi?id=205890 |
| |
| Reviewed by Dean Jackson. |
| |
| Make Seconds TextStream-loggable, and make Markable<> loggable. |
| |
| * wtf/Seconds.cpp: |
| (WTF::operator<<): |
| * wtf/Seconds.h: |
| * wtf/text/TextStream.h: |
| (WTF::operator<<): |
| |
| 2020-01-07 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK][WPE] Add API to set purpose and hints of active editable element to input methods |
| https://bugs.webkit.org/show_bug.cgi?id=205605 |
| |
| Reviewed by Žan Doberšek. |
| |
| Split ENABLE_IOS_AUTOCORRECT_AND_AUTOCAPITALIZE and remove the IOS prefix. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2020-01-06 Don Olmstead <don.olmstead@sony.com> |
| |
| Rename GraphicsContext3D to GraphicsContextGL |
| https://bugs.webkit.org/show_bug.cgi?id=205778 |
| <rdar://problem/58327597> |
| |
| Reviewed by Ross Kirsling. |
| |
| Define USE_OPENGL_3 for Mac and USE_OPENGL_ES_3 for iOS. Use CMake config for |
| Windows and WebGL. |
| |
| * wtf/Platform.h: |
| |
| 2020-01-06 Mark Lam <mark.lam@apple.com> |
| |
| Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. |
| https://bugs.webkit.org/show_bug.cgi?id=205776 |
| |
| Reviewed by Saam Barati. |
| |
| This patch did the following changes: |
| |
| 1. Replaced ASSERT_DISABLED with ASSERT_ENABLED. This change does away |
| with the need for the double negative !ASSERT_DISABLED test that is commonly |
| used all over the code, thereby improving code readability. |
| |
| In Assertions.h, there is also BACKTRACE_DISABLED, ASSERT_MSG_DISABLED, |
| ASSERT_ARG_DISABLED, FATAL_DISABLED, ERROR_DISABLED, LOG_DISABLED, and |
| RELEASE_LOG_DISABLED. We should replace those with ..._ENABLED equivalents |
| as well. We'll do that in another patch. For now, they are left as is to |
| minimize the size of this patch. |
| See https://bugs.webkit.org/show_bug.cgi?id=205780. |
| |
| 2. Fixed some code was guarded with "#ifndef NDEBUG" that should actually be |
| guarded by "#if ASSERT_ENABLED" instead. |
| |
| 3. In cases where the change is minimal, we move some code around so that we can |
| test for "#if ASSERT_ENABLED" instead of "#if !ASSERT_ENABLED". |
| |
| * wtf/Assertions.h: |
| * wtf/AutomaticThread.cpp: |
| (WTF::AutomaticThread::start): |
| * wtf/BitVector.h: |
| * wtf/BlockObjCExceptions.mm: |
| (ReportBlockedObjCException): |
| * wtf/BloomFilter.h: |
| * wtf/CallbackAggregator.h: |
| (WTF::CallbackAggregator::CallbackAggregator): |
| * wtf/CheckedArithmetic.h: |
| (WTF::observesOverflow<AssertNoOverflow>): |
| * wtf/CheckedBoolean.h: |
| (CheckedBoolean::CheckedBoolean): |
| (CheckedBoolean::operator bool): |
| * wtf/CompletionHandler.h: |
| (WTF::CompletionHandler<Out): |
| * wtf/DateMath.cpp: |
| (WTF::initializeDates): |
| * wtf/Gigacage.cpp: |
| (Gigacage::tryAllocateZeroedVirtualPages): |
| * wtf/HashTable.h: |
| (WTF::KeyTraits>::checkKey): |
| (WTF::KeyTraits>::checkTableConsistencyExceptSize const): |
| * wtf/LoggerHelper.h: |
| * wtf/NaturalLoops.h: |
| (WTF::NaturalLoops::headerOf const): |
| * wtf/NeverDestroyed.h: |
| (WTF::LazyNeverDestroyed::construct): |
| * wtf/OptionSet.h: |
| (WTF::OptionSet::OptionSet): |
| * wtf/Platform.h: |
| * wtf/PtrTag.h: |
| * wtf/RefCounted.h: |
| (WTF::RefCountedBase::disableThreadingChecks): |
| (WTF::RefCountedBase::enableThreadingChecksGlobally): |
| (WTF::RefCountedBase::RefCountedBase): |
| (WTF::RefCountedBase::applyRefDerefThreadingCheck const): |
| * wtf/SingleRootGraph.h: |
| (WTF::SingleRootGraph::assertIsConsistent const): |
| * wtf/SizeLimits.cpp: |
| * wtf/StackBounds.h: |
| (WTF::StackBounds::checkConsistency const): |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::URLParser): |
| (WTF::URLParser::domainToASCII): |
| * wtf/ValueCheck.h: |
| * wtf/Vector.h: |
| (WTF::Malloc>::checkConsistency): |
| * wtf/WeakHashSet.h: |
| * wtf/WeakPtr.h: |
| (WTF::WeakPtrImpl::WeakPtrImpl): |
| (WTF::WeakPtrFactory::WeakPtrFactory): |
| * wtf/text/AtomStringImpl.cpp: |
| * wtf/text/AtomStringImpl.h: |
| * wtf/text/StringBuilder.cpp: |
| (WTF::StringBuilder::reifyString const): |
| * wtf/text/StringBuilder.h: |
| * wtf/text/StringCommon.h: |
| (WTF::hasPrefixWithLettersIgnoringASCIICaseCommon): |
| * wtf/text/StringHasher.h: |
| (WTF::StringHasher::addCharacters): |
| * wtf/text/StringImpl.h: |
| * wtf/text/SymbolImpl.h: |
| * wtf/text/UniquedStringImpl.h: |
| |
| 2020-01-05 Dean Jackson <dino@apple.com> |
| |
| Rename GraphicsContext3D to GraphicsContextGL |
| https://bugs.webkit.org/show_bug.cgi?id=205778 |
| <rdar://problem/58327597> |
| |
| Reviewed by Sam Weinig. |
| |
| Rename all the GraphicsContext3D things to GraphicsContextGL |
| (includes Extensions3D and GRAPHICS_CONTEXT_3D). |
| |
| GraphicsContext3DBase now becomes GraphicsContextGL. |
| GraphicsContext3D is now GraphicsContextGLOpenGL (since it represents |
| the OpenGL implementation of the API). |
| |
| * wtf/FeatureDefines.h: |
| * wtf/Platform.h: |
| |
| 2020-01-05 Sam Weinig <weinig@apple.com> |
| |
| Further simplify StringBuilder usage by standardizing hex formating to a single hex() function |
| https://bugs.webkit.org/show_bug.cgi?id=205759 |
| |
| Reviewed by Dean Jackson. |
| |
| Removes appendByteAsHex, appendUnsignedAsHex and appendUnsignedAsHexFixedSize with the |
| following mappings: |
| |
| appendByteAsHex(value, builder, case) |
| -> builder.append(hex(static_cast<unsigned char>(value), 2, case)) |
| appendUnsignedAsHex(value, builder, case) |
| -> builder.append(hex(value, case)) |
| appendUnsignedAsHexFixedSize(value, builder, size, case) |
| -> builder.append(hex(value, size, case)) |
| |
| Adds new API test for HexNumber.cpp |
| |
| * wtf/HexNumber.h: |
| (WTF::appendByteAsHex): Deleted. |
| (WTF::appendUnsignedAsHex): Deleted. |
| (WTF::appendUnsignedAsHexFixedSize): Deleted. |
| Remove now unused helper functions. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::encodeForFileName): |
| Replace appendByteAsHex with direct use of hex(x, 2). The static_cast is needed |
| since there was an implicit down cast when appendByteAsHex was used. |
| |
| * wtf/Logger.cpp: |
| (WTF::Logger::LogSiteIdentifier::toString const): |
| (WTF::>::toString): |
| * wtf/UUID.cpp: |
| (WTF::createCanonicalUUIDString): |
| Replace appendUnsignedAsHex/appendUnsignedAsHexFixedSize with hex(). Use makeString() |
| rather StringBuilder to simplify things further. |
| |
| * wtf/text/WTFString.cpp: |
| (asciiDebug): |
| Replace appendUnsignedAsHexFixedSize with append(hex()). |
| |
| 2020-01-05 Ross Kirsling <ross.kirsling@sony.com> |
| |
| JavaScript: Invalid date parse for ISO 8601 strings when no timezone given |
| https://bugs.webkit.org/show_bug.cgi?id=89071 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/DateMath.cpp: |
| (WTF::parseES5TimePortion): |
| (WTF::parseES5DateFromNullTerminatedCharacters): |
| * wtf/DateMath.h: |
| Add an out param to tell JSC whether we still need to do a local time adjustment. |
| |
| 2020-01-03 Dean Jackson <dino@apple.com> |
| |
| [WebGL] Enable ANGLE by default for Cocoa platforms (except simulator) |
| https://bugs.webkit.org/show_bug.cgi?id=205483 |
| <rdar://problem/58097701> |
| |
| Reverting this from trunk (was r253926) due to the number of |
| flakey tests and failures. |
| |
| * wtf/Platform.h: |
| |
| 2020-01-03 Simon Fraser <simon.fraser@apple.com> |
| |
| Add some shared schemes to the WebKit.xcworkspace |
| https://bugs.webkit.org/show_bug.cgi?id=205698 |
| |
| Reviewed by Tim Horton. |
| |
| Make WebKit.xcworkspace show the following schemes by default: |
| All Source |
| All Tools |
| WTF |
| JavaScriptCore |
| WebCore |
| WebKit |
| WebKitLegacy |
| DumpRenderTree |
| WebKitTestRunner |
| TestWebKitAPI |
| MiniBrowser |
| MobileMiniBrowser. |
| |
| Also remove the MobileMiniBrowserUITests scheme. |
| |
| * WTF.xcodeproj/xcshareddata/xcschemes/WTF.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme. |
| |
| 2020-01-02 Yusuke Suzuki <ysuzuki@apple.com> and Simon Fraser <simon.fraser@apple.com> |
| |
| Experiment: create lots of different malloc zones for easier accounting of memory use |
| https://bugs.webkit.org/show_bug.cgi?id=186422 |
| |
| Reviewed by Saam Barati. |
| |
| This patch introduces ENABLE(MALLOC_HEAP_BREAKDOWN). If this is enabled, we allocate malloc_zone per malloc kind. |
| This offers the way to investigate the usage of memory per kind by using vmmap, like the following. |
| |
| VIRTUAL RESIDENT DIRTY SWAPPED ALLOCATION BYTES DIRTY+SWAP REGION |
| MALLOC ZONE SIZE SIZE SIZE SIZE COUNT ALLOCATED FRAG SIZE % FRAG COUNT |
| =========== ======= ========= ========= ========= ========= ========= ========= ====== ====== |
| StringImpl_0x116efd000 188.0M 69.3M 30.9M 0K 139456 18.0M 12.9M 42% 34 |
| DefaultMallocZone_0x10f487000 176.0M 53.9M 14.1M 0K 115956 9955K 4497K 32% 22 |
| Vector_0x116eff000 162.0M 56.3M 55.3M 0K 140715 17.3M 37.9M 69% 36 |
| MetadataTable_0x11843b000 152.0M 17.5M 17.5M 0K 14200 2353K 15.2M 87% 26 |
| WebKit Using System Malloc_0x114cbe000 150.0M 31.6M 21.8M 0K 87422 16.7M 5278K 24% 23 |
| InstructionStream_0x118469000 150.0M 5764K 5764K 0K 14470 4688K 1076K 19% 24 |
| AssemblerData_0x117ee6000 150.0M 1928K 1928K 0K 1 16 1928K 100% 24 |
| |
| To achieve this goal without making very large change, we put a template type in various containers. |
| For example, Vector will take Malloc parameter (the default one is FastMalloc allocator). If ENABLE(MALLOC_HEAP_BREAKDOWN) is enabled, we change this to |
| specific VectorMalloc allocator, and vmmap can show memory usage of this allocator. This patch also supports malloc_zone per IsoHeap. So we can see memory |
| allocation per IsoHeap in vmmap. |
| |
| To use this feature, we need to flip two compile time flags, ENABLE(MALLOC_HEAP_BREAKDOWN) in WTF and BENABLE_MALLOC_HEAP_BREAKDOWN in bmalloc. |
| And use `vmmap $PID` to dump malloc zones. To allocate objects of a class with a specific malloc-zone, use WTF_MAKE_FAST_ALLOCATED_WITH_HEAP_IDENTIFIER(HeapIdentifier) for the class, |
| and define allocator by DECLARE_ALLOCATOR_WITH_HEAP_IDENTIFIER(HeapIdentifier) in a header and DEFINE_ALLOCATOR_WITH_HEAP_IDENTIFIER(HeapIdentifier) in a cpp file. |
| |
| This patch also introduce callstack collector for malloc. Vector, HashMap etc. are used to allocate various things, but the above malloc_zone feature only tells thing like "Vector |
| takes XXX MB memory". But what we want to know in this case is what Vector is consuming memory. We collect StackShot for each malloc call, and combine these information to tell |
| which callsite is consuming much memory, which tell us that what Vector is consuming memory. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/Bag.cpp: Copied from Source/JavaScriptCore/parser/SourceProviderCache.cpp. |
| * wtf/Bag.h: |
| (WTF::Private::BagNode::BagNode): Deleted. |
| * wtf/BitVector.cpp: |
| (WTF::BitVector::OutOfLineBits::create): |
| (WTF::BitVector::OutOfLineBits::destroy): |
| * wtf/CMakeLists.txt: |
| * wtf/ConcurrentBuffer.cpp: Copied from Source/JavaScriptCore/parser/SourceProviderCache.cpp. |
| * wtf/ConcurrentBuffer.h: |
| * wtf/DebugHeap.cpp: Copied from Source/JavaScriptCore/runtime/CachePayload.cpp. |
| (WTF::DebugHeap::DebugHeap): |
| (WTF::DebugHeap::malloc): |
| (WTF::DebugHeap::calloc): |
| (WTF::DebugHeap::memalign): |
| (WTF::DebugHeap::realloc): |
| (WTF::DebugHeap::free): |
| * wtf/DebugHeap.h: Added. |
| * wtf/FastBitVector.cpp: |
| (WTF::FastBitVectorWordOwner::setEqualsSlow): |
| (WTF::FastBitVectorWordOwner::resizeSlow): |
| * wtf/FastBitVector.h: |
| (WTF::FastBitVectorWordOwner::~FastBitVectorWordOwner): |
| * wtf/FastMalloc.cpp: |
| (WTF::fastMallocDumpMallocStats): |
| (WTF::AvoidRecordingScope::AvoidRecordingScope): |
| (WTF::AvoidRecordingScope::~AvoidRecordingScope): |
| (WTF::MallocCallTracker::MallocSiteData::MallocSiteData): |
| (WTF::MallocCallTracker::singleton): |
| (WTF::MallocCallTracker::MallocCallTracker): |
| (WTF::MallocCallTracker::recordMalloc): |
| (WTF::MallocCallTracker::recordRealloc): |
| (WTF::MallocCallTracker::recordFree): |
| (WTF::MallocCallTracker::dumpStats): |
| (WTF::fastMalloc): |
| (WTF::fastRealloc): |
| (WTF::fastFree): |
| (WTF::fastAlignedMalloc): |
| (WTF::tryFastAlignedMalloc): |
| (WTF::fastAlignedFree): |
| * wtf/FastMalloc.h: |
| (WTF::FastMalloc::zeroedMalloc): |
| (WTF::FastMalloc::tryZeroedMalloc): |
| * wtf/Forward.h: |
| * wtf/HashTable.cpp: |
| * wtf/HashTable.h: |
| (WTF::KeyTraits>::allocateTable): |
| (WTF::KeyTraits>::deallocateTable): |
| (WTF::KeyTraits>::rehash): |
| * wtf/MallocPtr.h: |
| (WTF::MallocPtr::MallocPtr): |
| (WTF::MallocPtr::malloc): |
| (WTF::MallocPtr::zeroedMalloc): |
| (WTF::MallocPtr::tryMalloc): |
| (WTF::MallocPtr::tryZeroedMalloc): |
| (WTF::adoptMallocPtr): |
| * wtf/MetaAllocator.cpp: |
| (WTF::MetaAllocator::allocFreeSpaceNode): |
| (WTF::MetaAllocator::freeFreeSpaceNode): |
| * wtf/MetaAllocatorHandle.h: |
| * wtf/Platform.h: |
| * wtf/RefCountedArray.cpp: Copied from Source/JavaScriptCore/bytecode/InstructionStream.cpp. |
| * wtf/RefCountedArray.h: |
| (WTF::RefCountedArray::RefCountedArray): |
| (WTF::RefCountedArray::~RefCountedArray): |
| (WTF::RefCountedArray::assign): |
| * wtf/SegmentedVector.cpp: Copied from Source/JavaScriptCore/bytecode/InstructionStream.cpp. |
| * wtf/SegmentedVector.h: |
| * wtf/SmallPtrSet.cpp: Copied from Source/JavaScriptCore/bytecode/InstructionStream.cpp. |
| * wtf/SmallPtrSet.h: |
| (WTF::SmallPtrSet::~SmallPtrSet): |
| (WTF::SmallPtrSet::grow): |
| * wtf/UniqueArray.cpp: Copied from Source/JavaScriptCore/bytecode/InstructionStream.cpp. |
| * wtf/UniqueArray.h: |
| (WTF::UniqueArrayFree::operator() const): |
| (WTF::UniqueArrayFree<T::operator() const): |
| * wtf/Vector.cpp: Copied from Source/JavaScriptCore/bytecode/InstructionStream.cpp. |
| * wtf/Vector.h: |
| (WTF::VectorBufferBase::allocateBuffer): |
| (WTF::VectorBufferBase::tryAllocateBuffer): |
| (WTF::VectorBufferBase::reallocateBuffer): |
| (WTF::VectorBufferBase::deallocateBuffer): |
| (WTF::VectorBufferBase::releaseBuffer): |
| (WTF::VectorBuffer::releaseBuffer): |
| (WTF::Vector::swap): |
| (WTF::Malloc>::Vector): |
| (WTF::=): |
| (WTF::Malloc>::contains const): |
| (WTF::Malloc>::findMatching const): |
| (WTF::Malloc>::find const): |
| (WTF::Malloc>::reverseFind const): |
| (WTF::Malloc>::appendIfNotContains): |
| (WTF::Malloc>::fill): |
| (WTF::Malloc>::appendRange): |
| (WTF::Malloc>::expandCapacity): |
| (WTF::Malloc>::tryExpandCapacity): |
| (WTF::Malloc>::resize): |
| (WTF::Malloc>::resizeToFit): |
| (WTF::Malloc>::shrink): |
| (WTF::Malloc>::grow): |
| (WTF::Malloc>::asanSetInitialBufferSizeTo): |
| (WTF::Malloc>::asanSetBufferSizeToFullCapacity): |
| (WTF::Malloc>::asanBufferSizeWillChangeTo): |
| (WTF::Malloc>::reserveCapacity): |
| (WTF::Malloc>::tryReserveCapacity): |
| (WTF::Malloc>::reserveInitialCapacity): |
| (WTF::Malloc>::shrinkCapacity): |
| (WTF::Malloc>::append): |
| (WTF::Malloc>::tryAppend): |
| (WTF::Malloc>::constructAndAppend): |
| (WTF::Malloc>::tryConstructAndAppend): |
| (WTF::Malloc>::appendSlowCase): |
| (WTF::Malloc>::constructAndAppendSlowCase): |
| (WTF::Malloc>::tryConstructAndAppendSlowCase): |
| (WTF::Malloc>::uncheckedAppend): |
| (WTF::Malloc>::uncheckedConstructAndAppend): |
| (WTF::Malloc>::appendVector): |
| (WTF::Malloc>::insert): |
| (WTF::Malloc>::insertVector): |
| (WTF::Malloc>::remove): |
| (WTF::Malloc>::removeFirst): |
| (WTF::Malloc>::removeFirstMatching): |
| (WTF::Malloc>::removeAll): |
| (WTF::Malloc>::removeAllMatching): |
| (WTF::Malloc>::reverse): |
| (WTF::Malloc>::map const): |
| (WTF::Malloc>::releaseBuffer): |
| (WTF::Malloc>::checkConsistency): |
| (WTF::swap): |
| (WTF::operator==): |
| (WTF::operator!=): |
| (WTF::Malloc>::isolatedCopy const): |
| (WTF::removeRepeatedElements): |
| (WTF::minCapacity>::Vector): Deleted. |
| (WTF::minCapacity>::contains const): Deleted. |
| (WTF::minCapacity>::findMatching const): Deleted. |
| (WTF::minCapacity>::find const): Deleted. |
| (WTF::minCapacity>::reverseFind const): Deleted. |
| (WTF::minCapacity>::appendIfNotContains): Deleted. |
| (WTF::minCapacity>::fill): Deleted. |
| (WTF::minCapacity>::appendRange): Deleted. |
| (WTF::minCapacity>::expandCapacity): Deleted. |
| (WTF::minCapacity>::tryExpandCapacity): Deleted. |
| (WTF::minCapacity>::resize): Deleted. |
| (WTF::minCapacity>::resizeToFit): Deleted. |
| (WTF::minCapacity>::shrink): Deleted. |
| (WTF::minCapacity>::grow): Deleted. |
| (WTF::minCapacity>::asanSetInitialBufferSizeTo): Deleted. |
| (WTF::minCapacity>::asanSetBufferSizeToFullCapacity): Deleted. |
| (WTF::minCapacity>::asanBufferSizeWillChangeTo): Deleted. |
| (WTF::minCapacity>::reserveCapacity): Deleted. |
| (WTF::minCapacity>::tryReserveCapacity): Deleted. |
| (WTF::minCapacity>::reserveInitialCapacity): Deleted. |
| (WTF::minCapacity>::shrinkCapacity): Deleted. |
| (WTF::minCapacity>::append): Deleted. |
| (WTF::minCapacity>::tryAppend): Deleted. |
| (WTF::minCapacity>::constructAndAppend): Deleted. |
| (WTF::minCapacity>::tryConstructAndAppend): Deleted. |
| (WTF::minCapacity>::appendSlowCase): Deleted. |
| (WTF::minCapacity>::constructAndAppendSlowCase): Deleted. |
| (WTF::minCapacity>::tryConstructAndAppendSlowCase): Deleted. |
| (WTF::minCapacity>::uncheckedAppend): Deleted. |
| (WTF::minCapacity>::uncheckedConstructAndAppend): Deleted. |
| (WTF::minCapacity>::appendVector): Deleted. |
| (WTF::minCapacity>::insert): Deleted. |
| (WTF::minCapacity>::insertVector): Deleted. |
| (WTF::minCapacity>::remove): Deleted. |
| (WTF::minCapacity>::removeFirst): Deleted. |
| (WTF::minCapacity>::removeFirstMatching): Deleted. |
| (WTF::minCapacity>::removeAll): Deleted. |
| (WTF::minCapacity>::removeAllMatching): Deleted. |
| (WTF::minCapacity>::reverse): Deleted. |
| (WTF::minCapacity>::map const): Deleted. |
| (WTF::minCapacity>::releaseBuffer): Deleted. |
| (WTF::minCapacity>::checkConsistency): Deleted. |
| (WTF::minCapacity>::isolatedCopy const): Deleted. |
| * wtf/text/CString.cpp: |
| (WTF::CStringBuffer::createUninitialized): |
| * wtf/text/CString.h: |
| * wtf/text/StringBuffer.cpp: Copied from Source/JavaScriptCore/bytecode/InstructionStream.cpp. |
| * wtf/text/StringBuffer.h: |
| (WTF::StringBuffer::StringBuffer): |
| (WTF::StringBuffer::~StringBuffer): |
| (WTF::StringBuffer::resize): |
| (WTF::StringBuffer::release): |
| * wtf/text/StringImpl.cpp: |
| (WTF::StringImpl::~StringImpl): |
| (WTF::StringImpl::destroy): |
| (WTF::StringImpl::createUninitializedInternalNonEmpty): |
| (WTF::StringImpl::reallocateInternal): |
| * wtf/text/StringImpl.h: |
| (WTF::StringImpl::StringImpl): |
| (WTF::StringImpl::createSubstringSharingImpl): |
| (WTF::StringImpl::tryCreateUninitialized): |
| (WTF::StringImpl::adopt): |
| * wtf/text/cf/StringImplCF.cpp: |
| (WTF::StringWrapperCFAllocator::allocate): |
| (WTF::StringWrapperCFAllocator::reallocate): |
| (WTF::StringWrapperCFAllocator::deallocate): |
| |
| 2020-01-02 Dean Jackson <dino@apple.com> |
| |
| REGRESSION(r253926): Crash at libANGLE-shared.dylib: gl::LogMessage::~LogMessage |
| https://bugs.webkit.org/show_bug.cgi?id=205690 |
| rdar://58279401 |
| |
| Reviewed by Eric Carlson. |
| |
| Only enable ANGLE for iOS hardware while we investigate this fatal error. |
| |
| * wtf/Platform.h: |
| |
| 2020-01-02 Sam Weinig <weinig@apple.com> |
| |
| Simplify StringBuilder API/align with makeString by removing appendFixed* functions and using FormatNumber struct instead |
| https://bugs.webkit.org/show_bug.cgi?id=205671 |
| |
| Reviewed by Alex Christensen. |
| |
| In an ongoing attempt to simplify the StringBuilder interface and unify it's functionality with makeString, |
| this change removes appendFixedPrecisionNumber() and appendFixedWidthNumber(), replacing their uses |
| with direct calls to append(), using a FormattedNumber object to direct it to the appropriate StringTypeAdapter. |
| |
| * wtf/text/StringBuilder.h: |
| * wtf/text/StringBuilder.cpp: |
| (WTF::StringBuilder::appendFixedPrecisionNumber): Deleted. |
| (WTF::StringBuilder::appendFixedWidthNumber): Deleted. |
| Remove StringBuilder::appendFixedPrecisionNumber() and StringBuilder::appendFixedWidthNumber(). The same functionality |
| is available and more flexible by passing FormattedNumbers to the variadic append() function. |
| |
| * wtf/text/TextStream.cpp: |
| (WTF::TextStream::operator<<): |
| * wtf/MediaTime.cpp: |
| (WTF::MediaTime::toString const): |
| Replace all uses of builder.appendFixedPrecisionNumber(...) with builder.append(FormattedNumber::fixedPrecision(...)) |
| and builder.appendFixedWidthNumber(...) with with builder.append(FormattedNumber::fixedWidth(...)) |
| |
| 2019-12-20 Darin Adler <darin@apple.com> |
| |
| Tidy a bit of StringBuilder usage |
| https://bugs.webkit.org/show_bug.cgi?id=205509 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::decodeFromFilename): Fix misleading variable name "hexDigit" |
| for result of decoding "%+XXXX"; what's decoded is a character, not a hex digit. |
| |
| * wtf/HexNumber.h: Remove unused appendUnsignedAsHexFixedSize function for |
| destinations other than StringBuilder. Don't need it at this time, could add |
| it later if we ever decide we do. |
| |
| * wtf/text/StringBuilder.h: |
| (WTF::StringBuilder::appendSubstring): Improved logic in appendSubstring so it |
| will handle even absurd values for offset and length correctly, and added a |
| default length of "infinity" just like in String::substring. |
| |
| * wtf/text/StringImpl.cpp: |
| (WTF::StringImpl::convertToLowercaseWithoutLocale): Use isASCII. |
| (WTF::StringImpl::convertToLowercaseWithoutLocaleStartingAtFailingIndex8Bit): Ditto. |
| |
| * wtf/text/WTFString.cpp: |
| (asciiDebug): Use StringBuilder to build the string; this was the one place that |
| used appendUnsignedAsHexFixedSize on something else, and there is no need. |
| |
| 2019-12-30 youenn fablet <youenn@apple.com> |
| |
| Ignore URL host for schemes that are not using host information |
| https://bugs.webkit.org/show_bug.cgi?id=205157 |
| <rdar://problem/57825963> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::removeHostAndPort): |
| * wtf/URL.h: |
| |
| 2019-12-25 Dean Jackson <dino@apple.com> |
| |
| [WebGL] Enable ANGLE by default for Cocoa platforms (except simulator) |
| https://bugs.webkit.org/show_bug.cgi?id=205483 |
| rdar://56925821 |
| |
| Reviewed by Simon Fraser. |
| |
| Turn USE_ANGLE on for Cocoa, with the exception of the simulator. |
| |
| * wtf/Platform.h: |
| |
| 2019-12-24 Eric Carlson <eric.carlson@apple.com> |
| |
| [Media in GPU process] Enable media player proxy logging |
| https://bugs.webkit.org/show_bug.cgi?id=205557 |
| <rdar://problem/58160932> |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/Logger.h: |
| (WTF::Logger::willLog const): Minor optimization: don't check m_enabled unnecessarily. |
| |
| 2019-12-23 Keith Miller <keith_miller@apple.com> |
| |
| DFG/FTL should be able to exit to the middle of a bytecode |
| https://bugs.webkit.org/show_bug.cgi?id=205232 |
| |
| Reviewed by Saam Barati. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/Bitmap.h: |
| (WTF::WordType>::invert): |
| (WTF::WordType>::operator): |
| (WTF::WordType>::operator const const): |
| * wtf/CMakeLists.txt: |
| * wtf/EnumClassOperatorOverloads.h: Added. |
| * wtf/FastBitVector.h: |
| (WTF::FastBitReference::operator bool const): |
| (WTF::FastBitReference::operator|=): |
| (WTF::FastBitReference::operator&=): |
| (WTF::FastBitVector::fill): |
| (WTF::FastBitVector::grow): |
| * wtf/UnalignedAccess.h: |
| (WTF::unalignedLoad): |
| (WTF::unalignedStore): |
| |
| 2019-12-21 Antti Koivisto <antti@apple.com> |
| |
| Move Vector HashTraits to HashTraits.h to fix GCC build |
| https://bugs.webkit.org/show_bug.cgi?id=205540 |
| |
| Reviewed by Zalan Bujtas. |
| |
| GCC is stricter than LLVM with partial specializations |
| |
| Error: partial specialization of struct WTF::HashTraits<WTF::Vector<U, otherCapacity, WTF::CrashOnOverflow, 16> > |
| after instantiation of struct WTF::HashTraits<WTF::Vector<WTF::String> > |
| |
| * wtf/HashTraits.h: |
| * wtf/VectorHash.h: |
| |
| 2019-12-20 Truitt Savell <tsavell@apple.com> |
| |
| Unreviewed, rolling out r253820. |
| |
| Broke Mac testing |
| |
| Reverted changeset: |
| |
| "Invalidate only affected elements after media query |
| evaluation changes" |
| https://bugs.webkit.org/show_bug.cgi?id=205392 |
| https://trac.webkit.org/changeset/253820 |
| |
| 2019-12-20 Antti Koivisto <antti@apple.com> |
| |
| Invalidate only affected elements after media query evaluation changes |
| https://bugs.webkit.org/show_bug.cgi?id=205392 |
| |
| Reviewed by Zalan Bujtas. |
| |
| Fix GCC build error |
| |
| Error: partial specialization of ‘struct WTF::HashTraits<WTF::Vector<U, otherCapacity, WTF::CrashOnOverflow, 16> >’ |
| after instantiation of ‘struct WTF::HashTraits<WTF::Vector<WTF::String> >’ |
| |
| * wtf/HashTraits.h: |
| * wtf/VectorHash.h: |
| |
| Move to HashTraits to HashTraits.h so it gets specialized before any instantiation. |
| |
| 2019-12-19 Antti Koivisto <antti@apple.com> |
| |
| Allow Vectors as hash keys |
| https://bugs.webkit.org/show_bug.cgi?id=205449 |
| |
| Reviewed by Geoff Garen. |
| |
| Add traits to allow Vectors of hashable types to act as hash keys. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/Vector.h: |
| (WTF::Vector::Vector): |
| (WTF::Vector::~Vector): |
| (WTF::Vector::isHashTableDeletedValue const): |
| |
| Use m_size = numeric_limits::max() as the deleted value. |
| |
| * wtf/VectorHash.h: Added. |
| (WTF::VectorHash::hash): |
| (WTF::VectorHash::equal): |
| |
| Add traits. Empty Vector is the empty value. |
| |
| 2019-12-19 Jer Noble <jer.noble@apple.com> |
| |
| Safely iterate observers in languageDidChange() |
| https://bugs.webkit.org/show_bug.cgi?id=205452 |
| <rdar://problem/57937765> |
| |
| Reviewed by Eric Carlson. |
| |
| Use the "copyToVector() then verify each item is still in the original |
| map" pattern to safely iterate over the observerMap(). |
| |
| * wtf/Language.cpp: |
| (WTF::languageDidChange): |
| |
| 2019-12-18 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, build fix after r253730 |
| https://bugs.webkit.org/show_bug.cgi?id=204398 |
| |
| Thread::destructTLS is always required in POSIX environments |
| |
| * wtf/Threading.h: |
| |
| 2019-12-18 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [Win] Use thread_local to hold Ref<WTF::Thread> in the thread rather than using FLS |
| https://bugs.webkit.org/show_bug.cgi?id=204398 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Use thread_local which is faster than FLS. |
| |
| * wtf/Threading.cpp: |
| (WTF::initializeThreading): |
| * wtf/Threading.h: |
| (WTF::Thread::current): |
| * wtf/ThreadingPrimitives.h: Deleted threadSpecificKeyCreate and |
| related functions which aren't used now in Windows port. Deleted |
| THREAD_SPECIFIC_CALL macro which isn't used now. |
| * wtf/win/ThreadingWin.cpp: Added a thread_local variable s_threadHolder. |
| (WTF::Thread::ThreadHolder::~ThreadHolder): Added. |
| (WTF::Thread::currentMayBeNull): |
| (WTF::Thread::initializeTLS): Store a reference of Thread into s_threadHolder. |
| (WTF::Thread::initializeTLSKey): Deleted. |
| (WTF::Thread::destructTLS): Deleted. |
| |
| 2019-12-18 Ben Nham <nham@apple.com> |
| |
| Add network loading signposts |
| https://bugs.webkit.org/show_bug.cgi?id=204822 |
| <rdar://problem/57608824> |
| |
| Reviewed by Alex Christensen. |
| |
| This adds os_signposts related to network loads to aid in debugging networking performance |
| issues. Since URLs are logged in the signposts, this capability is only enabled on Apple |
| internal builds when an environment variable is set. |
| |
| * wtf/Platform.h: |
| Add HAVE_OS_SIGNPOST. |
| |
| 2019-12-17 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [iOS] Update to use CTFontCreateForCharactersWithLanguageAndOption() |
| https://bugs.webkit.org/show_bug.cgi?id=205310 |
| |
| Reviewed by Simon Fraser. |
| |
| All our bots are on the appropriate OS version. |
| |
| * wtf/Platform.h: |
| |
| 2019-12-17 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] 8Bit JSRopeString can contain 16Bit string in its rope |
| https://bugs.webkit.org/show_bug.cgi?id=205323 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/text/StringImpl.h: |
| (WTF::StringImpl::copyCharacters): |
| |
| 2019-12-17 Tim Horton <timothy_horton@apple.com> |
| |
| macCatalyst: Cursor should update on mouse movement and style change |
| https://bugs.webkit.org/show_bug.cgi?id=205317 |
| <rdar://problem/46793696> |
| |
| Reviewed by Anders Carlsson. |
| |
| * wtf/FeatureDefines.h: |
| Make ENABLE_CURSOR_SUPPORT true on iOS, for macCatalyst. This results |
| in it being true everywhere, so remove it. |
| |
| Add a new ENABLE_CUSTOM_CURSOR_SUPPORT, indicating whether we support |
| custom bitmap cursors. It covers the subset of ENABLE_CURSOR_SUPPORT |
| code that we still don't support in macCatalyst. |
| |
| * wtf/Platform.h: |
| Add HAVE_HISERVICES (true on macOS but not macCatalyst) and |
| HAVE_NSCURSOR (true on macOS and macCatalyst but not e.g. iOS). |
| |
| 2019-12-16 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Remove ArrayBufferNeuteringWatchpointSet |
| https://bugs.webkit.org/show_bug.cgi?id=205194 |
| |
| Reviewed by Saam Barati. |
| |
| This patch adds PackedRef and PackedRefPtr. They are Ref and RefPtr, but its internal pointer is packed. |
| So we can represent them in 6 bytes with 1 byte alignment. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/Packed.h: |
| (WTF::alignof): |
| * wtf/PackedRef.h: Copied from Source/JavaScriptCore/runtime/ArrayBufferNeuteringWatchpointSet.h. |
| * wtf/PackedRefPtr.h: Renamed from Source/JavaScriptCore/runtime/ArrayBufferNeuteringWatchpointSet.h. |
| * wtf/RefPtr.h: |
| (WTF::RefPtr::operator UnspecifiedBoolType const): |
| (WTF::RefPtr::unspecifiedBoolTypeInstance const): |
| |
| 2019-12-13 Saam Barati <sbarati@apple.com> |
| |
| Add a Heap::finalize function that takes WTF::Function<void()> |
| https://bugs.webkit.org/show_bug.cgi?id=205211 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/Function.h: |
| (WTF::Function<Out): |
| |
| 2019-12-13 Per Arne Vollan <pvollan@apple.com> |
| |
| [iOS] Deny mach lookup access to "*.apple-extension-service" in the WebContent process |
| https://bugs.webkit.org/show_bug.cgi?id=205134 |
| <rdar://problem/56984257> |
| |
| Reviewed by Brent Fulgham. |
| |
| Add enum value for the XPC service name filter type. |
| |
| * wtf/spi/darwin/SandboxSPI.h: |
| |
| 2019-12-09 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [MSVC] writeNumberToBufferUnsigned is unsafe for bool type |
| https://bugs.webkit.org/show_bug.cgi?id=204873 |
| |
| Reviewed by Darin Adler. |
| |
| MSVC reports warning for using / operator for bool type. |
| > warning C4804: '/': unsafe use of type 'bool' in operation |
| |
| And, 'bool' isn't expected to be serialized as '0' or '1'. 'bool' isn't supported. |
| |
| * wtf/text/IntegerToStringConversion.h: Added a static_assert to ensure UnsignedIntegerType isn't bool. |
| |
| 2019-07-13 Darin Adler <darin@apple.com> |
| |
| Streamline PODIntervalTree code and remove ValueToString |
| https://bugs.webkit.org/show_bug.cgi?id=199782 |
| |
| Reviewed by Anders Carlsson. |
| |
| * WTF.xcodeproj/project.pbxproj: Remove ValueToString.h. |
| * wtf/CMakeLists.txt: Ditto. |
| |
| * wtf/MediaTime.cpp: |
| (WTF::operator<<): Implement debug-only TextStream serialization |
| based on toJSONString. |
| * wtf/MediaTime.h: Ditto. |
| |
| * wtf/text/ValueToString.h: Removed. |
| |
| 2019-12-06 Zan Dobersek <zdobersek@igalia.com> |
| |
| [GTK][WPE] Use bmalloc's memory footprint API for JSC heap growth management |
| https://bugs.webkit.org/show_bug.cgi?id=204576 |
| |
| Reviewed by Saam Barati. |
| |
| Add the new USE_BMALLOC_MEMORY_FOOTPRINT_API, enabled for the iOS-family |
| ports and the Linux ports, as long as system malloc enforcement is |
| disabled and bmalloc is subsequently built and used. The flag is used in |
| JavaScriptCore to enable usage of bmalloc's memory footprint API for |
| JSC heap growth control. |
| |
| * wtf/Platform.h: |
| |
| 2019-12-05 Chris Dumez <cdumez@apple.com> |
| |
| [IPC] Fail ObjectIdentifier decoding if the decoded integer is not a valid ID |
| https://bugs.webkit.org/show_bug.cgi?id=204921 |
| <rdar://problem/57677747> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * wtf/ObjectIdentifier.h: |
| (WTF::ObjectIdentifier::decode): |
| |
| 2019-12-03 Sunny He <sunny_he@apple.com> |
| |
| Enable security assertions on all ASAN builds |
| https://bugs.webkit.org/show_bug.cgi?id=204802 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2019-12-03 Christopher Reid <chris.reid@sony.com> |
| |
| Regular expression hangs in Safari only |
| https://bugs.webkit.org/show_bug.cgi?id=202882 |
| <rdar://problem/56236654> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| BumpPointerPool::ensureCapacityCrossPool can cause an infinite loop |
| if multiple large pools are deallocated and a new capacity does not |
| fit in the deallocated pools. BumpPointerPool should try using |
| more pools if the next one isn't large enough. |
| |
| * wtf/BumpPointerAllocator.h: |
| (WTF::BumpPointerPool::ensureCapacityCrossPool): |
| |
| 2019-11-28 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| Remove ENABLE_KEYBOARD_CODE_ATTRIBUTE and ENABLE_KEYBOARD_KEY_ATTRIBUTE macros |
| https://bugs.webkit.org/show_bug.cgi?id=204666 |
| |
| Reviewed by Ross Kirsling and Don Olmstead. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2019-11-25 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [Win] Update KeyboardEvent as per the latest specification |
| https://bugs.webkit.org/show_bug.cgi?id=202183 |
| |
| Reviewed by Ross Kirsling. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2019-11-25 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| Add DefaultHash<OptionSet<T>> and HashTrait<OptionSet<T>> specializations |
| https://bugs.webkit.org/show_bug.cgi?id=204562 |
| |
| Reviewed by Daniel Bates. |
| |
| * WTF.xcodeproj/project.pbxproj: Added OptionSetHash.h |
| * wtf/CMakeLists.txt: Ditto. |
| * wtf/OptionSet.h: Made StorageType public, and use C++14 types. |
| * wtf/OptionSetHash.h: Added. |
| (WTF::DefaultHash<OptionSet<T>>::Hash::hash): |
| (WTF::DefaultHash<OptionSet<T>>::Hash::equal): |
| (WTF::HashTraits<OptionSet<T>>::emptyValue): |
| (WTF::HashTraits<OptionSet<T>>::constructDeletedValue): |
| (WTF::HashTraits<OptionSet<T>>::isDeletedValue): |
| |
| 2019-11-25 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r252770): [GTK][WPE] Remote inspector no longer works if debugger is in a different kind of system |
| https://bugs.webkit.org/show_bug.cgi?id=204572 |
| |
| Reviewed by Žan Doberšek. |
| |
| This patch adds the following changes: |
| |
| - Use uint32_t instead of size_t to store the body size in the message header, because size_t has a different |
| size in 32 and 64 bit platforms. |
| - Use htonl/ntohl to write/read the body size in the header. |
| - Add a flags byte to the header to include the message byte order. The sender always uses the host byter order |
| and the receiver does the byte swapping if needed. |
| |
| * wtf/glib/SocketConnection.cpp: |
| (WTF::messageIsByteSwapped): |
| (WTF::SocketConnection::readMessage): |
| (WTF::SocketConnection::sendMessage): |
| |
| 2019-11-25 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r252770): [GTK][WPE] Remote inspector broken in debug builds after r252770 |
| https://bugs.webkit.org/show_bug.cgi?id=204569 |
| |
| Reviewed by Žan Doberšek. |
| |
| We need to call relaxAdoptionRequirement() in SocketConnection constructor because we are taking a reference for |
| the read monitor lambda. |
| |
| * wtf/glib/SocketConnection.cpp: |
| (WTF::SocketConnection::SocketConnection): |
| |
| 2019-11-25 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| Ran sort-Xcode-project-file. |
| |
| Unreviewed. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| |
| 2019-11-23 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Try to fix the GTK WebDriver tests in the bots after r252770 |
| |
| They are failing in the bots because g_variant_new_from_data() is failing due to the given data not being |
| properly aligned for the type being loaded. This is not a problem since GLib 2.60 that checks the alignment and |
| reallocates the buffer in aligned memory only if needed. For previous versions we need to ensure the memory we |
| pass to g_variant_new_from_data() is aligned. |
| |
| * wtf/glib/SocketConnection.cpp: |
| (WTF::SocketConnection::readMessage): |
| |
| 2019-11-22 Brent Fulgham <bfulgham@apple.com> |
| |
| Unreviewed FTW build fix after r252687. |
| |
| * wtf/PlatformFTW.cmake: |
| |
| 2019-11-22 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK][WPE] RemoteInspector: use sockets instead of DBus |
| https://bugs.webkit.org/show_bug.cgi?id=204503 |
| |
| Reviewed by Žan Doberšek. |
| |
| Add SocketConnection class. |
| |
| * wtf/PlatformGTK.cmake: |
| * wtf/PlatformWPE.cmake: |
| * wtf/glib/GSocketMonitor.cpp: Renamed from Source/WebKit/Platform/IPC/glib/GSocketMonitor.cpp. |
| (WTF::GSocketMonitor::start): |
| * wtf/glib/GSocketMonitor.h: Renamed from Source/WebKit/Platform/IPC/glib/GSocketMonitor.h. |
| (WTF::GSocketMonitor::isActive const): |
| * wtf/glib/GTypedefs.h: |
| * wtf/glib/GUniquePtr.h: |
| * wtf/glib/SocketConnection.cpp: Added. |
| (WTF::SocketConnection::SocketConnection): |
| (WTF::SocketConnection::~SocketConnection): |
| (WTF::SocketConnection::read): |
| (WTF::SocketConnection::readMessage): |
| (WTF::SocketConnection::sendMessage): |
| (WTF::SocketConnection::write): |
| (WTF::SocketConnection::waitForSocketWritability): |
| (WTF::SocketConnection::close): |
| (WTF::SocketConnection::didClose): |
| * wtf/glib/SocketConnection.h: Added. |
| (WTF::SocketConnection::create): |
| (WTF::SocketConnection::isClosed const): |
| |
| 2019-11-21 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, rolling in again, regression is not caused by it |
| https://bugs.webkit.org/show_bug.cgi?id=202471 |
| |
| * wtf/text/StringCommon.h: |
| (WTF::findCommon): |
| |
| 2019-11-21 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r252683 and r252721. |
| https://bugs.webkit.org/show_bug.cgi?id=204475 |
| |
| 13% regression in JetStream2/prepack-wtb (Requested by |
| yusukesuzuki on #webkit). |
| |
| Reverted changesets: |
| |
| "Implement String.prototype.replaceAll" |
| https://bugs.webkit.org/show_bug.cgi?id=202471 |
| https://trac.webkit.org/changeset/252683 |
| |
| "Unreviewed, address Darin's feedback on r252683." |
| https://trac.webkit.org/changeset/252721 |
| |
| 2019-11-21 Tuomas Karkkainen <tuomas.webkit@apple.com> |
| |
| add ASSERT_NOT_REACHED_WITH_MESSAGE and RELEASE_ASSERT_NOT_REACHED_WITH_MESSAGE |
| https://bugs.webkit.org/show_bug.cgi?id=204445 |
| |
| Reviewed by Antti Koivisto. |
| |
| Add assertions that combine ASSERT_NOT_REACHED and ASSERT_WITH_MESSAGE. |
| |
| * wtf/Assertions.h: |
| |
| 2019-11-20 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Unreviewed, address Darin's feedback on r252683. |
| |
| * wtf/text/StringCommon.h: |
| (WTF::findCommon): |
| |
| 2019-11-20 ChangSeok Oh <changseok@webkit.org> |
| |
| [GTK] Add ANGLE backend to GTK port |
| https://bugs.webkit.org/show_bug.cgi?id=199060 |
| |
| Reviewed by Žan Doberšek. |
| |
| The GTK port uses TEXTURE_MAPPER that has a gl context for accelerated rendering, |
| and ANGLE has an egl context for WebGL. We want to make both live together |
| so an exception is made where TEXTURE_MAPPER is enabled. |
| |
| * wtf/Platform.h: |
| |
| 2019-11-20 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [Win] Implement WTF::ThreadSpecific in WTF::Thread |
| https://bugs.webkit.org/show_bug.cgi?id=204341 |
| |
| Reviewed by Brent Fulgham and Yusuke Suzuki. |
| |
| Thread::destructTLS had a tricky code to defer destroying |
| WTF::Thread in TLS in order to ensure WTF::Thread is destructed |
| after other ThreadSpecific are destructed, which is a part of |
| cause of nasty hanging issue in the process termination (Bug 204192). |
| |
| This change implements WTF::ThreadSpecific in WTF::Thread by |
| adding a new class Thread::SpecificStorage to manage TLS. Simplify |
| Thread::destructTLS. Remove threadMapMutex in ThreadingWin.cpp |
| |
| * wtf/PlatformWin.cmake: |
| * wtf/ThreadSpecific.h: |
| (WTF::canBeGCThread>::ThreadSpecific): |
| (WTF::canBeGCThread>::get): |
| (WTF::canBeGCThread>::setInTLS): |
| (WTF::canBeGCThread>::destroy): |
| (WTF::canBeGCThread>::~ThreadSpecific): Deleted. |
| * wtf/Threading.h: |
| (WTF::Thread::specificStorage): |
| (WTF::Thread::current): |
| * wtf/win/ThreadSpecificWin.cpp: Removed. |
| * wtf/win/ThreadingWin.cpp: |
| (WTF::Thread::initializeTLSKey): |
| (WTF::Thread::initializeTLS): |
| (WTF::Thread::destructTLS): |
| (WTF::Thread::SpecificStorage::allocateKey): |
| (WTF::Thread::SpecificStorage::get): |
| (WTF::Thread::SpecificStorage::set): |
| (WTF::Thread::SpecificStorage::destroySlots): |
| (): Deleted. |
| (WTF::Thread::currentDying): Deleted. |
| (WTF::Thread::get): Deleted. |
| |
| 2019-11-19 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Implement String.prototype.replaceAll |
| https://bugs.webkit.org/show_bug.cgi?id=202471 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/text/StringCommon.h: |
| (WTF::findCommon): |
| Fix logic: "start > length" early out should come before "empty search string" early out. |
| |
| 2019-11-19 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [IndexedDB] IndexedDB's threading assertion should respect Web thread |
| https://bugs.webkit.org/show_bug.cgi?id=204346 |
| |
| Reviewed by Daniel Bates. |
| |
| * wtf/MainThread.cpp: |
| (WTF::canCurrentThreadAccessThreadLocalData): |
| (WTF::canAccessThreadLocalDataForThread): Deleted. |
| * wtf/MainThread.h: |
| * wtf/cocoa/MainThreadCocoa.mm: |
| (WTF::canCurrentThreadAccessThreadLocalData): |
| (WTF::canAccessThreadLocalDataForThread): Deleted. |
| |
| 2019-11-18 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| Remove self-defined C++14 features in StdLibExtras.h |
| https://bugs.webkit.org/show_bug.cgi?id=204220 |
| |
| Reviewed by Ross Kirsling. |
| |
| Remove std::conjunction, std::in_place_t and std::make_unique definitions. |
| Remove unsued std::clz. |
| |
| * wtf/StdLibExtras.h: |
| (std::make_unique): Deleted. |
| (std::exchange): Deleted. |
| (std::clz): Deleted. |
| |
| 2019-11-18 Alex Christensen <achristensen@webkit.org> |
| |
| Use SecTrustEvaluateWithError instead of SecTrustEvaluate where available |
| https://bugs.webkit.org/show_bug.cgi?id=204159 |
| <rdar://problem/45894288> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/Platform.h: |
| |
| 2019-11-15 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Remove index-masking on ScopedArguments and put it in IsoSubspace |
| https://bugs.webkit.org/show_bug.cgi?id=204269 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/MathExtras.h: |
| (WTF::computeIndexingMask): Deleted. |
| (WTF::preciseIndexMaskShiftForSize): Deleted. |
| (WTF::preciseIndexMaskShift): Deleted. |
| (WTF::opaque): Deleted. |
| (WTF::preciseIndexMaskPtr): Deleted. |
| |
| 2019-11-14 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] BlockDirectory's bits should be compact |
| https://bugs.webkit.org/show_bug.cgi?id=204149 |
| |
| Reviewed by Robin Morisset. |
| |
| * wtf/FastBitVector.h: |
| (WTF::fastBitVectorArrayLength): |
| (WTF::FastBitVectorImpl::unsafeWords): |
| (WTF::FastBitVectorImpl::unsafeWords const): |
| (WTF::FastBitReference::FastBitReference): |
| (WTF::FastBitReference::operator bool const): |
| (WTF::FastBitReference::operator=): |
| (WTF::FastBitVector::at): |
| (WTF::FastBitVector::operator[]): |
| (WTF::FastBitVector::BitReference::BitReference): Deleted. |
| (WTF::FastBitVector::BitReference::operator bool const): Deleted. |
| (WTF::FastBitVector::BitReference::operator=): Deleted. |
| |
| 2019-11-11 Ross Kirsling <ross.kirsling@sony.com> |
| |
| UTC offset for Samoa is miscalculated when !HAVE(TIMEGM) |
| https://bugs.webkit.org/show_bug.cgi?id=204032 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| We have code assuming that the world's time zones haven't changed in the past decade, |
| but Samoa changed from UTC-11 to UTC+13 at the beginning of 2012. |
| |
| (Note: "Samoa" here means the Independent State of Samoa (Pacific/Apia) and not American Samoa (Pacific/Samoa). |
| See https://en.wikipedia.org/wiki/Time_in_Samoa for more information.) |
| |
| * wtf/DateMath.cpp: |
| (WTF::calculateUTCOffset): |
| Update "canned date" from 2009 to 2019. |
| |
| 2019-11-07 Mark Lam <mark.lam@apple.com> |
| |
| Add a stack overflow check in Yarr::ByteCompiler::emitDisjunction(). |
| https://bugs.webkit.org/show_bug.cgi?id=203936 |
| <rdar://problem/56624724> |
| |
| Reviewed by Saam Barati. |
| |
| 1. Add a StackCheck utility class so that we don't have to keep reinventing this |
| every time we need to add stack checking somewhere. |
| 2. Rename some arguments and constants in StackBounds to be more descriptive of |
| what they actually are. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/StackBounds.h: |
| (WTF::StackBounds::recursionLimit const): |
| * wtf/StackCheck.h: Added. |
| (WTF::StackCheck::StackCheck): |
| (WTF::StackCheck::isSafeToRecurse): |
| |
| 2019-11-06 Mark Lam <mark.lam@apple.com> |
| |
| Remove remnants of support code for an upwards growing stack. |
| https://bugs.webkit.org/show_bug.cgi?id=203942 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| We haven't supported an upwards growing stack in years, and a lot of code has |
| since been written specifically with only a downwards growing stack in mind (e.g. |
| the LLInt, the JITs). Also, all our currently supported platforms use a downward |
| growing stack. |
| |
| We should remove the remnants of support code for an upwards growing stack. The |
| presence of that code is deceptive in that it conveys support for an upwards |
| growing stack where this hasn't been the case in years. |
| |
| * wtf/StackBounds.cpp: |
| (WTF::StackBounds::newThreadStackBounds): |
| (WTF::StackBounds::currentThreadStackBoundsInternal): |
| (WTF::StackBounds::stackDirection): Deleted. |
| (WTF::testStackDirection2): Deleted. |
| (WTF::testStackDirection): Deleted. |
| * wtf/StackBounds.h: |
| (WTF::StackBounds::size const): |
| (WTF::StackBounds::contains const): |
| (WTF::StackBounds::recursionLimit const): |
| (WTF::StackBounds::StackBounds): |
| (WTF::StackBounds::isGrowingDownwards const): |
| (WTF::StackBounds::checkConsistency const): |
| (WTF::StackBounds::isGrowingDownward const): Deleted. |
| * wtf/StackStats.cpp: |
| (WTF::StackStats::CheckPoint::CheckPoint): |
| (WTF::StackStats::CheckPoint::~CheckPoint): |
| (WTF::StackStats::probe): |
| (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): |
| |
| 2019-11-05 Mark Lam <mark.lam@apple.com> |
| |
| WTF::RunLoop should not depend on isMainThread() idiom. |
| https://bugs.webkit.org/show_bug.cgi?id=203873 |
| <rdar://problem/56524251> |
| |
| Reviewed by Saam Barati, Ryosuke Niwa, and Devin Rousso. |
| |
| The isMainThread() idiom is only meaningful for WebCore. It is less meaningful |
| for JSC since a VM instance can be entered from multiple threads, as long as only |
| one thread enters it at any time. Hence, the concept of a main thread doesn't |
| make sense at the JSC level. |
| |
| Since r251036, we started using a WTF::String to represent the RunLoop mode. |
| This caused problems for JSC clients when USE(CF) since it necessitated the use of |
| StringWrapperCFAllocator to track the life cycle of the CFStringRef generated from |
| the WTF::String. |
| |
| To fix this problem, we should restore the original behavior of using CFStringRefs |
| as the RunLoop mode token. |
| |
| * wtf/RunLoop.h: |
| (WTF::RunLoop::cycle): Deleted. |
| * wtf/cf/RunLoopCF.cpp: |
| (WTF::RunLoop::cycle): |
| * wtf/generic/RunLoopGeneric.cpp: |
| (WTF::RunLoop::cycle): |
| * wtf/glib/RunLoopGLib.cpp: |
| (WTF::RunLoop::cycle): |
| * wtf/win/RunLoopWin.cpp: |
| (WTF::RunLoop::cycle): |
| |
| 2019-11-05 Tuomas Karkkainen <tuomas.webkit@apple.com> |
| |
| Add definitions of ANSI colors for colorful log output |
| https://bugs.webkit.org/show_bug.cgi?id=203805 |
| |
| Reviewed by Saam Barati. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/AnsiColors.h: Added. |
| * wtf/CMakeLists.txt: |
| |
| 2019-11-05 Tuomas Karkkainen <tuomas.webkit@apple.com> |
| |
| move CrashReporterClientSPI.h and parts of WKCrashReporter to WTF so it can be used in JavaScriptCore |
| https://bugs.webkit.org/show_bug.cgi?id=203803 |
| |
| Reviewed by Saam Barati. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/PlatformMac.cmake: |
| * wtf/cocoa/CrashReporter.cpp: Added. |
| (WTF::setCrashLogMessage): |
| * wtf/cocoa/CrashReporter.h: Added. |
| * wtf/spi/cocoa/CrashReporterClientSPI.h: Renamed from Source/WebKit/Platform/spi/Cocoa/CrashReporterClientSPI.h. |
| |
| 2019-11-02 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: Add diagnostic logging for frontend feature usage |
| https://bugs.webkit.org/show_bug.cgi?id=203579 |
| <rdar://problem/56717410> |
| |
| Reviewed by Brian Burg. |
| |
| Original patch by Matt Baker <mattbaker@apple.com>. |
| |
| * wtf/FeatureDefines.h: |
| Add `ENABLE_INSPECTOR_TELEMETRY`, which is only enabled for macOS. |
| |
| 2019-11-01 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: Timelines: add a timeline that shows information about any recorded CSS animation/transition |
| https://bugs.webkit.org/show_bug.cgi?id=203651 |
| <rdar://problem/56128726> |
| |
| Reviewed by Brian Burg. |
| |
| * wtf/Markable.h: |
| (WTF::operator==): |
| (WTF::operator!=): |
| Add extra utility operators. |
| |
| 2019-10-31 Tim Horton <timothy_horton@apple.com> |
| |
| Turn on IOSurface support in the iOS Simulator |
| https://bugs.webkit.org/show_bug.cgi?id=203026 |
| <rdar://problem/56320993> |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/Platform.h: |
| Turn on HAVE(IOSURFACE) and USE(IOSURFACE_CANVAS_BACKING_STORE) in the simulator. |
| Add HAVE(IOSURFACE_COREIMAGE_SUPPORT). |
| |
| 2019-10-31 Jer Noble <jer.noble@apple.com> |
| |
| [EME] Batch multiple key requests into one request and response |
| https://bugs.webkit.org/show_bug.cgi?id=203580 |
| <rdar://problem/54853345> |
| |
| Reviewed by Eric Carlson. |
| |
| Support appending an r-value reference Vector to another. |
| |
| * wtf/Vector.h: |
| (WTF::minCapacity>::appendVector): |
| |
| 2019-10-31 Alex Christensen <achristensen@webkit.org> |
| |
| Remove unneeded HAVE_TIMINGDATAOPTIONS |
| https://bugs.webkit.org/show_bug.cgi?id=202990 |
| |
| Reviewed by Brady Eidson. |
| |
| * wtf/Platform.h: |
| |
| 2019-10-31 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] DateMath should have TimeClipped version |
| https://bugs.webkit.org/show_bug.cgi?id=203550 |
| |
| Reviewed by Saam Barati. |
| |
| We found that our Date constructor is slow because GregorianDateTime calculation takes so long. |
| We are doing many `fmod`, floating division, `floor` etc. These operations, in particular `fmod`, takes |
| very long time. As a result, 30% of JetStream2/date-format-xparb is taken by `fmod` function. |
| |
| But since we are performance timeClip operation, double value in DateInstance is always Int52. We should |
| have integer version of GregorianDateTime calculation which avoids many unnecessary fmod etc. |
| |
| While integer division is truncate-to-zero, many Date calculation requires `floor(value / xxx)`. For now, |
| we use integer fast path only when the value is Int52 and positive. |
| |
| We see 10~ % improvement in JetStream2/date-format-xparb-SP (from 201 to 239). |
| |
| * wtf/DateMath.cpp: |
| (WTF::isLeapYear): Deleted. |
| (WTF::daysInYear): Deleted. |
| (WTF::daysFrom1970ToYear): Deleted. |
| (WTF::msToDays): Deleted. |
| (WTF::msToYear): Deleted. |
| (WTF::dayInYear): Deleted. |
| (WTF::msToMinutes): Deleted. |
| (WTF::msToHours): Deleted. |
| (WTF::monthFromDayInYear): Deleted. |
| (WTF::checkMonth): Deleted. |
| (WTF::dayInMonthFromDayInYear): Deleted. |
| (WTF::dateToDaysFrom1970): Deleted. |
| (WTF::timeClip): Deleted. |
| * wtf/DateMath.h: |
| (WTF::TimeClippedPositiveMilliseconds::TimeClippedPositiveMilliseconds): |
| (WTF::TimeClippedPositiveMilliseconds::value const): |
| (WTF::TimeClippedPositiveMilliseconds::asDouble const): |
| (WTF::timeClip): |
| (WTF::daysFrom1970ToYear): |
| (WTF::daysFrom1970ToYearTimeClippedPositive): |
| (WTF::isLeapYear): |
| (WTF::daysInYear): |
| (WTF::msToDays): |
| (WTF::dayInYear): |
| (WTF::dateToDaysFrom1970): |
| (WTF::msToYear): |
| (WTF::msToMinutes): |
| (WTF::msToHours): |
| (WTF::msToSeconds): |
| (WTF::msToWeekDay): |
| (WTF::monthFromDayInYear): |
| (WTF::dayInMonthFromDayInYear): |
| * wtf/GregorianDateTime.cpp: |
| (WTF::GregorianDateTime::GregorianDateTime): |
| * wtf/GregorianDateTime.h: |
| |
| 2019-10-30 Alex Christensen <achristensen@webkit.org> |
| |
| Prevent Mac CMake build from bit rotting |
| https://bugs.webkit.org/show_bug.cgi?id=203647 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformMac.cmake: |
| |
| 2019-10-30 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Date functions should have intrinsic |
| https://bugs.webkit.org/show_bug.cgi?id=202187 |
| |
| Reviewed by Keith Miller. |
| |
| * wtf/DateMath.h: |
| * wtf/GregorianDateTime.cpp: |
| (WTF::GregorianDateTime::setToCurrentLocalTime): |
| * wtf/GregorianDateTime.h: |
| |
| 2019-10-30 Per Arne Vollan <pvollan@apple.com> |
| |
| It should be possible to create a mach sandbox extension for the WebContent process before the audit token is known |
| https://bugs.webkit.org/show_bug.cgi?id=203618 |
| |
| Reviewed by Brent Fulgham. |
| |
| Added SPI to create mach extension without PID or audit token. |
| |
| * wtf/spi/darwin/SandboxSPI.h: |
| |
| 2019-10-30 Daniel Bates <dabates@apple.com> |
| |
| Add pretty printer for CompactPointerTuple |
| https://bugs.webkit.org/show_bug.cgi?id=203495 |
| |
| Reviewed by Jer Noble. |
| |
| #include <wtf/FastMalloc.h> for the definition of WTF_MAKE_FAST_ALLOCATED. |
| |
| * wtf/CompactPointerTuple.h: |
| |
| 2019-10-29 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Add fast path for String#localeCompare |
| https://bugs.webkit.org/show_bug.cgi?id=202676 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/text/StringView.h: |
| (WTF::StringView::isAllASCII const): |
| |
| 2019-10-26 Chris Lord <clord@igalia.com> |
| |
| Put OffscreenCanvas behind a build flag |
| https://bugs.webkit.org/show_bug.cgi?id=203146 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2019-10-25 Andy Estes <aestes@apple.com> |
| |
| [Quick Look] Move the QLPreviewConverter delegate into PreviewConverter and vend a C++ client interface |
| https://bugs.webkit.org/show_bug.cgi?id=203396 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/FeatureDefines.h: Defined ENABLE_PREVIEW_CONVERTER. |
| |
| 2019-10-23 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Figure out missing prepareCallOperation |
| https://bugs.webkit.org/show_bug.cgi?id=203285 |
| |
| Reviewed by Mark Lam. |
| |
| Enable USE(BUILTIN_FRAME_ADDRESS) regardless of platform is the compilers and architectures match. |
| |
| * wtf/Platform.h: |
| |
| 2019-10-23 Tim Horton <timothy_horton@apple.com> |
| |
| macCatalyst: Should dispatch contextmenu event on right click |
| https://bugs.webkit.org/show_bug.cgi?id=203316 |
| <rdar://problem/54617376> |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2019-10-23 Truitt Savell <tsavell@apple.com> |
| |
| Unreviewed, rolling out r251261. |
| |
| This broke multiple tests |
| |
| Reverted changeset: |
| |
| "Using version 1 CFRunloopSource for faster task dispatch" |
| https://bugs.webkit.org/show_bug.cgi?id=202874 |
| https://trac.webkit.org/changeset/251261 |
| |
| 2019-10-23 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [iOS] Remove Hiragino Sans site-specific quirk for Yahoo Japan |
| https://bugs.webkit.org/show_bug.cgi?id=203345 |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/Platform.h: |
| |
| 2019-10-22 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Make `JSGlobalObject*` threading change more stabilized by adding tests and assertions |
| https://bugs.webkit.org/show_bug.cgi?id=203274 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/Platform.h: |
| |
| 2019-10-22 Antti Koivisto <antti@apple.com> |
| |
| operator==(Vector, Vector) should work with different inline capacities |
| https://bugs.webkit.org/show_bug.cgi?id=203245 |
| |
| Reviewed by Alex Christensen. |
| |
| Also allow different overflow behavior and minimum capacity. |
| |
| * wtf/Vector.h: |
| (WTF::operator==): |
| (WTF::operator!=): |
| |
| 2019-10-22 Rob Buis <rbuis@igalia.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=169667 |
| URL: protocol setter needs to be more restrictive around file |
| |
| Reviewed by Alex Christensen. |
| |
| Restrict setting protocol to "file" as indictaed in the spec [1]. |
| |
| Test: imported/w3c/web-platform-tests/url/url-setters.html |
| |
| [1] https://url.spec.whatwg.org/#scheme-state steps 2.1.3 and 2.1.4. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::setProtocol): |
| |
| 2019-10-21 Tim Horton <timothy_horton@apple.com> |
| |
| macCatalyst: Swipe navigation gestures do not work |
| https://bugs.webkit.org/show_bug.cgi?id=203205 |
| <rdar://problem/54617473> |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/Platform.h: |
| Add a new HAVE. |
| |
| 2019-10-20 Mark Lam <mark.lam@apple.com> |
| |
| Remove all uses of untagCodePtr in debugging code. |
| https://bugs.webkit.org/show_bug.cgi?id=203188 |
| <rdar://problem/56453043> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| We want the ability to always assert on failure to authenticate in untagCodePtr |
| (though we don't currently do that yet). |
| |
| * wtf/PtrTag.cpp: |
| (WTF::tagForPtr): |
| * wtf/PtrTag.h: |
| (WTF::retagCodePtrImpl): |
| (WTF::tagCFunctionPtrImpl): |
| (WTF::untagCFunctionPtrImpl): |
| (WTF::assertIsCFunctionPtr): |
| (WTF::isTaggedWith): |
| |
| 2019-10-19 Simon Fraser <simon.fraser@apple.com> |
| |
| Add support to TextStream for dumping HashMap<> and HashSet<> |
| https://bugs.webkit.org/show_bug.cgi?id=202969 |
| |
| Reviewed by Dean Jackson. |
| |
| Make it possible to output HashMap<> and HashSet<> to TextStream, |
| so long as key and value types are streamable. Also implement operator<<(char) |
| so that chars show as ASCII, rather than numbers. |
| |
| * wtf/text/TextStream.cpp: |
| (WTF::TextStream::operator<<): |
| * wtf/text/TextStream.h: |
| (WTF::operator<<): |
| |
| 2019-10-18 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Make ConcurrentJSLock Lock even if ENABLE_CONCURRENT_JS=OFF |
| https://bugs.webkit.org/show_bug.cgi?id=202892 |
| |
| Reviewed by Mark Lam. |
| |
| BaselineJIT also has concurrent compiler. ENABLE(CONCURRENT_JS) should not rely on ENABLE(DFG_JIT). |
| It should rely on ENABLE(JIT) instead. |
| |
| * wtf/Platform.h: |
| |
| 2019-10-17 Mark Lam <mark.lam@apple.com> |
| |
| Use constexpr in more places and remove some unnecessary external linkage. |
| https://bugs.webkit.org/show_bug.cgi?id=203115 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Also removed unused lockSpinLimit in Threading.h. |
| |
| * wtf/MD5.h: |
| * wtf/SHA1.h: |
| * wtf/StackBounds.h: |
| * wtf/Threading.h: |
| |
| 2019-10-17 Sihui Liu <sihui_liu@apple.com> |
| |
| Using version 1 CFRunloopSource for faster task dispatch |
| https://bugs.webkit.org/show_bug.cgi?id=202874 |
| |
| Reviewed by Geoffrey Garen. |
| |
| We used CFRunLoopWakeUp to wake up runloop to process source, which seems to be slow according to profiling. To |
| avoid calling CFRunLoopWakeUp, we should use version 1 CFRunloopSource instead of version 0. This patch brings |
| about 15% speedup for test PerformanceTests/IndexedDB/basic/objectstore-get.html. |
| |
| * wtf/RunLoop.cpp: |
| (WTF::RunLoop::initializeWebRunLoop): |
| (WTF::RunLoop::web): |
| * wtf/RunLoop.h: |
| * wtf/cf/RunLoopCF.cpp: |
| (WTF::RunLoop::performWork): |
| (WTF::RunLoop::RunLoop): |
| (WTF::RunLoop::~RunLoop): |
| (WTF::RunLoop::wakeUp): |
| * wtf/cocoa/MainThreadCocoa.mm: |
| (WTF::initializeMainThreadPlatform): |
| (WTF::scheduleDispatchFunctionsOnMainThread): |
| (WTF::initializeWebThread): |
| (-[JSWTFMainThreadCaller call]): Deleted. |
| |
| 2019-10-16 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Unreviewed, fix the internal macOS 10.13 and 10.14 builds after r251171 |
| |
| * wtf/Platform.h: Add a HAVE() macro for AXClientType, which is only available on macOS 10.15+ SDKs. |
| |
| 2019-10-15 Chris Dumez <cdumez@apple.com> |
| |
| [macOS] Simplify main thread initialization |
| https://bugs.webkit.org/show_bug.cgi?id=203001 |
| |
| Reviewed by Geoff Garen. |
| |
| Simplify main thread initialization on macOS by always using pthread main as main thread. |
| The complexity is now isolated to the USE(WEB_THREAD) code path. |
| |
| This patch also adds a debug assertion in WTF::initializeWebThreadPlatform() to make sure |
| it gets called on the actual main thread. In release, it will log a fault message indicating |
| it was called on the wrong thread. |
| |
| * wtf/MainThread.cpp: |
| * wtf/MainThread.h: |
| * wtf/RefCounted.h: |
| (WTF::RefCountedBase::RefCountedBase): |
| (WTF::RefCountedBase::applyRefDerefThreadingCheck const): |
| * wtf/cocoa/MainThreadCocoa.mm: |
| (WTF::initializeMainThreadPlatform): |
| (WTF::scheduleDispatchFunctionsOnMainThread): |
| (WTF::initializeWebThreadPlatform): |
| (WTF::canAccessThreadLocalDataForThread): |
| (WTF::isMainThread): |
| * wtf/generic/MainThreadGeneric.cpp: |
| * wtf/text/cf/StringImplCF.cpp: |
| (WTF::StringImpl::createCFString): |
| * wtf/win/MainThreadWin.cpp: |
| |
| 2019-10-14 Tim Horton <timothy_horton@apple.com> |
| |
| Unify sources for bindings more densely |
| https://bugs.webkit.org/show_bug.cgi?id=202918 |
| |
| Reviewed by Simon Fraser. |
| |
| * Scripts/generate-unified-source-bundles.rb: |
| Add an option to separate and more densely unify sources that match |
| a given glob pattern. |
| |
| 2019-10-14 Keith Rollin <krollin@apple.com> |
| |
| Remove some support for < iOS 13 |
| https://bugs.webkit.org/show_bug.cgi?id=202820 |
| <rdar://problem/56164838> |
| |
| Reviewed by Anders Carlsson. |
| |
| Remove some support for iOS versions less than 13.0. |
| |
| Update conditionals that reference __IPHONE_OS_VERSION_MIN_REQUIRED |
| and __IPHONE_OS_VERSION_MAX_ALLOWED, assuming that they both have |
| values >= 130000. This means that expressions like |
| "__IPHONE_OS_VERSION_MIN_REQUIRED < 101300" are always False and |
| "__IPHONE_OS_VERSION_MIN_REQUIRED >= 101300" are always True. |
| |
| This removal is part of a series of patches effecting the removal of |
| dead code for old versions of iOS. This particular pass involves |
| changes in which Devin Rousso was involved. These changes are isolated |
| from other similar changes in order to facilitate the reviewing |
| process. |
| |
| * wtf/Platform.h: |
| |
| 2019-10-14 Alex Christensen <achristensen@webkit.org> |
| |
| REGRESSION: [iOS 13?] TestWebKitAPI.SharedBufferTest.tryCreateArrayBufferLargeSegments is failing |
| https://bugs.webkit.org/show_bug.cgi?id=201902 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * wtf/Vector.h: |
| The code introduced in r108153 to workaround a warning when building Chrome was causing us to use uninitialized memory |
| when we create a Vector with the size_t/{signed,unsigned}char constructor with a constexpr size_t. |
| This was the cause of bug 201902 and bug 201620 which only manifested themselves in release builds with some compilers. |
| |
| 2019-10-14 Per Arne Vollan <pvollan@apple.com> |
| |
| [macOS] Sandbox extensions should be created with audit tokens, not PIDs |
| https://bugs.webkit.org/show_bug.cgi?id=201828 |
| |
| Reviewed by Brent Fulgham. |
| |
| Remove HAVE macro for issuing sandbox extension by PID, and fix version checks for the HAVE |
| macros related to issuing sandbox extensions by audit token. Remove SPI for creating |
| extensions by PID, and add SPI for creating mach extension by audit token. Also remove an |
| unneeded flag. |
| |
| * wtf/Platform.h: |
| * wtf/spi/darwin/SandboxSPI.h: |
| |
| 2019-10-08 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Make WebInspector's remote debug EventLoop code into RunLoop |
| https://bugs.webkit.org/show_bug.cgi?id=202716 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| This patch merges WebInspector's EventLoop code into RunLoop as a static function. |
| |
| * wtf/RunLoop.h: |
| (WTF::RunLoop::cycle): |
| * wtf/cf/RunLoopCF.cpp: |
| (WTF::RunLoop::cycle): Added. |
| * wtf/generic/RunLoopGeneric.cpp: |
| (WTF::RunLoop::cycle): Added. |
| * wtf/glib/RunLoopGLib.cpp: |
| (WTF::RunLoop::cycle): Added. |
| * wtf/win/RunLoopWin.cpp: |
| (WTF::RunLoop::cycle): Added. |
| |
| 2019-10-10 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Make it safe to store a ThreadSafeRefCounted object in Ref & RefPtr safe inside its destructor |
| https://bugs.webkit.org/show_bug.cgi?id=201576 |
| |
| Reviewed by Geoffrey Garen and Mark Lam. |
| |
| This patch leaves m_refCount 1 inside the last deref call to ThreadSafeRefCounted |
| so that storing an instance of this object in Ref or RefPtr would not trigger a recursive delete. |
| |
| Note: this patch does not try to fix a race condition by which another thread tries to ref() |
| this object after the "last" call to deref had happened since such a code would ref() this object |
| long after it had been removed (UAF), nor some code calling deref() before calling ref() inside |
| a destructor since there is no way to defend against unpaired calls to ref() & deref() like that. |
| |
| Also added m_deletionHasBegun like RefCounted. |
| |
| * wtf/ThreadSafeRefCounted.h: |
| (WTF::ThreadSafeRefCountedBase::ref const): |
| (WTF::ThreadSafeRefCountedBase::hasOneRef const): |
| (WTF::ThreadSafeRefCountedBase::derefBase const): |
| |
| 2019-10-11 Alex Christensen <achristensen@webkit.org> |
| |
| Only use CFNetwork SPI for metrics where needed |
| https://bugs.webkit.org/show_bug.cgi?id=202825 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * wtf/Platform.h: |
| |
| 2019-10-11 Keith Rollin <krollin@apple.com> |
| |
| Remove some support for < iOS 13 |
| https://bugs.webkit.org/show_bug.cgi?id=202819 |
| <rdar://problem/56164233> |
| |
| Reviewed by Anders Carlsson. |
| |
| Remove some support for iOS versions less than 13.0. |
| |
| Update conditionals that reference __IPHONE_OS_VERSION_MIN_REQUIRED |
| and __IPHONE_OS_VERSION_MAX_ALLOWED, assuming that they both have |
| values >= 130000. This means that expressions like |
| "__IPHONE_OS_VERSION_MIN_REQUIRED < 101300" are always False and |
| "__IPHONE_OS_VERSION_MIN_REQUIRED >= 101300" are always True. |
| |
| This removal is part of a series of patches effecting the removal of |
| dead code for old versions of iOS. This particular pass involves |
| changes in which Jiewen Tan was involved. These changes are isolated |
| from other similar changes in order to facilitate the reviewing |
| process. |
| |
| * wtf/Platform.h: |
| |
| 2019-10-11 Jonathan Bedard <jbedard@apple.com> |
| |
| Unreviewed, rolling out r250945. |
| |
| Broke 18 Debug API tests |
| |
| Reverted changeset: |
| |
| "Add support for CompactPointerTuple<..., OptionSet<...>>" |
| https://bugs.webkit.org/show_bug.cgi?id=201316 |
| https://trac.webkit.org/changeset/250945 |
| |
| 2019-10-11 Xabier Rodriguez Calvar <calvaris@igalia.com> |
| |
| MediaTime pretty printer can print if time is invalid |
| https://bugs.webkit.org/show_bug.cgi?id=202735 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/MediaTime.cpp: |
| (WTF::MediaTime::toString const): Append ", invalid" if isInvalid(). |
| (WTF::MediaTime::toJSONObject const): Set boolean invalid to true |
| when invalid. |
| |
| 2019-10-09 Keith Rollin <krollin@apple.com> |
| |
| Remove some support for < iOS 13 |
| https://bugs.webkit.org/show_bug.cgi?id=202371 |
| <rdar://problem/55853960> |
| |
| Reviewed by Youenn Fablet. |
| |
| Remove some support for iOS versions less than 13.0. |
| |
| Update conditionals that reference __IPHONE_OS_VERSION_MIN_REQUIRED |
| and __IPHONE_OS_VERSION_MAX_ALLOWED, assuming that they both have |
| values >= 130000. This means that expressions like |
| "__IPHONE_OS_VERSION_MIN_REQUIRED < 101300" are always False and |
| "__IPHONE_OS_VERSION_MIN_REQUIRED >= 101300" are always True. |
| |
| This removal is part of a series of patches effecting the removal of |
| dead code for old versions of iOS. This particular pass involves |
| changes in which Dean Jackson was involved. These changes are isolated |
| from other similar changes in order to facilitate the reviewing |
| process. |
| |
| * wtf/FeatureDefines.h: |
| * wtf/Platform.h: |
| |
| 2019-10-09 Daniel Bates <dabates@apple.com> |
| |
| Add support for CompactPointerTuple<..., OptionSet<...>> |
| https://bugs.webkit.org/show_bug.cgi?id=201316 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Support using an OptionSet<> for the byte value portion of a CompactPointerTuple so that |
| you can encode both a pointer and 8-bit bitmask in a type-safe way. Another benefit of |
| supporting OptionSet<> is that we have a LLDB pretty-printer for it so this makes it easy |
| to see the set flags in such a CompactPointerTuple. |
| |
| * wtf/CompactPointerTuple.h: |
| |
| 2019-10-09 Russell Epstein <repstein@apple.com> |
| |
| Unreviewed, rolling out r250930. |
| |
| Broke watchOS Builds |
| |
| Reverted changeset: |
| |
| "Add support for CompactPointerTuple<..., OptionSet<...>>" |
| https://bugs.webkit.org/show_bug.cgi?id=201316 |
| https://trac.webkit.org/changeset/250930 |
| |
| 2019-10-09 Daniel Bates <dabates@apple.com> |
| |
| Add support for CompactPointerTuple<..., OptionSet<...>> |
| https://bugs.webkit.org/show_bug.cgi?id=201316 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Support using an OptionSet<> for the byte value portion of a CompactPointerTuple so that |
| you can encode both a pointer and 8-bit bitmask in a type-safe way. Another benefit of |
| supporting OptionSet<> is that we have a LLDB pretty-printer for it so this makes it easy |
| to see the set flags in such a CompactPointerTuple. |
| |
| * wtf/CompactPointerTuple.h: |
| |
| 2019-10-08 Robin Morisset <rmorisset@apple.com> |
| |
| dataLogIf should be ALWAYS_INLINE |
| https://bugs.webkit.org/show_bug.cgi?id=202703 |
| |
| Reviewed by Saam Barati. |
| |
| We often have the following pattern: |
| ``` |
| static constexpr bool verbose = false; |
| ... |
| dataLogLnIf(verbose, "Something is happening"); |
| ``` |
| To make sure that these are always properly eliminated I'd like to make dataLogIf/dataLogLnIf ALWAYS_INLINE. |
| |
| We may as well mark the branch as UNLIKELY too, for the cases where the condition comes from Options::verboseSomething() and is only known at runtime. |
| |
| * wtf/DataLog.h: |
| (WTF::dataLogIf): |
| (WTF::dataLogLnIf): |
| |
| 2019-10-07 Alexey Proskuryakov <ap@apple.com> |
| |
| Build failure in WebHTMLView.mm with the public SDK (Xcode 11 and Mojave) |
| https://bugs.webkit.org/show_bug.cgi?id=199705 |
| |
| Patch by Dan Bernstein and Kenneth Russell. |
| Reviewed by Alexey Proskuryakov. |
| |
| * wtf/Platform.h: Added HAVE_SUBVIEWS_IVAR_DECLARED_BY_SDK. |
| |
| 2019-10-04 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r250762. |
| https://bugs.webkit.org/show_bug.cgi?id=202609 |
| |
| Broke JSC tests by breaking refCount check in |
| DropAllLocks::DropAllLocks (Requested by rniwa on #webkit). |
| |
| Reverted changeset: |
| |
| "Make a ThreadSafeRefCounted object safe to ref & deref inside |
| its destructor" |
| https://bugs.webkit.org/show_bug.cgi?id=201576 |
| https://trac.webkit.org/changeset/250762 |
| |
| 2019-10-04 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Build fix for macOS Catalina. |
| |
| * wtf/spi/darwin/SandboxSPI.h: |
| |
| 2019-10-04 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Make a ThreadSafeRefCounted object safe to ref & deref inside its destructor |
| https://bugs.webkit.org/show_bug.cgi?id=201576 |
| |
| Reviewed by Geoffrey Garen. |
| |
| This patch leaves m_refCount 1 inside the last deref call to ThreadSafeRefCounted |
| such that ref'ing and deref'ing it again inside its destructor would never try |
| to double delete the object. |
| |
| Also added m_deletionHasBegun like RefCounted. |
| |
| * wtf/ThreadSafeRefCounted.h: |
| (WTF::ThreadSafeRefCountedBase::ref const): |
| (WTF::ThreadSafeRefCountedBase::hasOneRef const): |
| (WTF::ThreadSafeRefCountedBase::derefBase const): |
| |
| 2019-10-04 Heiko Becker <heirecka@exherbo.org> |
| |
| Fix build with icu 65.1 |
| https://bugs.webkit.org/show_bug.cgi?id=202600 |
| |
| Reviewed by Konstantin Tokarev. |
| |
| * wtf/URLHelpers.cpp: |
| (WTF::URLHelpers::allCharactersInIDNScriptWhiteList): |
| |
| 2019-10-04 Truitt Savell <tsavell@apple.com> |
| |
| Unreviewed, rolling out r250583. |
| |
| Broke multiple internal API tests |
| |
| Reverted changeset: |
| |
| "[JSC] Place VM* in TLS" |
| https://bugs.webkit.org/show_bug.cgi?id=202391 |
| https://trac.webkit.org/changeset/250583 |
| |
| 2019-10-03 Keith Rollin <krollin@apple.com> |
| |
| Remove some support for < iOS 13 |
| https://bugs.webkit.org/show_bug.cgi?id=202549 |
| <rdar://problem/55967232> |
| |
| Reviewed by Alex Christensen. |
| |
| Remove some support for iOS versions less than 13.0. |
| |
| Update conditionals that reference __IPHONE_OS_VERSION_MIN_REQUIRED |
| and __IPHONE_OS_VERSION_MAX_ALLOWED, assuming that they both have |
| values >= 130000. This means that expressions like |
| "__IPHONE_OS_VERSION_MIN_REQUIRED < 101300" are always False and |
| "__IPHONE_OS_VERSION_MIN_REQUIRED >= 101300" are always True. |
| |
| This removal is part of a series of patches effecting the removal of |
| dead code for old versions of iOS. This particular pass involves |
| changes in which Michael Saboff was involved. These changes are |
| isolated from other similar changes in order to facilitate the |
| reviewing process. |
| |
| * wtf/spi/darwin/ProcessMemoryFootprint.h: |
| |
| 2019-10-03 Per Arne Vollan <pvollan@apple.com> |
| |
| REGRESSION(249649): Unable to open local files in MiniBrowser on macOS |
| https://bugs.webkit.org/show_bug.cgi?id=201798 |
| |
| Reviewed by Brent Fulgham. |
| |
| Add HAVE_AUDIT_TOKEN and SANDBOX_ISSUE_READ_EXTENSION_TO_PROCESS_BY_AUDIT_TOKEN defines. |
| |
| * wtf/Platform.h: |
| |
| 2019-10-02 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| REGRESSION (r245672): <select> dropdown with text-rendering: optimizeLegibility freezes Safari |
| https://bugs.webkit.org/show_bug.cgi?id=202198 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/Platform.h: |
| |
| 2019-10-02 Mark Lam <mark.lam@apple.com> |
| |
| DoubleToStringConverter::ToExponential() should null terminate its string. |
| https://bugs.webkit.org/show_bug.cgi?id=202492 |
| <rdar://problem/55907708> |
| |
| Reviewed by Filip Pizlo. |
| |
| * wtf/dtoa/double-conversion.cc: |
| - DoubleToStringConverter::DoubleToAscii() always produces a null terminated |
| string. Fixed the padding loop in DoubleToStringConverter::ToExponential() |
| that follows it to also keep the null terminator. |
| |
| * wtf/dtoa/utils.h: |
| (WTF::double_conversion::StringBuilder::AddSubstring): |
| - An assertion in here was using strlen() which indicates that it expects a null |
| terminator in the incoming string. However, this requirement is too restrictive. |
| The code does not actually depend on the string having a null terminator, only |
| that a null terminator does not manifest before the nth character. Changed |
| the assertion to use strnlen() instead to reflect this. |
| |
| 2019-10-02 Zan Dobersek <zdobersek@igalia.com> |
| |
| [Nicosia] Enable async scrolling at build-time for Nicosia-using ports |
| https://bugs.webkit.org/show_bug.cgi?id=202397 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * wtf/Platform.h: |
| Flip ENABLE_KINETIC_SCROLLING to 1 also for PlayStation and WPE ports |
| when ASYNC_SCROLLING is enabled. |
| 2019-10-01 Jonathan Bedard <jbedard@apple.com> |
| |
| WebKitTestRunner: Many tests timeout on macOS Catalina |
| https://bugs.webkit.org/show_bug.cgi?id=201616 |
| <rdar://problem/55200897> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * wtf/Platform.h: USE_SOURCE_APPLICATION_AUDIT_DATA should only be enabled on |
| builds which allow restricted entitlements. |
| |
| 2019-10-01 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Place VM* in TLS |
| https://bugs.webkit.org/show_bug.cgi?id=202391 |
| |
| Reviewed by Mark Lam. |
| |
| Changed FastTLS's key name from WTF_GC_TLC_KEY to WTF_VM_KEY. |
| |
| * wtf/FastTLS.h: |
| |
| 2019-10-01 Keith Rollin <krollin@apple.com> |
| |
| Remove some support for < iOS 13 |
| https://bugs.webkit.org/show_bug.cgi?id=202386 |
| <rdar://problem/55863017> |
| |
| Reviewed by Eric Carlson. |
| |
| Remove some support for iOS versions less than 13.0. |
| |
| Update conditionals that reference __IPHONE_OS_VERSION_MIN_REQUIRED |
| and __IPHONE_OS_VERSION_MAX_ALLOWED, assuming that they both have |
| values >= 130000. This means that expressions like |
| "__IPHONE_OS_VERSION_MIN_REQUIRED < 101300" are always False and |
| "__IPHONE_OS_VERSION_MIN_REQUIRED >= 101300" are always True. |
| |
| This removal is part of a series of patches effecting the removal of |
| dead code for old versions of iOS. This particular pass involves |
| changes in which Jer Noble was involved. These changes are isolated |
| from other similar changes in order to facilitate the reviewing |
| process. |
| |
| * wtf/Platform.h: |
| |
| |
| 2019-09-30 Alex Christensen <achristensen@webkit.org> |
| |
| Resurrect Mac CMake build |
| https://bugs.webkit.org/show_bug.cgi?id=202384 |
| |
| Rubber-stamped by Tim Horton. |
| |
| * wtf/PlatformMac.cmake: |
| |
| 2019-09-30 Mark Lam <mark.lam@apple.com> |
| |
| Add some assertions to convertUTF8ToUTF16(). |
| https://bugs.webkit.org/show_bug.cgi?id=202356 |
| <rdar://problem/52846813> |
| |
| Reviewed by Filip Pizlo. |
| |
| * wtf/unicode/UTF8Conversion.cpp: |
| (WTF::Unicode::convertUTF8ToUTF16): |
| |
| 2019-09-30 Guillaume Emont <guijemont@igalia.com> |
| |
| Don't try to use backtrace() on MIPS |
| https://bugs.webkit.org/show_bug.cgi?id=202196 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| backtrace() on mips seems to always return 1 on mips/glibc (I tried |
| with buildroot, debian stable and debian testing, with and without |
| libunwind), which renders it useless and breaks a RELEASE_ASSERT in |
| StackTrace::captureStackTrace(). |
| |
| * wtf/Platform.h: |
| |
| 2019-09-29 Keith Rollin <krollin@apple.com> |
| |
| Address static analysis warning in ParkingLot.cpp: Access to field 'size' results in a dereference of a null pointer |
| https://bugs.webkit.org/show_bug.cgi?id=202154 |
| <rdar://problem/55672103> |
| |
| Reviewed by Brent Fulgham. |
| |
| Static analysis reports the following: |
| |
| .../OpenSource/Source/WTF/wtf/ParkingLot.cpp:376:30: warning: Access to field 'size' results in a dereference of a null pointer (loaded from variable 'oldHashtable') |
| RELEASE_ASSERT(newSize > oldHashtable->size); |
| ^~~~~~~~~~~~~~~~~~ |
| |
| This warning arises because earlier code checks to see if oldHashtable |
| is NULL, leading the static analyzer to think that it *could* be NULL. |
| However, even earlier code actually ensures that oldHashtable will not |
| be NULL. Address this by removing the NULL check, and back it up with |
| an ASSERT to ensure that it's not NULL. |
| |
| * wtf/ParkingLot.cpp: |
| |
| 2019-09-26 Alexey Shvayka <shvaikalesh@gmail.com> |
| |
| toExponential, toFixed, and toPrecision should allow arguments up to 100 |
| https://bugs.webkit.org/show_bug.cgi?id=199163 |
| |
| Reviewed by Ross Kirsling. |
| |
| Increase size of NumberToStringBuffer: <21 digits> + decimal point + <100 digits> + null char = 123. |
| Increase kMaxFixedDigitsAfterPoint to make Number.prototype.toFixed work with arguments up to 100. |
| Also update other constants to their correct values. |
| |
| * wtf/dtoa.h: |
| * wtf/dtoa/double-conversion.cc: |
| * wtf/dtoa/double-conversion.h: |
| |
| 2019-09-25 Keith Rollin <krollin@apple.com> |
| |
| Address static analysis warning in UTextProviderLatin1.cpp: Array access results in a null pointer dereference |
| https://bugs.webkit.org/show_bug.cgi?id=202155 |
| <rdar://problem/55672422> |
| |
| Reviewed by Geoffrey Garen. |
| |
| Xcode's static analysis reports: |
| |
| .../OpenSource/Source/WTF/wtf/text/icu/UTextProviderLatin1.cpp:185:22: warning: Array access (from variable 'dest') results in a null pointer dereference |
| dest[length] = 0; |
| ~~~~ ^ |
| |
| This error is due to an earlier "if" statement that caused the static |
| analyzer to infer that "dest" could be NULL. It turns out that that |
| previous check was in error, in that it tested for "!dest" when it |
| should have tested for "dest". So this patch fixes that. |
| |
| Even with that error fixed, the static analyzer will still infer that |
| "dest" could be NULL at the point shown above. Therefore, add a "dest" |
| test just before the assignment. |
| |
| * wtf/text/icu/UTextProviderLatin1.cpp: |
| (WTF::uTextLatin1Extract): |
| |
| 2019-09-25 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [iPadOS] [DataActivation] Focus moves away after focusing input fields on www.att.com |
| https://bugs.webkit.org/show_bug.cgi?id=202167 |
| <rdar://problem/55185021> |
| |
| Reviewed by Tim Horton. |
| |
| Declare DYLD_IOS_VERSION_13_2. |
| |
| * wtf/spi/darwin/dyldSPI.h: |
| |
| 2019-09-24 Keith Rollin <krollin@apple.com> |
| |
| Coalesce or remove PLATFORM(MAC) || PLATFORM(IOS_FAMILY) |
| https://bugs.webkit.org/show_bug.cgi?id=202119 |
| <rdar://problem/55638792> |
| |
| Reviewed by Alex Christensen. |
| |
| After refactoring and other code evolution, some platform checks have |
| ended up looking like PLATFORM(MAC) || PLATFORM(IOS_FAMILY) (or |
| vice-versa). These can be converted into the equivalent |
| PLATFORM(COCOA). Where the instance occurs in a Cocoa-only file, the |
| check can be removed altogether (along with any "#else" branches). |
| |
| * wtf/Platform.h: |
| * wtf/text/TextBreakIterator.h: |
| |
| 2019-09-21 David Kilzer <ddkilzer@apple.com> |
| |
| clang-tidy: Fix unnecessary copy/ref churn of for loop variables in WTF/JavaScriptCore |
| <https://webkit.org/b/202069> |
| |
| Reviewed by Mark Lam. |
| |
| Fix unwanted copying/ref churn of loop variables by making them |
| const references. |
| |
| * wtf/AggregateLogger.h: |
| (WTF::AggregateLogger::log const): |
| |
| 2019-09-20 Keith Rollin <krollin@apple.com> |
| |
| Remove some support for < iOS 13 |
| https://bugs.webkit.org/show_bug.cgi?id=201967 |
| <rdar://problem/55504738> |
| |
| Reviewed by Andy Estes. |
| |
| Remove some support for iOS versions less than 13.0. |
| |
| Update conditionals that reference __IPHONE_OS_VERSION_MIN_REQUIRED |
| and __IPHONE_OS_VERSION_MAX_ALLOWED, assuming that they both have |
| values >= 130000. This means that expressions like |
| "__IPHONE_OS_VERSION_MIN_REQUIRED < 101300" are always False and |
| "__IPHONE_OS_VERSION_MIN_REQUIRED >= 101300" are always True. |
| |
| After version checks have been removed, there are some cases where the |
| preprocessor conditional looks like "#if PLATFORM(MAC) || |
| PLATFORM(IOS_FAMILY)". These can be collapsed into "#if |
| PLATFORM(COCOA)". This additional cleanup will be performed in a |
| subsequent patch. |
| |
| This removal is part of a series of patches effecting the removal of |
| dead code for old versions of iOS. This particular pass involves |
| changes in which Andy Estes was involved. These changes are isolated |
| from other similar changes in order to facilitate the reviewing |
| process. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2019-09-20 Keith Rollin <krollin@apple.com> |
| |
| Remove some support for < iOS 13 |
| https://bugs.webkit.org/show_bug.cgi?id=201973 |
| <rdar://problem/55506966> |
| |
| Reviewed by Alex Christensen. |
| |
| Remove some support for iOS versions less than 13.0. |
| |
| Update conditionals that reference __IPHONE_OS_VERSION_MIN_REQUIRED |
| and __IPHONE_OS_VERSION_MAX_ALLOWED, assuming that they both have |
| values >= 130000. This means that expressions like |
| "__IPHONE_OS_VERSION_MIN_REQUIRED < 101300" are always False and |
| "__IPHONE_OS_VERSION_MIN_REQUIRED >= 101300" are always True. |
| |
| This removal is part of a series of patches effecting the removal of |
| dead code for old versions of iOS. This particular pass involves |
| changes in which Chris Dumez was involved. These changes are isolated |
| from other similar changes in order to facilitate the reviewing |
| process. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2019-09-20 Paulo Matos <pmatos@igalia.com> |
| |
| Implement memory monitoring functions for Linux OS |
| https://bugs.webkit.org/show_bug.cgi?id=200391 |
| |
| Reviewed by Žan Doberšek. |
| |
| * wtf/PlatformGTK.cmake: |
| * wtf/PlatformJSCOnly.cmake: |
| * wtf/PlatformWPE.cmake: |
| * wtf/linux/ProcessMemoryFootprint.h: Added. |
| (ProcessMemoryFootprint::now): |
| (ProcessMemoryFootprint::resetPeak): |
| |
| 2019-09-20 Libor Bukata <libor.bukata@oracle.com> |
| |
| UI process crash when using callOnMainThread() after the main thread dispatcher has been destroyed |
| https://bugs.webkit.org/show_bug.cgi?id=197266 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * wtf/generic/MainThreadGeneric.cpp: |
| (WTF::scheduleDispatchFunctionsOnMainThread): |
| |
| 2019-09-17 Mark Lam <mark.lam@apple.com> |
| |
| Use constexpr instead of const in symbol definitions that are obviously constexpr. |
| https://bugs.webkit.org/show_bug.cgi?id=201879 |
| |
| Rubber-stamped by Joseph Pecoraro. |
| |
| * wtf/Assertions.cpp: |
| * wtf/AutomaticThread.cpp: |
| * wtf/BitVector.h: |
| * wtf/Bitmap.h: |
| * wtf/BloomFilter.h: |
| * wtf/Brigand.h: |
| * wtf/CheckedArithmetic.h: |
| * wtf/CrossThreadCopier.h: |
| * wtf/CurrentTime.cpp: |
| * wtf/DataLog.cpp: |
| * wtf/DateMath.cpp: |
| (WTF::daysFrom1970ToYear): |
| * wtf/DeferrableRefCounted.h: |
| * wtf/GetPtr.h: |
| * wtf/HashFunctions.h: |
| * wtf/HashMap.h: |
| * wtf/HashTable.h: |
| * wtf/HashTraits.h: |
| * wtf/JSONValues.cpp: |
| * wtf/JSONValues.h: |
| * wtf/ListHashSet.h: |
| * wtf/Lock.h: |
| * wtf/LockAlgorithm.h: |
| * wtf/LockAlgorithmInlines.h: |
| (WTF::Hooks>::lockSlow): |
| * wtf/Logger.h: |
| * wtf/LoggerHelper.h: |
| (WTF::LoggerHelper::childLogIdentifier const): |
| * wtf/MainThread.cpp: |
| * wtf/MetaAllocatorPtr.h: |
| * wtf/MonotonicTime.h: |
| * wtf/NaturalLoops.h: |
| (WTF::NaturalLoops::NaturalLoops): |
| * wtf/ObjectIdentifier.h: |
| * wtf/RAMSize.cpp: |
| * wtf/Ref.h: |
| * wtf/RefPtr.h: |
| * wtf/RetainPtr.h: |
| * wtf/SchedulePair.h: |
| * wtf/StackShot.h: |
| * wtf/StdLibExtras.h: |
| * wtf/TinyPtrSet.h: |
| * wtf/URL.cpp: |
| * wtf/URLHash.h: |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::defaultPortForProtocol): |
| * wtf/Vector.h: |
| * wtf/VectorTraits.h: |
| * wtf/WallTime.h: |
| * wtf/WeakHashSet.h: |
| * wtf/WordLock.h: |
| * wtf/cocoa/CPUTimeCocoa.cpp: |
| * wtf/cocoa/MemoryPressureHandlerCocoa.mm: |
| * wtf/persistence/PersistentDecoder.h: |
| * wtf/persistence/PersistentEncoder.h: |
| * wtf/text/AtomStringHash.h: |
| * wtf/text/CString.h: |
| * wtf/text/StringBuilder.cpp: |
| (WTF::expandedCapacity): |
| * wtf/text/StringHash.h: |
| * wtf/text/StringImpl.h: |
| * wtf/text/StringToIntegerConversion.h: |
| (WTF::toIntegralType): |
| * wtf/text/SymbolRegistry.h: |
| * wtf/text/TextStream.cpp: |
| (WTF::hasFractions): |
| * wtf/text/WTFString.h: |
| * wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp: |
| |
| 2019-09-16 Alex Christensen <achristensen@webkit.org> |
| |
| Remove "gopher" from list of special schemes in URLParser |
| https://bugs.webkit.org/show_bug.cgi?id=201852 |
| |
| Reviewed by Simon Fraser. |
| |
| There is little meaningful content on gopher servers, and WebKit does not actually support gopher. |
| This makes WebKit match the behavior of Gecko and goes along with a change proposed at |
| https://github.com/whatwg/url/issues/342 |
| |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::defaultPortForProtocol): |
| (WTF::scheme): |
| (WTF::URLParser::copyURLPartsUntil): |
| (WTF::URLParser::parse): |
| |
| 2019-09-14 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Retire x86 32bit JIT support |
| https://bugs.webkit.org/show_bug.cgi?id=201790 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/Platform.h: |
| |
| 2019-09-13 Jonathan Bedard <jbedard@apple.com> |
| |
| iOS 13: Some SPI targets 13.1 |
| https://bugs.webkit.org/show_bug.cgi?id=201777 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * wtf/Platform.h: |
| |
| 2019-09-12 Mark Lam <mark.lam@apple.com> |
| |
| Harden JSC against the abuse of runtime options. |
| https://bugs.webkit.org/show_bug.cgi?id=201597 |
| <rdar://problem/55167068> |
| |
| Reviewed by Filip Pizlo. |
| |
| Add a source file that was missing so that Xcode can search its contents too. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| |
| 2019-09-09 Tim Horton <timothy_horton@apple.com> |
| |
| Clarify some macCatalyst feature flags |
| https://bugs.webkit.org/show_bug.cgi?id=201619 |
| <rdar://problem/54615618> |
| |
| Reviewed by Megan Gardner. |
| |
| * wtf/Platform.h: |
| We prefer specific flags over platform checks. |
| |
| 2019-09-07 David Quesada <david_quesada@apple.com> |
| |
| REGRESSION(r248533): Unable to use WTF::RefCounted when building in a debug configuration against a non-debug WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=201585 |
| rdar://problem/55153369 |
| |
| Reviewed by Chris Dumez. |
| |
| Export WTF::RefCountedBase::areThreadingChecksEnabledGlobally regardless of whether or not assertions |
| are enabled for the WTF being built. This allows WebKit-based projects to use RefCounted for their own |
| objects in a debug configuration without requiring a debug build of WebKit. |
| |
| * wtf/RefCounted.cpp: |
| * wtf/RefCounted.h: |
| |
| 2019-09-07 Mark Lam <mark.lam@apple.com> |
| |
| performJITMemcpy() source buffer should not be in the Gigacage. |
| https://bugs.webkit.org/show_bug.cgi?id=201577 |
| <rdar://problem/55142606> |
| |
| Reviewed by Michael Saboff. |
| |
| * wtf/Gigacage.h: |
| (Gigacage::contains): |
| |
| 2019-09-06 Mark Lam <mark.lam@apple.com> |
| |
| Harden protection of the Gigacage Config parameters. |
| https://bugs.webkit.org/show_bug.cgi?id=201570 |
| <rdar://problem/55134229> |
| |
| Reviewed by Saam Barati. |
| |
| Just renaming some function names here. |
| |
| * wtf/Gigacage.h: |
| (Gigacage::forbidDisablingPrimitiveGigacage): |
| (Gigacage::isDisablingPrimitiveGigacageForbidden): |
| (Gigacage::disableDisablingPrimitiveGigacageIfShouldBeEnabled): Deleted. |
| (Gigacage::isDisablingPrimitiveGigacageDisabled): Deleted. |
| |
| 2019-09-05 Mark Lam <mark.lam@apple.com> |
| |
| Refactor the Gigacage code to require less pointer casting. |
| https://bugs.webkit.org/show_bug.cgi?id=201521 |
| |
| Reviewed by Saam Barati. |
| |
| Remove some unneeded stubs in WTF Gigacage.h. |
| |
| * wtf/Gigacage.cpp: |
| * wtf/Gigacage.h: |
| (Gigacage::name): |
| (Gigacage::isEnabled): |
| (Gigacage::basePtr): Deleted. |
| (Gigacage::basePtrs): Deleted. |
| |
| 2019-08-30 Alex Christensen <achristensen@webkit.org> |
| |
| Remove HAVE_CFNETWORK_WITH_AUTO_ADDED_HTTP_HEADER_SUPPRESSION_SUPPORT conditional |
| https://bugs.webkit.org/show_bug.cgi?id=201280 |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/Platform.h: |
| |
| 2019-08-30 Alex Christensen <achristensen@webkit.org> |
| |
| Remove HAVE_CFNETWORK_WITH_IGNORE_HSTS conditional |
| https://bugs.webkit.org/show_bug.cgi?id=201279 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/Platform.h: |
| |
| 2019-08-30 Alex Christensen <achristensen@webkit.org> |
| |
| Fix non-iOS iOS-family and catalyst builds after r249019 |
| https://bugs.webkit.org/show_bug.cgi?id=200945 |
| |
| * wtf/Platform.h: |
| State that they have tls_protocol_version_t |
| |
| 2019-08-30 Simon Fraser <simon.fraser@apple.com> |
| |
| Add system tracing points for compositing updates, and touch-event dispatching |
| https://bugs.webkit.org/show_bug.cgi?id=201327 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/SystemTracing.h: |
| |
| 2019-08-30 Keith Rollin <krollin@apple.com> |
| |
| Remove AppKitCompatibilityDeclarations.h |
| https://bugs.webkit.org/show_bug.cgi?id=201283 |
| <rdar://problem/54822042> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| The two copies of these files -- on in WTF, one in MiniBrowser -- are |
| empty and can be removed. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/PlatformMac.cmake: |
| * wtf/mac/AppKitCompatibilityDeclarations.h: Removed. |
| |
| 2019-08-29 Keith Rollin <krollin@apple.com> |
| |
| Remove HAVE_PASSKIT_GRANULAR_ERRORS conditional |
| https://bugs.webkit.org/show_bug.cgi?id=201278 |
| <rdar://problem/54821052> |
| |
| Reviewed by Alex Christensen. |
| |
| HAVE_PASSKIT_GRANULAR_ERRORS is always True, so remove the conditional |
| tests, keeping the True branches and removing the False branches. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2019-08-29 Keith Rollin <krollin@apple.com> |
| |
| Update .xcconfig symbols to reflect the current set of past and future product versions. |
| https://bugs.webkit.org/show_bug.cgi?id=200720 |
| <rdar://problem/54305032> |
| |
| Reviewed by Alex Christensen. |
| |
| Remove version symbols related to old OS's we no longer support, |
| ensure that version symbols are defined for OS's we do support. |
| |
| * Configurations/Base.xcconfig: |
| * Configurations/DebugRelease.xcconfig: |
| |
| 2019-08-29 Keith Rollin <krollin@apple.com> |
| |
| Remove 32-bit macOS support |
| https://bugs.webkit.org/show_bug.cgi?id=201282 |
| <rdar://problem/54821667> |
| |
| Reviewed by Anders Carlsson. |
| |
| WebKit doesn’t support 32-bit Mac any more, so remove checks and code |
| for that platform. |
| |
| * wtf/Platform.h: |
| |
| 2019-08-29 Chris Dumez <cdumez@apple.com> |
| |
| CompletionHandler default constructor does not initialize `m_wasConstructedOnMainThread` |
| https://bugs.webkit.org/show_bug.cgi?id=201249 |
| |
| Reviewed by Joseph Pecoraro and Alex Christensen. |
| |
| * wtf/CompletionHandler.h: |
| (WTF::CompletionHandler<Out): |
| |
| 2019-08-29 Chris Dumez <cdumez@apple.com> |
| |
| Crash when mach_port_deallocate() returns KERN_INVALID_NAME |
| https://bugs.webkit.org/show_bug.cgi?id=201248 |
| <rdar://problem/54813890> |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/cocoa/MachSendRight.cpp: |
| (WTF::deallocateSendRightSafely): |
| |
| 2019-08-25 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| Regression(r248533) Assertion hit in isMainThread() for some clients using WTF because the main thread is not initialized |
| https://bugs.webkit.org/show_bug.cgi?id=201083 |
| <rdar://problem/54651993> |
| |
| Unreviewed build fox for Windows. |
| |
| * wtf/win/MainThreadWin.cpp: |
| (WTF::isMainThreadInitialized): Added. |
| |
| 2019-08-23 Jiewen Tan <jiewen_tan@apple.com> |
| |
| Unreviewed, build fix after r249059 |
| |
| * wtf/Platform.h: |
| Make HAVE_NEAR_FIELD available only on iOS 13+ and macOS Catalina+. |
| |
| 2019-08-23 Chris Dumez <cdumez@apple.com> |
| |
| Regression(r248533) Assertion hit in isMainThread() for some clients using WTF because the main thread is not initialized |
| https://bugs.webkit.org/show_bug.cgi?id=201083 |
| |
| Reviewed by Alex Christensen. |
| |
| An assertion is hit in isMainThread() for some clients using WTF because the main thread is not initialized, since r248533. |
| Clients can work around this by calling WTF::initializeMainThread() before using WTF but it seems unfortunate to force them |
| to do so. I propose we disable the assertion until the main thread is initialized. |
| |
| * wtf/MainThread.h: |
| * wtf/RefCounted.h: |
| (WTF::RefCountedBase::RefCountedBase): |
| (WTF::RefCountedBase::applyRefDerefThreadingCheck const): |
| * wtf/cocoa/MainThreadCocoa.mm: |
| (WTF::isMainThreadInitialized): |
| * wtf/generic/MainThreadGeneric.cpp: |
| (WTF::isMainThreadInitialized): |
| |
| 2019-08-21 Jiewen Tan <jiewen_tan@apple.com> |
| |
| [WebAuthn] Support NFC authenticators for iOS |
| https://bugs.webkit.org/show_bug.cgi?id=188624 |
| <rdar://problem/43354214> |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/Platform.h: |
| Add a feature flag for NearField. |
| |
| 2019-08-22 Andy Estes <aestes@apple.com> |
| |
| [watchOS] Disable Content Filtering in the simulator build |
| https://bugs.webkit.org/show_bug.cgi?id=201047 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/Platform.h: |
| |
| 2019-08-22 Keith Rollin <krollin@apple.com> |
| |
| Remove support for tvOS < 13.0 |
| https://bugs.webkit.org/show_bug.cgi?id=200963 |
| <rdar://problem/54541355> |
| |
| Reviewed by Tim Horton. |
| |
| Update conditionals that reference __TV_OS_VERSION_MIN_REQUIRED and |
| __TV_OS_VERSION_MAX_ALLOWED, assuming that they both have values >= |
| 130000. This means that expressions like "__TV_OS_VERSION_MIN_REQUIRED |
| < 130000" are always False and "__TV_OS_VERSION_MIN_REQUIRED >= |
| 130000" are always True. |
| |
| * wtf/FeatureDefines.h: |
| * wtf/Platform.h: |
| |
| 2019-08-22 Kate Cheney <katherine_cheney@apple.com> |
| |
| Logging in FileSystem::deleteFile should avoid logging unsurprising errors |
| https://bugs.webkit.org/show_bug.cgi?id=200831 |
| |
| Reviewed by Chris Dumez. |
| |
| To avoid overlogging unnecessary information, added a check to avoid logging |
| ENOENT (file not found) errors. |
| |
| * wtf/posix/FileSystemPOSIX.cpp: |
| (WTF::FileSystemImpl::deleteFile): |
| |
| 2019-08-22 Alex Christensen <achristensen@webkit.org> |
| |
| Disable legacy TLS versions and add a temporary default to re-enable it |
| https://bugs.webkit.org/show_bug.cgi?id=200945 |
| |
| Reviewed by Brady Eidson. |
| |
| * wtf/Platform.h: |
| |
| 2019-08-22 Darin Adler <darin@apple.com> |
| |
| Rename StringBuilder functions to avoid unclear "append uninitialized" terminology |
| https://bugs.webkit.org/show_bug.cgi?id=201020 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/text/StringBuilder.cpp: |
| (WTF::StringBuilder::allocateBuffer): Use std::memcpy instead of just memcpy. |
| (WTF::StringBuilder::extendBufferForAppending): Renamed. |
| (WTF::StringBuilder::extendBufferForAppendingWithoutOverflowCheck): Ditto. |
| (WTF::StringBuilder::extendBufferForAppending8): Ditto. |
| (WTF::StringBuilder::extendBufferForAppending16): Ditto. |
| (WTF::StringBuilder::extendBufferForAppendingSlowPath): Ditto. |
| (WTF::StringBuilder::appendCharacters): Updated for new names. |
| * wtf/text/StringBuilder.h: Updated for new names. |
| |
| 2019-08-17 Darin Adler <darin@apple.com> |
| |
| Use makeString and multi-argument StringBuilder::append instead of less efficient multiple appends |
| https://bugs.webkit.org/show_bug.cgi?id=200862 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * wtf/DateMath.cpp: |
| (WTF::makeRFC2822DateString): Use one append instead of multiple. |
| * wtf/JSONValues.cpp: |
| (WTF::appendDoubleQuotedString): Ditto. |
| |
| 2019-08-21 Mark Lam <mark.lam@apple.com> |
| |
| Fix infinite recursion in WTFCrashWithInfo() after r248930. |
| https://bugs.webkit.org/show_bug.cgi?id=201022 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/Assertions.cpp: |
| (WTFCrashWithInfoImpl): |
| (WTFCrashWithInfo): Deleted. |
| * wtf/Assertions.h: |
| (WTFCrashWithInfo): |
| |
| 2019-08-21 Chris Dumez <cdumez@apple.com> |
| |
| registrableDomainsToRemoveWebsiteDataFor() does not need to return a HashMap |
| https://bugs.webkit.org/show_bug.cgi?id=200985 |
| |
| Reviewed by John Wilander. |
| |
| Allow calling crossThreadCopy() on a std::pair<>. |
| |
| * wtf/CrossThreadCopier.h: |
| |
| 2019-08-21 Keith Rollin <krollin@apple.com> |
| |
| Remove support for watchOS < 6.0 |
| https://bugs.webkit.org/show_bug.cgi?id=200937 |
| <rdar://problem/54524009> |
| |
| Reviewed by Darin Adler. |
| |
| Update conditionals that reference __WATCH_OS_VERSION_MIN_REQUIRED and |
| __WATCH_OS_VERSION_MAX_ALLOWED, assuming that they both have values >= |
| 60000. This means that expressions like |
| "__WATCH_OS_VERSION_MIN_REQUIRED < 60000" are always False and |
| "__WATCH_OS_VERSION_MIN_REQUIRED >= 60000" are always True. |
| |
| * wtf/FeatureDefines.h: |
| * wtf/Platform.h: |
| |
| 2019-08-20 Mark Lam <mark.lam@apple.com> |
| |
| Make it easier to pass pointers to WTFCrashWithInfo. |
| https://bugs.webkit.org/show_bug.cgi?id=200960 |
| |
| Reviewed by Saam Barati and Yusuke Suzuki. |
| |
| Now, we don't have to explicitly cast them to uint64_ts first. The template |
| wrappers will take care of it for us. |
| |
| * wtf/Assertions.h: |
| (wtfCrashArg): |
| (WTFCrashWithInfo): |
| (WTF::isIntegralOrPointerType): |
| (WTF::isIntegralType): Deleted. |
| |
| 2019-08-20 Saam Barati <sbarati@apple.com> |
| |
| Unreviewed. Followup to r248903. It's not valid to remove |
| hasOverflowed() checks from appendCharacters. |
| |
| * wtf/text/StringBuilder.cpp: |
| (WTF::StringBuilder::appendCharacters): |
| |
| 2019-08-20 Darin Adler <darin@apple.com> |
| |
| Variadic StringBuilder::append does not handle upconverting from 8-bit to 16-bit correctly |
| https://bugs.webkit.org/show_bug.cgi?id=200921 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/text/StringBuilder.cpp: |
| (WTF::StringBuilder::appendUninitialized8): Renamed from |
| appendUninitializedWithoutOverflowCheckForLChar and moved the length overflow |
| check in here to cut down on unnecessary inlining and code size. |
| (WTF::StringBuilder::appendUninitialized16): Renamed from |
| appendUninitializedWithoutOverflowCheckForUChar, moved the length overflow check |
| in here, and moved the necessary upconversion code from the const UChar* overload of |
| the appendCharacters function. |
| (WTF::StringBuilder::appendCharacters): Removed unneeded "length has already overflowed" |
| check at the start of the function since the code in the function already handles that |
| case correctly. Refactored the const UChar* overload to use the new appendCharacters16 |
| function so it can share more code with StringBuilder::appendFromAdapters. |
| |
| * wtf/text/StringBuilder.h: |
| (WTF::StringBuilder::appendFromAdapters): Updated the function names for the |
| two appendUninitialized functions, which now do a bit more than before. Removed the |
| overflow check since the appendUninitialized8/16 functions now handle that; better to |
| not make the inlined code larger to handle a failure case. |
| |
| 2019-08-19 Sam Weinig <weinig@apple.com> |
| |
| [WHLSL] Make generated Metal code should be indented properly to ease reading while debugging |
| https://bugs.webkit.org/show_bug.cgi?id=200870 |
| |
| Reviewed by Saam Barati. |
| |
| Adds simple Indentation class to allow programatic indenting compatible with StringTypeAdapter |
| aware functions/class (e.g. makeString and StringBuilder). Templatized on the number of spaces |
| to indent. |
| |
| Also adds IndentationScope, which uses RAII to increment/decrement the indentation value. |
| |
| * wtf/text/StringConcatenate.h: |
| (WTF::Indentation::operator++): |
| (WTF::Indentation::operator--): |
| (WTF::IndentationScope::IndentationScope): |
| (WTF::IndentationScope::~IndentationScope): |
| |
| 2019-08-19 Per Arne Vollan <pvollan@apple.com> |
| |
| Unreviewed build fix for macOS 10.14 after r248832. |
| |
| * wtf/Platform.h: |
| |
| 2019-08-19 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Add makeUnique<T>, which ensures T is fast-allocated, actual static_assert part |
| https://bugs.webkit.org/show_bug.cgi?id=200620 |
| |
| Reviewed by Geoff Garen. |
| |
| This is the last part of the split patch from https://bugs.webkit.org/show_bug.cgi?id=200620. |
| Expose T::webkitFastMalloced type to perform static_assert in makeUnique. |
| makeUnique and makeUniqueRef start performing static_assert check to ensure that the type T is FastMalloced / IsoHeaped. |
| |
| * wtf/FastMalloc.h: |
| * wtf/StdLibExtras.h: |
| (WTF::makeUnique): |
| * wtf/UniqueRef.h: |
| (WTF::makeUniqueRef): |
| |
| 2019-08-18 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Add makeUnique<T>, which ensures T is fast-allocated, makeUnique / makeUniqueWithoutFastMallocCheck part |
| https://bugs.webkit.org/show_bug.cgi?id=200620 |
| |
| Reviewed by Geoff Garen. |
| |
| This patch is second part of bug 200620 patch. I split I split it into three pieces to make roll-out easy. |
| his part, we convert std::make_unique to WTF::makeUnique or WTF::makeUniqueWithoutFastMallocCheck. |
| In the third patch, we will add a static_assert to makeUnique, which ensures the given class T is FastMalloced or IsoHeaped. |
| |
| This patch adds `WTF::makeUnique<T>` and `WTF::makeUniqueWithoutFastMallocCheck<T>` as drop-in replacement for `std::make_unique<T>`. |
| `WTF::makeUnique<T>` has one additional `static_assert` check which ensures `T` FastMalloc / IsoHeap annotated. If it is not, the |
| compile error happens. |
| |
| In this patch, I tried using this everywhere in WebKit as much as possible. And we found that surprisingly many classes are missing |
| FastMalloc annotation and allocated from system-malloc. Using WTF::makeUnique enforces classes / structs to use FastMalloc. |
| |
| WTF::makeUniqueWithoutFastMallocCheck is offered for the corner cases. This is identical to std::make_unique. We use this for classes |
| that are offered by non-WebKit code base, like, zlib. This clear name can make us easily find this allocation is intentionally done |
| by system-malloc. |
| |
| We do not take the following direction, `WTF::makeUnique` automatically allocates FastMalloc even if FastMalloc annotation is not attached. |
| Since default deleter is performing `delete` and this is not what we want for FastMalloced ones, we need to return |
| std::unique_ptr<T, FastFreeDeleter> for T if T does not have FastMalloc-annotation. Automatically doing this sounds a bit dangerous. |
| |
| auto pointer = WTF::makeUnique<T>(); |
| // Super dangerous, but sometimes it is required... |
| auto* rawPointer = pointer.release(); |
| // Passing rawPointer to somewhere, and |
| delete rawPointer; |
| |
| The above one becomes invalid because pointer may start requiring non `delete` destroying function. |
| In the above case, the correct way becomes the following. |
| |
| rawPointer->~T(); |
| fastFree(rawPointer); |
| |
| This looks non-intuitive. And having two ways to destroying objects (`delete` or the above one) can be error-prone. |
| If we have WTF_MAKE_FAST_ALLOCATED for T, we do not need to care about this. "new" and "delete" operators are defined, and C++ way works. |
| The simple invariant, "makeUnique just does `new` internally. And `delete` operator does `delete`. default deleter is just doing `delete`", is kept. |
| |
| While we need to annotate many classes with WTF_MAKE_FAST_ALLOCATED, it is one time cost when we add a class. |
| And, by introducing `WTF::makeUnique<>`, we no longer forget adding this. |
| |
| makeUnique(...) |
| static_assert(T is FastMalloced or IsoHeaped); |
| return make_unique<T>(...) |
| |
| * benchmarks/LockFairnessTest.cpp: |
| * benchmarks/LockSpeedTest.cpp: |
| * wtf/ConcurrentVector.h: |
| * wtf/CrossThreadTaskHandler.cpp: |
| (WTF::CrossThreadTaskHandler::taskRunLoop): |
| * wtf/FilePrintStream.cpp: |
| (WTF::FilePrintStream::open): |
| * wtf/Function.h: |
| (WTF::Function<Out): |
| * wtf/HashTable.h: |
| (WTF::KeyTraits>::HashTable): |
| * wtf/MemoryPressureHandler.cpp: |
| (WTF::MemoryPressureHandler::setShouldUsePeriodicMemoryMonitor): |
| * wtf/StdLibExtras.h: |
| (WTF::makeUnique): |
| (WTF::makeUniqueWithoutFastMallocCheck): |
| * wtf/StreamBuffer.h: |
| (WTF::StreamBuffer::append): |
| * wtf/UniqueRef.h: |
| (WTF::makeUniqueRefWithoutFastMallocCheck): |
| (WTF::makeUniqueRef): |
| * wtf/glib/RunLoopGLib.cpp: |
| (WTF::RunLoop::dispatchAfter): |
| * wtf/text/StringView.cpp: |
| (WTF::StringView::GraphemeClusters::Iterator::Iterator): |
| |
| 2019-08-18 Per Arne Vollan <pvollan@apple.com> |
| |
| [Mac] Use the PID of the WebContent process when issuing local file read sandbox extensions |
| https://bugs.webkit.org/show_bug.cgi?id=200543 |
| <rdar://problem/49394015> |
| |
| Reviewed by Brent Fulgham. |
| |
| Add new SPI. |
| |
| * wtf/Platform.h: |
| * wtf/spi/darwin/SandboxSPI.h: |
| |
| 2019-08-17 Darin Adler <darin@apple.com> |
| |
| Tidy up checks to see if a character is in the Latin-1 range by using isLatin1 consistently |
| https://bugs.webkit.org/show_bug.cgi?id=200861 |
| |
| Reviewed by Ross Kirsling. |
| |
| * wtf/text/StringBuilder.cpp: |
| (WTF::StringBuilder::appendCharacters): Use isLatin1 and also call append rather than |
| calling appendCharacters, since it's the same thing, inlined, and removes the need for |
| a local variable. Also tweaked the idiom of the code using memcpy. |
| (WTF::StringBuilder::canShrink const): Reworded a comment. |
| |
| * wtf/text/StringBuilder.h: |
| (WTF::StringBuilder::append): Use isLatin1. |
| |
| * wtf/text/StringCommon.h: |
| (WTF::isLatin1): Moved this function template here so it can be used here. |
| (WTF::find): Use isLatin1. |
| |
| * wtf/text/StringImpl.h: |
| (WTF::isLatin1): Deleted. Moved to StringCommon.h. |
| (WTF::reverseFind): Use isLatin1. |
| (WTF::isSpaceOrNewline): Ditto. |
| |
| 2019-08-17 Eric Liang <ericliang@apple.com> |
| |
| Added HAVE_ACCESSIBILITY_BUNDLES_PATH |
| https://bugs.webkit.org/show_bug.cgi?id=200367 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/Platform.h: |
| |
| 2019-08-17 Sam Weinig <weinig@apple.com> |
| |
| Rename StringBuilder::flexibleAppend(...) to StringBuilder::append(...) |
| https://bugs.webkit.org/show_bug.cgi?id=200756 |
| |
| Reviewed by Darin Adler. |
| |
| Now that there are no remaining multi-parameter or behavior changing overloads |
| of StringBuilder::append(...), we can rename StringBuilder::flexibleAppend(...) |
| to StringBuilder::append(...). |
| |
| This change leaves the existing single parameter overloads StringBuilder::append(...) |
| for now, and since they have specify specific types, they will continue to be prefered |
| in overload resolution. Once we have concluded the variadic StringBuilder::append(...) |
| can provide the same performance as the single parameter variant, we can remove the |
| single parameter variant. |
| |
| * wtf/posix/FileSystemPOSIX.cpp: |
| (WTF::FileSystemImpl::pathByAppendingComponents): |
| * wtf/text/StringBuilder.h: |
| (WTF::StringBuilder::appendFromAdapters): |
| (WTF::StringBuilder::append): |
| (WTF::StringBuilder::flexibleAppendFromAdapters): Deleted. |
| (WTF::StringBuilder::flexibleAppend): Deleted. |
| Update for rename from StringBuilder::flexibleAppend(...) to StringBuilder::append(...). |
| |
| 2019-08-15 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Don't use union to store NodeRareData* and RenderObject* |
| https://bugs.webkit.org/show_bug.cgi?id=200744 |
| |
| Reviewed by Antti Koivisto. |
| |
| Moved the static assert which requires the type of the object to which the pointer type points |
| into setPointer so that we can use CompactPointerTuple<T*, U> as a member variable |
| with just a forward declaration of T. |
| |
| * wtf/CompactPointerTuple.h: |
| (WTF::CompactPointerTuple::setPointer): |
| |
| 2019-08-15 Zalan Bujtas <zalan@apple.com> |
| |
| [ContentChangeObserver] Keep track of all the visibility candidates. |
| https://bugs.webkit.org/show_bug.cgi?id=200777 |
| <rdar://problem/54356331> |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/WeakHashSet.h: |
| |
| 2019-08-15 Brent Fulgham <bfulgham@apple.com> |
| |
| [FTW] Enable CoreFoundation use if building for Apple target |
| https://bugs.webkit.org/show_bug.cgi?id=200799 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/PlatformFTW.cmake: Add missing files. |
| |
| 2019-08-15 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r248440. |
| https://bugs.webkit.org/show_bug.cgi?id=200772 |
| |
| Introduced regressions related to loading of local files. |
| (Requested by perarne on #webkit). |
| |
| Reverted changeset: |
| |
| "[Mac] Use the PID of the WebContent process when issuing |
| local file read sandbox extensions" |
| https://bugs.webkit.org/show_bug.cgi?id=200543 |
| https://trac.webkit.org/changeset/248440 |
| |
| 2019-08-14 Kate Cheney <katherine_cheney@apple.com> |
| |
| FileSystem::deleteFile should log error status (178347) |
| https://bugs.webkit.org/show_bug.cgi?id=178347 |
| |
| Reviewed by Brent Fulgham. |
| |
| I added logging to the FileSystem::deleteFile function so that the debugger will |
| be able to see the associated errno string and better understand the reason for an |
| unlink failure or will know if the fileSystemRepresentation call was not |
| successful (or returned null). |
| |
| * wtf/posix/FileSystemPOSIX.cpp: |
| (WTF::FileSystemImpl::deleteFile): |
| |
| 2019-08-14 Keith Rollin <krollin@apple.com> |
| |
| Remove support for macOS < 10.13 |
| https://bugs.webkit.org/show_bug.cgi?id=200694 |
| <rdar://problem/54278851> |
| |
| Reviewed by Youenn Fablet. |
| |
| Update conditionals that reference __MAC_OS_X_VERSION_MIN_REQUIRED and |
| __MAC_OS_X_VERSION_MAX_ALLOWED, assuming that they both have values >= |
| 101300. This means that expressions like |
| "__MAC_OS_X_VERSION_MIN_REQUIRED < 101300" are always False and |
| "__MAC_OS_X_VERSION_MIN_REQUIRED >= 101300" are always True. |
| |
| * wtf/FeatureDefines.h: |
| * wtf/Platform.h: |
| * wtf/mac/AppKitCompatibilityDeclarations.h: |
| * wtf/spi/darwin/SandboxSPI.h: |
| |
| 2019-08-14 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Less contended MetaAllocator |
| https://bugs.webkit.org/show_bug.cgi?id=200278 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/MetaAllocator.cpp: |
| (WTF::MetaAllocator::incrementPageOccupancy): |
| (WTF::MetaAllocator::decrementPageOccupancy): |
| * wtf/MetaAllocator.h: |
| |
| 2019-08-14 Samuel Groß <saelo@google.com> |
| |
| [JSCOnly] JSCOnly port doesn't build on macOS |
| https://bugs.webkit.org/show_bug.cgi?id=200667 |
| |
| spi/darwin/ProcessMemoryFootprint.h is required by jsc.cpp so we add it to the WTF_PUBLIC_HEADERS. |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/PlatformJSCOnly.cmake: |
| * wtf/PlatformMac.cmake: |
| |
| 2019-08-13 Sam Weinig <weinig@apple.com> |
| |
| Rename StringBuilder::append(UChar32) to StringBuilder::appendCharacter(UChar32) to avoid accidental change in behavior when replacing append with flexibleAppend |
| https://bugs.webkit.org/show_bug.cgi?id=200675 |
| |
| Reviewed by Darin Adler. |
| |
| When we switch StringBuilder::append(...) to be based on the StringConcatenate/makeString flexibleAppend |
| implementation, if we don't change anything, the behavior of StringBuilder::append(UChar32) will go from |
| appending a character to appending a stringified number. |
| |
| To work around this, we can rename StringBuilder::append(UChar32) to StringBuilder::appendCharacter(UChar32) |
| and update all the call sites. |
| |
| * wtf/text/StringBuilder.h: |
| (WTF::StringBuilder::appendCharacter): |
| Renamed StringBuilder::append(UChar32) to StringBuilder::appendCharacter(UChar32). |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::decodeFromFilename): |
| Update for new name. |
| |
| 2019-08-13 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, build fix for Windows |
| https://bugs.webkit.org/show_bug.cgi?id=200611 |
| |
| * wtf/win/GDIObject.h: |
| |
| 2019-08-12 Takashi Komori <Takashi.Komori@sony.com> |
| |
| [WTF] Thread::removeFromThreadGroup leaks weak pointers. |
| https://bugs.webkit.org/show_bug.cgi?id=199857 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Fix leaking of ThreadGroup's weak pointers. |
| |
| Tests: WTF.ThreadGroupRemove API tests |
| |
| * wtf/Threading.cpp: |
| (WTF::Thread::didExit): |
| (WTF::Thread::addToThreadGroup): |
| (WTF::Thread::removeFromThreadGroup): |
| (WTF::Thread::numberOfThreadGroups): |
| * wtf/Threading.h: |
| |
| 2019-08-12 Sam Weinig <weinig@apple.com> |
| |
| Replace multiparameter overloads of append() in StringBuilder as a first step toward standardizinging on the flexibleAppend() implementation |
| https://bugs.webkit.org/show_bug.cgi?id=200614 |
| |
| Reviewed by Darin Adler. |
| |
| Renames StringBuilder::append(const LChar*, unsigned), StringBuilder::append(const UChar*, unsigned) and |
| StringBuilder::append(const char*, unsigned) to StringBuilder::appendCharacters(...). |
| |
| Renames StringBuilder::append(const String& string, unsigned offset, unsigned length) to |
| StringBuilder::appendSubstring(...). |
| |
| * wtf/HexNumber.h: |
| (WTF::appendUnsignedAsHexFixedSize): |
| Add overload that explicitly takes a StringBuilder to work around rename from append to appendCharacters. |
| |
| * wtf/text/StringBuilder.cpp: |
| (WTF::StringBuilder::appendCharacters): |
| (WTF::StringBuilder::append): |
| * wtf/text/StringBuilder.h: |
| (WTF::StringBuilder::appendCharacters): |
| (WTF::StringBuilder::append): |
| (WTF::StringBuilder::appendSubstring): |
| (WTF::StringBuilder::appendLiteral): |
| (WTF::IntegerToStringConversionTrait<StringBuilder>::flush): |
| Update for renames. |
| |
| 2019-08-12 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF][JSC] Make JSC and WTF aggressively-fast-malloced |
| https://bugs.webkit.org/show_bug.cgi?id=200611 |
| |
| Reviewed by Saam Barati. |
| |
| WTF has many data structures, in particular, containers. And these containers can be allocated like `std::make_unique<Container>()`. |
| Without WTF_MAKE_FAST_ALLOCATED, this container itself is allocated from the system malloc. This patch attaches WTF_MAKE_FAST_ALLOCATED |
| more aggressively not to allocate them from the system malloc. And we add some `final` to containers and classes that would be never inherited. |
| |
| * wtf/Assertions.cpp: |
| * wtf/Atomics.h: |
| * wtf/AutodrainedPool.h: |
| * wtf/Bag.h: |
| (WTF::Bag::Bag): Deleted. |
| (WTF::Bag::~Bag): Deleted. |
| (WTF::Bag::clear): Deleted. |
| (WTF::Bag::add): Deleted. |
| (WTF::Bag::iterator::iterator): Deleted. |
| (WTF::Bag::iterator::operator! const): Deleted. |
| (WTF::Bag::iterator::operator* const): Deleted. |
| (WTF::Bag::iterator::operator++): Deleted. |
| (WTF::Bag::iterator::operator== const): Deleted. |
| (WTF::Bag::iterator::operator!= const): Deleted. |
| (WTF::Bag::begin): Deleted. |
| (WTF::Bag::begin const): Deleted. |
| (WTF::Bag::end const): Deleted. |
| (WTF::Bag::isEmpty const): Deleted. |
| (WTF::Bag::unwrappedHead const): Deleted. |
| * wtf/BitVector.h: |
| (WTF::BitVector::BitVector): Deleted. |
| (WTF::BitVector::~BitVector): Deleted. |
| (WTF::BitVector::operator=): Deleted. |
| (WTF::BitVector::size const): Deleted. |
| (WTF::BitVector::ensureSize): Deleted. |
| (WTF::BitVector::quickGet const): Deleted. |
| (WTF::BitVector::quickSet): Deleted. |
| (WTF::BitVector::quickClear): Deleted. |
| (WTF::BitVector::get const): Deleted. |
| (WTF::BitVector::contains const): Deleted. |
| (WTF::BitVector::set): Deleted. |
| (WTF::BitVector::add): Deleted. |
| (WTF::BitVector::ensureSizeAndSet): Deleted. |
| (WTF::BitVector::clear): Deleted. |
| (WTF::BitVector::remove): Deleted. |
| (WTF::BitVector::merge): Deleted. |
| (WTF::BitVector::filter): Deleted. |
| (WTF::BitVector::exclude): Deleted. |
| (WTF::BitVector::bitCount const): Deleted. |
| (WTF::BitVector::isEmpty const): Deleted. |
| (WTF::BitVector::findBit const): Deleted. |
| (WTF::BitVector::isEmptyValue const): Deleted. |
| (WTF::BitVector::isDeletedValue const): Deleted. |
| (WTF::BitVector::isEmptyOrDeletedValue const): Deleted. |
| (WTF::BitVector::operator== const): Deleted. |
| (WTF::BitVector::hash const): Deleted. |
| (WTF::BitVector::iterator::iterator): Deleted. |
| (WTF::BitVector::iterator::operator* const): Deleted. |
| (WTF::BitVector::iterator::operator++): Deleted. |
| (WTF::BitVector::iterator::isAtEnd const): Deleted. |
| (WTF::BitVector::iterator::operator== const): Deleted. |
| (WTF::BitVector::iterator::operator!= const): Deleted. |
| (WTF::BitVector::begin const): Deleted. |
| (WTF::BitVector::end const): Deleted. |
| (WTF::BitVector::bitsInPointer): Deleted. |
| (WTF::BitVector::maxInlineBits): Deleted. |
| (WTF::BitVector::byteCount): Deleted. |
| (WTF::BitVector::makeInlineBits): Deleted. |
| (WTF::BitVector::cleanseInlineBits): Deleted. |
| (WTF::BitVector::bitCount): Deleted. |
| (WTF::BitVector::findBitFast const): Deleted. |
| (WTF::BitVector::findBitSimple const): Deleted. |
| (WTF::BitVector::OutOfLineBits::numBits const): Deleted. |
| (WTF::BitVector::OutOfLineBits::numWords const): Deleted. |
| (WTF::BitVector::OutOfLineBits::bits): Deleted. |
| (WTF::BitVector::OutOfLineBits::bits const): Deleted. |
| (WTF::BitVector::OutOfLineBits::OutOfLineBits): Deleted. |
| (WTF::BitVector::isInline const): Deleted. |
| (WTF::BitVector::outOfLineBits const): Deleted. |
| (WTF::BitVector::outOfLineBits): Deleted. |
| (WTF::BitVector::bits): Deleted. |
| (WTF::BitVector::bits const): Deleted. |
| * wtf/Bitmap.h: |
| (WTF::Bitmap::size): Deleted. |
| (WTF::Bitmap::iterator::iterator): Deleted. |
| (WTF::Bitmap::iterator::operator* const): Deleted. |
| (WTF::Bitmap::iterator::operator++): Deleted. |
| (WTF::Bitmap::iterator::operator== const): Deleted. |
| (WTF::Bitmap::iterator::operator!= const): Deleted. |
| (WTF::Bitmap::begin const): Deleted. |
| (WTF::Bitmap::end const): Deleted. |
| * wtf/Box.h: |
| * wtf/BumpPointerAllocator.h: |
| * wtf/CPUTime.h: |
| * wtf/CheckedBoolean.h: |
| * wtf/CommaPrinter.h: |
| (WTF::CommaPrinter::CommaPrinter): Deleted. |
| (WTF::CommaPrinter::dump const): Deleted. |
| (WTF::CommaPrinter::didPrint const): Deleted. |
| * wtf/CompactPointerTuple.h: |
| (WTF::CompactPointerTuple::encodeType): Deleted. |
| (WTF::CompactPointerTuple::decodeType): Deleted. |
| (WTF::CompactPointerTuple::CompactPointerTuple): Deleted. |
| (WTF::CompactPointerTuple::pointer const): Deleted. |
| (WTF::CompactPointerTuple::setPointer): Deleted. |
| (WTF::CompactPointerTuple::type const): Deleted. |
| (WTF::CompactPointerTuple::setType): Deleted. |
| * wtf/CompilationThread.h: |
| (WTF::CompilationScope::CompilationScope): Deleted. |
| (WTF::CompilationScope::~CompilationScope): Deleted. |
| (WTF::CompilationScope::leaveEarly): Deleted. |
| * wtf/CompletionHandler.h: |
| (WTF::CompletionHandler<Out): |
| (WTF::Detail::CallableWrapper<CompletionHandler<Out): |
| (WTF::CompletionHandlerCallingScope::CompletionHandlerCallingScope): Deleted. |
| (WTF::CompletionHandlerCallingScope::~CompletionHandlerCallingScope): Deleted. |
| (WTF::CompletionHandlerCallingScope::CompletionHandler<void): Deleted. |
| * wtf/ConcurrentBuffer.h: |
| (WTF::ConcurrentBuffer::ConcurrentBuffer): Deleted. |
| (WTF::ConcurrentBuffer::~ConcurrentBuffer): Deleted. |
| (WTF::ConcurrentBuffer::growExact): Deleted. |
| (WTF::ConcurrentBuffer::grow): Deleted. |
| (WTF::ConcurrentBuffer::array const): Deleted. |
| (WTF::ConcurrentBuffer::operator[]): Deleted. |
| (WTF::ConcurrentBuffer::operator[] const): Deleted. |
| (WTF::ConcurrentBuffer::createArray): Deleted. |
| * wtf/ConcurrentPtrHashSet.h: |
| (WTF::ConcurrentPtrHashSet::contains): Deleted. |
| (WTF::ConcurrentPtrHashSet::add): Deleted. |
| (WTF::ConcurrentPtrHashSet::size const): Deleted. |
| (WTF::ConcurrentPtrHashSet::Table::maxLoad const): Deleted. |
| (WTF::ConcurrentPtrHashSet::hash): Deleted. |
| (WTF::ConcurrentPtrHashSet::cast): Deleted. |
| (WTF::ConcurrentPtrHashSet::containsImpl const): Deleted. |
| (WTF::ConcurrentPtrHashSet::addImpl): Deleted. |
| * wtf/ConcurrentVector.h: |
| (WTF::ConcurrentVector::~ConcurrentVector): Deleted. |
| (WTF::ConcurrentVector::size const): Deleted. |
| (WTF::ConcurrentVector::isEmpty const): Deleted. |
| (WTF::ConcurrentVector::at): Deleted. |
| (WTF::ConcurrentVector::at const): Deleted. |
| (WTF::ConcurrentVector::operator[]): Deleted. |
| (WTF::ConcurrentVector::operator[] const): Deleted. |
| (WTF::ConcurrentVector::first): Deleted. |
| (WTF::ConcurrentVector::first const): Deleted. |
| (WTF::ConcurrentVector::last): Deleted. |
| (WTF::ConcurrentVector::last const): Deleted. |
| (WTF::ConcurrentVector::takeLast): Deleted. |
| (WTF::ConcurrentVector::append): Deleted. |
| (WTF::ConcurrentVector::alloc): Deleted. |
| (WTF::ConcurrentVector::removeLast): Deleted. |
| (WTF::ConcurrentVector::grow): Deleted. |
| (WTF::ConcurrentVector::begin): Deleted. |
| (WTF::ConcurrentVector::end): Deleted. |
| (WTF::ConcurrentVector::segmentExistsFor): Deleted. |
| (WTF::ConcurrentVector::segmentFor): Deleted. |
| (WTF::ConcurrentVector::subscriptFor): Deleted. |
| (WTF::ConcurrentVector::ensureSegmentsFor): Deleted. |
| (WTF::ConcurrentVector::ensureSegment): Deleted. |
| (WTF::ConcurrentVector::allocateSegment): Deleted. |
| * wtf/Condition.h: |
| (WTF::Condition::waitUntil): Deleted. |
| (WTF::Condition::waitFor): Deleted. |
| (WTF::Condition::wait): Deleted. |
| (WTF::Condition::notifyOne): Deleted. |
| (WTF::Condition::notifyAll): Deleted. |
| * wtf/CountingLock.h: |
| (WTF::CountingLock::LockHooks::lockHook): Deleted. |
| (WTF::CountingLock::LockHooks::unlockHook): Deleted. |
| (WTF::CountingLock::LockHooks::parkHook): Deleted. |
| (WTF::CountingLock::LockHooks::handoffHook): Deleted. |
| (WTF::CountingLock::tryLock): Deleted. |
| (WTF::CountingLock::lock): Deleted. |
| (WTF::CountingLock::unlock): Deleted. |
| (WTF::CountingLock::isHeld const): Deleted. |
| (WTF::CountingLock::isLocked const): Deleted. |
| (WTF::CountingLock::Count::operator bool const): Deleted. |
| (WTF::CountingLock::Count::operator== const): Deleted. |
| (WTF::CountingLock::Count::operator!= const): Deleted. |
| (WTF::CountingLock::tryOptimisticRead): Deleted. |
| (WTF::CountingLock::validate): Deleted. |
| (WTF::CountingLock::doOptimizedRead): Deleted. |
| (WTF::CountingLock::tryOptimisticFencelessRead): Deleted. |
| (WTF::CountingLock::fencelessValidate): Deleted. |
| (WTF::CountingLock::doOptimizedFencelessRead): Deleted. |
| (WTF::CountingLock::getCount): Deleted. |
| * wtf/CrossThreadQueue.h: |
| * wtf/CrossThreadTask.h: |
| * wtf/CryptographicallyRandomNumber.cpp: |
| * wtf/DataMutex.h: |
| * wtf/DateMath.h: |
| * wtf/Deque.h: |
| (WTF::Deque::size const): Deleted. |
| (WTF::Deque::isEmpty const): Deleted. |
| (WTF::Deque::begin): Deleted. |
| (WTF::Deque::end): Deleted. |
| (WTF::Deque::begin const): Deleted. |
| (WTF::Deque::end const): Deleted. |
| (WTF::Deque::rbegin): Deleted. |
| (WTF::Deque::rend): Deleted. |
| (WTF::Deque::rbegin const): Deleted. |
| (WTF::Deque::rend const): Deleted. |
| (WTF::Deque::first): Deleted. |
| (WTF::Deque::first const): Deleted. |
| (WTF::Deque::last): Deleted. |
| (WTF::Deque::last const): Deleted. |
| (WTF::Deque::append): Deleted. |
| * wtf/Dominators.h: |
| * wtf/DoublyLinkedList.h: |
| * wtf/Expected.h: |
| * wtf/FastBitVector.h: |
| * wtf/FileMetadata.h: |
| * wtf/FileSystem.h: |
| * wtf/GraphNodeWorklist.h: |
| * wtf/GregorianDateTime.h: |
| (WTF::GregorianDateTime::GregorianDateTime): Deleted. |
| (WTF::GregorianDateTime::year const): Deleted. |
| (WTF::GregorianDateTime::month const): Deleted. |
| (WTF::GregorianDateTime::yearDay const): Deleted. |
| (WTF::GregorianDateTime::monthDay const): Deleted. |
| (WTF::GregorianDateTime::weekDay const): Deleted. |
| (WTF::GregorianDateTime::hour const): Deleted. |
| (WTF::GregorianDateTime::minute const): Deleted. |
| (WTF::GregorianDateTime::second const): Deleted. |
| (WTF::GregorianDateTime::utcOffset const): Deleted. |
| (WTF::GregorianDateTime::isDST const): Deleted. |
| (WTF::GregorianDateTime::setYear): Deleted. |
| (WTF::GregorianDateTime::setMonth): Deleted. |
| (WTF::GregorianDateTime::setYearDay): Deleted. |
| (WTF::GregorianDateTime::setMonthDay): Deleted. |
| (WTF::GregorianDateTime::setWeekDay): Deleted. |
| (WTF::GregorianDateTime::setHour): Deleted. |
| (WTF::GregorianDateTime::setMinute): Deleted. |
| (WTF::GregorianDateTime::setSecond): Deleted. |
| (WTF::GregorianDateTime::setUtcOffset): Deleted. |
| (WTF::GregorianDateTime::setIsDST): Deleted. |
| (WTF::GregorianDateTime::operator tm const): Deleted. |
| (WTF::GregorianDateTime::copyFrom): Deleted. |
| * wtf/HashTable.h: |
| * wtf/Hasher.h: |
| * wtf/HexNumber.h: |
| * wtf/Indenter.h: |
| * wtf/IndexMap.h: |
| * wtf/IndexSet.h: |
| * wtf/IndexSparseSet.h: |
| * wtf/IndexedContainerIterator.h: |
| * wtf/Insertion.h: |
| * wtf/IteratorAdaptors.h: |
| * wtf/IteratorRange.h: |
| * wtf/KeyValuePair.h: |
| * wtf/ListHashSet.h: |
| (WTF::ListHashSet::begin): Deleted. |
| (WTF::ListHashSet::end): Deleted. |
| (WTF::ListHashSet::begin const): Deleted. |
| (WTF::ListHashSet::end const): Deleted. |
| (WTF::ListHashSet::random): Deleted. |
| (WTF::ListHashSet::random const): Deleted. |
| (WTF::ListHashSet::rbegin): Deleted. |
| (WTF::ListHashSet::rend): Deleted. |
| (WTF::ListHashSet::rbegin const): Deleted. |
| (WTF::ListHashSet::rend const): Deleted. |
| * wtf/Liveness.h: |
| * wtf/LocklessBag.h: |
| (WTF::LocklessBag::LocklessBag): Deleted. |
| (WTF::LocklessBag::add): Deleted. |
| (WTF::LocklessBag::iterate): Deleted. |
| (WTF::LocklessBag::consumeAll): Deleted. |
| (WTF::LocklessBag::consumeAllWithNode): Deleted. |
| (WTF::LocklessBag::~LocklessBag): Deleted. |
| * wtf/LoggingHashID.h: |
| * wtf/MD5.h: |
| * wtf/MachSendRight.h: |
| * wtf/MainThreadData.h: |
| * wtf/Markable.h: |
| * wtf/MediaTime.h: |
| * wtf/MemoryPressureHandler.h: |
| * wtf/MessageQueue.h: |
| (WTF::MessageQueue::MessageQueue): Deleted. |
| * wtf/MetaAllocator.h: |
| * wtf/MonotonicTime.h: |
| (WTF::MonotonicTime::MonotonicTime): Deleted. |
| (WTF::MonotonicTime::fromRawSeconds): Deleted. |
| (WTF::MonotonicTime::infinity): Deleted. |
| (WTF::MonotonicTime::nan): Deleted. |
| (WTF::MonotonicTime::secondsSinceEpoch const): Deleted. |
| (WTF::MonotonicTime::approximateMonotonicTime const): Deleted. |
| (WTF::MonotonicTime::operator bool const): Deleted. |
| (WTF::MonotonicTime::operator+ const): Deleted. |
| (WTF::MonotonicTime::operator- const): Deleted. |
| (WTF::MonotonicTime::operator% const): Deleted. |
| (WTF::MonotonicTime::operator+=): Deleted. |
| (WTF::MonotonicTime::operator-=): Deleted. |
| (WTF::MonotonicTime::operator== const): Deleted. |
| (WTF::MonotonicTime::operator!= const): Deleted. |
| (WTF::MonotonicTime::operator< const): Deleted. |
| (WTF::MonotonicTime::operator> const): Deleted. |
| (WTF::MonotonicTime::operator<= const): Deleted. |
| (WTF::MonotonicTime::operator>= const): Deleted. |
| (WTF::MonotonicTime::isolatedCopy const): Deleted. |
| (WTF::MonotonicTime::encode const): Deleted. |
| (WTF::MonotonicTime::decode): Deleted. |
| * wtf/NaturalLoops.h: |
| * wtf/NoLock.h: |
| * wtf/OSAllocator.h: |
| * wtf/OptionSet.h: |
| * wtf/Optional.h: |
| * wtf/OrderMaker.h: |
| * wtf/Packed.h: |
| (WTF::alignof): |
| * wtf/PackedIntVector.h: |
| (WTF::PackedIntVector::PackedIntVector): Deleted. |
| (WTF::PackedIntVector::operator=): Deleted. |
| (WTF::PackedIntVector::size const): Deleted. |
| (WTF::PackedIntVector::ensureSize): Deleted. |
| (WTF::PackedIntVector::resize): Deleted. |
| (WTF::PackedIntVector::clearAll): Deleted. |
| (WTF::PackedIntVector::get const): Deleted. |
| (WTF::PackedIntVector::set): Deleted. |
| (WTF::PackedIntVector::mask): Deleted. |
| * wtf/PageBlock.h: |
| * wtf/ParallelJobsOpenMP.h: |
| * wtf/ParkingLot.h: |
| * wtf/PriorityQueue.h: |
| (WTF::PriorityQueue::size const): Deleted. |
| (WTF::PriorityQueue::isEmpty const): Deleted. |
| (WTF::PriorityQueue::enqueue): Deleted. |
| (WTF::PriorityQueue::peek const): Deleted. |
| (WTF::PriorityQueue::dequeue): Deleted. |
| (WTF::PriorityQueue::decreaseKey): Deleted. |
| (WTF::PriorityQueue::increaseKey): Deleted. |
| (WTF::PriorityQueue::begin const): Deleted. |
| (WTF::PriorityQueue::end const): Deleted. |
| (WTF::PriorityQueue::isValidHeap const): Deleted. |
| (WTF::PriorityQueue::parentOf): Deleted. |
| (WTF::PriorityQueue::leftChildOf): Deleted. |
| (WTF::PriorityQueue::rightChildOf): Deleted. |
| (WTF::PriorityQueue::siftUp): Deleted. |
| (WTF::PriorityQueue::siftDown): Deleted. |
| * wtf/RandomDevice.h: |
| * wtf/Range.h: |
| * wtf/RangeSet.h: |
| (WTF::RangeSet::RangeSet): Deleted. |
| (WTF::RangeSet::~RangeSet): Deleted. |
| (WTF::RangeSet::add): Deleted. |
| (WTF::RangeSet::contains const): Deleted. |
| (WTF::RangeSet::overlaps const): Deleted. |
| (WTF::RangeSet::clear): Deleted. |
| (WTF::RangeSet::dump const): Deleted. |
| (WTF::RangeSet::dumpRaw const): Deleted. |
| (WTF::RangeSet::begin const): Deleted. |
| (WTF::RangeSet::end const): Deleted. |
| (WTF::RangeSet::addAll): Deleted. |
| (WTF::RangeSet::compact): Deleted. |
| (WTF::RangeSet::overlapsNonEmpty): Deleted. |
| (WTF::RangeSet::subsumesNonEmpty): Deleted. |
| (WTF::RangeSet::findRange const): Deleted. |
| * wtf/RecursableLambda.h: |
| * wtf/RedBlackTree.h: |
| (WTF::RedBlackTree::Node::successor const): Deleted. |
| (WTF::RedBlackTree::Node::predecessor const): Deleted. |
| (WTF::RedBlackTree::Node::successor): Deleted. |
| (WTF::RedBlackTree::Node::predecessor): Deleted. |
| (WTF::RedBlackTree::Node::reset): Deleted. |
| (WTF::RedBlackTree::Node::parent const): Deleted. |
| (WTF::RedBlackTree::Node::setParent): Deleted. |
| (WTF::RedBlackTree::Node::left const): Deleted. |
| (WTF::RedBlackTree::Node::setLeft): Deleted. |
| (WTF::RedBlackTree::Node::right const): Deleted. |
| (WTF::RedBlackTree::Node::setRight): Deleted. |
| (WTF::RedBlackTree::Node::color const): Deleted. |
| (WTF::RedBlackTree::Node::setColor): Deleted. |
| (WTF::RedBlackTree::RedBlackTree): Deleted. |
| (WTF::RedBlackTree::insert): Deleted. |
| (WTF::RedBlackTree::remove): Deleted. |
| (WTF::RedBlackTree::findExact const): Deleted. |
| (WTF::RedBlackTree::findLeastGreaterThanOrEqual const): Deleted. |
| (WTF::RedBlackTree::findGreatestLessThanOrEqual const): Deleted. |
| (WTF::RedBlackTree::first const): Deleted. |
| (WTF::RedBlackTree::last const): Deleted. |
| (WTF::RedBlackTree::size): Deleted. |
| (WTF::RedBlackTree::isEmpty): Deleted. |
| (WTF::RedBlackTree::treeMinimum): Deleted. |
| (WTF::RedBlackTree::treeMaximum): Deleted. |
| (WTF::RedBlackTree::treeInsert): Deleted. |
| (WTF::RedBlackTree::leftRotate): Deleted. |
| (WTF::RedBlackTree::rightRotate): Deleted. |
| (WTF::RedBlackTree::removeFixup): Deleted. |
| * wtf/ResourceUsage.h: |
| * wtf/RunLoop.cpp: |
| * wtf/RunLoopTimer.h: |
| * wtf/SHA1.h: |
| * wtf/Seconds.h: |
| (WTF::Seconds::Seconds): Deleted. |
| (WTF::Seconds::value const): Deleted. |
| (WTF::Seconds::minutes const): Deleted. |
| (WTF::Seconds::seconds const): Deleted. |
| (WTF::Seconds::milliseconds const): Deleted. |
| (WTF::Seconds::microseconds const): Deleted. |
| (WTF::Seconds::nanoseconds const): Deleted. |
| (WTF::Seconds::minutesAs const): Deleted. |
| (WTF::Seconds::secondsAs const): Deleted. |
| (WTF::Seconds::millisecondsAs const): Deleted. |
| (WTF::Seconds::microsecondsAs const): Deleted. |
| (WTF::Seconds::nanosecondsAs const): Deleted. |
| (WTF::Seconds::fromMinutes): Deleted. |
| (WTF::Seconds::fromHours): Deleted. |
| (WTF::Seconds::fromMilliseconds): Deleted. |
| (WTF::Seconds::fromMicroseconds): Deleted. |
| (WTF::Seconds::fromNanoseconds): Deleted. |
| (WTF::Seconds::infinity): Deleted. |
| (WTF::Seconds::nan): Deleted. |
| (WTF::Seconds::operator bool const): Deleted. |
| (WTF::Seconds::operator+ const): Deleted. |
| (WTF::Seconds::operator- const): Deleted. |
| (WTF::Seconds::operator* const): Deleted. |
| (WTF::Seconds::operator/ const): Deleted. |
| (WTF::Seconds::operator% const): Deleted. |
| (WTF::Seconds::operator+=): Deleted. |
| (WTF::Seconds::operator-=): Deleted. |
| (WTF::Seconds::operator*=): Deleted. |
| (WTF::Seconds::operator/=): Deleted. |
| (WTF::Seconds::operator%=): Deleted. |
| (WTF::Seconds::operator== const): Deleted. |
| (WTF::Seconds::operator!= const): Deleted. |
| (WTF::Seconds::operator< const): Deleted. |
| (WTF::Seconds::operator> const): Deleted. |
| (WTF::Seconds::operator<= const): Deleted. |
| (WTF::Seconds::operator>= const): Deleted. |
| (WTF::Seconds::isolatedCopy const): Deleted. |
| (WTF::Seconds::encode const): Deleted. |
| (WTF::Seconds::decode): Deleted. |
| * wtf/SegmentedVector.h: |
| (WTF::SegmentedVector::~SegmentedVector): Deleted. |
| (WTF::SegmentedVector::size const): Deleted. |
| (WTF::SegmentedVector::isEmpty const): Deleted. |
| (WTF::SegmentedVector::at): Deleted. |
| (WTF::SegmentedVector::at const): Deleted. |
| (WTF::SegmentedVector::operator[]): Deleted. |
| (WTF::SegmentedVector::operator[] const): Deleted. |
| (WTF::SegmentedVector::first): Deleted. |
| (WTF::SegmentedVector::first const): Deleted. |
| (WTF::SegmentedVector::last): Deleted. |
| (WTF::SegmentedVector::last const): Deleted. |
| (WTF::SegmentedVector::takeLast): Deleted. |
| (WTF::SegmentedVector::append): Deleted. |
| (WTF::SegmentedVector::alloc): Deleted. |
| (WTF::SegmentedVector::removeLast): Deleted. |
| (WTF::SegmentedVector::grow): Deleted. |
| (WTF::SegmentedVector::clear): Deleted. |
| (WTF::SegmentedVector::begin): Deleted. |
| (WTF::SegmentedVector::end): Deleted. |
| (WTF::SegmentedVector::shrinkToFit): Deleted. |
| (WTF::SegmentedVector::deleteAllSegments): Deleted. |
| (WTF::SegmentedVector::segmentExistsFor): Deleted. |
| (WTF::SegmentedVector::segmentFor): Deleted. |
| (WTF::SegmentedVector::subscriptFor): Deleted. |
| (WTF::SegmentedVector::ensureSegmentsFor): Deleted. |
| (WTF::SegmentedVector::ensureSegment): Deleted. |
| (WTF::SegmentedVector::allocateSegment): Deleted. |
| * wtf/SetForScope.h: |
| * wtf/SingleRootGraph.h: |
| * wtf/SinglyLinkedList.h: |
| * wtf/SmallPtrSet.h: |
| * wtf/SpanningTree.h: |
| * wtf/Spectrum.h: |
| * wtf/StackBounds.h: |
| * wtf/StackShot.h: |
| * wtf/StackShotProfiler.h: |
| * wtf/StackStats.h: |
| * wtf/StackTrace.h: |
| * wtf/StreamBuffer.h: |
| * wtf/SynchronizedFixedQueue.h: |
| (WTF::SynchronizedFixedQueue::create): Deleted. |
| (WTF::SynchronizedFixedQueue::open): Deleted. |
| (WTF::SynchronizedFixedQueue::close): Deleted. |
| (WTF::SynchronizedFixedQueue::isOpen): Deleted. |
| (WTF::SynchronizedFixedQueue::enqueue): Deleted. |
| (WTF::SynchronizedFixedQueue::dequeue): Deleted. |
| (WTF::SynchronizedFixedQueue::SynchronizedFixedQueue): Deleted. |
| * wtf/SystemTracing.h: |
| * wtf/ThreadGroup.h: |
| (WTF::ThreadGroup::create): Deleted. |
| (WTF::ThreadGroup::threads const): Deleted. |
| (WTF::ThreadGroup::getLock): Deleted. |
| (WTF::ThreadGroup::weakFromThis): Deleted. |
| * wtf/ThreadSpecific.h: |
| * wtf/ThreadingPrimitives.h: |
| (WTF::Mutex::impl): Deleted. |
| * wtf/TimeWithDynamicClockType.h: |
| (WTF::TimeWithDynamicClockType::TimeWithDynamicClockType): Deleted. |
| (WTF::TimeWithDynamicClockType::fromRawSeconds): Deleted. |
| (WTF::TimeWithDynamicClockType::secondsSinceEpoch const): Deleted. |
| (WTF::TimeWithDynamicClockType::clockType const): Deleted. |
| (WTF::TimeWithDynamicClockType::withSameClockAndRawSeconds const): Deleted. |
| (WTF::TimeWithDynamicClockType::operator bool const): Deleted. |
| (WTF::TimeWithDynamicClockType::operator+ const): Deleted. |
| (WTF::TimeWithDynamicClockType::operator- const): Deleted. |
| (WTF::TimeWithDynamicClockType::operator+=): Deleted. |
| (WTF::TimeWithDynamicClockType::operator-=): Deleted. |
| (WTF::TimeWithDynamicClockType::operator== const): Deleted. |
| (WTF::TimeWithDynamicClockType::operator!= const): Deleted. |
| * wtf/TimingScope.h: |
| * wtf/TinyLRUCache.h: |
| * wtf/TinyPtrSet.h: |
| * wtf/URLParser.cpp: |
| * wtf/URLParser.h: |
| * wtf/Unexpected.h: |
| * wtf/Variant.h: |
| * wtf/WTFSemaphore.h: |
| (WTF::Semaphore::Semaphore): Deleted. |
| (WTF::Semaphore::signal): Deleted. |
| (WTF::Semaphore::waitUntil): Deleted. |
| (WTF::Semaphore::waitFor): Deleted. |
| (WTF::Semaphore::wait): Deleted. |
| * wtf/WallTime.h: |
| (WTF::WallTime::WallTime): Deleted. |
| (WTF::WallTime::fromRawSeconds): Deleted. |
| (WTF::WallTime::infinity): Deleted. |
| (WTF::WallTime::nan): Deleted. |
| (WTF::WallTime::secondsSinceEpoch const): Deleted. |
| (WTF::WallTime::approximateWallTime const): Deleted. |
| (WTF::WallTime::operator bool const): Deleted. |
| (WTF::WallTime::operator+ const): Deleted. |
| (WTF::WallTime::operator- const): Deleted. |
| (WTF::WallTime::operator+=): Deleted. |
| (WTF::WallTime::operator-=): Deleted. |
| (WTF::WallTime::operator== const): Deleted. |
| (WTF::WallTime::operator!= const): Deleted. |
| (WTF::WallTime::operator< const): Deleted. |
| (WTF::WallTime::operator> const): Deleted. |
| (WTF::WallTime::operator<= const): Deleted. |
| (WTF::WallTime::operator>= const): Deleted. |
| (WTF::WallTime::isolatedCopy const): Deleted. |
| * wtf/WeakHashSet.h: |
| (WTF::WeakHashSet::WeakHashSetConstIterator::WeakHashSetConstIterator): Deleted. |
| (WTF::WeakHashSet::WeakHashSetConstIterator::get const): Deleted. |
| (WTF::WeakHashSet::WeakHashSetConstIterator::operator* const): Deleted. |
| (WTF::WeakHashSet::WeakHashSetConstIterator::operator-> const): Deleted. |
| (WTF::WeakHashSet::WeakHashSetConstIterator::operator++): Deleted. |
| (WTF::WeakHashSet::WeakHashSetConstIterator::skipEmptyBuckets): Deleted. |
| (WTF::WeakHashSet::WeakHashSetConstIterator::operator== const): Deleted. |
| (WTF::WeakHashSet::WeakHashSetConstIterator::operator!= const): Deleted. |
| (WTF::WeakHashSet::WeakHashSet): Deleted. |
| (WTF::WeakHashSet::begin const): Deleted. |
| (WTF::WeakHashSet::end const): Deleted. |
| (WTF::WeakHashSet::add): Deleted. |
| (WTF::WeakHashSet::remove): Deleted. |
| (WTF::WeakHashSet::contains const): Deleted. |
| (WTF::WeakHashSet::capacity const): Deleted. |
| (WTF::WeakHashSet::computesEmpty const): Deleted. |
| (WTF::WeakHashSet::hasNullReferences const): Deleted. |
| (WTF::WeakHashSet::computeSize const): Deleted. |
| (WTF::WeakHashSet::checkConsistency const): Deleted. |
| * wtf/WeakRandom.h: |
| (WTF::WeakRandom::WeakRandom): Deleted. |
| (WTF::WeakRandom::setSeed): Deleted. |
| (WTF::WeakRandom::seed const): Deleted. |
| (WTF::WeakRandom::get): Deleted. |
| (WTF::WeakRandom::getUint32): Deleted. |
| (WTF::WeakRandom::lowOffset): Deleted. |
| (WTF::WeakRandom::highOffset): Deleted. |
| (WTF::WeakRandom::nextState): Deleted. |
| (WTF::WeakRandom::generate): Deleted. |
| (WTF::WeakRandom::advance): Deleted. |
| * wtf/WordLock.h: |
| (WTF::WordLock::lock): Deleted. |
| (WTF::WordLock::unlock): Deleted. |
| (WTF::WordLock::isHeld const): Deleted. |
| (WTF::WordLock::isLocked const): Deleted. |
| (WTF::WordLock::isFullyReset const): Deleted. |
| * wtf/generic/MainThreadGeneric.cpp: |
| * wtf/glib/GMutexLocker.h: |
| * wtf/linux/CurrentProcessMemoryStatus.h: |
| * wtf/posix/ThreadingPOSIX.cpp: |
| (WTF::Semaphore::Semaphore): Deleted. |
| (WTF::Semaphore::~Semaphore): Deleted. |
| (WTF::Semaphore::wait): Deleted. |
| (WTF::Semaphore::post): Deleted. |
| * wtf/text/ASCIILiteral.h: |
| (WTF::ASCIILiteral::operator const char* const): Deleted. |
| (WTF::ASCIILiteral::fromLiteralUnsafe): Deleted. |
| (WTF::ASCIILiteral::null): Deleted. |
| (WTF::ASCIILiteral::characters const): Deleted. |
| (WTF::ASCIILiteral::ASCIILiteral): Deleted. |
| * wtf/text/AtomString.h: |
| (WTF::AtomString::operator=): Deleted. |
| (WTF::AtomString::isHashTableDeletedValue const): Deleted. |
| (WTF::AtomString::existingHash const): Deleted. |
| (WTF::AtomString::operator const String& const): Deleted. |
| (WTF::AtomString::string const): Deleted. |
| (WTF::AtomString::impl const): Deleted. |
| (WTF::AtomString::is8Bit const): Deleted. |
| (WTF::AtomString::characters8 const): Deleted. |
| (WTF::AtomString::characters16 const): Deleted. |
| (WTF::AtomString::length const): Deleted. |
| (WTF::AtomString::operator[] const): Deleted. |
| (WTF::AtomString::contains const): Deleted. |
| (WTF::AtomString::containsIgnoringASCIICase const): Deleted. |
| (WTF::AtomString::find const): Deleted. |
| (WTF::AtomString::findIgnoringASCIICase const): Deleted. |
| (WTF::AtomString::startsWith const): Deleted. |
| (WTF::AtomString::startsWithIgnoringASCIICase const): Deleted. |
| (WTF::AtomString::endsWith const): Deleted. |
| (WTF::AtomString::endsWithIgnoringASCIICase const): Deleted. |
| (WTF::AtomString::toInt const): Deleted. |
| (WTF::AtomString::toDouble const): Deleted. |
| (WTF::AtomString::toFloat const): Deleted. |
| (WTF::AtomString::percentage const): Deleted. |
| (WTF::AtomString::isNull const): Deleted. |
| (WTF::AtomString::isEmpty const): Deleted. |
| (WTF::AtomString::operator NSString * const): Deleted. |
| * wtf/text/AtomStringImpl.h: |
| (WTF::AtomStringImpl::lookUp): Deleted. |
| (WTF::AtomStringImpl::add): Deleted. |
| (WTF::AtomStringImpl::addWithStringTableProvider): Deleted. |
| * wtf/text/CString.h: |
| (WTF::CStringBuffer::data): Deleted. |
| (WTF::CStringBuffer::length const): Deleted. |
| (WTF::CStringBuffer::CStringBuffer): Deleted. |
| (WTF::CStringBuffer::mutableData): Deleted. |
| (WTF::CString::CString): Deleted. |
| (WTF::CString::data const): Deleted. |
| (WTF::CString::length const): Deleted. |
| (WTF::CString::isNull const): Deleted. |
| (WTF::CString::buffer const): Deleted. |
| (WTF::CString::isHashTableDeletedValue const): Deleted. |
| * wtf/text/ExternalStringImpl.h: |
| (WTF::ExternalStringImpl::freeExternalBuffer): Deleted. |
| * wtf/text/LineBreakIteratorPoolICU.h: |
| * wtf/text/NullTextBreakIterator.h: |
| * wtf/text/OrdinalNumber.h: |
| * wtf/text/StringBuffer.h: |
| * wtf/text/StringBuilder.h: |
| * wtf/text/StringConcatenateNumbers.h: |
| * wtf/text/StringHasher.h: |
| * wtf/text/StringImpl.h: |
| * wtf/text/StringView.cpp: |
| * wtf/text/StringView.h: |
| (WTF::StringView::left const): Deleted. |
| (WTF::StringView::right const): Deleted. |
| (WTF::StringView::underlyingStringIsValid const): Deleted. |
| (WTF::StringView::setUnderlyingString): Deleted. |
| * wtf/text/SymbolImpl.h: |
| (WTF::SymbolImpl::StaticSymbolImpl::StaticSymbolImpl): Deleted. |
| (WTF::SymbolImpl::StaticSymbolImpl::operator SymbolImpl&): Deleted. |
| (WTF::PrivateSymbolImpl::PrivateSymbolImpl): Deleted. |
| (WTF::RegisteredSymbolImpl::symbolRegistry const): Deleted. |
| (WTF::RegisteredSymbolImpl::clearSymbolRegistry): Deleted. |
| (WTF::RegisteredSymbolImpl::RegisteredSymbolImpl): Deleted. |
| * wtf/text/SymbolRegistry.h: |
| * wtf/text/TextBreakIterator.h: |
| * wtf/text/TextPosition.h: |
| * wtf/text/TextStream.h: |
| * wtf/text/WTFString.h: |
| (WTF::String::swap): Deleted. |
| (WTF::String::adopt): Deleted. |
| (WTF::String::isNull const): Deleted. |
| (WTF::String::isEmpty const): Deleted. |
| (WTF::String::impl const): Deleted. |
| (WTF::String::releaseImpl): Deleted. |
| (WTF::String::length const): Deleted. |
| (WTF::String::characters8 const): Deleted. |
| (WTF::String::characters16 const): Deleted. |
| (WTF::String::is8Bit const): Deleted. |
| (WTF::String::sizeInBytes const): Deleted. |
| (WTF::String::operator[] const): Deleted. |
| (WTF::String::find const): Deleted. |
| (WTF::String::findIgnoringASCIICase const): Deleted. |
| (WTF::String::reverseFind const): Deleted. |
| (WTF::String::contains const): Deleted. |
| (WTF::String::containsIgnoringASCIICase const): Deleted. |
| (WTF::String::startsWith const): Deleted. |
| (WTF::String::startsWithIgnoringASCIICase const): Deleted. |
| (WTF::String::hasInfixStartingAt const): Deleted. |
| (WTF::String::endsWith const): Deleted. |
| (WTF::String::endsWithIgnoringASCIICase const): Deleted. |
| (WTF::String::hasInfixEndingAt const): Deleted. |
| (WTF::String::append): Deleted. |
| (WTF::String::left const): Deleted. |
| (WTF::String::right const): Deleted. |
| (WTF::String::createUninitialized): Deleted. |
| (WTF::String::fromUTF8WithLatin1Fallback): Deleted. |
| (WTF::String::isAllASCII const): Deleted. |
| (WTF::String::isAllLatin1 const): Deleted. |
| (WTF::String::isSpecialCharacter const): Deleted. |
| (WTF::String::isHashTableDeletedValue const): Deleted. |
| (WTF::String::hash const): Deleted. |
| (WTF::String::existingHash const): Deleted. |
| * wtf/text/cf/TextBreakIteratorCF.h: |
| * wtf/text/icu/TextBreakIteratorICU.h: |
| * wtf/text/icu/UTextProviderLatin1.h: |
| * wtf/threads/BinarySemaphore.h: |
| (WTF::BinarySemaphore::waitFor): Deleted. |
| (WTF::BinarySemaphore::wait): Deleted. |
| * wtf/unicode/Collator.h: |
| * wtf/win/GDIObject.h: |
| * wtf/win/PathWalker.h: |
| * wtf/win/Win32Handle.h: |
| |
| 2019-08-12 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, fix post landing review comments for r248533 from Darin. |
| |
| * wtf/RefCounted.h: |
| (WTF::RefCountedBase::ref const): |
| (WTF::RefCountedBase::applyRefDerefThreadingCheck const): |
| (WTF::RefCountedBase::derefBase const): |
| (WTF::RefCountedBase::areThreadingCheckedEnabled const): Deleted. |
| |
| 2019-08-12 Chris Dumez <cdumez@apple.com> |
| |
| Add threading assertions to RefCounted |
| https://bugs.webkit.org/show_bug.cgi?id=200507 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Add threading assertions to RefCounted to try and catch unsafe concurrent ref'ing / derefing of |
| RefCounted objects from several threads. If you hit these new assertions, it likely means you either |
| need to: |
| 1. Have your class subclass ThreadSafeRefCounted instead of RefCounted |
| or |
| 2. Make sure your objects always gets ref'd / deref'd from the same thread. |
| |
| These assertions already found several thread safety bugs in our code base, which I fixed via |
| dependency bugs. |
| |
| These assertions are currently enabled in WebKit (UIProcess, child processes and |
| WebKitLegacy), they do not apply other JavascriptCore API clients. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/RefCounted.cpp: Added. |
| * wtf/RefCounted.h: |
| (WTF::RefCountedBase::ref const): |
| (WTF::RefCountedBase::disableThreadingChecks): |
| (WTF::RefCountedBase::enableThreadingChecksGlobally): |
| (WTF::RefCountedBase::RefCountedBase): |
| (WTF::RefCountedBase::areThreadingCheckedEnabled const): |
| (WTF::RefCountedBase::derefBase const): |
| * wtf/SizeLimits.cpp: |
| |
| 2019-08-12 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, rolling out r248525. |
| |
| Revert new threading assertions while I work on fixing the |
| issues they exposed |
| |
| Reverted changeset: |
| |
| "Add threading assertions to RefCounted" |
| https://bugs.webkit.org/show_bug.cgi?id=200507 |
| https://trac.webkit.org/changeset/248525 |
| |
| 2019-08-11 Chris Dumez <cdumez@apple.com> |
| |
| Add threading assertions to RefCounted |
| https://bugs.webkit.org/show_bug.cgi?id=200507 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Add threading assertions to RefCounted to try and catch unsafe concurrent ref'ing / derefing of |
| RefCounted objects from several threads. If you hit these new assertions, it likely means you either |
| need to: |
| 1. Have your class subclass ThreadSafeRefCounted instead of RefCounted |
| or |
| 2. Make sure your objects always gets ref'd / deref'd from the same thread. |
| |
| These assertions already found several thread safety bugs in our code base, which I fixed via |
| dependency bugs. |
| |
| These assertions are currently enabled in WebKit (UIProcess, child processes and |
| WebKitLegacy), they do not apply other JavascriptCore API clients. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/RefCounted.cpp: Added. |
| * wtf/RefCounted.h: |
| (WTF::RefCountedBase::ref const): |
| (WTF::RefCountedBase::disableThreadingChecks): |
| (WTF::RefCountedBase::enableThreadingChecksGlobally): |
| (WTF::RefCountedBase::RefCountedBase): |
| (WTF::RefCountedBase::areThreadingCheckedEnabled const): |
| (WTF::RefCountedBase::derefBase const): |
| * wtf/SizeLimits.cpp: |
| |
| 2019-08-09 Saam Barati <sbarati@apple.com> |
| |
| [WHLSL] Devirtualize the AST |
| https://bugs.webkit.org/show_bug.cgi?id=200522 |
| |
| Reviewed by Robin Morisset. |
| |
| Make RefCounted use std::default_delete instead of explicitly calling delete. |
| This allows uses of RefCounted to define their own custom deleter. |
| |
| * wtf/RefCounted.h: |
| (WTF::RefCounted::deref const): |
| * wtf/UniqueRef.h: |
| (WTF::UniqueRef::UniqueRef): |
| |
| 2019-08-08 Chris Dumez <cdumez@apple.com> |
| |
| Fix thread safety issue in AudioSampleDataSource() constructor |
| https://bugs.webkit.org/show_bug.cgi?id=200547 |
| |
| Reviewed by Alex Christensen. |
| |
| Make Logger ThreadSafeRefCounted as it is ref'd / deref'd from various |
| threads (including the main thread and the WebKitWebRTCAudioModule thread). |
| |
| * wtf/Logger.h: |
| |
| 2019-08-08 Michael Saboff <msaboff@apple.com> |
| |
| OpenSource MemoryFootprint API for JSC command line tool |
| https://bugs.webkit.org/show_bug.cgi?id=200541 |
| |
| Reviewed by Saam Barati. |
| |
| OpenSource version of WebKitAdditions/MemoryFootprint.h. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/spi/darwin/ProcessMemoryFootprint.h: Added. |
| (ProcessMemoryFootprint::now): |
| (ProcessMemoryFootprint::resetPeak): |
| |
| 2019-08-08 Per Arne Vollan <pvollan@apple.com> |
| |
| [Mac] Use the PID of the WebContent process when issuing local file read sandbox extensions |
| https://bugs.webkit.org/show_bug.cgi?id=200543 |
| <rdar://problem/49394015> |
| |
| Reviewed by Brent Fulgham. |
| |
| Add new SPI. |
| |
| * wtf/Platform.h: |
| * wtf/spi/darwin/SandboxSPI.h: |
| |
| 2019-08-07 Chris Dumez <cdumez@apple.com> |
| |
| Tighten WeakPtr threading assertions for GC threads |
| https://bugs.webkit.org/show_bug.cgi?id=200451 |
| |
| Reviewed by Youenn Fablet. |
| |
| Make sure our GC threads do not dereference WeakPtr for main thread |
| objects by tightening our threading assertions in WeakPtr. They are |
| still allowed to call WeakPtr::get() for now though. |
| |
| * wtf/WeakPtr.h: |
| (WTF::WeakPtrImpl::get): |
| (WTF::WeakPtrImpl::wasConstructedOnMainThread const): |
| (WTF::WeakPtr::get const): |
| (WTF::WeakPtr::operator-> const): |
| (WTF::WeakPtr::operator* const): |
| |
| 2019-08-06 Jiewen Tan <jiewen_tan@apple.com> |
| |
| Unreviewed, a build fix after r248308 |
| |
| Use kSecUseDataProtectionKeychain for iOS 13 and macOS Catalina or newer. |
| |
| * wtf/Platform.h: |
| |
| 2019-08-06 Chris Dumez <cdumez@apple.com> |
| |
| Fix inefficiency in HTTPHeaderMap::set(CFStringRef, const String&) |
| https://bugs.webkit.org/show_bug.cgi?id=200475 |
| |
| Reviewed by Darin Adler. |
| |
| Add convenience constuctor to StringView which takes in a const char* |
| and an unsigned length, similarly to what we already have for String. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::protocolIs const): |
| (WTF::protocolIsInternal): |
| * wtf/text/StringView.h: |
| (WTF::StringView::StringView): |
| (WTF::StringView::empty): |
| |
| 2019-08-06 Jiewen Tan <jiewen_tan@apple.com> |
| |
| [WebAuthN] Enable LocalAuthenticator for macOS |
| https://bugs.webkit.org/show_bug.cgi?id=182772 |
| <rdar://problem/43347920> |
| |
| Reviewed by Brent Fulgham. |
| |
| * wtf/Platform.h: |
| Adds HAVE_DEVICE_IDENTITY. |
| * wtf/spi/cocoa/SecuritySPI.h: |
| Adds a SPI for telling macOS keychain to use the modern one. |
| |
| 2019-08-06 Claudio Saavedra <csaavedra@igalia.com> |
| |
| FileSystem: silent build warning |
| |
| Unreviewed compilation warning fix. |
| |
| Remove unused parameter in empty method |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::createTemporaryZipArchive): |
| |
| 2019-08-05 Youenn Fablet <youenn@apple.com> |
| |
| Make Logger::log thread safe so that it can be used from background threads |
| https://bugs.webkit.org/show_bug.cgi?id=200448 |
| |
| Reviewed by Eric Carlson. |
| |
| Add a lock to ensure calling log is thread-safe. |
| |
| * wtf/Logger.h: |
| (WTF::Logger::addObserver): |
| (WTF::Logger::removeObserver): |
| (WTF::Logger::log): |
| (WTF::Logger::observerLock): |
| |
| 2019-08-05 Takashi Komori <Takashi.Komori@sony.com> |
| |
| [Curl] implement CertificateInfo::summaryInfo |
| https://bugs.webkit.org/show_bug.cgi?id=191498 |
| |
| Reviewed by Alex Christensen. |
| |
| Fixed function template for encoding vector. |
| |
| * wtf/persistence/PersistentCoders.h: |
| |
| 2019-08-02 Mark Lam <mark.lam@apple.com> |
| |
| [ARM64E] Harden the diversity of the DOMJIT::Signature::unsafeFunction pointer. |
| https://bugs.webkit.org/show_bug.cgi?id=200292 |
| <rdar://problem/53706881> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/PtrTag.h: |
| - Introducing WTF_VTBL_FUNCPTR_PTRAUTH and WTF_VTBL_FUNCPTR_PTRAUTH_STR macros for |
| defining vtbl function pointer style pointer signing modifier. |
| |
| 2019-08-02 Eric Carlson <eric.carlson@apple.com> |
| |
| uniqueLogIdentifier() should generate a 64-bit identifier |
| https://bugs.webkit.org/show_bug.cgi?id=200403 |
| <rdar://problem/53878447> |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/LoggerHelper.h: |
| (WTF::LoggerHelper::childLogIdentifier const): Use uint64_t masks. |
| (WTF::LoggerHelper::uniqueLogIdentifier): cryptographicallyRandomNumber returns a |
| uint32_t so use two to generate a 64-bit identifier. |
| |
| 2019-08-02 Alex Christensen <achristensen@webkit.org> |
| |
| Fix an internal build after r248139 |
| https://bugs.webkit.org/show_bug.cgi?id=200102 |
| |
| * wtf/cocoa/FileSystemCocoa.mm: |
| Some internal builds couldn't find BOM framework headers. |
| No problem. They're not needed. Just remove references to them. |
| |
| 2019-08-01 Alex Christensen <achristensen@webkit.org> |
| |
| Move FormData zip file generation to NetworkProcess and enable it for all WebKit clients for uploading directories |
| https://bugs.webkit.org/show_bug.cgi?id=200102 |
| <rdar://problem/53275114> |
| |
| Reviewed by Darin Adler. |
| |
| Move code from BlobDataFileReference::generateReplacementFile to FileSystem::createZipArchive. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::createZipArchive): |
| * wtf/FileSystem.h: |
| * wtf/cocoa/FileSystemCocoa.mm: |
| (WTF::FileSystemImpl::createZipArchive): |
| |
| 2019-08-01 Per Arne Vollan <pvollan@apple.com> |
| |
| Initialize memory pressure flag in MemoryPressureHandler |
| https://bugs.webkit.org/show_bug.cgi?id=200353 |
| |
| Reviewed by Geoffrey Garen. |
| |
| The flag 'm_underMemoryPressure' in MemoryPressureHandler should be initialized to 'false'. |
| |
| * wtf/MemoryPressureHandler.h: |
| |
| 2019-08-01 Chris Dumez <cdumez@apple.com> |
| |
| Add threading assertion to WeakPtr's operator->() |
| https://bugs.webkit.org/show_bug.cgi?id=199922 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Add threading assertion to WeakPtr's operator->() to make sure that the WeakPtr |
| always gets dereferenced on the same thread it was constructed on. |
| |
| * wtf/WeakPtr.h: |
| (WTF::WeakPtrImpl::get): |
| (WTF::WeakPtrImpl::WeakPtrImpl): |
| |
| 2019-07-31 Youenn Fablet <youenn@apple.com> |
| |
| Use CTFontCreateForCharactersWithLanguageAndOption if available instead of CTFontCreateForCharactersWithLanguage |
| https://bugs.webkit.org/show_bug.cgi?id=200241 |
| |
| Reviewed by Myles C. Maxfield. |
| |
| * wtf/Platform.h: Add macro to enable/disable new SPI. |
| |
| 2019-07-31 Keith Rollin <krollin@apple.com> |
| |
| Fix 64-bit vs 32-bit mismatch in PersistentCoders.h |
| https://bugs.webkit.org/show_bug.cgi?id=200288 |
| <rdar://problem/53734203> |
| |
| Reviewed by Chris Dumez. |
| |
| hashMapSize is declared as a uint64_t. It is passed to |
| HashMapType::reserveInitialCapacity, which takes an unsigned int. This |
| is a 32-bit value on 32-bit platforms, leading to a compile time |
| error. Fix his by casting hashMapSize to the expected type. |
| |
| * wtf/persistence/PersistentCoders.h: |
| |
| 2019-07-31 Keith Rollin <krollin@apple.com> |
| |
| Fix 64-bit vs 32-bit mismatch in LogArgument |
| https://bugs.webkit.org/show_bug.cgi?id=200286 |
| <rdar://problem/53733671> |
| |
| Reviewed by Darin Adler. |
| |
| LogArgument is a utility for converting scalars into strings. It has a |
| number of versions of a toString() method that is specialized for each |
| type and converts the value to a string in a manner appropriate for |
| that type. However, the versions of toString() for "long long" and |
| "unsigned long long" are actually declared to take an "long" or |
| "unsigned long" as a parameter. This difference leads to a 64-bit vs |
| 32-bit build error on 32-bit systems. Fix this by specifying |
| correct/matching types. |
| |
| * wtf/Logger.h: |
| (WTF::LogArgument::toString): |
| |
| 2019-07-30 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| REGRESSION(r241288): Text on Yahoo Japan mobile looks too bold |
| https://bugs.webkit.org/show_bug.cgi?id=200065 |
| <rdar://problem/50912757> |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/Platform.h: |
| |
| 2019-07-30 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Fix CRASH_WITH_INFO() so that it doesn't complain about unused parameters on non Clang / MSVC compilers. |
| https://bugs.webkit.org/show_bug.cgi?id=200243 |
| |
| Reviewed by Mark Lam. |
| |
| For GCC, we'll implement WTFCrashWithInfo as a function rather than a macro. To use |
| ##__VA_ARGS we would need to enable GNU extensions, and don't want to do that. The proper |
| solution, format __VA_OPT__(,) __VA_ARGS__, requires C++20. So just use an inline function |
| for now as a workaround. |
| |
| * wtf/Assertions.h: |
| (CRASH_WITH_INFO): |
| (CRASH_WITH_SECURITY_IMPLICATION_AND_INFO): |
| |
| 2019-07-25 Dean Jackson <dino@apple.com> |
| |
| Add helper for ignoring deprecated implementation warnings |
| https://bugs.webkit.org/show_bug.cgi?id=200135 |
| |
| Reviewed by Wenson Hsieh. |
| |
| Add ALLOW_DEPRECATED_IMPLEMENTATIONS_BEGIN/END macro which |
| is IGNORE_WARNINGS_BEGIN("deprecated-implementations") |
| |
| * wtf/Compiler.h: |
| |
| 2019-07-24 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [bmalloc] Add IsoHeap test to ensure that IsoHeap pages are not allocating too large VA |
| https://bugs.webkit.org/show_bug.cgi?id=200103 |
| |
| Reviewed by Mark Lam. |
| |
| We move VMTag page investigation code from PAL to WTF to use it in TestWTF. |
| And we also accumulate allocated VA size in `reserved` field of `TagInfo`. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/PlatformMac.cmake: |
| * wtf/ResourceUsage.h: Added. |
| * wtf/cocoa/MemoryPressureHandlerCocoa.mm: |
| * wtf/cocoa/ResourceUsageCocoa.cpp: Added. |
| (WTF::vmPageSize): |
| (WTF::logFootprintComparison): |
| (WTF::displayNameForVMTag): |
| (WTF::pagesPerVMTag): |
| * wtf/spi/cocoa/MachVMSPI.h: Added. |
| |
| 2019-07-23 Keith Miller <keith_miller@apple.com> |
| |
| Add cheat sheet comment for HashMap/Set iterator/AddResult |
| https://bugs.webkit.org/show_bug.cgi?id=200061 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/HashMap.h: |
| * wtf/HashSet.h: |
| |
| 2019-07-23 Keith Rollin <krollin@apple.com> |
| |
| Remove rest of NavigatorContentUtils support |
| https://bugs.webkit.org/show_bug.cgi?id=200052 |
| <rdar://problem/53467357> |
| |
| Reviewed by Alex Christensen. |
| |
| Bug 196070 removes most of the support for the never-used |
| NavigatorContentUtils facility. However, there were still a couple of |
| left-over references after that change. This patch sweeps those up. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2019-07-23 Keith Rollin <krollin@apple.com> |
| |
| Enable HAVE_APP_LINKS_WITH_ISENABLED for entire iOS family |
| https://bugs.webkit.org/show_bug.cgi?id=200040 |
| <rdar://problem/53457670> |
| |
| Reviewed by Tim Horton. |
| |
| This feature was enabled for just iOS, but should be enabled for tvOS |
| and watchOS, too. |
| |
| * wtf/Platform.h: |
| |
| 2019-07-23 Alicia Boya GarcÃa <aboya@igalia.com> |
| |
| [WTF] Add DataMutex and MainThreadData wrappers |
| https://bugs.webkit.org/show_bug.cgi?id=199831 |
| |
| Reviewed by Alex Christensen. |
| |
| This patch adds two new wrapper classes: |
| |
| DataMutex<T> stores an instance of T in a private member along with a |
| mutex. In order to use its fields, users need to instantiate a |
| DataMutex<T>::LockedWrapper instance in the stack. This class uses |
| RAII to lock and unlock the mutex in construction and destruction |
| respectively, and by using the arrow operator lets the user access T's |
| members. |
| |
| This way, DataMutex<T> prevents most instances of accidental access to |
| data fields that should only be read and modified in an atomic matter. |
| |
| Still, both the Lock and the LockHolder are exposed once the user has |
| taken the lock so that special cases such as waiting for a condition |
| variable or performing an early unlock are doable. |
| |
| MainThreadData<T> is another wrapper class, in this case for data |
| fields that should only be accessed from the main thread. In this |
| case, it works similar to a smart pointer, except that (1) there is no |
| actual memory indirection, T is stored directly inside |
| MainThreadData<T> and (2) attempts to use the -> or * operator have an |
| isMainThread() assertion. |
| |
| Together, these two wrapper classes make it easier to write |
| multi-threaded code in a safer, more self-documented way by letting |
| the author group data into structures that have certain access safety |
| requirements. |
| |
| These structures were originally part of the new GStreamer |
| WebKitMediaSrc rework patch: https://bugs.webkit.org/show_bug.cgi?id=199719 |
| |
| * wtf/CMakeLists.txt: |
| * wtf/DataMutex.h: Added. |
| (WTF::DataMutex::DataMutex): |
| (WTF::DataMutex::LockedWrapper::LockedWrapper): |
| (WTF::DataMutex::LockedWrapper::operator->): |
| (WTF::DataMutex::LockedWrapper::operator*): |
| (WTF::DataMutex::LockedWrapper::mutex): |
| (WTF::DataMutex::LockedWrapper::lockHolder): |
| * wtf/MainThreadData.h: Added. |
| (WTF::MainThreadData::MainThreadData): |
| (WTF::MainThreadData::operator->): |
| (WTF::MainThreadData::operator*): |
| |
| 2019-07-22 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [bmalloc] Each IsoPage gets 1MB VA because VMHeap::tryAllocateLargeChunk rounds up |
| https://bugs.webkit.org/show_bug.cgi?id=200024 |
| |
| Reviewed by Saam Barati. |
| |
| Start using a VM tag for IsoHeap instead of CLoop Stack. |
| |
| * wtf/OSAllocator.h: |
| * wtf/VMTags.h: |
| |
| 2019-07-20 Chris Dumez <cdumez@apple.com> |
| |
| Speed up HashTable decoding by reserving capacity and avoiding rehashing |
| https://bugs.webkit.org/show_bug.cgi?id=199982 |
| |
| Reviewed by Saam Barati. |
| |
| Introduce reserveInitialCapacity() on HashMap to reserve capacity on a |
| HashMap and cut down on rehashing cost when possible. |
| |
| * wtf/HashMap.h: |
| * wtf/HashTable.h: |
| (WTF::HashTable::reserveInitialCapacity): |
| |
| * wtf/persistence/PersistentCoders.h: |
| Use HashMap::reserveInitialCapacity() in the HashMap persistent decoder for |
| performance. |
| |
| 2019-07-20 Alexander Mikhaylenko <exalm7659@gmail.com> |
| |
| REGRESSION(r246033/r246496): [GTK] Kinetic scrolling doesn't work |
| https://bugs.webkit.org/show_bug.cgi?id=199322 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Introduce ENABLE_KINETIC_SCROLLING to explicitly always have kinetic scrolling on GTK. |
| |
| * wtf/Platform.h: |
| |
| 2019-07-18 Youenn Fablet <youenn@apple.com> |
| |
| Make sure to set kCTFontFallbackOptionAttribute to kCTFontFallbackOptionSystem for system fonts |
| https://bugs.webkit.org/show_bug.cgi?id=199769 |
| <rdar://problem/49390297> |
| |
| Reviewed by Myles C. Maxfield. |
| |
| * wtf/Platform.h: |
| |
| 2019-07-17 Christopher Reid <chris.reid@sony.com> |
| |
| Bytecode cache should use FileSystem |
| https://bugs.webkit.org/show_bug.cgi?id=199759 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/FileSystem.cpp: |
| * wtf/FileSystem.h: |
| Add support for creating MappedFileData from a preexisting file handle |
| for use with locked files. Also support creating MappedFileData |
| with either private or shared mappings. |
| |
| * wtf/UUID.cpp: |
| Avoid ASSERT with returning a LazyNeverDestroyed object that hasn't been created. |
| |
| * wtf/glib/FileSystemGlib.cpp: |
| * wtf/win/FileSystemWin.cpp: |
| Add truncateFile implementations. |
| |
| 2019-07-17 Sam Weinig <weinig@apple.com> |
| |
| Add StringBuilder member function which allows makeString() style variadic argument construction |
| https://bugs.webkit.org/show_bug.cgi?id=198997 |
| |
| Reviewed by Darin Adler. |
| |
| Adds new StringBuilder::flexibleAppend(...) member function which allows passing one or more |
| string-adaptable (in the sense that there is StringTypeAdapter specialization for the |
| type) parameters. This re-ususes the variadic template infrastructure in StringConcatenate.h |
| that is used for makeString(...) allowing for improvements in one to benefit the other. |
| |
| The advantage of StringBuilder::flexibleAppend(...) over calling StringBuilder::append(...) |
| multiple times (beyond the code sharing with makeString(...) is that it can avoid unnecessary |
| additional re-allocations when the StringBuilder needs to expand it's capacity. It does this |
| by computing the complete required length for all the passed arguments and then ensuring enough |
| capacity is available. It also reduces the allocation overhead versus the anti-pattern of |
| builder.append(makeString(...)). |
| |
| Ideally, this member function should eventually just be called StringBuilder::append(...), but |
| the current overload set for StringBuilder::append(...) makes this complicated due to overloads |
| that take two arguments such as StringBuilder::append(const UChar*, unsigned). Going forward, we |
| should rename or remove those overloads and move to a standard interface. |
| |
| * wtf/posix/FileSystemPOSIX.cpp: |
| (WTF::FileSystemImpl::pathByAppendingComponents): |
| Adopt StringBuilder::flexibleAppend, using to combine the append of '/' and component. |
| |
| * wtf/text/StringBuilder.cpp: |
| (WTF::StringBuilder::appendUninitialized): |
| (WTF::StringBuilder::appendUninitializedWithoutOverflowCheck): |
| Extract the part of appendUnitialized that doesn't do the overflow check |
| into it's own member function to allow callers that have already done the |
| overflow check to bypass it. |
| |
| (WTF::StringBuilder::appendUninitializedWithoutOverflowCheckForUChar): |
| (WTF::StringBuilder::appendUninitializedWithoutOverflowCheckForLChar): |
| Added to allow template member function flexibleAppendFromAdapters to call |
| appendUninitializedWithoutOverflowCheck without moving it to the header. |
| |
| * wtf/text/StringBuilder.h: |
| (WTF::StringBuilder::flexibleAppendFromAdapters): |
| (WTF::StringBuilder::flexibleAppend): |
| Modeled on tryMakeStringFromAdapters in StringConcatenate.h, these |
| eagerly compute the required length, expand the buffer and then use |
| the existing string type adaptor accumulation functions used by makeString. |
| |
| * wtf/text/StringConcatenate.h: |
| (WTF::stringTypeAdapterAccumulator): |
| (WTF::tryMakeStringFromAdapters): |
| (WTF::makeStringAccumulator): Deleted. |
| Renames makeStringAccumulator to stringTypeAdapterAccumulator now that it is used |
| by more than just makeString. |
| |
| 2019-07-17 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r247505. |
| https://bugs.webkit.org/show_bug.cgi?id=199871 |
| |
| "Caused failed ASSERT in stress test" (Requested by creid on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "Bytecode cache should use FileSystem" |
| https://bugs.webkit.org/show_bug.cgi?id=199759 |
| https://trac.webkit.org/changeset/247505 |
| |
| 2019-07-16 Christopher Reid <chris.reid@sony.com> |
| |
| Bytecode cache should use FileSystem |
| https://bugs.webkit.org/show_bug.cgi?id=199759 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/FileSystem.cpp: |
| * wtf/FileSystem.h: |
| Add support for creating MappedFileData from a preexisting file handle |
| for use with locked files. Also support creating MappedFileData |
| with either private or shared mappings. |
| |
| * wtf/UUID.cpp: |
| Avoid ASSERT with returning a LazyNeverDestroyed object that hasn't been created. |
| |
| * wtf/glib/FileSystemGlib.cpp: |
| * wtf/win/FileSystemWin.cpp: |
| Add truncateFile implementations. |
| |
| 2019-07-16 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| New York font erroneously gets synthetic bold |
| https://bugs.webkit.org/show_bug.cgi?id=199653 |
| |
| Unreviewed MacCatalyst build fix. |
| |
| * wtf/Platform.h: |
| |
| 2019-07-16 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [WPE][GTK] Improvements and fixes in FileSystemGlib.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=199800 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Use nullptr. |
| |
| Fix a GFileInfo leak in getFileSize. |
| |
| Use GRefPtr to clarify ownership of the GFileIOStream in openFile. |
| |
| * wtf/glib/FileSystemGlib.cpp: |
| (WTF::FileSystemImpl::getFileSize): |
| (WTF::FileSystemImpl::getVolumeFreeSpace): |
| (WTF::FileSystemImpl::openTemporaryFile): |
| (WTF::FileSystemImpl::openFile): |
| (WTF::FileSystemImpl::seekFile): |
| (WTF::FileSystemImpl::writeToFile): |
| (WTF::FileSystemImpl::readFromFile): |
| |
| 2019-07-15 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| New York font erroneously gets synthetic bold |
| https://bugs.webkit.org/show_bug.cgi?id=199653 |
| |
| Unreviewed watchOS build fix. |
| |
| * wtf/Platform.h: |
| |
| 2019-07-15 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r247462. |
| https://bugs.webkit.org/show_bug.cgi?id=199816 |
| |
| completely messed up the patch (Requested by litherum on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "New York font erroneously gets synthetic bold" |
| https://bugs.webkit.org/show_bug.cgi?id=199653 |
| https://trac.webkit.org/changeset/247462 |
| |
| 2019-07-11 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| New York font erroneously gets synthetic bold |
| https://bugs.webkit.org/show_bug.cgi?id=199653 |
| <rdar://problem/51692592> |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/Platform.h: |
| |
| 2019-07-15 Brady Eidson <beidson@apple.com> |
| |
| Make WKURLSchemeTask thread safe. |
| <rdar://problem/50471863> and https://bugs.webkit.org/show_bug.cgi?id=199764 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/MainThread.cpp: |
| (WTF::callOnMainAndWait): |
| (WTF::callOnMainRunLoopAndWait): |
| (WTF::callOnMainThreadAndWait): |
| * wtf/MainThread.h: |
| |
| 2019-07-15 Dean Jackson <dino@apple.com> |
| |
| MacCatalyst asserts when command key is raised |
| https://bugs.webkit.org/show_bug.cgi?id=199805 |
| <rdar://problem/53120393> |
| |
| Reviewed by Tim Horton. |
| |
| Add USE_UIKIT_KEYBOARD_ADDITIONS for iOS 13+ and macCatalyst. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2019-07-14 Chris Dumez <cdumez@apple.com> |
| |
| Add threading assertion to WeakPtrFactory::createWeakPtr() |
| https://bugs.webkit.org/show_bug.cgi?id=199639 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Add threading assertion to WeakPtrFactory::createWeakPtr() to make sure it |
| is called on the same thread where the WeakPtrFactory wad constructed. |
| |
| * wtf/WeakPtr.h: |
| (WTF::WeakPtrFactory::WeakPtrFactory): |
| (WTF::WeakPtrFactory::createWeakPtr const): |
| |
| 2019-07-14 Dean Jackson <dino@apple.com> |
| |
| WebGL not supported on WKWebView on UIKit for Mac |
| https://bugs.webkit.org/show_bug.cgi?id=199785 |
| <rdar://problem/52911449> |
| |
| Reviewed by Antoine Quint. |
| |
| MacCatalyst has Apple Graphics Control, although |
| this area is very messy, see <rdar://53062794>. |
| |
| * wtf/Platform.h: |
| |
| 2019-07-11 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| New York font erroneously gets synthetic bold |
| https://bugs.webkit.org/show_bug.cgi?id=199653 |
| <rdar://problem/51692592> |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/Platform.h: |
| |
| 2019-07-11 Pablo Saavedra <psaavedra@igalia.com> |
| |
| [WPE][GTK] Build failure with ENABLE_ACCESSIBILITY=OFF |
| https://bugs.webkit.org/show_bug.cgi?id=199625 |
| |
| Added ENABLE(ACCESSIBILITY) and replaced HAVE(ACCESSIBILITY) |
| with ENABLE(ACCESSIBILITY) in the code. |
| |
| Additionally, the TestRunner code generator now honors the |
| Conditional IDL format. |
| |
| Reviewed by Konstantin Tokarev. |
| |
| * wtf/FeatureDefines.h: |
| * wtf/Platform.h: |
| |
| 2019-07-10 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r247286. |
| |
| Caused TestWTF.WTF.StringOperators to fail on debug bots |
| |
| Reverted changeset: |
| |
| "Add StringBuilder member function which allows makeString() |
| style variadic argument construction" |
| https://bugs.webkit.org/show_bug.cgi?id=198997 |
| https://trac.webkit.org/changeset/247286 |
| |
| 2019-07-09 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [WPE][GTK] GUniqueOutPtr::release should return a raw pointer |
| https://bugs.webkit.org/show_bug.cgi?id=199579 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| GUniqueOutPtr::release should release to a raw pointer, rather than a GUniquePtr. If a |
| GUniquePtr is desired, it's trivial to construct one from the raw pointer, but all existing |
| callsites under Source/ would rather have a raw pointer. Currently they have to call |
| release().release() to get the raw pointer, which is annoying. |
| |
| * wtf/glib/GUniquePtr.h: |
| (WTF::GUniqueOutPtr::release): |
| |
| 2019-07-09 Sam Weinig <weinig@apple.com> |
| |
| Add StringBuilder member function which allows makeString() style variadic argument construction |
| https://bugs.webkit.org/show_bug.cgi?id=198997 |
| |
| Reviewed by Darin Adler. |
| |
| Adds new StringBuilder::flexibleAppend(...) member function which allows passing one or more |
| string-adaptable (in the sense that there is StringTypeAdapter specialization for the |
| type) parameters. This re-ususes the variadic template infrastructure in StringConcatenate.h |
| that is used for makeString(...) allowing for improvements in one to benefit the other. |
| |
| The advantage of StringBuilder::flexibleAppend(...) over calling StringBuilder::append(...) |
| multiple times (beyond the code sharing with makeString(...) is that it can avoid unnecessary |
| additional re-allocations when the StringBuilder needs to expand it's capacity. It does this |
| by computing the complete required length for all the passed arguments and then ensuring enough |
| capacity is available. It also reduces the allocation overhead versus the anti-pattern of |
| builder.append(makeString(...)). |
| |
| Ideally, this member function should eventually just be called StringBuilder::append(...), but |
| the current overload set for StringBuilder::append(...) makes this complicated due to overloads |
| that take two arguments such as StringBuilder::append(const UChar*, unsigned). Going forward, we |
| should rename or remove those overloads and move to a standard interface. |
| |
| * wtf/posix/FileSystemPOSIX.cpp: |
| (WTF::FileSystemImpl::pathByAppendingComponents): |
| Adopt StringBuilder::flexibleAppend, using to combine the append of '/' and component. |
| |
| * wtf/text/StringBuilder.cpp: |
| (WTF::StringBuilder::appendUninitialized): |
| (WTF::StringBuilder::appendUninitializedWithoutOverflowCheck): |
| Extract the part of appendUnitialized that doesn't do the overflow check |
| into it's own member function to allow callers that have already done the |
| overflow check to bypass it. |
| |
| (WTF::StringBuilder::appendUninitializedWithoutOverflowCheckForUChar): |
| (WTF::StringBuilder::appendUninitializedWithoutOverflowCheckForLChar): |
| Added to allow template member function flexibleAppendFromAdapters to call |
| appendUninitializedWithoutOverflowCheck without moving it to the header. |
| |
| * wtf/text/StringBuilder.h: |
| (WTF::StringBuilder::flexibleAppendFromAdapters): |
| (WTF::StringBuilder::flexibleAppend): |
| Modeled on tryMakeStringFromAdapters in StringConcatenate.h, these |
| eagerly compute the required length, expand the buffer and then use |
| the existing string type adaptor accumulation functions used by makeString. |
| |
| * wtf/text/StringConcatenate.h: |
| (WTF::stringTypeAdapterAccumulator): |
| (WTF::tryMakeStringFromAdapters): |
| (WTF::makeStringAccumulator): Deleted. |
| Renames makeStringAccumulator to stringTypeAdapterAccumulator now that it is used |
| by more than just makeString. |
| |
| 2019-07-09 Alex Christensen <achristensen@webkit.org> |
| |
| When parsing an IPv4 address, wait until after deciding it is indeed an IPv4 address before reporting syntax violations |
| https://bugs.webkit.org/show_bug.cgi?id=199628 |
| |
| Reviewed by Brady Eidson. |
| |
| Otherwise, we sometimes report syntax violations on things that are not IPv4 addresses and don't have syntax violations. |
| I added a unit test with one such URL that used to cause an assertion. |
| |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::parseIPv4Host): |
| |
| 2019-07-09 Alex Christensen <achristensen@webkit.org> |
| |
| Remove invalid assertion in URLParser::domainToASCII |
| https://bugs.webkit.org/show_bug.cgi?id=199624 |
| |
| Reviewed by Brady Eidson. |
| |
| When a non-ASCII domain's punycode encoding is longer than 63 characters, |
| the URL is supposed to fail to parse, according to https://www.unicode.org/reports/tr46/#ToASCII |
| We and all other browsers do this. When uidna_nameToASCII tries to punycode encode such a domain, |
| it can return a number larger than 63. In this case, processingDetails.errors is UIDNA_ERROR_LABEL_TOO_LONG |
| and we fail to parse as desired and uidna_nameToASCII did not write out of bounds, so it was just the assertion |
| that was wrong. I added some unit tests that would have hit the assertion and verify that we fail at the correct length. |
| |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::domainToASCII): |
| |
| 2019-07-09 Alex Christensen <achristensen@webkit.org> |
| |
| URLParser should reserialize IPv6 addresses that end with a colon |
| https://bugs.webkit.org/show_bug.cgi?id=199627 |
| |
| Reviewed by Brady Eidson. |
| |
| When an IPv6 address ends in a colon, the colon should be removed which means the |
| serialized output is different than the input, which the URLParser calls a syntax violation. |
| This matches the URL specification, and I added a unit test that used to assert. |
| |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::parseIPv6Host): |
| |
| 2019-07-08 Chris Dumez <cdumez@apple.com> |
| |
| Use WeakHashSet for WebUserContentControllerProxy::m_processes |
| https://bugs.webkit.org/show_bug.cgi?id=199591 |
| <rdar://problem/52798721> |
| |
| Reviewed by Youenn Fablet. |
| |
| Update WeakHashSet::add() to return an AddResult type, similarly to our other containers. |
| |
| * wtf/WeakHashSet.h: |
| (WTF::WeakHashSet::add): |
| |
| 2019-07-08 Christopher Reid <chris.reid@sony.com> |
| |
| Implement MappedFileData for Windows |
| https://bugs.webkit.org/show_bug.cgi?id=198269 |
| |
| Reviewed by Darin Adler. |
| |
| Original patch by Fujii Hironori. |
| |
| Add Windows implementations for MappedFileData constructor and destructor. |
| |
| * wtf/FileSystem.cpp: |
| * wtf/FileSystem.h: |
| * wtf/win/FileSystemWin.cpp: |
| |
| 2019-07-08 Chris Dumez <cdumez@apple.com> |
| |
| Add threading assertion to WTF::CompletionHandler |
| https://bugs.webkit.org/show_bug.cgi?id=199516 |
| |
| Reviewed by Alex Christensen. |
| |
| Add threading assertion to WTF::CompletionHandler to try and catch common cases |
| of unsafe usage (completion handler constructed on one thread but called on |
| another). |
| |
| * wtf/CompletionHandler.h: |
| (WTF::CompletionHandler<Out): |
| |
| 2019-07-08 Antoine Quint <graouts@apple.com> |
| |
| [Pointer Events] Enable only on the most recent version of the supported iOS family |
| https://bugs.webkit.org/show_bug.cgi?id=199562 |
| <rdar://problem/52766511> |
| |
| Reviewed by Dean Jackson. |
| |
| We really don't need HAVE_UI_WEB_TOUCH_EVENTS_GESTURE_RECOGNIZER_WITH_ACTIVE_TOUCHES_BY_ID since the UIKit SPI |
| that was added in iOS 13 that it's checking for is really required for all parts of the implementation of Pointer |
| Events, including dispatch of the "pointercancel" event and support for the "touch-action" CSS property. |
| |
| * wtf/Platform.h: |
| |
| 2019-07-05 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r247115. |
| |
| Breaks lldbWebKitTester (and by extension, test-webkitpy) |
| |
| Reverted changeset: |
| |
| "[WHLSL] Standard library is too big to directly include in |
| WebCore" |
| https://bugs.webkit.org/show_bug.cgi?id=198186 |
| https://trac.webkit.org/changeset/247115 |
| |
| 2019-07-03 Jonathan Bedard <jbedard@apple.com> |
| |
| [Catalina] Enable WebKit build |
| https://bugs.webkit.org/show_bug.cgi?id=199209 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/spi/cocoa/SecuritySPI.h: Declare SecTrustedApplicationCreateFromPath(...). |
| |
| 2019-07-03 Keith Miller <keith_miller@apple.com> |
| |
| PACCage should first cage leaving PAC bits intact then authenticate |
| https://bugs.webkit.org/show_bug.cgi?id=199372 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/CagedPtr.h: |
| (WTF::CagedPtr::get const): |
| (WTF::CagedPtr::getMayBeNull const): |
| (WTF::CagedPtr::mergePointers): |
| |
| 2019-07-03 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r246616. |
| |
| Caused http/tests/inspector/network/har/har-page.html to fail |
| on Catalina. |
| |
| Reverted changeset: |
| |
| "Web Inspector: Network: replace CFNetwork SPI with new API |
| where able" |
| https://bugs.webkit.org/show_bug.cgi?id=198762 |
| https://trac.webkit.org/changeset/246616 |
| |
| 2019-07-02 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r247041. |
| https://bugs.webkit.org/show_bug.cgi?id=199425 |
| |
| broke some iOS arm64e tests (Requested by keith_miller on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "PACCage should first cage leaving PAC bits intact then |
| authenticate" |
| https://bugs.webkit.org/show_bug.cgi?id=199372 |
| https://trac.webkit.org/changeset/247041 |
| |
| 2019-07-02 Chris Dumez <cdumez@apple.com> |
| |
| ThreadSafeRefCounted<DestructionThread::Main> is not safe to use in the UIProcess |
| https://bugs.webkit.org/show_bug.cgi?id=199420 |
| <rdar://problem/52289717> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * wtf/MainThread.cpp: |
| (WTF::isMainRunLoop): |
| (WTF::callOnMainRunLoop): |
| * wtf/MainThread.h: |
| Add some function to MainThread.h to be used by ThreadSafeRefCounted to interact with the |
| main RunLoop. This is used to avoid a circular dependency between RunLoop (which is |
| ThreadSafeRefCounted) and ThreadSafeReCounted. |
| |
| * wtf/ThreadSafeRefCounted.h: |
| (WTF::ThreadSafeRefCounted::deref const): |
| Add a new DestructionThread::MainRunLoop enum value to be used by classes that need to |
| be destroyed on the main RunLoop rather than the main thread (which may be different |
| when WK1 is invoved) |
| |
| 2019-07-02 Robin Morisset <rmorisset@apple.com> |
| |
| [WHLSL] the initializer in VariableDeclaration should be a std::unique_ptr, not Optional<UniqueRef<..>> |
| https://bugs.webkit.org/show_bug.cgi?id=199389 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/UniqueRef.h: |
| (WTF::UniqueRef::moveToUniquePtr): Added. |
| |
| 2019-07-02 Keith Miller <keith_miller@apple.com> |
| |
| PACCage should first cage leaving PAC bits intact then authenticate |
| https://bugs.webkit.org/show_bug.cgi?id=199372 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/CagedPtr.h: |
| (WTF::CagedPtr::get const): |
| (WTF::CagedPtr::getMayBeNull const): |
| (WTF::CagedPtr::mergePointers): |
| |
| 2019-07-01 Philippe Normand <pnormand@igalia.com> |
| |
| [GStreamer] Cannot play Bert's Bytes radio stream from http://radio.dos.nl/ |
| https://bugs.webkit.org/show_bug.cgi?id=198376 |
| |
| Reviewed by Xabier Rodriguez-Calvar. |
| |
| * wtf/glib/GLibUtilities.h: |
| (enumToString): Utility function to get a string representation of of a GLib enum. |
| |
| 2019-06-22 Darin Adler <darin@apple.com> |
| |
| Streamline some string code, focusing on functions that were using substringSharingImpl |
| https://bugs.webkit.org/show_bug.cgi?id=198898 |
| |
| Reviewed by Daniel Bates. |
| |
| * wtf/URLHelpers.cpp: |
| (WTF::URLHelpers::applyHostNameFunctionToURLString): Change code using |
| substringSharingImpl so it could call String::find to call StringView::contains |
| instead. Also rewrote lambdas to be simpler and likely more efficient. |
| Rewrote another case using substringSharingImpl so it could call String::find |
| to call StringView::find instead. |
| |
| * wtf/text/StringView.cpp: |
| (WTF::StringView::startsWith const): Added. |
| |
| * wtf/text/StringView.h: Tweaked style a bit, and added an overload of |
| StringView::contains that takes a CodeUnitMatchFunction and an overload |
| of startsWith that cakes a UChar. |
| |
| 2019-06-28 Konstantin Tokarev <annulen@yandex.ru> |
| |
| Remove traces of ENABLE_ICONDATABASE remaining after its removal in 219733 |
| https://bugs.webkit.org/show_bug.cgi?id=199317 |
| |
| Reviewed by Michael Catanzaro. |
| |
| While IconDatabase and all code using it was removed, |
| ENABLE_ICONDATABASE still exists as build option and C++ macro. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2019-06-27 Konstantin Tokarev <annulen@yandex.ru> |
| |
| Avoid using WTF::Function for passing local function pointers and closures in URLHelpers.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=199271 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| WTF::Function allocates memory on heap, which is totally redundant in this |
| case. |
| |
| * wtf/URLHelpers.cpp: |
| (WTF::URLHelpers::isSecondLevelDomainNameAllowedByTLDRules): |
| |
| 2019-06-27 Timothy Hatcher <timothy@apple.com> |
| |
| Move WebKitLegacy off of a couple AppKit ivars. |
| https://bugs.webkit.org/show_bug.cgi?id=199279 |
| rdar://problem/34983438 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/Platform.h: Added HAVE_SUBVIEWS_IVAR_SPI. |
| |
| 2019-06-27 Beth Dakin <bdakin@apple.com> |
| |
| Upstream use of MACCATALYST |
| https://bugs.webkit.org/show_bug.cgi?id=199245 |
| rdar://problem/51687723 |
| |
| Reviewed by Tim Horton. |
| |
| * Configurations/SDKVariant.xcconfig: |
| * wtf/FeatureDefines.h: |
| * wtf/Platform.h: |
| |
| 2019-06-27 Don Olmstead <don.olmstead@sony.com> |
| |
| [FTW] Build JavaScriptCore |
| https://bugs.webkit.org/show_bug.cgi?id=199254 |
| |
| Reviewed by Brent Fulgham. |
| |
| * wtf/PlatformFTW.cmake: Added. |
| |
| 2019-06-27 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [CMake] Bump cmake_minimum_required version to 3.10 |
| https://bugs.webkit.org/show_bug.cgi?id=199181 |
| |
| Reviewed by Don Olmstead. |
| |
| * CMakeLists.txt: |
| |
| 2019-06-26 Konstantin Tokarev <annulen@yandex.ru> |
| |
| Remove unneeded #include <wtf/glib/GRefPtr.h> |
| https://bugs.webkit.org/show_bug.cgi?id=199228 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * wtf/MemoryPressureHandler.h: |
| |
| 2019-06-26 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| REGRESSION: ( r246394 ) webgpu/whlsl-buffer-fragment.html and webgpu/whlsl-buffer-vertex.html are failing |
| https://bugs.webkit.org/show_bug.cgi?id=199012 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/Platform.h: |
| |
| 2019-06-25 Keith Miller <keith_miller@apple.com> |
| |
| CagedPtr doesn't merge PAC bits back into the resulting caged pointer. |
| https://bugs.webkit.org/show_bug.cgi?id=199214 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| The current code means that caging will just strip the any failed |
| authentication bits. Adding this code doesn't appear to be a |
| regression on iPhone Xs. |
| |
| * wtf/CagedPtr.h: |
| (WTF::CagedPtr::get const): |
| (WTF::CagedPtr::getMayBeNull const): |
| (WTF::CagedPtr::getUnsafe const): |
| (WTF::CagedPtr::mergePointers): |
| |
| 2019-06-25 Sam Weinig <weinig@apple.com> |
| |
| Experiment with simple structured bindings use |
| https://bugs.webkit.org/show_bug.cgi?id=198905 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/URLHelpers.cpp: |
| (WTF::URLHelpers::mapHostNames): |
| Simplify code using c++ structured bindings (https://en.cppreference.com/w/cpp/language/structured_binding) |
| to see if all the platforms will work with it. |
| |
| 2019-06-25 Adam Barth <abarth@webkit.org> |
| |
| [fuchsia] Update to newer zx_clock_get syscall |
| https://bugs.webkit.org/show_bug.cgi?id=199191 |
| |
| Reviewed by Sam Weinig. |
| |
| Fuchsia has changed the zx_clock_get syscall to return the clock value |
| via an out parameter rather than via its return value. This change |
| makes zx_clock_get consistent with all the other syscalls. |
| |
| This patch updates our use of zx_clock_get to use the new syscall. The |
| old syscall is no longer supported by Fuchsia. |
| |
| * wtf/fuchsia/CPUTimeFuchsia.cpp: |
| (WTF::CPUTime::get): Switch to using the out parameter. |
| (WTF::CPUTime::forCurrentThread): Switch to using the out parameter. |
| |
| 2019-06-25 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Fully rename WebKitGTK+ -> WebKitGTK everywhere |
| https://bugs.webkit.org/show_bug.cgi?id=199159 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::internationalDomainNameTranscoder): |
| |
| 2019-06-25 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Require GCC 7 |
| https://bugs.webkit.org/show_bug.cgi?id=198914 |
| |
| Reviewed by Darin Adler. |
| |
| Remove now-stale GCC version check. |
| |
| * wtf/Compiler.h: |
| |
| 2019-06-23 Simon Fraser <simon.fraser@apple.com> |
| |
| Add OverflowScrollProxyNodes to the scrolling tree |
| https://bugs.webkit.org/show_bug.cgi?id=199132 |
| |
| Reviewed by Antti Koivisto. |
| |
| Setting indent is useful if you want to make a new stream with the indent of an |
| existing stream. |
| |
| * wtf/text/TextStream.h: |
| (WTF::TextStream::setIndent): |
| |
| 2019-06-20 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| Try to use C++14 std::enable_if_t in CheckedArithmetic.h again |
| https://bugs.webkit.org/show_bug.cgi?id=199099 |
| |
| Reviewed by Ross Kirsling. |
| |
| r242235 changed CheckedArithmetic to not use C++14. Let's try |
| C++14 again. |
| |
| * wtf/CheckedArithmetic.h: Use C++14 std::make_unsigned_t and std::enable_if_t. |
| |
| 2019-06-18 Darin Adler <darin@apple.com> |
| |
| Tidy up the remaining bits of the AtomicString to AtomString rename |
| https://bugs.webkit.org/show_bug.cgi?id=198990 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * wtf/text/AtomString.cpp: Fix a comment. |
| * wtf/text/AtomString.h: Tweak formatting a bit. Use nullptr instead of 0. |
| Removed "using AtomicString = AtomString". |
| * wtf/text/AtomStringImpl.cpp: |
| (WTF::CStringTranslator::translate): Use setIsAtom instead of setIsAtomic. |
| (WTF::UCharBufferTranslator::translate): Ditto. |
| (WTF::HashAndUTF8CharactersTranslator::translate): Ditto. |
| (WTF::SubstringTranslator::translate): Ditto. |
| (WTF::LCharBufferTranslator::translate): Ditto. |
| (WTF::BufferFromStaticDataTranslator::translate): Ditto. |
| (WTF::AtomStringImpl::addSlowCase): Ditto. |
| (WTF::AtomStringImpl::lookUpSlowCase): Updated assertion message. |
| |
| * wtf/text/AtomStringImpl.h: Tweaked the implementation of add. |
| Updated comments to say AtomString. |
| |
| * wtf/text/AtomStringTable.cpp: |
| (WTF::AtomStringTable::~AtomStringTable): Use setIsAtom. |
| |
| * wtf/text/StringImpl.h: Updated name of StringAtomic and |
| s_hashFlagStringKindIsAtom. Renamed to flagIsAtom and setIsAtom. |
| |
| * wtf/text/WTFString.cpp: |
| (WTF::String::isSafeToSendToAnotherThread const): Updated comment. |
| |
| 2019-06-20 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Remove support for GTK2 plugins |
| https://bugs.webkit.org/show_bug.cgi?id=199065 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| * wtf/Platform.h: |
| * wtf/glib/GTypedefs.h: |
| |
| 2019-06-19 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [bmalloc] IsoHeap's initialization is racy with IsoHeap::isInitialized |
| https://bugs.webkit.org/show_bug.cgi?id=199053 |
| |
| Reviewed by Saam Barati. |
| |
| Add constexpr static functions to generate pseudo random numbers from __LINE__. |
| |
| * wtf/WeakRandom.h: |
| (WTF::WeakRandom::nextState): |
| (WTF::WeakRandom::generate): |
| (WTF::WeakRandom::advance): |
| |
| 2019-06-19 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| Add WTF::crossThreadCopy(T&&) to utilize String::isolatedCopy() && |
| https://bugs.webkit.org/show_bug.cgi?id=198957 |
| |
| Reviewed by Alex Christensen. |
| |
| &&-qualified String::isolatedCopy() has a optimization path which |
| does just WTFMove if it isSafeToSendToAnotherThread which means |
| the object hasOneRef. |
| |
| However, WTF::crossThreadCopy was using only &-qualified |
| isolatedCopy. To use the optimization, added |
| WTF::crossThreadCopy(T&&) overloading. |
| |
| * wtf/CrossThreadCopier.h: |
| (WTF::crossThreadCopy): Added a overload of (T&&). |
| * wtf/CrossThreadTask.h: |
| (WTF::createCrossThreadTask): Removed explicit template arguments of crossThreadCopy. |
| |
| 2019-06-19 Devin Rousso <drousso@apple.com> |
| |
| Web Inspector: Network: replace CFNetwork SPI with new API where able |
| https://bugs.webkit.org/show_bug.cgi?id=198762 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * wtf/Platform.h: |
| |
| 2019-06-19 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-06-19 Adrian Perez de Castro <aperez@igalia.com> |
| |
| [WPE][GTK] Fix build with unified sources disabled |
| https://bugs.webkit.org/show_bug.cgi?id=198752 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * wtf/text/StringBuilder.h: Add missing include of StringConcatenateNumbers.h |
| |
| 2019-06-19 Zan Dobersek <zdobersek@igalia.com> |
| |
| USE_ANGLE macro can be evaluated without being defined |
| https://bugs.webkit.org/show_bug.cgi?id=198991 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * wtf/Platform.h: On platforms not yet defining USE_ANGLE, the |
| incompatibility check with some other flags leads to the macro being |
| evaluated even when it was not defined, producing compiler warnings. |
| To avoid this, the macro should be defined to 0 before the check in |
| case it was not defined already. |
| |
| 2019-06-18 Dean Jackson <dino@apple.com> |
| |
| UIContextMenuInteraction implementation for WKContentView |
| https://bugs.webkit.org/show_bug.cgi?id=198986 |
| <rdar://problem/51875189> |
| |
| Reviewed by Andy Estes. |
| |
| Add USE_UICONTEXTMENU for iOS 13+. |
| |
| * wtf/Platform.h: |
| |
| 2019-06-18 Kenneth Russell <kbr@chromium.org> |
| |
| Add preliminary ANGLE backend to WebCore |
| https://bugs.webkit.org/show_bug.cgi?id=197755 |
| |
| Reviewed by Dean Jackson. |
| |
| Add a USE_ANGLE definition to wtf/Platform.h (currently disabled) |
| which, when enabled, uses ANGLE instead of the OpenGL or OpenGL ES |
| backend. |
| |
| * wtf/Platform.h: |
| |
| 2019-06-17 Jiewen Tan <jiewen_tan@apple.com> |
| |
| Move SOAuthorization from WebKitAdditions to WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=198874 |
| <rdar://problem/47573431> |
| |
| Reviewed by Brent Fulgham. |
| |
| * wtf/Platform.h: |
| Adds a feature flag to detect AppSSO framework. |
| |
| 2019-06-17 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r246501. |
| |
| Breaks Apple internal builds. |
| |
| Reverted changeset: |
| |
| "Support using ANGLE as the backend for the WebGL |
| implementation" |
| https://bugs.webkit.org/show_bug.cgi?id=197755 |
| https://trac.webkit.org/changeset/246501 |
| |
| 2019-06-17 Kenneth Russell <kbr@chromium.org> |
| |
| Support using ANGLE as the backend for the WebGL implementation |
| https://bugs.webkit.org/show_bug.cgi?id=197755 |
| |
| Reviewed by Dean Jackson. |
| |
| Add a USE_ANGLE definition to wtf/Platform.h (currently disabled) |
| which, when enabled, uses ANGLE instead of the OpenGL or OpenGL ES |
| backend. |
| |
| * wtf/Platform.h: |
| |
| 2019-06-16 Darin Adler <darin@apple.com> |
| |
| Rename AtomicString to AtomString |
| https://bugs.webkit.org/show_bug.cgi?id=195276 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * many files: Let do-webcore-rename do the renaming. |
| |
| * wtf/text/AtomString.h: After renaming, added AtomicString as a synonym for |
| now; helps smooth things over with a tiny bit of Apple internal software so |
| we don't have to do this all at once. Can remove it soon. |
| |
| 2019-06-16 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] Avoid roundoff error when setting AVCapture min/max frame rate |
| https://bugs.webkit.org/show_bug.cgi?id=198875 |
| <rdar://problem/51768374> |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/MediaTime.h: |
| (WTF::LogArgument<MediaTime>::toString): |
| (WTF::LogArgument<MediaTimeRange>::toString): |
| |
| 2019-06-12 Antoine Quint <graouts@apple.com> |
| |
| Show the web page URL when sharing an AR model |
| https://bugs.webkit.org/show_bug.cgi?id=198812 |
| <rdar://problem/48689498> |
| |
| Reviewed by Dean Jackson. |
| |
| * wtf/Platform.h: |
| |
| 2019-06-12 Youenn Fablet <youenn@apple.com> |
| |
| Use NSURLSession for WebSocket |
| https://bugs.webkit.org/show_bug.cgi?id=198568 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/Platform.h: |
| Introduce compile flag for WebSocket NSURLSession |
| |
| 2019-06-12 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r246322. |
| https://bugs.webkit.org/show_bug.cgi?id=198796 |
| |
| "It's a huge page load regression on iOS" (Requested by |
| saamyjoon on #webkit). |
| |
| Reverted changeset: |
| |
| "Roll out PAC cage" |
| https://bugs.webkit.org/show_bug.cgi?id=198726 |
| https://trac.webkit.org/changeset/246322 |
| |
| 2019-06-10 Simon Fraser <simon.fraser@apple.com> |
| |
| Add logging for UI-side compositing hit-testing |
| https://bugs.webkit.org/show_bug.cgi?id=198739 |
| |
| Reviewed by Antti Koivisto. |
| |
| Make it possible to output an Objective-C object to TextStream, which will |
| log its -description. |
| |
| Also add a template for OptionSet<> printing. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/text/TextStream.h: |
| (WTF::operator<<): |
| * wtf/text/cocoa/TextStreamCocoa.mm: Added. |
| (WTF::TextStream::operator<<): |
| |
| 2019-06-11 Saam Barati <sbarati@apple.com> |
| |
| Roll out PAC cage |
| https://bugs.webkit.org/show_bug.cgi?id=198726 |
| |
| Reviewed by Keith Miller. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/CagedPtr.h: |
| (WTF::CagedPtr::CagedPtr): |
| (WTF::CagedPtr::get const): |
| (WTF::CagedPtr::getMayBeNull const): |
| (WTF::CagedPtr::operator=): |
| (WTF::CagedPtr::operator== const): |
| (WTF::CagedPtr::operator!= const): |
| (WTF::CagedPtr::operator bool const): |
| (WTF::CagedPtr::operator* const): |
| (WTF::CagedPtr::operator-> const): |
| (WTF::CagedPtr::operator[] const): |
| (WTF::CagedPtr::getUnsafe const): Deleted. |
| (WTF::CagedPtr::at const): Deleted. |
| (WTF::CagedPtr::recage): Deleted. |
| * wtf/CagedUniquePtr.h: |
| (WTF::CagedUniquePtr::CagedUniquePtr): |
| (WTF::CagedUniquePtr::create): |
| (WTF::CagedUniquePtr::operator=): |
| (WTF::CagedUniquePtr::~CagedUniquePtr): |
| (WTF::CagedUniquePtr::destroy): |
| * wtf/Gigacage.h: |
| (Gigacage::caged): |
| (Gigacage::cagedMayBeNull): Deleted. |
| * wtf/PtrTag.h: |
| (WTF::tagArrayPtr): Deleted. |
| (WTF::untagArrayPtr): Deleted. |
| (WTF::removeArrayPtrTag): Deleted. |
| (WTF::retagArrayPtr): Deleted. |
| * wtf/TaggedArrayStoragePtr.h: |
| (WTF::TaggedArrayStoragePtr::TaggedArrayStoragePtr): Deleted. |
| (WTF::TaggedArrayStoragePtr::get const): Deleted. |
| (WTF::TaggedArrayStoragePtr::getUnsafe const): Deleted. |
| (WTF::TaggedArrayStoragePtr::resize): Deleted. |
| (WTF::TaggedArrayStoragePtr::operator bool const): Deleted. |
| |
| 2019-06-10 Andy Estes <aestes@apple.com> |
| |
| [iOS] Use PDFKit SPI for taking snapshots when the hosting app is not entitled for global capture |
| https://bugs.webkit.org/show_bug.cgi?id=198731 |
| <rdar://problem/46215174> |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2019-06-10 Sam Weinig <weinig@apple.com> |
| |
| Remove Dashboard support |
| https://bugs.webkit.org/show_bug.cgi?id=198615 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2019-06-10 Timothy Hatcher <timothy@apple.com> |
| |
| Integrate dark mode support for iOS. |
| https://bugs.webkit.org/show_bug.cgi?id=198687 |
| rdar://problem/51545643 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/Platform.h: |
| |
| 2019-06-08 Andy Estes <aestes@apple.com> |
| |
| [Apple Pay] If we have a bound interface identifier, set it on new PKPaymentRequests |
| https://bugs.webkit.org/show_bug.cgi?id=198690 |
| <rdar://problem/48041803> |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/FeatureDefines.h: Defined HAVE_PASSKIT_BOUND_INTERFACE_IDENTIFIER, and cleaned up some |
| other PassKit HAVEs. |
| |
| 2019-06-06 Caio Lima <ticaiolima@gmail.com> |
| |
| [JSCOnly] JSCOnly port is not building on macOS |
| https://bugs.webkit.org/show_bug.cgi?id=198563 |
| |
| Reviewed by Don Olmstead. |
| |
| We are adding `<mach/vm_types.h>` to fix build issues when compiling |
| JSCOnly port on macOS. |
| |
| * wtf/WTFAssertions.cpp: |
| |
| 2019-06-03 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r246022. |
| https://bugs.webkit.org/show_bug.cgi?id=198486 |
| |
| Causing Internal build failures and JSC test failures |
| (Requested by ShawnRoberts on #webkit). |
| |
| Reverted changeset: |
| |
| "Reenable Gigacage on ARM64." |
| https://bugs.webkit.org/show_bug.cgi?id=198453 |
| https://trac.webkit.org/changeset/246022 |
| |
| 2019-06-03 Darin Adler <darin@apple.com> |
| |
| Finish cleanup of String::number for floating point |
| https://bugs.webkit.org/show_bug.cgi?id=198471 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/JSONValues.cpp: |
| (WTF::JSONImpl::Value::writeJSON const): Use appendNumber instead of |
| appendECMAScriptNumber, since that's now the default. |
| |
| * wtf/text/StringBuilder.cpp: |
| (WTF::StringBuilder::appendNumber): Renamed from appendShortestFormNumber. |
| * wtf/text/StringBuilder.h: Removed appendShortestFormNumber and |
| appendECMAScriptNumber, replacing both with overload of appendNumber. |
| |
| * wtf/text/WTFString.cpp: |
| (WTF::String::number): Renamed from numberToStringShortest. |
| * wtf/text/WTFString.h: Removed numberToStringShortest and |
| numberToStringECMAScript, replacing both with overload of number. |
| |
| 2019-06-02 Keith Miller <keith_miller@apple.com> |
| |
| Reenable Gigacage on ARM64. |
| https://bugs.webkit.org/show_bug.cgi?id=198453 |
| |
| Reviewed by Filip Pizlo. |
| |
| * wtf/CagedPtr.h: |
| (WTF::CagedPtr::authenticatingLoad): |
| (WTF::CagedPtr::get const): |
| (WTF::CagedPtr::getMayBeNull const): |
| |
| 2019-05-31 Alex Christensen <achristensen@webkit.org> |
| |
| URLParser::parseIPv6Host should properly parse 0's around compression |
| https://bugs.webkit.org/show_bug.cgi?id=198424 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::parseIPv6Host): |
| |
| 2019-05-31 Alex Christensen <achristensen@webkit.org> |
| |
| URLParser::parseHostAndPort should not allow non-port characters after an ipv6 host |
| https://bugs.webkit.org/show_bug.cgi?id=198428 |
| <rdar://problem/51209196> |
| |
| Reviewed by Tim Horton. |
| |
| This matches Chrome and Firefox. |
| |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::parseHostAndPort): |
| |
| 2019-05-31 Tim Horton <timothy_horton@apple.com> |
| |
| Optionally respect device management restrictions when loading from the network |
| https://bugs.webkit.org/show_bug.cgi?id=198318 |
| <rdar://problem/44263806> |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/Platform.h: |
| Add a HAVE flag for DeviceManagement.framework. |
| It does exist in the simulator, but does not function; pretend it doesn't exist. |
| |
| 2019-05-31 Geoffrey Garen <ggaren@apple.com> |
| |
| Some WeakPtr cleanup |
| https://bugs.webkit.org/show_bug.cgi?id=198390 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/WeakHashSet.h: |
| (WTF::HashTraits<Ref<WeakPtrImpl>>::isReleasedWeakValue): |
| (WTF::WeakHashSet::WeakHashSetConstIterator::WeakHashSetConstIterator): |
| Updated for rename to WeakPtrImpl. |
| |
| (WTF::WeakHashSet::WeakHashSetConstIterator::get const): Updated for new |
| get() interface. Also, switched to iterator operator* to help clarify |
| the double dereference here. |
| |
| (WTF::WeakHashSet::add): |
| (WTF::WeakHashSet::remove): |
| (WTF::WeakHashSet::contains const): |
| (WTF::WeakHashSet::computeSize const): |
| (WTF::HashTraits<Ref<WeakReference>>::isReleasedWeakValue): Deleted. |
| Updated for rename to WeakPtrImpl. |
| |
| * wtf/WeakPtr.h: |
| (WTF::WeakPtrImpl::create): |
| (WTF::WeakPtrImpl::~WeakPtrImpl): Renamed WeakReference to WeakPtrImpl. |
| Now we don't need a comment explaining that this class is the backing |
| implementation of WeakPtr. |
| |
| (WTF::WeakPtrImpl::get): Return the pointer type we stored, rather than |
| the pointer type requested by our client. It's a little too surprising |
| for a field to store one pointer type and load another. |
| |
| (WTF::WeakPtrImpl::WeakPtrImpl): Fixed a theoretical type safety bug. |
| Make sure to store T::WeakValueType* instead of T*, since they might |
| not be the same pointer value. (In practice, T and T::WeakValueType* |
| are always the same type in this constructor because WeakPtrFactory |
| makes them so, but it's best not to depend on implementation details |
| across classes.) |
| |
| (WTF::WeakPtr::get const): Updated for new get() interface. |
| |
| (WTF::WeakPtr::operator bool const): |
| (WTF::WeakPtr::operator=): |
| (WTF::WeakPtr::clear): |
| (WTF::WeakPtr::WeakPtr): Updated for WeakPtrImpl rename. |
| |
| (WTF::WeakPtrFactory::~WeakPtrFactory): Updated for WeakPtrImpl rename. |
| |
| (WTF::WeakPtrFactory::createWeakPtr const): ASSERT that the passed-in |
| pointer is equal to the stored pointer. As a space optimization, we |
| require our client to remind us what we point to each time a weak |
| pointer is created -- but nothing guarantees that our client will do |
| this correctly. |
| |
| (WTF::WeakPtrFactory::revokeAll): Updated for WeakPtrImpl rename. |
| |
| (WTF::CanMakeWeakPtr::weakPtrFactory const): |
| (WTF::CanMakeWeakPtr::weakPtrFactory): Use idiomatic accessor naming. |
| |
| (WTF::weak_ptr_impl_cast): Fixed a theoretical type safety bug. |
| Previously, if Base and Derived both inherited CanMakeWeakPtr, and |
| you casted WeakPtr<Base> to WeakPtr<Derived> (or vice versa), and |
| casting Base <-> Derived required pointer fixup, the previous |
| compile-time check would accept the cast, even though the stored pointer |
| would be wrong. |
| |
| (WTF::WeakPtr<T>::WeakPtr): |
| (WTF::=): |
| (WTF::makeWeakPtr): |
| (WTF::WeakReference::create): Deleted. |
| (WTF::WeakReference::~WeakReference): Deleted. |
| (WTF::WeakReference::get const): Deleted. |
| (WTF::WeakReference::operator bool const): Deleted. |
| (WTF::WeakReference::clear): Deleted. |
| (WTF::WeakReference::WeakReference): Deleted. |
| (WTF::weak_reference_cast): Deleted. Updated for rename to WeakPtrImpl. |
| |
| Don't export WeakPtrImpl because it's an implmenetation detail and |
| it shouldn't be easy to use outside WTF. |
| |
| 2019-05-31 Don Olmstead <don.olmstead@sony.com> |
| |
| [CMake] Add WebKit::WTF target |
| https://bugs.webkit.org/show_bug.cgi?id=198400 |
| |
| Reviewed by Konstantin Tokarev. |
| |
| Create the WebKit::WTF target and use that to propagate headers. Use |
| WEBKIT_COPY_FILES instead of WEBKIT_MAKE_FORWARDING_HEADERS. |
| |
| * wtf/CMakeLists.txt: |
| |
| 2019-05-30 Saam Barati <sbarati@apple.com> |
| |
| [WHLSL] Enforce variable lifetimes |
| https://bugs.webkit.org/show_bug.cgi?id=195794 |
| <rdar://problem/50746293> |
| |
| Reviewed by Myles C. Maxfield. |
| |
| * wtf/PrintStream.h: |
| |
| 2019-05-30 Keith Rollin <krollin@apple.com> |
| |
| Fix yet more deprecated uses of -[UIApplication interfaceOrientation] |
| https://bugs.webkit.org/show_bug.cgi?id=198381 |
| <rdar://problem/51265846> |
| |
| Reviewed by Wenson Hsieh. |
| |
| r245267, r245272, and r245874 fixed many instances of this issue; this |
| change fixes the issue for tvOS. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2019-05-29 David Kilzer <ddkilzer@apple.com> |
| |
| Clean up a few #include statements in WTF |
| <https://webkit.org/b/198351> |
| |
| Reviewed by Alex Christensen. |
| |
| * benchmarks/HashSetDFGReplay.cpp: |
| - Add missing "config.h" include. |
| * wtf/ParallelJobsGeneric.cpp: |
| - Replace include of ParallelJobs.h with |
| ParallelJobsGeneric.h. |
| * wtf/StackBounds.cpp: |
| - Fix include ordering of StackBounds.h. |
| |
| 2019-05-29 Keith Rollin <krollin@apple.com> |
| |
| Followup to r245267 and r245272: fix even more deprecated uses of -[UIApplication interfaceOrientation] |
| https://bugs.webkit.org/show_bug.cgi?id=198348 |
| <rdar://problem/51234077> |
| |
| Reviewed by Wenson Hsieh. |
| |
| r245267 and r245272 fixed many instances of this issue; this change |
| fixes the issue for watchOS. |
| |
| * wtf/FeatureDefines.h: |
| |
| 2019-05-29 David Kilzer <ddkilzer@apple.com> |
| |
| IndexedDatabase Server thread in com.apple.WebKit.Networking process leaks objects into an autoreleasePool that's never cleared |
| <https://webkit.org/b/198346> |
| <rdar://problem/50895658> |
| |
| Reviewed by Brent Fulgham. |
| |
| * wtf/CrossThreadTaskHandler.cpp: |
| (WTF::CrossThreadTaskHandler::CrossThreadTaskHandler): |
| - Add optional second argument to enable use of an |
| AutodrainedPool when running the runloop. |
| (WTF::CrossThreadTaskHandler::taskRunLoop): |
| - Create an AutodrainedPool if requested when |
| CrossThreadTaskHandler was created. |
| * wtf/CrossThreadTaskHandler.h: |
| (WTF::CrossThreadTaskHandler::AutodrainedPoolForRunLoop): |
| - Add enum class for enabling an AutodrainedPool for |
| CrossThreadTaskHandler::taskRunLoop(). |
| (WTF::CrossThreadTaskHandler::CrossThreadTaskHandler): |
| - Add optional second argument to enable use of an |
| AutodrainedPool when running the runloop. |
| |
| 2019-05-29 Geoffrey Garen <ggaren@apple.com> |
| |
| WeakPtr breaks vtables when upcasting to base classes |
| https://bugs.webkit.org/show_bug.cgi?id=188799 |
| |
| Reviewed by Youenn Fablet. |
| |
| This patch switches from reinterpret_cast to static_cast when loading |
| from WeakReference storage. |
| |
| We know which type to cast *to* because it's specified by the type of |
| the calling WeakPtr. |
| |
| We know which type to cast *from* because it's specified by a typedef |
| in CanMakeWeakPtr. |
| |
| (Our convention is that we store a pointer to the class that derives |
| from CanMakeWeakPtr. We cast from that pointer to derived pointers when |
| we get(). This means that #include of the derived type header is now |
| required in order to get() the pointer.) |
| |
| * wtf/WeakHashSet.h: |
| (WTF::HashTraits<Ref<WeakReference>>::isReleasedWeakValue): Definition |
| is now eagerly required because WeakReference is not a template anymore. |
| |
| (WTF::WeakHashSet::WeakHashSetConstIterator::get const): |
| (WTF::WeakHashSet::WeakHashSetConstIterator::skipEmptyBuckets): |
| (WTF::WeakHashSet::remove): |
| (WTF::WeakHashSet::contains const): |
| (WTF::WeakHashSet::computesEmpty const): |
| (WTF::WeakHashSet::hasNullReferences const): |
| (WTF::WeakHashSet::computeSize const): |
| (WTF::HashTraits<Ref<WeakReference<T>>>::isReleasedWeakValue): Deleted. |
| Updated for new WeakReference get() API. |
| |
| * wtf/WeakPtr.h: Use a macro for TestAPI support. We can't use template |
| specialization because WeakReference is not a class template anymore. |
| (Or maybe we could have kept it working with a dummy template argument? |
| Felt weird, so I switched.) |
| |
| (WTF::WeakReference::create): |
| (WTF::WeakReference::~WeakReference): |
| (WTF::WeakReference::get const): |
| (WTF::WeakReference::operator bool const): |
| (WTF::WeakReference::WeakReference): WeakReference is just a void* now. |
| It's the caller's responsibility, when creating and getting, to use |
| a consistent storage type. We ensure a canonical storage type using a |
| typedef inside CanMakeWeakPtr. |
| |
| (WTF::WeakPtr::WeakPtr): |
| (WTF::WeakPtr::get const): |
| (WTF::WeakPtr::operator bool const): |
| (WTF::WeakPtr::operator-> const): |
| (WTF::WeakPtr::operator* const): Adopted new WeakReference API. |
| |
| (WTF::WeakPtrFactory::createWeakPtr const): No need for reinterpret_cast. |
| |
| (WTF::weak_reference_cast): This isn't required for correctness, but it's |
| nice to show a complier error at WeakPtr construction sites when you know |
| that the types won't work. Otherwise, you get compiler errors at |
| dereference sites, which are slightly more mysterious ways of saying that |
| you constructed your WeakPtr incorrectly. |
| |
| (WTF::WeakPtr<T>::WeakPtr): |
| (WTF::=): |
| (WTF::makeWeakPtr): |
| (WTF::weak_reference_upcast): Deleted. |
| (WTF::weak_reference_downcast): Deleted. |
| |
| 2019-05-29 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r245857. |
| |
| Breaks internal builds. |
| |
| Reverted changeset: |
| |
| "WeakPtr breaks vtables when upcasting to base classes" |
| https://bugs.webkit.org/show_bug.cgi?id=188799 |
| https://trac.webkit.org/changeset/245857 |
| |
| 2019-05-28 Geoffrey Garen <ggaren@apple.com> |
| |
| WeakPtr breaks vtables when upcasting to base classes |
| https://bugs.webkit.org/show_bug.cgi?id=188799 |
| |
| Reviewed by Youenn Fablet. |
| |
| This patch switches from reinterpret_cast to static_cast when loading |
| from WeakReference storage. |
| |
| We know which type to cast *to* because it's specified by the type of |
| the calling WeakPtr. |
| |
| We know which type to cast *from* because it's specified by a typedef |
| in CanMakeWeakPtr. |
| |
| (Our convention is that we store a pointer to the class that derives |
| from CanMakeWeakPtr. We cast from that pointer to derived pointers when |
| we get(). This means that #include of the derived type header is now |
| required in order to get() the pointer.) |
| |
| * wtf/WeakHashSet.h: |
| (WTF::HashTraits<Ref<WeakReference>>::isReleasedWeakValue): Definition |
| is now eagerly required because WeakReference is not a template anymore. |
| |
| (WTF::WeakHashSet::WeakHashSetConstIterator::get const): |
| (WTF::WeakHashSet::WeakHashSetConstIterator::skipEmptyBuckets): |
| (WTF::WeakHashSet::remove): |
| (WTF::WeakHashSet::contains const): |
| (WTF::WeakHashSet::computesEmpty const): |
| (WTF::WeakHashSet::hasNullReferences const): |
| (WTF::WeakHashSet::computeSize const): |
| (WTF::HashTraits<Ref<WeakReference<T>>>::isReleasedWeakValue): Deleted. |
| Updated for new WeakReference get() API. |
| |
| * wtf/WeakPtr.h: Use a macro for TestAPI support. We can't use template |
| specialization because WeakReference is not a class template anymore. |
| (Or maybe we could have kept it working with a dummy template argument? |
| Felt weird, so I switched.) |
| |
| (WTF::WeakReference::create): |
| (WTF::WeakReference::~WeakReference): |
| (WTF::WeakReference::get const): |
| (WTF::WeakReference::operator bool const): |
| (WTF::WeakReference::WeakReference): WeakReference is just a void* now. |
| It's the caller's responsibility, when creating and getting, to use |
| a consistent storage type. We ensure a canonical storage type using a |
| typedef inside CanMakeWeakPtr. |
| |
| (WTF::WeakPtr::WeakPtr): |
| (WTF::WeakPtr::get const): |
| (WTF::WeakPtr::operator bool const): |
| (WTF::WeakPtr::operator-> const): |
| (WTF::WeakPtr::operator* const): Adopted new WeakReference API. |
| |
| (WTF::WeakPtrFactory::createWeakPtr const): No need for reinterpret_cast. |
| |
| (WTF::weak_reference_cast): This isn't required for correctness, but it's |
| nice to show a complier error at WeakPtr construction sites when you know |
| that the types won't work. Otherwise, you get compiler errors at |
| dereference sites, which are slightly more mysterious ways of saying that |
| you constructed your WeakPtr incorrectly. |
| |
| (WTF::WeakPtr<T>::WeakPtr): |
| (WTF::=): |
| (WTF::makeWeakPtr): |
| (WTF::weak_reference_upcast): Deleted. |
| (WTF::weak_reference_downcast): Deleted. |
| |
| 2019-05-27 Chris Dumez <cdumez@apple.com> |
| |
| Use a strongly-typed identifier for pages |
| https://bugs.webkit.org/show_bug.cgi?id=198206 |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/ObjectIdentifier.h: |
| (WTF::operator<<): |
| |
| 2019-05-23 Don Olmstead <don.olmstead@sony.com> |
| |
| [CMake] Use target oriented design for bmalloc |
| https://bugs.webkit.org/show_bug.cgi?id=198046 |
| |
| Reviewed by Konstantin Tokarev. |
| |
| Use WebKit::bmalloc target. |
| |
| * wtf/CMakeLists.txt: |
| |
| 2019-05-23 Ross Kirsling <ross.kirsling@sony.com> |
| |
| [PlayStation] Implement platformUserPreferredLanguages. |
| https://bugs.webkit.org/show_bug.cgi?id=198149 |
| |
| Reviewed by Fujii Hironori. |
| |
| * wtf/PlatformPlayStation.cmake: |
| * wtf/playstation/LanguagePlayStation.cpp: Added. |
| (WTF::platformUserPreferredLanguages): |
| |
| 2019-05-22 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| font-optical-sizing applies the wrong variation value |
| https://bugs.webkit.org/show_bug.cgi?id=197528 |
| <rdar://problem/50152854> |
| |
| Reviewed by Antti Koivisto. |
| |
| * wtf/Platform.h: |
| |
| 2019-05-22 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r245598. |
| |
| Breaks watchOS build. |
| |
| Reverted changeset: |
| |
| "font-optical-sizing applies the wrong variation value" |
| https://bugs.webkit.org/show_bug.cgi?id=197528 |
| https://trac.webkit.org/changeset/245598 |
| |
| 2019-05-21 Ross Kirsling <ross.kirsling@sony.com> |
| |
| [PlayStation] Don't call fcntl. |
| https://bugs.webkit.org/show_bug.cgi?id=197961 |
| |
| Reviewed by Fujii Hironori. |
| |
| * wtf/PlatformGTK.cmake: |
| * wtf/PlatformJSCOnly.cmake: |
| * wtf/PlatformPlayStation.cmake: |
| * wtf/PlatformWPE.cmake: |
| * wtf/UniStdExtras.h: |
| * wtf/playstation/UniStdExtrasPlayStation.cpp: Added. |
| (WTF::setCloseOnExec): |
| (WTF::dupCloseOnExec): |
| (WTF::setNonBlock): |
| * wtf/unix/UniStdExtrasUnix.cpp: Renamed from Source/WTF/wtf/UniStdExtras.cpp. |
| (WTF::setNonBlock): |
| Move UniStdExtras to unix/, add a PlayStation version that doesn't use fcntl, add an abstraction for O_NONBLOCK. |
| |
| 2019-05-20 Tadeu Zagallo <tzagallo@apple.com> |
| |
| Only cache bytecode for API clients in data vaults |
| https://bugs.webkit.org/show_bug.cgi?id=197898 |
| |
| Reviewed by Keith Miller. |
| |
| Add SPI to check if a filesystem path is restricted as a data vault. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/spi/darwin/DataVaultSPI.h: Added. |
| |
| 2019-05-20 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GLIB] Repeating timer is not stopped when stop is called from the callback |
| https://bugs.webkit.org/show_bug.cgi?id=197986 |
| |
| Reviewed by Michael Catanzaro. |
| |
| In case of repeating timers we always update the ready time to fire interval after the user callback is called. |
| |
| * wtf/glib/RunLoopGLib.cpp: |
| (WTF::RunLoop::TimerBase::stop): Reset m_fireInterval and m_isRepeating. |
| |
| 2019-05-19 Darin Adler <darin@apple.com> |
| |
| Change String::number to use "shortest" instead of "fixed precision 6 digits" |
| https://bugs.webkit.org/show_bug.cgi?id=178319 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/text/StringBuilder.h: Delete appendNumber for floating point and |
| appendECMAScriptNumber for single-precision. |
| |
| * wtf/text/WTFString.h: Delete String::number for floating point and |
| numberToStringECMAScript for single-precision. |
| |
| 2019-05-18 Tadeu Zagallo <tzagallo@apple.com> |
| |
| Add extra information to dumpJITMemory |
| https://bugs.webkit.org/show_bug.cgi?id=197998 |
| |
| Reviewed by Saam Barati. |
| |
| Add a new trace point code for JSC::dumpJITMemory |
| |
| * wtf/SystemTracing.h: |
| |
| 2019-05-17 Don Olmstead <don.olmstead@sony.com> |
| |
| [CMake] Use builtin FindICU |
| https://bugs.webkit.org/show_bug.cgi?id=197934 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Remove uses of ICU_INCLUDE_DIRS and ICU_LIBRARIES. Use ICU:: targets which end |
| up propagating to all consumers of WTF. |
| |
| * wtf/CMakeLists.txt: |
| * wtf/PlatformPlayStation.cmake: |
| |
| 2019-05-17 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r245418. |
| https://bugs.webkit.org/show_bug.cgi?id=197989 |
| |
| New API test causing crashes on Mojave testers (Requested by |
| ShawnRoberts 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/245418 |
| |
| 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 == |