| 2022-03-30 Chris Dumez <cdumez@apple.com> |
| |
| Add HashTranslator for ASCIILiteral for faster lookup in HashMaps / HashSets |
| https://bugs.webkit.org/show_bug.cgi?id=238521 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Add HashTranslator for ASCIILiteral for faster lookup in HashMaps / HashSets using an ASCIILiteral, |
| without the need for allocating a String. |
| |
| * wtf/text/StringImpl.h: |
| * wtf/text/WTFString.h: |
| (WTF::HashTranslatorASCIILiteral::hash): |
| (WTF::HashTranslatorASCIILiteral::equal): |
| (WTF::HashTranslatorASCIILiteral::translate): |
| |
| 2022-03-30 Youenn Fablet <youenn@apple.com> |
| |
| Implement ServiceWorker WindowClient.ancestorOrigins |
| https://bugs.webkit.org/show_bug.cgi?id=238441 |
| |
| Reviewed by Chris Dumez. |
| |
| Update UniqueRef and HashTraits to not use a private constructor when creating empty values. |
| |
| * wtf/HashTraits.h: |
| * wtf/UniqueRef.h: |
| |
| 2022-03-28 Sihui Liu <sihui_liu@apple.com> |
| |
| Disable custom storage paths for IndexedDB and LocalStorage by default |
| https://bugs.webkit.org/show_bug.cgi?id=236977 |
| <rdar://problem/89559929> |
| |
| Reviewed by Geoffrey Garen. |
| |
| Add an internal debug feature for using genreal directory for storage. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2022-03-28 Chris Dumez <cdumez@apple.com> |
| |
| Prepare WebCore for making the String(const char*) constructor explicit |
| https://bugs.webkit.org/show_bug.cgi?id=238408 |
| |
| Reviewed by Geoff Garen. |
| |
| Prepare WebCore for making the String(const char*) constructor explicit. |
| Making this constructor explicit helps findings cases where a String is constructed |
| from a literal without the ""_s suffix. |
| |
| * wtf/text/WTFString.h: |
| (WTF::equalIgnoringASCIICase): |
| |
| 2022-03-28 Brady Eidson <beidson@apple.com> |
| |
| Support ServiceWorkerClients.openWindow. |
| <rdar://90616651> and https://bugs.webkit.org/show_bug.cgi?id=238400 |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/HashTable.h: |
| (WTF::KeyTraits>::inlineLookup): Relax this value size requirement for now. |
| The required refactoring is best left as a seperate task with a seperate patch. |
| |
| 2022-03-28 Chris Dumez <cdumez@apple.com> |
| |
| Use StringView for Yarr / RegularExpression parsing |
| https://bugs.webkit.org/show_bug.cgi?id=238420 |
| |
| Reviewed by Sam Weinig. |
| |
| Add convenience characters() templated function to StringView, to match String and StringImpl. |
| |
| * wtf/text/StringView.h: |
| (WTF::StringView::characters<LChar> const): |
| (WTF::StringView::characters<UChar> const): |
| |
| 2022-03-27 Alexander Mikhaylenko <alexm@gnome.org> |
| |
| [GTK][WPE] Support CSS accent-color |
| https://bugs.webkit.org/show_bug.cgi?id=238398 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: Enable accent-color for GTK and WPE. |
| |
| 2022-03-26 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Use static_assert instead of COMPILE_ASSERT |
| https://bugs.webkit.org/show_bug.cgi?id=238417 |
| |
| Reviewed by Mark Lam. |
| |
| Use C++ static_assert instead of COMPILE_ASSERT. |
| Currently keeping it since it was also used in Internal code too. |
| |
| * wtf/CrossThreadCopier.cpp: |
| * wtf/JSONValues.cpp: |
| (WTF::JSONImpl::ObjectBase::asObject): |
| (WTF::JSONImpl::ObjectBase::asObject const): |
| (WTF::JSONImpl::ArrayBase::asArray): |
| * wtf/JSONValues.h: |
| * wtf/glib/FileSystemGlib.cpp: |
| (WTF::FileSystemImpl::lockFile): |
| * wtf/posix/FileSystemPOSIX.cpp: |
| (WTF::FileSystemImpl::lockFile): |
| * wtf/text/AtomString.h: |
| |
| 2022-03-26 Youenn Fablet <youenn@apple.com> |
| |
| Implement ServiceWorkerWindowClient.focus |
| https://bugs.webkit.org/show_bug.cgi?id=238319 |
| <rdar://90616490> |
| |
| Reviewed by Brady Eidson. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2022-03-26 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Use unary static_assert |
| https://bugs.webkit.org/show_bug.cgi?id=238412 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/CompactPointerTuple.h: |
| * wtf/FastMalloc.h: |
| * wtf/FunctionTraits.h: |
| (WTF::slotsForCCallArgument): |
| * wtf/Int128.cpp: |
| * wtf/MallocPtr.h: |
| * wtf/Markable.h: |
| (WTF::std::underlying_type<EnumType>::type>::max): |
| * wtf/PtrTag.h: |
| (WTF::tagInt): |
| * wtf/Seconds.h: |
| * wtf/StdLibExtras.h: |
| (WTF::roundUpToMultipleOf): |
| * wtf/SystemFree.h: |
| * wtf/UnalignedAccess.h: |
| (WTF::unalignedLoad): |
| (WTF::unalignedStore): |
| * wtf/UniqueArray.h: |
| (WTF::makeUniqueArray): |
| * wtf/WTFAssertions.cpp: |
| * wtf/text/StringConcatenate.h: |
| (WTF::tryMakeStringFromAdapters): |
| * wtf/text/StringImpl.h: |
| * wtf/text/SymbolImpl.h: |
| |
| 2022-03-25 Chris Dumez <cdumez@apple.com> |
| |
| Use StringView::split() instead of String::split() in more places |
| https://bugs.webkit.org/show_bug.cgi?id=238362 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Use StringView::split() instead of String::split() where suitable and more efficient. |
| |
| * wtf/Assertions.cpp: |
| * wtf/text/StringView.cpp: |
| (WTF::StringView::stripWhiteSpace const): |
| * wtf/text/StringView.h: |
| (WTF::StringView::toDouble const): |
| (WTF::StringView::stripLeadingAndTrailingMatchedCharacters const): |
| (WTF::StringView::stripLeadingAndTrailingMatchedCharacters): Deleted. |
| |
| 2022-03-25 Antoine Quint <graouts@webkit.org> |
| |
| [web-animations] enable support for mutable timelines by default |
| https://bugs.webkit.org/show_bug.cgi?id=237958 |
| <rdar://problem/90370794> |
| |
| Reviewed by Dean Jackson. |
| |
| Both Chrome and Firefox have been shipping this feature for quite some time. |
| Our support for it is complete, we just need to turn it on by default. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2022-03-25 Chris Dumez <cdumez@apple.com> |
| |
| Start preparing WebCore for making the String(const char*) constructor explicit |
| https://bugs.webkit.org/show_bug.cgi?id=238336 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Start preparing WebCore for making the String(const char*) constructor explicit. |
| Making this constructor explicit helps catch at compile time cases where the ""_s |
| prefix is missing on String literals. |
| |
| * wtf/text/TextStream.h: |
| (WTF::TextStream::dumpProperty): |
| |
| 2022-03-24 Chris Dumez <cdumez@apple.com> |
| |
| String::split() should take in a StringView instead of a String |
| https://bugs.webkit.org/show_bug.cgi?id=238355 |
| |
| Reviewed by Geoffrey Garen. |
| |
| String::split() should take in a StringView instead of a String, to avoid unnecessary construction |
| of Strings in some instances. |
| |
| * wtf/text/WTFString.cpp: |
| (WTF::String::splitInternal const): |
| (WTF::String::split const): |
| (WTF::String::splitAllowingEmptyEntries const): |
| * wtf/text/WTFString.h: |
| |
| 2022-03-24 Chris Dumez <cdumez@apple.com> |
| |
| FileSystem::pathByAppendingComponent() should take in StringViews instead of Strings |
| https://bugs.webkit.org/show_bug.cgi?id=238344 |
| |
| Reviewed by Geoff Garen. |
| |
| FileSystem::pathByAppendingComponent() should take in StringViews instead of Strings, to avoid |
| unnecessary String constructor in many instances. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::pathByAppendingComponent): |
| * wtf/FileSystem.h: |
| * wtf/posix/FileSystemPOSIX.cpp: |
| (WTF::FileSystemImpl::pathByAppendingComponent): |
| |
| 2022-03-24 Chris Dumez <cdumez@apple.com> |
| |
| String's startsWith() / endsWith() / replace() should take in a StringView instead of a String |
| https://bugs.webkit.org/show_bug.cgi?id=238333 |
| |
| Reviewed by Geoff Garen. |
| |
| String's startsWith() / endsWith() / replace() should take in a StringView instead of a String, |
| to avoid unnecessary String creation in many instances. |
| |
| * wtf/text/AtomString.h: |
| * wtf/text/StringCommon.h: |
| (WTF::startsWith): Deleted. |
| (WTF::startsWithIgnoringASCIICase): Deleted. |
| (WTF::endsWith): Deleted. |
| (WTF::endsWithIgnoringASCIICase): Deleted. |
| * wtf/text/StringImpl.cpp: |
| (WTF::equalInner): |
| (WTF::StringImpl::startsWith const): |
| (WTF::StringImpl::startsWithIgnoringASCIICase const): |
| (WTF::StringImpl::hasInfixStartingAt const): |
| (WTF::StringImpl::endsWith): |
| (WTF::StringImpl::endsWithIgnoringASCIICase const): |
| (WTF::StringImpl::hasInfixEndingAt const): |
| (WTF::StringImpl::replace): |
| * wtf/text/StringImpl.h: |
| (WTF::StringImpl::startsWith const): Deleted. |
| (WTF::StringImpl::endsWith const): Deleted. |
| * wtf/text/StringView.h: |
| (WTF::startsWith): |
| (WTF::startsWithIgnoringASCIICase): |
| (WTF::endsWith): |
| (WTF::endsWithIgnoringASCIICase): |
| (WTF::String::replace): |
| (WTF::String::startsWith const): |
| (WTF::String::startsWithIgnoringASCIICase const): |
| (WTF::String::endsWith const): |
| (WTF::String::endsWithIgnoringASCIICase const): |
| (WTF::String::hasInfixStartingAt const): |
| (WTF::String::hasInfixEndingAt const): |
| (WTF::AtomString::startsWith const): |
| (WTF::AtomString::startsWithIgnoringASCIICase const): |
| (WTF::AtomString::endsWith const): |
| (WTF::AtomString::endsWithIgnoringASCIICase const): |
| * wtf/text/WTFString.h: |
| |
| 2022-03-24 Don Olmstead <don.olmstead@sony.com> |
| |
| [GLib] Add user directories to WTF::FileSystem |
| https://bugs.webkit.org/show_bug.cgi?id=238348 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| Add FileSystem::userCacheDirectory and FileSystem::userDataDirectory which call into |
| g_get_user_cache_dir and g_get_user_data_dir respectively. |
| |
| * wtf/FileSystem.h: |
| * wtf/glib/FileSystemGlib.cpp: |
| (WTF::FileSystemImpl::userCacheDirectory): |
| (WTF::FileSystemImpl::userDataDirectory): |
| |
| 2022-03-24 Devin Rousso <drousso@apple.com> |
| |
| [iOS] make `WKMouseGestureRecognizer` officially conform to `_UIHoverEventRespondable` |
| https://bugs.webkit.org/show_bug.cgi?id=238242 |
| <rdar://problem/88828903> |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformHave.h: |
| |
| 2022-03-24 Chris Dumez <cdumez@apple.com> |
| |
| String's find() / reverseFind() / replace() should take in a StringView instead of a String |
| https://bugs.webkit.org/show_bug.cgi?id=238287 |
| |
| Reviewed by Darin Adler. |
| |
| String's find() / reverseFind() / replace() should take in a StringView instead of a String |
| to avoid unnecessary String construction in many cases. We should probably do the same for |
| more String functions where we don't really need a String parameter, but those will be |
| addressed separately. |
| |
| * wtf/text/AtomString.h: |
| * wtf/text/StringCommon.h: |
| (WTF::findCommon): Deleted. |
| * wtf/text/StringImpl.cpp: |
| (WTF::StringImpl::find): |
| (WTF::StringImpl::findIgnoringASCIICase const): |
| (WTF::StringImpl::reverseFind): |
| (WTF::StringImpl::replace): |
| * wtf/text/StringImpl.h: |
| * wtf/text/StringView.h: |
| (WTF::findCommon): |
| (WTF::findIgnoringASCIICase): |
| (WTF::String::find const): |
| (WTF::String::findIgnoringASCIICase const): |
| (WTF::String::reverseFind const): |
| (WTF::String::contains const): |
| (WTF::String::containsIgnoringASCIICase const): |
| (WTF::String::replace): |
| (WTF::AtomString::find const): |
| (WTF::AtomString::findIgnoringASCIICase const): |
| (WTF::AtomString::contains const): |
| (WTF::AtomString::containsIgnoringASCIICase const): |
| * wtf/text/WTFString.h: |
| |
| 2022-03-23 Chris Dumez <cdumez@apple.com> |
| |
| Inline String(ASCIILiteral) constructor so the compiler can optimize out strlen() |
| https://bugs.webkit.org/show_bug.cgi?id=238162 |
| |
| Reviewed by Geoffrey Garen. |
| |
| I have verified using a profiler that strlen() is no longer called under String::String(WTF::ASCIILiteral) |
| or StringImpl::createFromLiteral(WTF::ASCIILiteral) when running Speedometer. |
| |
| * wtf/text/StringImpl.cpp: |
| * wtf/text/StringImpl.h: |
| (WTF::StringImpl::createFromLiteral): |
| * wtf/text/WTFString.cpp: |
| * wtf/text/WTFString.h: |
| (WTF::String::String): |
| |
| 2022-03-23 Alex Christensen <achristensen@webkit.org> |
| |
| Add off-by-default experimental feature for app store attribution |
| https://bugs.webkit.org/show_bug.cgi?id=238294 |
| |
| Reviewed by John Wilander. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2022-03-23 Chris Dumez <cdumez@apple.com> |
| |
| Prepare JSC for making the String(const char*) constructor explicit |
| https://bugs.webkit.org/show_bug.cgi?id=238264 |
| |
| Reviewed by Geoff Garen. |
| |
| * wtf/ResourceUsage.h: |
| * wtf/cocoa/ResourceUsageCocoa.cpp: |
| (WTF::displayNameForVMTag): |
| * wtf/text/WTFString.cpp: |
| (WTF::String::numberToStringFixedPrecision): |
| (WTF::String::number): |
| (WTF::String::numberToStringFixedWidth): |
| * wtf/text/WTFString.h: |
| |
| 2022-03-22 Alex Christensen <achristensen@webkit.org> |
| |
| Implement PCM to SKAdNetwork bridge |
| https://bugs.webkit.org/show_bug.cgi?id=237969 |
| <rdar://82988054> |
| |
| Reviewed by John Wilander. |
| |
| * wtf/PlatformHave.h: |
| |
| 2022-03-22 Chris Dumez <cdumez@apple.com> |
| |
| Add URL::stringWithoutFragmentIdentifier() overload which returns a String instead of a StringView |
| https://bugs.webkit.org/show_bug.cgi?id=238221 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::viewWithoutQueryOrFragmentIdentifier const): |
| (WTF::URL::viewWithoutFragmentIdentifier const): |
| (WTF::URL::stringWithoutFragmentIdentifier const): |
| (WTF::equalIgnoringFragmentIdentifier): |
| (WTF::URL::stringWithoutQueryOrFragmentIdentifier const): Deleted. |
| * wtf/URL.h: |
| |
| 2022-03-22 Per Arne Vollan <pvollan@apple.com> |
| |
| Enable content filtering in the Network process |
| https://bugs.webkit.org/show_bug.cgi?id=238156 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Set the feature flag. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2022-03-19 Chris Dumez <cdumez@apple.com> |
| |
| Vector move constructor and move assignment operator are suboptimal when the vector has an inline buffer |
| https://bugs.webkit.org/show_bug.cgi?id=238096 |
| |
| Reviewed by Darin Adler. |
| |
| The move constructor (and move assignment operators) for Vector were implemented using Vector::swap(), which |
| is fine for vectors with out of line buffers because we're just swapping pointers. However, when the vector |
| has inline capacity, this is suboptimal because it is not cheap to move data from one inline buffer to another |
| and moving any data to the source buffer is unnecessary. |
| |
| * wtf/Vector.h: |
| (WTF::VectorBuffer::VectorBuffer): |
| (WTF::VectorBuffer::adopt): |
| (WTF::Malloc>::Vector): |
| (WTF::=): |
| |
| 2022-03-18 Philippe Normand <pnormand@igalia.com> |
| |
| [GStreamer] Initial import of the GstWebRTC backend |
| https://bugs.webkit.org/show_bug.cgi?id=236540 |
| |
| Reviewed by Carlos Garcia Campos and Xabier Rodriguez-Calvar. |
| |
| * Scripts/Preferences/WebPreferences.yaml: Unconditionally enable WebRTC when GstWebRTC is |
| enabled. We don't have a runtime Provider yet. |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: Disable encoded transforms unless libwebrtc is enabled. |
| * wtf/glib/GRefPtr.cpp: Add GArray handling. |
| (WTF::refGPtr): |
| (WTF::derefGPtr): |
| * wtf/glib/GRefPtr.h: |
| |
| 2022-03-18 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GLIB] Make it possible to call GRefPtr::outPtr() multiple times wihtout an explicit clear |
| https://bugs.webkit.org/show_bug.cgi?id=238070 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| Clear the GRefPtr before returning the value in outPtr(), similar to what GUniqueOutPtr does, since it's easy to |
| forget to explicitly call clear from the callers. |
| |
| * wtf/glib/GRefPtr.h: |
| (WTF::GRefPtr::outPtr): |
| |
| 2022-03-18 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Add a public build option for PDF.js |
| https://bugs.webkit.org/show_bug.cgi?id=238023 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| * wtf/PlatformEnable.h: |
| |
| 2022-03-17 Keith Miller <keith_miller@apple.com> |
| |
| tryReserveUncommittedAligned should round up to alignment not bytes requested |
| https://bugs.webkit.org/show_bug.cgi?id=238052 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/posix/OSAllocatorPOSIX.cpp: |
| (WTF::OSAllocator::tryReserveUncommittedAligned): |
| |
| 2022-03-17 Keith Miller <keith_miller@apple.com> |
| |
| Fix crash in Bleacher Report due to bad JSObjectRef passed to API |
| https://bugs.webkit.org/show_bug.cgi?id=238048 |
| <rdar://88766464> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/cocoa/RuntimeApplicationChecksCocoa.h: |
| |
| 2022-03-16 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [WebGPU] Implement first draft of buffer mapping according to the spec |
| https://bugs.webkit.org/show_bug.cgi?id=237870 |
| |
| Reviewed by Kimmo Kinnunen. |
| |
| WTF classes usually have 'using' statements so users don't have to qualify all uses. |
| |
| * wtf/Range.h: |
| |
| 2022-03-15 Patrick Griffis <pgriffis@igalia.com> |
| |
| Add initial implementation of Fetch Metadata |
| https://bugs.webkit.org/show_bug.cgi?id=204744 |
| |
| Reviewed by Youenn Fablet. |
| |
| Add new experimental preference for Fetch Metadata, disabled by default. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2022-03-15 Philippe Normand <pnormand@igalia.com> |
| |
| Unreviewed, CMake Debug build fix attempt after 248407@main |
| |
| * wtf/CMakeLists.txt: Include StackCheck source unit. |
| |
| 2022-03-15 Aditya Keerthi <akeerthi@apple.com> |
| |
| [iOS] Indefinite hang when printing using a UIPrintPageRenderer |
| https://bugs.webkit.org/show_bug.cgi?id=237835 |
| rdar://90002387 |
| |
| Reviewed by Devin Rousso. |
| |
| Remove unused HAVE macro. |
| |
| * wtf/PlatformHave.h: |
| |
| 2022-03-15 Jer Noble <jer.noble@apple.com> |
| |
| [Cocoa] Adopt AVAssetPrefersSandboxedParsingOptionKey |
| https://bugs.webkit.org/show_bug.cgi?id=237832 |
| <rdar://89029829> |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2022-03-14 Mark Lam <mark.lam@apple.com> |
| |
| Enhance StackCheck debugging support and bump up the ASAN reserved zone size. |
| https://bugs.webkit.org/show_bug.cgi?id=237805 |
| |
| Reviewed by Robin Morisset. |
| |
| 1. Apply the ASAN multiplier to StackBound::DefaultReservedZone instead of just |
| in the StackCheck class. This ensures that all stack checks using this |
| default value gets the necessary bump for ASAN as well. |
| |
| Also bump the ASAN multipler from 2 to 3. We have evidence that an ASAN Debug |
| build inflates stack usage more than 2x over a non-ASAN Debug build. |
| |
| 2. Enhance the StackCheck class to dump some debugging information when |
| VERIFY_STACK_CHECK_RESERVED_ZONE_SIZE is enabled. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/StackBounds.h: |
| * wtf/StackCheck.cpp: Added. |
| (WTF::StackCheck::Scope::reportVerificationFailureAndCrash): |
| * wtf/StackCheck.h: |
| (WTF::StackCheck::Scope::Scope): |
| (WTF::StackCheck::Scope::~Scope): |
| (WTF::StackCheck::StackCheck): |
| |
| 2022-03-12 Tim Horton <timothy_horton@apple.com> |
| |
| Fail the build if Internal or Experimental web preferences are missing human readable names |
| https://bugs.webkit.org/show_bug.cgi?id=237813 |
| |
| Reviewed by Alex Christensen. |
| |
| * Scripts/GeneratePreferences.rb: |
| Ensure that all preferences that expose human readable strings to the |
| API client actually have such a name. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| Add one missing human readable preference name. |
| |
| 2022-03-12 Tim Horton <timothy_horton@apple.com> |
| |
| Adopt FALLBACK_PLATFORM_NAME in place of FALLBACK_PLATFORM |
| https://bugs.webkit.org/show_bug.cgi?id=237809 |
| |
| Reviewed by Per Arne Vollan. |
| |
| * Configurations/SDKVariant.xcconfig: |
| |
| 2022-03-11 Chris Dumez <cdumez@apple.com> |
| |
| IPC thread's QOS should match the sending thread's QOS when calling sendSync() |
| https://bugs.webkit.org/show_bug.cgi?id=237800 |
| <rdar://problem/90061548> |
| |
| Reviewed by Geoffrey Garen. |
| |
| Add function to get the QoS of the current thread. |
| |
| * wtf/Threading.cpp: |
| (WTF::toQOS): |
| (WTF::Thread::currentThreadQOS): |
| * wtf/Threading.h: |
| |
| 2022-03-11 Elliott Williams <emw@apple.com> |
| |
| [Xcode] "Nest Headers" script phases copy headers incorrectly on Catalyst |
| https://bugs.webkit.org/show_bug.cgi?id=237793 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| SDK_VARIANT needs to be passed into the nested `xcodebuild` invocation that these script |
| phases run. Pass WK_USE_ALTERNATE_FRAMEWORKS_DIR=NO to prevent the default behavior where |
| Catalyst content is installed to /System/iOSSupport, as this causes headers to be copied to |
| WebKitBuild/Release/System/iOSSupport/... |
| |
| This script phases only run under the legacy build system, so they do not affect production |
| builds. https://commits.webkit.org/247656@main provides more context on this hack (tl;dr |
| it's a temporary workaround for the XCBuild migration). |
| |
| * WTF.xcodeproj/project.pbxproj: |
| |
| 2022-03-10 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Add a unit tests to check the remote inspector HTTP server |
| https://bugs.webkit.org/show_bug.cgi?id=237708 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * wtf/glib/SocketConnection.h: Export close(). |
| |
| 2022-03-10 Youenn Fablet <youenn@apple.com> |
| |
| Enable Permissions API by default on Cocoa ports |
| https://bugs.webkit.org/show_bug.cgi?id=237699 |
| |
| Reviewed by Brent Fulgham. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2022-03-10 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK][WPE] Add initial support for PDF documents using PDF.js |
| https://bugs.webkit.org/show_bug.cgi?id=237513 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Enable PDF.js for GTK and WPE ports. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2022-03-08 Robin Morisset <rmorisset@apple.com> |
| |
| [WTF] LikelyDenseUnsignedIntegerSet::add can cause a reindexing of the entire bit vector with every call in the worst case |
| https://bugs.webkit.org/show_bug.cgi?id=236997 |
| |
| Reviewed by Saam Barati. |
| |
| This problem was found while investigating https://bugs.webkit.org/show_bug.cgi?id=236269. |
| |
| LikelyDenseUnsignedIntegerSet has two forms: either as a HashSet (if sparse) or as a BitVector representing numbers above some value m_min (if sufficiently dense). |
| This is a massive memory win in most situations (>4x in practice for register allocation in JS2, >20x on some pathological webpages). |
| But it means that when adding a value below m_min to a set in BitVector shape, we have to rebuild the whole set, which takes a time proportional to the time of the set. |
| So if building a set by repeatedly adding decreasing values (like in https://bugs.webkit.org/show_bug.cgi?id=236269 where we add 10000, then 9999, then 9998, etc..), we have some awful performance. |
| |
| In this patch I improve this situation in two ways: |
| - First I always round down m_min to the next multiple of 64. This means that when adding contiguous values like above we only re-index once every 64 adds. |
| - It then allows me to do the reindexing by simple memcpy instead of costly iteration of all the set bits, since they are now always at the same offset within the words of the BitVector. |
| |
| On an M1 MBP, on testair:: testZDefOfSpillSlotWithOffsetNeedingToBeMaterializedInARegister, with n=5000, in release mode, measuring just the time spent building the interference graph: |
| Before this patch: 107 s |
| After this patch: 77 ms (note the different unit, it is not a typo!) |
| |
| Unfortunately, it does not seem to significantly improve the time spent in LikelyDenseUnsignedIntgerSet::add in JetStream2, |
| probably because the pattern of always adding a value just before the minimum is quite pathological/rare. |
| I still think it is worth landing, as we don't know what code out there may hit this performance problem. |
| |
| * wtf/BitVector.cpp: |
| (WTF::BitVector::shiftRightByMultipleOf64): |
| (WTF::BitVector::resizeOutOfLine): |
| * wtf/BitVector.h: |
| * wtf/LikelyDenseUnsignedIntegerSet.h: |
| (WTF::LikelyDenseUnsignedIntegerSet::add): |
| (WTF::LikelyDenseUnsignedIntegerSet::validate const): |
| (WTF::LikelyDenseUnsignedIntegerSet::transitionToBitVector): |
| |
| 2022-03-08 Alex Christensen <achristensen@webkit.org> |
| |
| Fix Windows debug build |
| https://bugs.webkit.org/show_bug.cgi?id=237617 |
| |
| Reviewed by Fujii Hironori. |
| |
| MSVC's linker is limited to generating 4GB libraries. |
| Currently, I'm seeing WebCore.lib be 3.9GB and some bots are failing to link debug builds. |
| More source unification reduces WebCore.lib's size to 3.3GB. |
| |
| * Scripts/generate-unified-source-bundles.rb: |
| |
| 2022-03-08 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: Speech Synthesis no longer returning list of voices in macOS 12.3 |
| https://bugs.webkit.org/show_bug.cgi?id=237584 |
| <rdar://problem/89952347> |
| |
| Reviewed by Andres Gonzalez. |
| |
| The minimum macOS version was meant to be 13 and above, but we started including 12.x releases inadvertently. |
| |
| * wtf/PlatformHave.h: |
| |
| 2022-03-08 Youenn Fablet <youenn@apple.com> |
| |
| Add a preference to mute video capture in case audio capture gets interrupted |
| https://bugs.webkit.org/show_bug.cgi?id=237524 |
| <rdar://78421282> |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2022-03-08 Sihui Liu <sihui_liu@apple.com> |
| |
| Add early return for empty path in makeAllDirectories |
| https://bugs.webkit.org/show_bug.cgi?id=237540 |
| rdar://89901536 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/posix/FileSystemPOSIX.cpp: |
| (WTF::FileSystemImpl::makeAllDirectories): |
| |
| 2022-03-07 Per Arne Vollan <pvollan@apple.com> |
| |
| Preconnecting after process swap is a page load time improvement on some devices |
| https://bugs.webkit.org/show_bug.cgi?id=237055 |
| <rdar://problem/89638872> |
| |
| Reviewed by Geoffrey Garen. |
| |
| Add ENABLE guard for this behavior. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2022-03-07 Chris Dumez <cdumez@apple.com> |
| |
| Optimize the passing of data across threads |
| https://bugs.webkit.org/show_bug.cgi?id=237502 |
| |
| Reviewed by Geoff Garen. |
| |
| Drop isolatedCopy() on Vector since CrossThreadCopier already has logic to |
| isolate-copy a Vector. The logic in CrossThreadCopier has the benefit of |
| working on types that do not implement isolatedCopy() (e.g. a Vector of |
| std::optional or a Vector of std::variant). |
| |
| Improve the CrossThreadCopier to optimize the case where crossThreadCopy() |
| is called on a r-value reference in more cases. In particular, the logic |
| for Vector, HashSet, HashMap, std::pair, std::variant was improved. I |
| also added API test coverage for those. |
| |
| The API tests also found a bug where crossThreadCopy() was incorrectly |
| moving the source when called on a std::variant that was not a r-value |
| reference. This bug is fixed in this patch too. |
| |
| * wtf/CrossThreadCopier.h: |
| * wtf/Vector.h: |
| (WTF::Malloc>::isolatedCopy const): Deleted. |
| (WTF::Malloc>::isolatedCopy): Deleted. |
| * wtf/mac/FileSystemMac.mm: |
| (WTF::FileSystem::setMetadataURL): |
| |
| 2022-03-04 Sihui Liu <sihui_liu@apple.com> |
| |
| Add null check for path in makeAllDirectories |
| https://bugs.webkit.org/show_bug.cgi?id=237477 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/posix/FileSystemPOSIX.cpp: |
| (WTF::FileSystemImpl::makeAllDirectories): |
| |
| 2022-03-04 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [iOS] Books ASSERTs upon opening a book with a debug build of WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=237445 |
| <rdar://problem/89776531> |
| |
| Reviewed by Alex Christensen. |
| |
| makeSafeToUseMemoryMapForPath() runs an ASSERT() that it was successful. |
| However, it's not always successful, so this ASSERT() was getting hit when |
| trying to open a book in Books. So, this patch makes the function return a |
| bool to indicate success, and updates callers to do something sensible if |
| it failed. |
| |
| Test: FileSystemTest.makeSafeToUseMemoryMapForPath |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::makeSafeToUseMemoryMapForPath): |
| (WTF::FileSystemImpl::mapToFile): |
| * wtf/FileSystem.h: |
| * wtf/cocoa/FileSystemCocoa.mm: |
| (WTF::FileSystemImpl::makeSafeToUseMemoryMapForPath): |
| |
| 2022-03-04 Chris Dumez <cdumez@apple.com> |
| |
| URL's isolatedCopy() optimization when called on a r-value reference doesn't work |
| https://bugs.webkit.org/show_bug.cgi?id=237481 |
| |
| Reviewed by Geoffrey Garen. |
| |
| URL has an isolatedCopy() implementation that attempts to optimize the case where |
| it is called on a r-value reference. The idea is to rely on the String's |
| isolatedCopy() implementation which is optimized when called on a r-value reference. |
| |
| Note that there are some specific conditions under which the String implementation |
| is able to avoid the copy (see String::isSafeToSendToAnotherThread()). |
| Namely, the StringImpl's refcount needs to be 1 and it cannot be backed by an |
| AtomStringImpl. |
| |
| The issue was that URL::isolatedCopy() would first copy the URL, which would copy |
| its m_string and thus bump its refcount. As a result, m_string's refcount could |
| never be 1 and the optimization could never kick in. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::isolatedCopy): |
| |
| 2022-03-02 Alex Christensen <achristensen@webkit.org> |
| |
| Add SPI _WKDataTask |
| https://bugs.webkit.org/show_bug.cgi?id=237234 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformHave.h: |
| |
| 2022-03-01 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| WTF::SentinelLinkedList::iterator should have operator++ for range-for loop |
| https://bugs.webkit.org/show_bug.cgi?id=237265 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| SentinelLinkedList had three problems. |
| 1. Even though it has begin() and end(), using SentinelLinkedList |
| with range-for loop resulted in a broken node because |
| iterator::operator++ didn't work as expected. |
| 2. If I used a SentinelLinkedList in a movable type, the sentinel |
| pointer gets stale after moving the object. move-ctor should be deleted. |
| 3. It didn't have const_iterator. |
| |
| * wtf/OrderMaker.h: |
| (WTF::OrderMaker::iterator::iterator): |
| (WTF::OrderMaker::iterator::operator*): |
| (WTF::OrderMaker::iterator::operator++): |
| (WTF::OrderMaker::iterator::operator== const): |
| * wtf/SentinelLinkedList.h: |
| (WTF::BasicRawSentinelNode::prev const): |
| (WTF::BasicRawSentinelNode::next const): |
| (WTF::SentinelLinkedList::BaseIterator::BaseIterator): |
| (WTF::SentinelLinkedList::BaseIterator::operator* const): |
| (WTF::SentinelLinkedList::BaseIterator::operator-> const): |
| (WTF::SentinelLinkedList::BaseIterator::operator++): |
| (WTF::SentinelLinkedList::BaseIterator::operator--): |
| (WTF::SentinelLinkedList::BaseIterator::operator== const): |
| (WTF::SentinelLinkedList::BaseIterator::operator!= const): |
| (WTF::SentinelLinkedList::forEach): |
| (WTF::RawNode>::begin): |
| (WTF::RawNode>::end): |
| (WTF::RawNode>::begin const): |
| (WTF::RawNode>::end const): |
| (WTF::BasicRawSentinelNode::prev): Deleted. |
| (WTF::BasicRawSentinelNode::next): Deleted. |
| |
| 2022-03-01 Youenn Fablet <youenn@apple.com> |
| |
| Enable WebRTCRemoteVideoFrameEnabled by default on Cocoa ports |
| https://bugs.webkit.org/show_bug.cgi?id=237201 |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2022-03-01 Alex Christensen <achristensen@webkit.org> |
| |
| [AppleWin] Start using Visual Studio 2022 |
| https://bugs.webkit.org/show_bug.cgi?id=234933 |
| |
| Reviewed by Maciej Stachowiak. |
| |
| * WTF.vcxproj/WTF.proj: |
| |
| 2022-03-01 Geza Lore <glore@igalia.com> |
| |
| [JSC] Port EXTRA_CTI_THUNKS to all platforms |
| https://bugs.webkit.org/show_bug.cgi?id=233822 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/PlatformEnable.h: |
| Remove EXTRA_CTI_THUNKS define (now always on on all platforms) |
| |
| 2022-02-28 Jer Noble <jer.noble@apple.com> |
| |
| [Cocoa] Adopt -streamDataParser:didProvideContentKeySpecifier:forTrackID: delegate callback |
| https://bugs.webkit.org/show_bug.cgi?id=236109 |
| <rdar://problem/88785844> |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2022-02-28 Tim Nguyen <ntim@apple.com> |
| |
| Enable inert attribute feature flag |
| https://bugs.webkit.org/show_bug.cgi?id=235668 |
| |
| Reviewed by Darin Adler. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2022-02-27 Chris Dumez <cdumez@apple.com> |
| |
| Omit template parameter for SetForScope<> variables |
| https://bugs.webkit.org/show_bug.cgi?id=237258 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/RefCounter.h: |
| (WTF::RefCounter<T>::Count::deref): |
| |
| 2022-02-26 Chris Dumez <cdumez@apple.com> |
| |
| Drop Ref<>'s operator==() as it is a bit ambiguous / confusing |
| https://bugs.webkit.org/show_bug.cgi?id=237231 |
| |
| Reviewed by Darin Adler. |
| |
| Drop Ref<>'s operator==() as it is a bit ambiguous / confusing. Some people expect it to compare |
| pointers while other expect it to compare the values we hold references to. |
| It seems best to omit this operator and be explicit at call sites. |
| |
| * wtf/Ref.h: |
| (WTF::operator==): Deleted. |
| (WTF::operator!=): Deleted. |
| * wtf/Vector.h: |
| (WTF::Vector::containsIf const): |
| |
| 2022-02-25 Elliott Williams <emw@apple.com> |
| |
| [XCBuild] Add missing header build rule for Scripts/Preferences/* |
| https://bugs.webkit.org/show_bug.cgi?id=237129 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Relands "[XCBuild] WTF's SPI dependencies are copied via a folder reference and do not emit |
| task outputs". |
| |
| r290452 missed adding a build rule which would copy $SRCROOT/Scripts/Preferences/* to |
| /usr/local/include/wtf/Scripts/Preferences, and caused clean builds to start failing. Fix by |
| adding the needed build rule. |
| |
| * Configurations/Base.xcconfig: |
| * Configurations/WTF.xcconfig: |
| * Configurations/icu.xcconfig: |
| * WTF.xcodeproj/project.pbxproj: |
| |
| 2022-02-24 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, reverting r290452. |
| |
| Caused failues with clean builds |
| |
| Reverted changeset: |
| |
| "[XCBuild] WTF's SPI dependencies are copied via a folder |
| reference and do not emit task outputs" |
| https://bugs.webkit.org/show_bug.cgi?id=237129 |
| https://commits.webkit.org/r290452 |
| |
| 2022-02-24 Devin Rousso <drousso@apple.com> |
| |
| REGRESSION(r290436): fix build failures |
| https://bugs.webkit.org/show_bug.cgi?id=237149 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformHave.h: |
| Rename `HAVE_PASSKIT_UI` to `HAVE_PASSKIT_MODULARIZATION` so that it also involes `PassKitCore`. |
| |
| 2022-02-24 Megan Gardner <megan_gardner@apple.com> |
| |
| Add percent decoding to Scroll to Text Fragment parsing. |
| https://bugs.webkit.org/show_bug.cgi?id=236818 |
| |
| Reviewed by Chris Dumez. |
| |
| Expose bits of URL parser to allow percent decoding elsewhere. |
| |
| * wtf/URLParser.h: |
| |
| 2022-02-24 Elliott Williams <emw@apple.com> |
| |
| [XCBuild] WTF's SPI dependencies are copied via a folder reference and do not emit task outputs |
| https://bugs.webkit.org/show_bug.cgi?id=237129 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| In https://bugs.webkit.org/show_bug.cgi?id=235744, a folder reference was used to copy |
| headers from `spi/`, but the build system needs explicit file references for all headers to |
| infer discovered dependency relationships for incremental builds. Add spi/ headers directly |
| to WTF.xcodeproj. |
| |
| We now have a method for using build rules to make a native Headers phase nest headers |
| according to their source directories. Use it here and delete the per-directory Copy Files |
| phases. |
| |
| WTF's unicode headers--used only by external builders--are copied to a different include |
| directory, so for organization simplicity, add a separate target to WTF.xcodeproj to track |
| them. This target is effectively headers-only as it has no source files. |
| |
| * Configurations/Base.xcconfig: Copy WK_WHICH_BUILD_SYSTEM settings from other projects. |
| * Configurations/WTF.xcconfig: Set header folder paths. |
| * Configurations/icu.xcconfig: Copied from Source/WTF/Configurations/WTF.xcconfig. |
| * WTF.xcodeproj/project.pbxproj: Add icu target, add spi headers, add build rules. |
| |
| 2022-02-24 Don Olmstead <don.olmstead@sony.com> |
| |
| Fix debug build of WorkQueueGeneric after r290418 |
| https://bugs.webkit.org/show_bug.cgi?id=237143 |
| |
| Unreviewed build fix. |
| |
| Correct the method signature of WorkQueue::assertIsCurrent in WorkQueueGeneric.cpp. |
| |
| * wtf/generic/WorkQueueGeneric.cpp: |
| (WTF::WorkQueue::assertIsCurrent const): |
| (WTF::WorkQueue::assertIsCurrent): Deleted. |
| |
| 2022-02-24 Devin Rousso <drousso@apple.com> |
| |
| [Apple Pay] switch from `PassKit/*` to `PassKit[Core,UI]/*` |
| https://bugs.webkit.org/show_bug.cgi?id=237091 |
| <rdar://problem/81085862> |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformHave.h: |
| |
| 2022-02-24 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix compile warnings when asserts are disabled after r290418 |
| |
| * wtf/Threading.h: |
| (WTF::WTF_ASSERTS_ACQUIRED_CAPABILITY): |
| * wtf/WorkQueue.h: |
| (WTF::WTF_ASSERTS_ACQUIRED_CAPABILITY): |
| |
| 2022-02-24 Kimmo Kinnunen <kkinnunen@apple.com> |
| |
| Thread safety analysis to assert "code is run sequentially" is not useful when code is mainly run with WorkQueues |
| https://bugs.webkit.org/show_bug.cgi?id=236832 |
| |
| Reviewed by Antti Koivisto. |
| |
| Thread safety analysis is not useful when code is mainly run with WorkQueues. |
| WorkQueue runnables might run in arbitrary thread, but still serially in a specific |
| "work queue". Thus current ThreadAssertion produces false assertions. |
| |
| Make Thread and WorkQueue hold "is current" capability. This means the |
| `assertIsCurrent(thread/workQueue)` can establish that the caller holds the capabity, |
| e.g. that the caller is running in the particular thread or work queue. |
| |
| Tested by new API tests. |
| |
| * wtf/Threading.h: |
| (WTF::WTF_ASSERTS_ACQUIRED_CAPABILITY): |
| * wtf/WorkQueue.h: |
| (WTF::WTF_ASSERTS_ACQUIRED_CAPABILITY): |
| * wtf/cocoa/WorkQueueCocoa.cpp: |
| (WTF::WorkQueueBase::platformInitialize): |
| (WTF::WorkQueue::assertIsCurrent const): |
| (WTF::currentSequenceID): |
| * wtf/generic/WorkQueueGeneric.cpp: |
| (WTF::WorkQueueBase::platformInitialize): |
| (WTF::WorkQueue::assertIsCurrent): |
| (WTF::currentSequenceID): |
| |
| 2022-02-24 Nikolaos Mouchtaris <nmouchtaris@apple.com> |
| |
| REGRESSION(r289683): [GTK][WPE] Scrolling with the mouse wheel doesn't work in twitter after r289683 |
| https://bugs.webkit.org/show_bug.cgi?id=237093 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Turn off by default for wpe/gtk and windows to investigate issue. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2022-02-24 Chris Dumez <cdumez@apple.com> |
| |
| Small optimizations to TinyLRUCache |
| https://bugs.webkit.org/show_bug.cgi?id=237117 |
| |
| Reviewed by Darin Adler. |
| |
| Small optimizations to TinyLRUCache: |
| - When trying to find an entry in the cache, start from the end of the vector |
| since this is where the most recent entries are. |
| - Use reverseFind() instead of a for loop to simplify the code a bit |
| - Use Vector::uncheckedAppend() instead of Vector::append() to bypass capacity |
| checks given that the vector has an inline capacity that is the size of the |
| cache (vector capacity never grows or shrinks). |
| |
| * wtf/TinyLRUCache.h: |
| (WTF::TinyLRUCache::get): |
| |
| 2022-02-23 Chris Dumez <cdumez@apple.com> |
| |
| Adopt more widely the new URL constructor that takes in a String |
| https://bugs.webkit.org/show_bug.cgi?id=237099 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/URL.cpp: |
| (WTF::aboutBlankURL): |
| (WTF::aboutSrcDocURL): |
| |
| 2022-02-23 Kimmo Kinnunen <kkinnunen@apple.com> |
| |
| Thread safety analysis macros are confusing for non-Lock use-cases |
| https://bugs.webkit.org/show_bug.cgi?id=237022 |
| |
| Reviewed by Chris Dumez. |
| |
| Thread safety analysis proves that a capability is acquired or not acquired. |
| Change the semantics of thread safety analysis application in WebKit: |
| Before, we had only one capability, "lock". |
| After, we have arbitrary amount of capabilities, one of which is "lock". |
| |
| Add thread safety analysis macros to support non-Lock use-cases better. |
| |
| Non-lock use-case: |
| Before: |
| class WTF_CAPABILITY_LOCK ThreadAssertion { ... }; |
| "WTF::ThreadAssertion is obviously not a lock but we use the lock capability machinery to obtain the analysis support. |
| It behaves like the lock capability and can be acquired." |
| |
| After: |
| class WTF_CAPABILITY("is current") ThreadAssertion { ... }; |
| "WTF::ThreadAssertion has a capability called 'is current' that can be acquired." |
| |
| The documentation string "lock", "is current" will appear in the compile error messages to clarify the |
| violations. |
| |
| * wtf/ThreadAssertions.h: |
| (WTF::WTF_ASSERTS_ACQUIRED_CAPABILITY): |
| * wtf/ThreadSafetyAnalysis.h: |
| |
| 2022-02-22 Chris Dumez <cdumez@apple.com> |
| |
| Add a URL constructor that takes a String |
| https://bugs.webkit.org/show_bug.cgi?id=237068 |
| |
| Reviewed by Darin Adler. |
| |
| Add a URL constructor that takes a String to simplify our code base a bit. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::truncatedForUseAsBase const): |
| (WTF::URL::fakeURLWithRelativePart): |
| (WTF::URL::fileURLWithFileSystemPath): |
| * wtf/URL.h: |
| (WTF::URL::URL): |
| (WTF::URL::decode): |
| |
| 2022-02-22 Chris Dumez <cdumez@apple.com> |
| |
| Drop StringHasher::hashMemory() and use the modern Hasher instead |
| https://bugs.webkit.org/show_bug.cgi?id=237049 |
| |
| Reviewed by Sam Weinig and Darin Adler. |
| |
| * wtf/SchedulePair.h: |
| (WTF::SchedulePairHash::hash): |
| * wtf/UUID.cpp: |
| (WTF::UUID::hash const): Deleted. |
| * wtf/UUID.h: |
| (WTF::UUID::isHashTableDeletedValue const): |
| (WTF::add): |
| (WTF::UUIDHash::hash): |
| * wtf/text/StringHasher.h: |
| (WTF::StringHasher::hashMemory): Deleted. |
| |
| 2022-02-22 Elliott Williams <emw@apple.com> |
| |
| Replace legacy-build-copy-nested-headers.py with an xcodebuild invocation |
| https://bugs.webkit.org/show_bug.cgi?id=237011 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Scripts/legacy-build-copy-nested-headers.py: Removed. |
| * WTF.xcodeproj/project.pbxproj: Remove reference to legacy-build-copy-nested-headers.py. |
| |
| 2022-02-22 Angelos Oikonomopoulos <angelos@igalia.com> |
| |
| Ruby ERB.new compatibility fix |
| https://bugs.webkit.org/show_bug.cgi?id=237035 |
| |
| Reviewed by Fujii Hironori. |
| |
| ERB.new has changed its calling convention in newer ruby versions. |
| This was exposed by https://commits.webkit.org/247450@main, which |
| tried to silence the warning emitted by newer ruby versions. |
| Unfortunately, this resulted in failures with older ruby versions |
| (e.g. |
| https://build.webkit.org/#/builders/46/builds/11387/steps/8/logs/stdio). |
| |
| Use the compatibility hack suggested by RuboCop to get this working |
| across ruby versions (without any warnings). |
| |
| * Scripts/GeneratePreferences.rb: |
| |
| 2022-02-22 Chris Dumez <cdumez@apple.com> |
| |
| Clean up / optimize even more call sites constructing vectors |
| https://bugs.webkit.org/show_bug.cgi?id=236852 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/WorkQueue.cpp: |
| (WTF::ConcurrentWorkQueue::apply): |
| * wtf/cf/LanguageCF.cpp: |
| (WTF::platformUserPreferredLanguages): |
| |
| 2022-02-22 Philippe Normand <pnormand@igalia.com> |
| |
| [GStreamer] Initial MediaRecorder implementation |
| https://bugs.webkit.org/show_bug.cgi?id=236558 |
| |
| Reviewed by Xabier Rodriguez-Calvar. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: Enable MediaRecorder if it was |
| enabled at build time in GStreamer ports. |
| |
| 2022-02-22 Chris Dumez <cdumez@apple.com> |
| |
| Move service worker and push API preference from RuntimeEnabledFeatures to Settings |
| https://bugs.webkit.org/show_bug.cgi?id=236989 |
| |
| Reviewed by Youenn Fablet. |
| |
| Move service worker and push API preference from RuntimeEnabledFeatures to Settings, since RuntimeEnabledFeatures is deprecated. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2022-02-22 Asumu Takikawa <asumu@igalia.com> |
| |
| Initial support for Wasm/ESM-integration in the WebCore module loader |
| https://bugs.webkit.org/show_bug.cgi?id=236268 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Add preference flag for Wasm/ESM Integration. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2022-02-21 Robin Morisset <rmorisset@apple.com> |
| |
| [JSC] Format the output of --reportTotalPhaseTimes=1 more nicely |
| https://bugs.webkit.org/show_bug.cgi?id=237005 |
| |
| Reviewed by Saam Barati. |
| |
| Add FixedWidthDouble, which allows easily printing a double with some whitespace to pad it out if it is smaller than expected. |
| Its design roughly follows RawPointer which similarly allows special formatting of a kind of number. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/FixedWidthDouble.h: Added. |
| (WTF::FixedWidthDouble::FixedWidthDouble): |
| (WTF::FixedWidthDouble::value const): |
| (WTF::FixedWidthDouble::width const): |
| (WTF::FixedWidthDouble::precision const): |
| * wtf/PrintStream.cpp: |
| (WTF::printInternal): |
| * wtf/PrintStream.h: |
| |
| 2022-02-21 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [iOS] Adjust some behaviors around the "Markup Image" action in the callout bar |
| https://bugs.webkit.org/show_bug.cgi?id=236980 |
| |
| Reviewed by Aditya Keerthi. |
| |
| Add a WebKit internal feature flag to control whether or not the "Markup Image" and related "Copy Cropped Image" |
| menu items should be enabled on iOS and macOS. This enables us to test these features in API and layout tests |
| without requiring the corresponding system feature flag to be enabled. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2022-02-21 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Temporal.PlainDate should validate input range |
| https://bugs.webkit.org/show_bug.cgi?id=236936 |
| |
| Reviewed by Darin Adler. |
| |
| Add code to allow dataLog(Int128). |
| |
| * wtf/Int128.cpp: |
| (WTF::printInternal): |
| * wtf/Int128.h: |
| |
| 2022-02-18 Devin Rousso <drousso@apple.com> |
| |
| [iOS] Safari can sometimes hang while printing due to sync IPC |
| https://bugs.webkit.org/show_bug.cgi?id=236811 |
| <rdar://problem/56425783> |
| |
| Reviewed by Aditya Keerthi. |
| |
| Adopt new UIKit SPI for allowing `UIPrintFormatter` to be called off the main thread. |
| |
| * wtf/PlatformHave.h: |
| Add a `HAVE_UIKIT_BACKGROUND_THREAD_PRINTING` to guard this new behavior. |
| |
| 2022-02-18 Robert Jenner <Jenner@apple.com> |
| |
| Unreviewed, reverting r290149. |
| |
| Broke Debug Builds. |
| |
| Reverted changeset: |
| |
| "Generate compile_commands.json on macOS Builds" |
| https://bugs.webkit.org/show_bug.cgi?id=235686 |
| https://commits.webkit.org/r290149 |
| |
| 2022-02-18 Eric Carlson <eric.carlson@apple.com> |
| |
| [macOS] Allow screen and window capture to be done in the GPU Process |
| https://bugs.webkit.org/show_bug.cgi?id=236815 |
| <rdar://problem/89117278> |
| |
| Reviewed by Jer Noble. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: Add UseGPUProcessForDisplayCapture. |
| |
| 2022-02-18 Brandon Stewart <brandonstewart@apple.com> |
| |
| Generate compile_commands.json on macOS Builds |
| https://bugs.webkit.org/show_bug.cgi?id=235686 |
| |
| Reviewed by Saam Barati. |
| |
| Add support for generating compile_commands.json file to WebKit. |
| |
| compile_commands.json can be used by tools like clangd to provide code complete, |
| refactoring, formatting, and cross references. |
| |
| Steps to generate the compile commands file: |
| make r EXPORT_COMPILE_COMMANDS=YES |
| generate-compile-commands WebKitBuild/Release |
| |
| * Configurations/DebugRelease.xcconfig: |
| |
| 2022-02-18 Brady Eidson <beidson@apple.com> |
| |
| Add an InstallCoordination webpushd backend |
| https://bugs.webkit.org/show_bug.cgi?id=233714 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2022-02-17 Matt Woodrow <mattwoodrow@apple.com> |
| |
| Enable subgrid by default. |
| https://bugs.webkit.org/show_bug.cgi?id=236821 |
| |
| Reviewed by Alan Bujtas. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2022-02-17 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| GeneratePreferences.rb: warning: Passing safe_level with the 2nd argument of ERB.new is deprecated |
| https://bugs.webkit.org/show_bug.cgi?id=236684 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| With Ruby 3.1.0, GeneratePreferences.rb reported the following warnings. |
| > GeneratePreferences.rb:235: warning: Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments. |
| > GeneratePreferences.rb:235: warning: Passing trim_mode with the 3rd argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, trim_mode: ...) instead. |
| |
| * Scripts/GeneratePreferences.rb: Changed to use the keyword argument for ERB.new. |
| |
| 2022-02-17 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r289974. |
| https://bugs.webkit.org/show_bug.cgi?id=236804 |
| |
| Should not have been reverted on trunk |
| |
| Reverted changeset: |
| |
| "Unreviewed, reverting r286874." |
| https://bugs.webkit.org/show_bug.cgi?id=236734 |
| https://commits.webkit.org/r289974 |
| |
| 2022-02-17 Jer Noble <jer.noble@apple.com> |
| |
| [Cocoa] Make AVFoundationSPI.h robust against changes in system headers |
| https://bugs.webkit.org/show_bug.cgi?id=236787 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformHave.h: |
| |
| 2022-02-17 Nikolaos Mouchtaris <nmouchtaris@apple.com> |
| |
| Enable CSS Motion Path by default |
| https://bugs.webkit.org/show_bug.cgi?id=236681 |
| |
| Unreviewed enable of WebKitLegacy. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2022-02-17 Nikolaos Mouchtaris <nmouchtaris@apple.com> |
| |
| [Web Animations] Enable Composite Animations |
| https://bugs.webkit.org/show_bug.cgi?id=236682 |
| |
| Reviewed by Dean Jackson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2022-02-17 Nikolaos Mouchtaris <nmouchtaris@apple.com> |
| |
| Enable CSS Motion Path by default |
| https://bugs.webkit.org/show_bug.cgi?id=236681 |
| |
| Reviewed by Dean Jackson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2022-02-17 Chris Dumez <cdumez@apple.com> |
| |
| Clean up / optimize call sites constructing vectors |
| https://bugs.webkit.org/show_bug.cgi?id=236748 |
| |
| Reviewed by Dean Jackson. |
| |
| Clean up / optimize call sites constructing vectors: |
| - Use Vector::map() / WTF::map() where appropriate |
| - Replace Vector::reserveCapacity() with Vector::reserveInitialCapacity() |
| where appropriate |
| - Replace Vector::append() with Vector::uncheckedAppend() where appropriate |
| - Leverage the fact that Vector<Ref<Foo>> is now copyable (Because Ref<> now has |
| a copy constructor) |
| - Call crossThreadCopy() to isolate-copy a Vector() without iterating. |
| - Leverage Vector constructor that takes in an intialization list in more cases |
| - Leverage Vector::from() in more cases to simplify vector construction in some |
| case. |
| - Drop unnecessary calls to Vector::reserve*Capacity() before calling |
| Vector::append(T*, size_t) since the append() implementation already does this |
| for us. |
| - Leverage copyToVector() and copyToVectorOf<> in more cases |
| - Call shrinkToFit() in some cases where we reserve capacity and then append() |
| but may not append() as much as we reserved. |
| |
| * wtf/Language.cpp: |
| (WTF::userPreferredLanguages): |
| (WTF::isolatedCopy): Deleted. |
| |
| 2022-02-17 Antti Koivisto <antti@apple.com> |
| |
| [CSS Container Queries] Enable by default |
| https://bugs.webkit.org/show_bug.cgi?id=236776 |
| |
| Reviewed by Sam Weinig. |
| |
| Flip the switch. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2022-02-16 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r286874. |
| https://bugs.webkit.org/show_bug.cgi?id=236734 |
| |
| Broke Apple Music pages which use the resolution media query |
| |
| Reverted changeset: |
| |
| "Enable the 'resolution' media query by default" |
| https://bugs.webkit.org/show_bug.cgi?id=78087 |
| https://commits.webkit.org/r286874 |
| |
| 2022-02-16 Jer Noble <jer.noble@apple.com> |
| |
| [Cocoa] Adopt -streamDataParser:didProvideContentKeySpecifier:forTrackID: delegate callback |
| https://bugs.webkit.org/show_bug.cgi?id=236109 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformHave.h: |
| |
| 2022-02-16 Eliot Hsu <eliot_hsu@apple.com> |
| |
| Move Safe Browsing knowledge into SafariSafeBrowsing framework |
| https://bugs.webkit.org/show_bug.cgi?id=231692 |
| |
| Reviewed by Alex Christensen. |
| |
| Following up on an old FIXME, move Safari Safe Browsing-specific |
| knowledge out of WebKit and into the SafariSafeBrowsing framework. |
| This includes things like the Learn More URL, the Report an Error URL, |
| etc. |
| |
| * wtf/PlatformHave.h: |
| |
| 2022-02-16 Philippe Normand <pnormand@igalia.com> |
| |
| Add a dedicated ENABLE flag for MediaRecorder |
| https://bugs.webkit.org/show_bug.cgi?id=236652 |
| |
| Reviewed by Eric Carlson. |
| |
| ENABLE(MEDIA_RECORDER) depends on ENABLE(MEDIA_STREAM) and is enabled only for COCOA |
| platforms. Suggested by Eric Carlson. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2022-02-16 Kimmo Kinnunen <kkinnunen@apple.com> |
| |
| RemoteVideoFrameProxy is missing reference field encode, decode |
| https://bugs.webkit.org/show_bug.cgi?id=236690 |
| |
| Reviewed by Antti Koivisto. |
| |
| Export the MediaTime TextStream operator<< as inline function |
| for all compilation modes. It is useful also when NDEBUG is defined, |
| and it is hard to ifdef at all the call sites. |
| |
| * wtf/MediaTime.cpp: |
| * wtf/MediaTime.h: |
| |
| 2022-02-15 Kimmo Kinnunen <kkinnunen@apple.com> |
| |
| Constructing untaken LOG(Channel, ...) arguments slow debug binaries down |
| https://bugs.webkit.org/show_bug.cgi?id=235562 |
| |
| Reviewed by Simon Fraser. |
| |
| Speed up debug build binary LOG(Channel, ...) by checking the |
| channel (and level) before constructing the log arguments. |
| This is consistent with how RELEASE_LOG() works. |
| |
| If the arguments are slow to create, call sites end up implementing |
| this at the call site and risk subtle bugs which make existing logging unreliable. |
| |
| Fixes a bug with LOG_WITH_STREAM where ChannelState::OnWithAccumulation channels would not log. |
| |
| * wtf/Assertions.h: |
| |
| 2022-02-15 Chris Dumez <cdumez@apple.com> |
| |
| Do preliminary work to pass domain names to CoreLocation |
| https://bugs.webkit.org/show_bug.cgi?id=236566 |
| <rdar://88761413> |
| |
| Reviewed by Darin Adler. |
| |
| Add build time flag for passing website identifiers to CoreLocation. |
| |
| * wtf/PlatformHave.h: |
| |
| 2022-02-15 Robin Morisset <rmorisset@apple.com> |
| |
| [WGSL] Implement enough of the lexer for the simplest shaders |
| https://bugs.webkit.org/show_bug.cgi?id=233276 |
| <rdar://problem/85732675> |
| |
| Reviewed by Myles Maxfield. |
| |
| Add WTF::Unicode::formFeed and WTF::Unicode::verticalTabulation. |
| |
| * wtf/unicode/CharacterNames.h: |
| |
| 2022-02-14 Gustavo Noronha Silva <gustavo@noronha.dev.br> |
| |
| [Linux/aarch64] Move page size ceiling to 16k |
| https://bugs.webkit.org/show_bug.cgi?id=236564 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| On Apple Silicon, Linux needs to use 16k pages to be as fast as possible. This change has no |
| visible impact on binary size for release builds, so apply it to all of aarch64 Linux. |
| |
| * wtf/PageBlock.h: |
| |
| 2022-02-13 Matt Woodrow <mattwoodrow@apple.com> |
| |
| Add support for parsing 'subgrid' in grid-template-columns/row |
| https://bugs.webkit.org/show_bug.cgi?id=236054 |
| |
| Reviewed by Manuel Rego Casasnovas. |
| |
| Adds a new experimental preference for subgrid support, disabled by default. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2022-02-13 Brady Eidson <beidson@apple.com> |
| |
| Implement ServiceWorkerRegistration.showNotification() |
| https://bugs.webkit.org/show_bug.cgi?id=22722 |
| |
| Reviewed by Chris Dumez. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2022-02-12 Jer Noble <jer.noble@apple.com> |
| |
| Add settings to restrict media containers and codecs when in Captive Portal mode |
| https://bugs.webkit.org/show_bug.cgi?id=236245 |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2022-02-12 Eric Carlson <eric.carlson@apple.com> |
| |
| [macOS] Use system window and screen picker when available |
| https://bugs.webkit.org/show_bug.cgi?id=236531 |
| rdar://87111816 |
| |
| Reviewed by Jer Noble. |
| |
| * wtf/PlatformHave.h: Define HAVE_SC_CONTENT_SHARING_SESSION. |
| |
| 2022-02-11 Nikolaos Mouchtaris <nmouchtaris@apple.com> |
| |
| Turn overscroll-behavior on by default |
| https://bugs.webkit.org/show_bug.cgi?id=236060 |
| |
| Reviewed by Tim Nguyen. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2022-02-11 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [iOS] Add a "Copy Cropped Image" context menu item when long pressing images |
| https://bugs.webkit.org/show_bug.cgi?id=236511 |
| rdar://88817219 |
| |
| Reviewed by Devin Rousso. |
| |
| Add a compile-time flag to guard availability of the UniformTypeIdentifiers framework. See WebKit/ChangeLog for |
| more information. |
| |
| * wtf/PlatformHave.h: |
| |
| 2022-02-11 Don Olmstead <don.olmstead@sony.com> |
| |
| [CMake] Check for MAP_ALIGNED support |
| https://bugs.webkit.org/show_bug.cgi?id=236522 |
| |
| Reviewed by Keith Miller. |
| |
| Use the HAVE(MAP_ALIGNED) check in tryReserveUncommittedAligned. Mark unused parameters in |
| the function. Also define MAP_NORESERVE if its undefined which seems to be the case in |
| FreeBSD. |
| |
| * wtf/posix/OSAllocatorPOSIX.cpp: |
| (WTF::OSAllocator::tryReserveUncommittedAligned): |
| |
| 2022-02-11 Elliott Williams <emw@apple.com> |
| |
| Fix headers in install builds and add untracked headers |
| https://bugs.webkit.org/show_bug.cgi?id=235744 |
| |
| Reviewed by Alexey Proskuryakov. |
| Relands native Xcode build phases for "Copy WTF Headers", again. |
| |
| Adds a slash prefix, so that PRIVATE_HEADERS_FOLDER_PATH is always an absolute path. |
| Otherwise, when WTF_INSTALL_PATH_PREFIX is not set, it's relative and incorrectoly copied |
| into the INSTALL_PATH (/usr/local/lib). |
| |
| Uses separate path variables for Copy Files phases that create header subdirectories. Unlike |
| the native "Headers" phase, copying to "/usr/local/include" is not automatically relative to |
| the SYMROOT or DSTROOT, respective of build action type. |
| |
| Adds SignedPtr.h to WTF's Headers phase. It was added recently and missed integration in |
| r289256. |
| |
| Sets INSTALLHDRS_COPY_PHASE so that nested header directories are copied during installhdrs. |
| |
| * Configurations/WTF.xcconfig: |
| * WTF.xcodeproj/project.pbxproj: |
| |
| 2022-02-11 Youenn Fablet <youenn@apple.com> |
| |
| Support remote video frames in WebRTC video pipeline |
| https://bugs.webkit.org/show_bug.cgi?id=236356 |
| |
| Reviewed by Kimmo Kinnunen. |
| |
| Introduce an experimental flag to make use of remote frames in WebRTC code paths. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2022-02-10 David Kilzer <ddkilzer@apple.com> |
| |
| [WTF] Fix clang tidy bugprone-move-forwarding-reference static analyzer warnings from WebCore/WebKit |
| <https://webkit.org/b/236459> |
| <rdar://problem/88772313> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/IteratorAdaptors.h: |
| (WTF::makeTransformIterator): |
| * wtf/WeakHashMap.h: |
| (WTF::WeakHashMap::set): |
| - Replace WTFMove() with std::forward<>(). |
| |
| 2022-02-10 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r289583 and r289591. |
| https://bugs.webkit.org/show_bug.cgi?id=236472 |
| |
| Still breaking builds |
| |
| Reverted changesets: |
| |
| "Reland native Xcode build phases for "Copy WTF Headers", |
| again" |
| https://bugs.webkit.org/show_bug.cgi?id=235744 |
| https://commits.webkit.org/r289583 |
| |
| "Copy SignedPtr.h in WTF.xcodeproj" |
| https://bugs.webkit.org/show_bug.cgi?id=236466 |
| https://commits.webkit.org/r289591 |
| |
| 2022-02-10 Tim Horton <timothy_horton@apple.com> |
| |
| Don't prefer text selection in images if it is not available |
| https://bugs.webkit.org/show_bug.cgi?id=236462 |
| <rdar://problem/88407336> |
| |
| Reviewed by Wenson Hsieh. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2022-02-10 Keith Miller <keith_miller@apple.com> |
| |
| tryReserveUncommittedAligned should explicitly take the alignment requested |
| https://bugs.webkit.org/show_bug.cgi?id=236460 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| This patch adds a new ifdef for Unix flavors that support the |
| MAP_ALIGNED macro/parameter to mmap. |
| |
| Also, fix a bug where on windows we wouldn't request enough |
| space to guarantee that allocation is aligned. |
| |
| |
| * wtf/OSAllocator.h: |
| * wtf/posix/OSAllocatorPOSIX.cpp: |
| (WTF::OSAllocator::tryReserveUncommittedAligned): |
| * wtf/win/OSAllocatorWin.cpp: |
| (WTF::OSAllocator::tryReserveUncommittedAligned): |
| |
| 2022-02-10 Elliott Williams <emw@apple.com> |
| |
| Copy SignedPtr.h in WTF.xcodeproj |
| https://bugs.webkit.org/show_bug.cgi?id=236466 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| SignedPtr.h was recently added and needs to be part of WTF's Copy Headers phase. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| |
| 2022-02-10 Elliott Williams <emw@apple.com> |
| |
| Reland native Xcode build phases for "Copy WTF Headers", again |
| https://bugs.webkit.org/show_bug.cgi?id=235744 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Changes since revert of r289490: |
| |
| Some WTF headers were never tracked in WTF.xcodeproj, causing builds to fail (but only after |
| a build directory was cleaned and stale headers removed). |
| |
| * WTF.xcodeproj/project.pbxproj: Add file references for missing headers. |
| |
| 2022-02-10 Alex Christensen <achristensen@webkit.org> |
| |
| Unreviewed, reverting r289485. |
| |
| Internal SDKs not quiiiite ready yet |
| |
| Reverted changeset: |
| |
| "Move Safe Browsing knowledge into SafariSafeBrowsing |
| framework" |
| https://bugs.webkit.org/show_bug.cgi?id=231692 |
| https://commits.webkit.org/r289485 |
| |
| 2022-02-10 Gavin Phillips <gavin.p@apple.com> |
| |
| Introduce SignedPtrTraits which enables Ref pointers to be protected with PtrTags. |
| https://bugs.webkit.org/show_bug.cgi?id=235588 |
| rdar://88023849 |
| |
| Reviewed by Mark Lam. |
| |
| Create and adopt SignedPtrTraits which can be used to apply and verify PtrTag signatures |
| to pointers stored in and tracked by WTF:Ref. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/SignedPtr.h: Added. |
| (WTF::SignedPtr::SignedPtr): |
| (WTF::SignedPtr::get const): |
| (WTF::SignedPtr::set): |
| (WTF::SignedPtr::clear): |
| (WTF::SignedPtr::operator-> const): |
| (WTF::SignedPtr::operator* const): |
| (WTF::SignedPtr::operator! const): |
| (WTF::SignedPtr::operator UnspecifiedBoolType const): |
| (WTF::SignedPtr::operator bool const): |
| (WTF::SignedPtr::operator=): |
| (WTF::SignedPtr::exchange): |
| (WTF::SignedPtr::swap): |
| (WTF::SignedPtrTraits::exchange): |
| (WTF::SignedPtrTraits::swap): |
| (WTF::SignedPtrTraits::unwrap): |
| (WTF::SignedPtrTraits::hashTableDeletedValue): |
| (WTF::SignedPtrTraits::isHashTableDeletedValue): |
| |
| 2022-02-09 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Turn on Shared Workers by default |
| https://bugs.webkit.org/show_bug.cgi?id=236396 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2022-02-09 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r289490. |
| https://bugs.webkit.org/show_bug.cgi?id=236402 |
| |
| EWS gets build failures |
| |
| Reverted changeset: |
| |
| "Reland native Xcode build phases for "Copy WTF Headers"" |
| https://bugs.webkit.org/show_bug.cgi?id=235744 |
| https://commits.webkit.org/r289490 |
| |
| 2022-02-09 Elliott Williams <emw@apple.com> |
| |
| Reland native Xcode build phases for "Copy WTF Headers" |
| https://bugs.webkit.org/show_bug.cgi?id=235744 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Changes since revert of r289256: |
| |
| ICU headers, which are only needed for non-internal builds, are tracked in WTF.xcodeproj and |
| copied to /usr/local/include/unicode when building with the public SDK. |
| |
| * Configurations/WTF.xcconfig: Skip coping ICU headers when USE_INTERNAL_SDK=YES. |
| * WTF.xcodeproj/project.pbxproj: Add ICU header directory and copy files phase. |
| |
| 2022-02-09 Eliot Hsu <eliot_hsu@apple.com> |
| |
| Move Safe Browsing knowledge into SafariSafeBrowsing framework |
| https://bugs.webkit.org/show_bug.cgi?id=231692 |
| |
| Reviewed by Alex Christensen. |
| |
| Following up on an old FIXME, move Safari Safe Browsing-specific |
| knowledge out of WebKit and into the SafariSafeBrowsing framework. |
| This includes things like the Learn More URL, the Report an Error URL, |
| etc. |
| |
| * wtf/PlatformHave.h: |
| |
| 2022-02-08 Eric Carlson <eric.carlson@apple.com> |
| |
| [macOS] Update requirements for ScreenCaptureKit |
| https://bugs.webkit.org/show_bug.cgi?id=236304 |
| rdar://88593324 |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/PlatformHave.h: |
| |
| 2022-02-07 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r289256. |
| https://bugs.webkit.org/show_bug.cgi?id=236284 |
| |
| EWS is reporting build failures |
| |
| Reverted changeset: |
| |
| "Replace "Copy WTF Headers" with native build phases" |
| https://bugs.webkit.org/show_bug.cgi?id=235744 |
| https://commits.webkit.org/r289256 |
| |
| 2022-02-07 Ben Nham <nham@apple.com> |
| |
| Add PushService |
| https://bugs.webkit.org/show_bug.cgi?id=235857 |
| |
| Reviewed by Brady Eidson. |
| |
| Add PushAPIEnabled to WebKitLegacy so we can enable it on in API tests via _WKExperimentalFeature. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2022-02-07 Elliott Williams <emw@apple.com> |
| |
| Replace "Copy WTF Headers" with native build phases |
| https://bugs.webkit.org/show_bug.cgi?id=235744 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Replace the rsync-based script that copied WTF headers with Xcode-native copy file phases. |
| Unfortunately, this entails having separate build phases for each subdirectory of <wtf/...>. |
| |
| Workspace builds may have dependencies on individual headers in WTF, and the native copy |
| phases provide the build system with enough information to form those task dependencies. |
| |
| * Configurations/WTF.xcconfig: Set PRIVATE_HEADERS_FOLDER_PATH. |
| * Configurations/CopyWTFHeaders.xcconfig: Removed. |
| * WTF.xcodeproj/project.pbxproj: Remove "Copy WTF Headers" and add copy file phases. |
| |
| 2022-02-07 David Kilzer <ddkilzer@apple.com> |
| |
| WTF::HashAndUTF8CharactersTranslator::translate() falls through ASSERT_NOT_REACHED() |
| <https://webkit.org/b/234944> |
| <rdar://problem/87230618> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/text/AtomStringImpl.cpp: |
| (WTF::HashAndUTF8CharactersTranslator::translate): |
| - Change ASSERT_NOT_REACHED() to RELEASE_ASSERT_NOT_REACHED(). |
| |
| 2022-02-07 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r289239. |
| https://bugs.webkit.org/show_bug.cgi?id=236264 |
| |
| broke builds on older internal SDKs |
| |
| Reverted changeset: |
| |
| "Add PushService" |
| https://bugs.webkit.org/show_bug.cgi?id=235857 |
| https://commits.webkit.org/r289239 |
| |
| 2022-02-07 Ben Nham <nham@apple.com> |
| |
| Add PushService |
| https://bugs.webkit.org/show_bug.cgi?id=235857 |
| |
| Reviewed by Brady Eidson. |
| |
| Add PushAPIEnabled to WebKitLegacy so we can enable it on in API tests via _WKExperimentalFeature. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2022-02-06 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Make Bitmap constexpr friendly |
| https://bugs.webkit.org/show_bug.cgi?id=236180 |
| |
| Reviewed by Darin Adler. |
| |
| Attach constexpr to constructor and methods if it is possible. |
| |
| * wtf/Bitmap.h: |
| (WTF::WordType>::set): |
| (WTF::WordType>::testAndSet): |
| (WTF::WordType>::testAndClear): |
| (WTF::WordType>::clear): |
| (WTF::WordType>::invert): |
| (WTF::WordType>::nextPossiblyUnset const): |
| (WTF::WordType>::isEmpty const): |
| (WTF::WordType>::isFull const): |
| (WTF::WordType>::merge): |
| (WTF::WordType>::filter): |
| (WTF::WordType>::exclude): |
| (WTF::WordType>::subsumes const): |
| (WTF::WordType>::mergeAndClear): |
| (WTF::WordType>::setAndClear): |
| (WTF::= const): |
| (WTF::=): |
| (WTF::WordType>::Bitmap): Deleted. |
| |
| 2022-02-06 Tyler Wilcock <tyler_w@apple.com> |
| |
| AX: Add internal-only flag to enable WIP display: contents support |
| https://bugs.webkit.org/show_bug.cgi?id=236179 |
| |
| Reviewed by Chris Fleizach. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2022-02-05 David Kilzer <ddkilzer@apple.com> |
| |
| [WTF] Fix clang tidy bugprone-move-forwarding-reference static analyzer warnings in CompletionHandler.h |
| <https://webkit.org/b/236181> |
| <rdar://problem/88529996> |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/CompletionHandler.h: |
| (WTF::CompletionHandler<Out): |
| (WTF::CompletionHandlerWithFinalizer<Out): |
| - Replace WTFMove() with std::forward<>(). |
| |
| 2022-02-05 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Thread suspend and resume should take a global lock to avoid deadlock |
| https://bugs.webkit.org/show_bug.cgi?id=236159 |
| |
| Reviewed by Geoffrey Garen. |
| |
| This patch introduces a global lock which should be taken while suspending and resuming a thread. |
| It is possible that two different threads suspend and resume threads. And if threads suspend |
| each other without critical section, it can cause a dead lock. |
| |
| To avoid this problem, we introduce a global lock which should be taken when suspending and resuming |
| threads. Since libpas is also using thread suspension, we expose a global pas_thread_suspend_lock |
| when libpas is used, and we use this lock in WTF's Thread suspension code. |
| |
| * wtf/ThreadMessage.cpp: |
| (WTF::sendMessageScoped): |
| * wtf/ThreadMessage.h: |
| (WTF::sendMessage): |
| * wtf/Threading.cpp: |
| (WTF::ThreadSuspendLocker::ThreadSuspendLocker): |
| (WTF::ThreadSuspendLocker::~ThreadSuspendLocker): |
| * wtf/Threading.h: |
| * wtf/posix/ThreadingPOSIX.cpp: |
| (WTF::Thread::suspend): |
| (WTF::Thread::resume): |
| (WTF::Thread::getRegisters): |
| * wtf/win/ThreadingWin.cpp: |
| (WTF::Thread::suspend): |
| (WTF::Thread::resume): |
| (WTF::Thread::getRegisters): |
| |
| 2022-02-04 Sam Weinig <weinig@apple.com> |
| |
| Make isNaNConstExpr actually constexpr |
| https://bugs.webkit.org/show_bug.cgi?id=236162 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/MathExtras.h: |
| (WTF::isNaNConstExpr): Add missing constexpr. |
| |
| 2022-02-04 Sam Weinig <weinig@apple.com> |
| |
| Gradients don't correctly interpolate missing/none color components correctly |
| https://bugs.webkit.org/show_bug.cgi?id=236025 |
| |
| Reviewed by Simon Fraser. |
| |
| Move isNaNConstExpr to MathExtras.h from WebCore so it can used in multiple places. |
| |
| * wtf/MathExtras.h: |
| (WTF::isNaNConstExpr): |
| |
| 2022-02-03 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Delete SelectionAcrossShadowBoundariesEnabled |
| https://bugs.webkit.org/show_bug.cgi?id=235993 |
| |
| Reviewed by Darin Adler. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2022-02-03 Robert Jenner <Jenner@apple.com> |
| |
| Unreviewed, reverting r288902. |
| |
| Broke compile-webkit for iOS-15-Simulator |
| |
| Reverted changeset: |
| |
| "Import APSConnection-related SPI" |
| https://bugs.webkit.org/show_bug.cgi?id=235856 |
| https://commits.webkit.org/r288902 |
| |
| 2022-02-02 Xan Lopez <xan@igalia.com> |
| |
| [JSC] Remove compiler warning in TrailingArray.h |
| https://bugs.webkit.org/show_bug.cgi?id=236014 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/TrailingArray.h: |
| (WTF::TrailingArray::TrailingArray): cast the std::distance result |
| to size_t, we want to compare the absolute value of the distance |
| with the 'unsigned int' size. |
| |
| 2022-02-02 Rob Buis <rbuis@igalia.com> |
| |
| Enable overflow:clip feature |
| https://bugs.webkit.org/show_bug.cgi?id=236008 |
| |
| Reviewed by Simon Fraser. |
| |
| Enable overflow:clip feature. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2022-02-02 Mark Lam <mark.lam@apple.com> |
| |
| Update computation of FAST_TLS base. |
| https://bugs.webkit.org/show_bug.cgi?id=235934 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/PlatformHave.h: |
| |
| 2022-02-02 Youenn Fablet <youenn@apple.com> |
| |
| Clarify that some UUID routines are dedicated to UUID v4 |
| https://bugs.webkit.org/show_bug.cgi?id=235430 |
| |
| Reviewed by Darin Adler. |
| |
| Rename UUID::create to UUID::createVersion4. |
| Add a UUID::parseVersion4 that validates the parsed UUID is a v4. |
| Rename createCanonicalUUIDString to createVersion4UUIDString for consistency. |
| |
| Update UUID constructor to generate a UUID v4 as per spec. |
| Update UUID::toString to generate a string representation of any UUID, and not specifically to v4. |
| |
| * wtf/Identified.h: |
| (WTF::UUIDIdentified::UUIDIdentified): |
| * wtf/URL.cpp: |
| (WTF::URL::fakeURLWithRelativePart): |
| * wtf/UUID.cpp: |
| (WTF::UUID::UUID): |
| (WTF::UUID::toString const): |
| (WTF::UUID::parse): |
| (WTF::UUID::parseVersion4): |
| (WTF::createVersion4UUIDString): |
| (WTF::isVersion4UUID): |
| (WTF::createCanonicalUUIDString): Deleted. |
| * wtf/UUID.h: |
| (WTF::UUID::createVersion4): |
| (WTF::UUID::create): Deleted. |
| * wtf/glib/FileSystemGlib.cpp: |
| (WTF::FileSystemImpl::openTemporaryFile): |
| |
| 2022-02-01 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| The default values for a couple of Live Text-related features should respect system feature flags |
| https://bugs.webkit.org/show_bug.cgi?id=235980 |
| rdar://88349726 |
| |
| Reviewed by Tim Horton. |
| |
| Add a new feature flag, and add default values for both features. See WebKit/ChangeLog for more details. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2022-02-01 Tim Nguyen <ntim@apple.com> |
| |
| Add setting to toggle PDF.js viewer |
| https://bugs.webkit.org/show_bug.cgi?id=235972 |
| |
| Reviewed by Tim Horton. |
| |
| This setting is enabled only in CaptivePortalMode. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2022-02-01 Pablo Saavedra <psaavedra@igalia.com> |
| |
| [GTK][WPE] Fixes for non-unified builds after r288807 and r288820 |
| https://bugs.webkit.org/show_bug.cgi?id=235956 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/GenericHashKey.h: |
| |
| 2022-02-01 Ben Nham <nham@apple.com> |
| |
| Import APSConnection-related SPI |
| https://bugs.webkit.org/show_bug.cgi?id=235856 |
| |
| Reviewed Youenn Fablet. |
| |
| Add a HAVE macro to guard some of the newer SPI in APSConnection. |
| |
| * wtf/PlatformHave.h: |
| |
| 2022-02-01 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r288746. |
| https://bugs.webkit.org/show_bug.cgi?id=235967 |
| |
| Caused a 5% Speedometer-2 - jQuery-TodoMVC regression. |
| |
| Reverted changeset: |
| |
| "Enable inert attribute feature flag" |
| https://bugs.webkit.org/show_bug.cgi?id=235668 |
| https://commits.webkit.org/r288746 |
| |
| 2022-02-01 Mark Lam <mark.lam@apple.com> |
| |
| Enhance sanitizeStackForVM() to assist with crash analysis. |
| https://bugs.webkit.org/show_bug.cgi?id=235752 |
| rdar://81014601 |
| |
| Reviewed by Michael Saboff. |
| |
| * wtf/Threading.h: |
| (WTF::Thread::savedStackPointerAtVMEntry const): |
| (WTF::Thread::savedLastStackTop const): |
| (WTF::Thread::savedStackPointerAtVMEntry): Deleted. |
| (WTF::Thread::savedLastStackTop): Deleted. |
| |
| 2022-01-31 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Revert OSAllocator behavior to pre-Structure-Allocator change one |
| https://bugs.webkit.org/show_bug.cgi?id=235940 |
| |
| Reviewed by Mark Lam. |
| |
| Before r288815, OSAllocator::reserveAndCommit can fail only for executable memory. |
| |
| if (result == MAP_FAILED) { |
| if (executable) |
| result = 0; |
| else |
| CRASH(); |
| } |
| |
| However, after r288815, this behavior was changed. |
| |
| Before r288815, |
| |
| 1. ExecutableAllocator uses PageReservation::reserveWithGuardPages / PageReservation::reserve / PageReservation::reserveAndCommitWithGuardPages |
| to reserve memory. |
| 2. In ARM64 macOS, we use PageReservation::reserveWithGuardPages. |
| 3. PageReservation::reserveWithGuardPages uses OSAllocator::reserveUncommitted. |
| 4. OSAllocator::reserveUncommitted used OSAllocator::reserveAndCommit internally before r288815. |
| 5. OSAllocator::reserveAndCommit can fail for executable memory. |
| |
| But after r288815, |
| |
| 1. PageReservation::reserveWithGuardPages uses OSAllocator::reserveUncommitted |
| 2. OSAllocator::reserveUncommitted now uses OSAllocator::tryReserveUncommitted and crash if it fails. |
| |
| Thus, r288815 changed the behavior of OSAllocator::reserveUncommitted for executable memory. This is causing a crash when we failed to |
| allocate JIT memory. And probably, it is happening in SIP-enabled root-installing environment. |
| |
| In this patch, |
| |
| 1. Accepting failure only for executable memory is ugly hack. We should add PageReservation::tryReserveWithGuardPages. |
| 2. In PageReservation::tryReserveWithGuardPages we should use OSAllocator::tryReserveUncommitted. |
| |
| So, this patch reverts the behavior back to pre-r288815 state. |
| We also fix a bug in tryReserveUncommitted where it handles MAP_FAILED incorrectly. We should not return MAP_FAILED from OSAllocator, instead, |
| we should return nullptr. |
| |
| * wtf/OSAllocator.h: |
| * wtf/PageReservation.h: |
| (WTF::PageReservation::tryReserve): |
| (WTF::PageReservation::tryReserveWithGuardPages): |
| (WTF::PageReservation::tryReserveAndCommitWithGuardPages): |
| * wtf/posix/OSAllocatorPOSIX.cpp: |
| (WTF::OSAllocator::tryReserveAndCommit): |
| (WTF::OSAllocator::tryReserveUncommitted): |
| (WTF::OSAllocator::reserveAndCommit): |
| (WTF::tryReserveAndCommit): Deleted. |
| (WTF::tryReserveUncommitted): Deleted. |
| * wtf/win/OSAllocatorWin.cpp: |
| (WTF::OSAllocator::tryReserveUncommitted): |
| (WTF::OSAllocator::reserveUncommitted): |
| (WTF::OSAllocator::tryReserveAndCommit): |
| (WTF::OSAllocator::reserveAndCommit): |
| |
| 2022-02-01 Tim Nguyen <ntim@apple.com> |
| |
| Entirely remove support for -apple-trailing-word |
| https://bugs.webkit.org/show_bug.cgi?id=234672 |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2022-01-31 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Delete runtime flag for subresource integrity |
| https://bugs.webkit.org/show_bug.cgi?id=235876 |
| |
| Reviewed by Darin Adler. |
| |
| Deleted the runtime flag. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2022-01-31 Aditya Keerthi <akeerthi@apple.com> |
| |
| [iOS] SharePlay is shown prominently for system-provided Share Sheets |
| https://bugs.webkit.org/show_bug.cgi?id=235895 |
| rdar://88268450 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/PlatformHave.h: |
| |
| 2022-01-31 Keith Miller <keith_miller@apple.com> |
| |
| Reland StructureID overhaul |
| https://bugs.webkit.org/show_bug.cgi?id=235720 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Changes since revert: |
| |
| Add a try version of reserveUncommitted and reserveAndCommit |
| so tryReserveUncommitted can call them if needed. |
| |
| * wtf/OSAllocator.h: |
| * wtf/posix/OSAllocatorPOSIX.cpp: |
| (WTF::tryReserveAndCommit): |
| (WTF::tryReserveUncommitted): |
| (WTF::OSAllocator::reserveUncommitted): |
| (WTF::OSAllocator::tryReserveUncommittedAligned): |
| (WTF::OSAllocator::reserveAndCommit): |
| * wtf/win/OSAllocatorWin.cpp: |
| (WTF::OSAllocator::tryReserveUncommittedAligned): |
| |
| 2022-01-30 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Add GenericHashKey |
| https://bugs.webkit.org/show_bug.cgi?id=235872 |
| |
| Reviewed by Darin Adler. |
| |
| This patch adds GenericHashKey<T>, which can represent any HashTable's key |
| even if Key does not have Empty / Deleted values. Previously we were using |
| StdUnorderedSet / StdUnorderedMap instead. But, (1) they are doing similar |
| thing to GenericHashKey to keep empty or deleted values, and (2) by using |
| GenericHashKey we can consistently use WTF::HashMap etc. for all possible |
| cases. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/GenericHashKey.h: Added. |
| |
| 2022-01-30 Diego Pino Garcia <dpino@igalia.com> |
| |
| [WinCairo] 'fileSystemRepresentation' identifier not found in URL.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=235875 |
| |
| Unreviewed build fix. |
| |
| Add missing header include. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::fileSystemPath const): |
| |
| 2022-01-30 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Delete code for keygen element |
| https://bugs.webkit.org/show_bug.cgi?id=235867 |
| |
| Reviewed by Antti Koivisto. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2022-01-30 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Delete runtime preference for enabling input events |
| https://bugs.webkit.org/show_bug.cgi?id=235864 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2022-01-29 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Delete runtime preference for enabling request animation frame |
| https://bugs.webkit.org/show_bug.cgi?id=235866 |
| |
| Reviewed by Darin Adler. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2022-01-28 Chris Dumez <cdumez@apple.com> |
| |
| ASSERTION FAILED: m_processCallback in WebCore::AudioWorkletProcessor::process |
| https://bugs.webkit.org/show_bug.cgi?id=235529 |
| |
| Reviewed by Geoffrey Garen and Darin Adler. |
| |
| Add template parameter to WeakHashSet to disable threading assertions. This is useful |
| when the call site is using locking. |
| |
| * wtf/WeakHashSet.h: |
| * wtf/WeakPtr.h: |
| |
| 2022-01-28 Tim Nguyen <ntim@apple.com> |
| |
| Enable inert attribute feature flag |
| https://bugs.webkit.org/show_bug.cgi?id=235668 |
| |
| Reviewed by Darin Adler. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2022-01-27 Tim Horton <timothy_horton@apple.com> |
| |
| Remove ENABLE(HOVER_GESTURE_RECOGNIZER) and related code |
| https://bugs.webkit.org/show_bug.cgi?id=235749 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2022-01-27 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed fix for older macOS builds after r288577. |
| |
| * wtf/Assertions.h: |
| |
| 2022-01-27 Devin Rousso <drousso@apple.com> |
| |
| Change version number for HAVE_PASSKIT_DEFAULT_SHIPPING_METHOD |
| https://bugs.webkit.org/show_bug.cgi?id=235732 |
| <rdar://problem/88152385> |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/PlatformHave.h: |
| |
| 2022-01-27 Antti Koivisto <antti@apple.com> |
| |
| Default to 32 bit refcount for CanMakeCheckedPtr |
| https://bugs.webkit.org/show_bug.cgi?id=235723 |
| rdar://86602114 |
| |
| Reviewed by Darin Adler. |
| |
| It is currently uint16_t for no good reason. It is no unreasonable to have an object being referenced |
| by a large number of other objects. |
| |
| We just hit the first bug caused by overrunning it (in IFC). |
| |
| * wtf/CheckedRef.h: |
| |
| uint16_t -> uint32_t |
| |
| 2022-01-27 Ada Chan <ada.chan@apple.com> |
| |
| Disable WebXR experimental feature by default |
| https://bugs.webkit.org/show_bug.cgi?id=235688 |
| |
| Reviewed by Tim Horton. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2022-01-27 Alexander Mikhaylenko <alexm@gnome.org> |
| |
| [GTK] Support accent colors |
| https://bugs.webkit.org/show_bug.cgi?id=235706 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * wtf/PlatformHave.h: Flip HAVE_APP_ACCENT_COLORS for GTK. |
| |
| 2022-01-26 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| Build failure with GCC 12: MediaTime.h:167:71: error: call to non-'constexpr' function 'WTF::MediaTime& WTF::MediaTime::operator=(const WTF::MediaTime&)' |
| https://bugs.webkit.org/show_bug.cgi?id=235610 |
| |
| Reviewed by Darin Adler. |
| |
| The problem is the constexpr constructor calls the non-constexpr copy assignment operator. |
| This is easy to fix, at the expense of readability, by open-coding the desired values here. |
| |
| * wtf/MediaTime.h: |
| (WTF::MediaTime::MediaTime): |
| |
| 2022-01-25 Eric Carlson <eric.carlson@apple.com> |
| |
| [macOS] Add new screen and window capture backend |
| https://bugs.webkit.org/show_bug.cgi?id=234029 |
| rdar://problem/86347726 |
| |
| Reviewed by Jer Noble and Youenn Fablet. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: Add UseScreenCaptureKit. |
| * wtf/PlatformEnableCocoa.h: Define ENABLE_SCREEN_CAPTURE_KIT. |
| * wtf/PlatformHave.h: Define HAVE_SCREEN_CAPTURE_KIT. |
| * wtf/cocoa/SoftLinking.h: Add softlink macros that take an API_AVAILABLE check. |
| |
| 2022-01-25 Aditya Keerthi <akeerthi@apple.com> |
| |
| Disable input-security CSS property |
| https://bugs.webkit.org/show_bug.cgi?id=235557 |
| rdar://87984277 |
| |
| Reviewed by Dean Jackson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| Make input-security a disabled-by-default experimental feature. |
| |
| 2022-01-25 Adrian Perez de Castro <aperez@igalia.com> |
| |
| [WTF] Make CRASH_WITH_INFO more useful when using GCC |
| https://bugs.webkit.org/show_bug.cgi?id=235573 |
| |
| Make CRASH_WITH_INFO() print out the additional information instead of silently crash |
| when WebKit is compiled with GCC. |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/Assertions.h: Add a variant of CRASH_WITH_INFO() which uses __VA_OPT__ for |
| GCC and Clang; MSVC is left with the existing version as the version currently in |
| use is not happy about __VA_OPT__. |
| (CRASH_WITH_INFO): Deleted inline function for GCC. |
| (CRASH_WITH_SECURITY_IMPLICATION_AND_INFO): Ditto. |
| |
| 2022-01-24 Mark Lam <mark.lam@apple.com> |
| |
| Rename Vector and FixedVector::findMatching to findIf to match stl naming. |
| https://bugs.webkit.org/show_bug.cgi?id=234864 |
| rdar://87424746 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Also rename reverseFindMatching to reverseFindIf. |
| |
| See https://bugs.webkit.org/show_bug.cgi?id=234855#c3 and |
| https://en.cppreference.com/w/cpp/algorithm/find. |
| |
| * wtf/FixedVector.h: |
| (WTF::FixedVector<T>::findIf const): |
| (WTF::FixedVector<T>::find const): |
| (WTF::FixedVector<T>::findMatching const): Deleted. |
| * wtf/Vector.h: |
| (WTF::Malloc>::findIf const): |
| (WTF::Malloc>::find const): |
| (WTF::Malloc>::reverseFindIf const): |
| (WTF::Malloc>::findMatching const): Deleted. |
| (WTF::Malloc>::reverseFindMatching const): Deleted. |
| |
| 2022-01-24 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| Build failure with GCC 12: no matching function for call to 'end(LChar [7])' |
| https://bugs.webkit.org/show_bug.cgi?id=235458 |
| |
| Unreviewed. Just need to #include <string> here. |
| |
| * wtf/text/IntegerToStringConversion.h: |
| |
| 2022-01-24 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| REGRESION(r288200): [GTK][WPE] Build broken on Ubuntu 18.04 |
| https://bugs.webkit.org/show_bug.cgi?id=235401 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| This implements WTF_CRASH_UNDER_CONSTEXPR_CONTEXT() properly for compatibility with older |
| compilers. |
| |
| * wtf/Assertions.h: |
| |
| 2022-01-24 Mark Lam <mark.lam@apple.com> |
| |
| Add FixedVector::clear(), contains(), find(), and findMatching(). |
| https://bugs.webkit.org/show_bug.cgi?id=234855 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/FixedVector.h: |
| (WTF::FixedVector::clear): |
| (WTF::FixedVector<T>::contains const): |
| (WTF::FixedVector<T>::findMatching const): |
| (WTF::FixedVector<T>::find const): |
| |
| 2022-01-21 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Relax Date.parse requirement |
| https://bugs.webkit.org/show_bug.cgi?id=235468 |
| |
| Reviewed by Darin Adler. |
| |
| While the spec does not require accepting 't' / ' ' separator, ISO 8601 accepts it. |
| This is because ECMA262's Date format is *not* ISO 8601 (it is called simplification |
| of ISO 8601[1]). |
| This patch relaxes this strictness to accept more formats, which can be accepted in |
| the other engines too. |
| |
| [1]: https://tc39.es/ecma262/#sec-date-time-string-format |
| |
| * wtf/DateMath.cpp: |
| (WTF::parseES5DateFromNullTerminatedCharacters): |
| |
| 2022-01-21 Sihui Liu <sihui_liu@apple.com> |
| |
| Disable CFURLCache in WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=234988 |
| <rdar://problem/87619196> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/PlatformHave.h: |
| |
| 2022-01-21 Mike Gorse <mgorse@suse.com> |
| |
| Build failure with g++ 12: std::exchange undefined |
| https://bugs.webkit.org/show_bug.cgi?id=235445 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * wtf/CompletionHandler.h: Include <utility> |
| * wtf/MallocPtr.h: Ditto |
| |
| 2022-01-20 Said Abou-Hallawa <said@apple.com> |
| |
| [Cocoa] Accelerated filters are enabled by the wrong setting |
| https://bugs.webkit.org/show_bug.cgi?id=235376 |
| |
| Reviewed by Simon Fraser. |
| |
| Delete ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER and use USE_CORE_IMAGE |
| instead since CoreImage is only used for filters right now. Besides |
| CoreImage filters will be enabled by the internal feature control flag |
| AcceleratedFiltersEnabled. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2022-01-19 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Implement Temporal.Now.instant() |
| https://bugs.webkit.org/show_bug.cgi?id=234836 |
| |
| Reviewed by Ross Kirsling. |
| |
| Add currentTimeInNanoseconds implementation. Use clock_gettime for non Windows environment |
| since it is POSIX & it is supported in macOS after Sierra. |
| |
| We also remove non-QueryPerformanceCounter path on Windows build since (1) it is supported in |
| all supported Windows versions now and (2) no ports are using that path. |
| |
| * wtf/CurrentTime.cpp: |
| (WTF::currentTimeInNanoseconds): |
| (WTF::currentTime): |
| * wtf/PlatformUse.h: |
| * wtf/WallTime.h: |
| |
| 2022-01-19 Saam Barati <sbarati@apple.com> |
| |
| Update ARM64EHash |
| https://bugs.webkit.org/show_bug.cgi?id=235192 |
| |
| Reviewed by Mark Lam. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/Bitmap.h: |
| (WTF::WordType>::set): |
| (WTF::WordType>::forEachSetBit const): |
| * wtf/CMakeLists.txt: |
| * wtf/IterationStatus.h: Added. |
| |
| 2022-01-19 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Do not use pas utils outside of libpas |
| https://bugs.webkit.org/show_bug.cgi?id=235275 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/MathExtras.h: |
| (WTF::reverseBits32): |
| (WTF::reverseBits64): |
| |
| 2022-01-19 Alex Christensen <achristensen@webkit.org> |
| |
| Allow experimental feature names to be hidden in WebKitAdditions |
| https://bugs.webkit.org/show_bug.cgi?id=235163 |
| |
| Reviewed by Chris Dumez. |
| |
| * Scripts/GeneratePreferences.rb: |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/ExperimentalFeatureNames.h: Copied from Source/WebKitLegacy/mac/Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.mm.erb. |
| |
| 2022-01-18 Chris Dumez <cdumez@apple.com> |
| |
| Enable form.requestSubmit() |
| https://bugs.webkit.org/show_bug.cgi?id=235342 |
| |
| Reviewed by Darin Adler. |
| |
| Enable form.requestSubmit(). This was fully implemented via Bug 197958 and it passes the WPT tests but |
| we never actually enabled it. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2022-01-18 Don Olmstead <don.olmstead@sony.com> |
| |
| Replace all uses of HAVE_ACCESSIBILITY with ENABLE_ACCESSIBILITY |
| https://bugs.webkit.org/show_bug.cgi?id=235335 |
| |
| Reviewed by Ross Kirsling. |
| |
| Remove the setting of HAVE_ACCESSIBILITY. All code is now using ENABLE_ACCESSIBILITY |
| instead. |
| |
| * wtf/PlatformHave.h: |
| |
| 2022-01-18 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, disable jit-heap on non Darwin |
| |
| On Linux etc., they have completely different steps to allocate executable memory. |
| Thus, the current jit-heap implementation does not work well. Temporarily disable it |
| on non Darwin OSes. |
| |
| * wtf/PlatformUse.h: |
| |
| 2022-01-18 Alex Christensen <achristensen@webkit.org> |
| |
| Use c++2a instead of gnu++2a for Cocoa builds |
| https://bugs.webkit.org/show_bug.cgi?id=234936 |
| |
| Reviewed by Sam Weinig. |
| |
| * Configurations/Base.xcconfig: |
| |
| 2022-01-18 Youenn Fablet <youenn@apple.com> |
| |
| UUID decode routine should check for deleted value |
| https://bugs.webkit.org/show_bug.cgi?id=235315 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/UUID.h: |
| (WTF::UUID::decode): |
| |
| 2022-01-18 Youenn Fablet <youenn@apple.com> |
| |
| Make ServiceWorkerClient.id a UUID instead of a string derived from a ScriptExecutionContextIdentifier |
| https://bugs.webkit.org/show_bug.cgi?id=235070 |
| <rdar://problem/87673540> |
| |
| Reviewed by Darin Adler and Chris Dumez. |
| |
| * wtf/UUID.cpp: |
| * wtf/UUID.h: |
| Use uint64_t logic to generate UUIDs and remove some reinterpret_cast. |
| Remove the Hasher add since we directly use UUID hash in WebCore. |
| Simplify parsing logic by using more parseIntegers and bit logic. |
| Also make sure we are not able to create empty/deleted UUID value from strings. |
| |
| 2022-01-17 Youenn Fablet <youenn@apple.com> |
| |
| Make ServiceWorkerClient.id a UUID instead of a string derived from a ScriptExecutionContextIdentifier |
| https://bugs.webkit.org/show_bug.cgi?id=235070 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/UUID.cpp: |
| * wtf/UUID.h: |
| Add routine to stringify a UUID. |
| Add routine to parse a stringified UUID. |
| We restrict UUID::create to values for which the version 4 UUID stringification is bijective. |
| |
| 2022-01-16 Youenn Fablet <youenn@apple.com> |
| |
| Enforce focus check for getUserMedia |
| https://bugs.webkit.org/show_bug.cgi?id=235026 |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2022-01-16 Lauro Moura <lmoura@igalia.com> |
| |
| Fix C++20 build warnings with GCC |
| https://bugs.webkit.org/show_bug.cgi?id=235023 |
| |
| Reviewed by Alex Christensen. |
| |
| Mostly related to deprecating operations between enums of different |
| types and not capturing this by default in lambdas. |
| |
| * wtf/AutomaticThread.cpp: Capture this in lambda. |
| (WTF::AutomaticThread::start): |
| |
| 2022-01-16 David Kilzer <ddkilzer@apple.com> |
| |
| [WTF] Add TollFreeBridging.h to Xcode project |
| |
| Unreviewed follow-up for r284038: |
| |
| Switch WTF::bridge_cast to use type traits |
| <https://webkit.org/b/231467> |
| <rdar://problem/84050614> |
| |
| * WTF.xcodeproj/project.pbxproj: |
| - Add TollFreeBridging.h to the project. |
| |
| 2022-01-15 Chris Dumez <cdumez@apple.com> |
| |
| Introduce dynamicDowncast<>() for convenience |
| https://bugs.webkit.org/show_bug.cgi?id=235259 |
| |
| Reviewed by Darin Adler. |
| |
| Introduce dynamicDowncast<>() for convenience. It can result in more concise code for the common pattern |
| where we call `is<T>(x)` and then `downcast<T>(x)`. |
| |
| * wtf/TypeCasts.h: |
| (WTF::dynamicDowncast): |
| |
| 2022-01-14 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Fix WTF::UUID's potential collision with empty and deleted values |
| https://bugs.webkit.org/show_bug.cgi?id=235177 |
| |
| Reviewed by Chris Dumez. |
| |
| Since cryptographicallyRandomValues generates random values, it is possible that it produces 0 or 1. |
| In that case, it conflicts with empty and deleted values of UUID for hash table. When it is generated |
| and used, it can break hash tables. This patch avoids that by picking 2 when we generate 0 or 1. |
| |
| We also avoid using UInt128Impl and instead using UInt128. UInt128Impl is implementation, so we should |
| always use UInt128. UInt128 can be native __uint128_t when it is supported by the compiler: clang and |
| GCC on 64bit support it. |
| |
| In this patch, we do not use strict UUID v4. This patch focuses on fixing the existing hash table corruption |
| bug, and we defer discussion about UUID v4 since it reduces usable bits from 128 to 122, which we need to |
| investigate the existing usage of UUID (and UUID string) in our tree. |
| |
| * wtf/UUID.cpp: |
| (WTF::UUID::UUID): |
| * wtf/UUID.h: |
| (WTF::UUID::UUID): |
| (WTF::UUID::isHashTableDeletedValue const): |
| (WTF::UUID::encode const): |
| (WTF::UUID::decode): |
| |
| 2022-01-13 Elliott Williams <emw@apple.com> |
| |
| [XCBuild] Add "product dependencies" which influence workspace build order |
| https://bugs.webkit.org/show_bug.cgi?id=235094 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Configurations/Base.xcconfig: Add EXCLUDED_SOURCE_FILE_NAMES |
| * Configurations/WTF.xcconfig: Inherit EXCLUDED_SOURCE_FILE_NAMES |
| * WTF.xcodeproj/project.pbxproj: Add Product Dependencies |
| |
| 2022-01-12 Mark Lam <mark.lam@apple.com> |
| |
| [Re-landing] Update hashThreadState() to exclude __opaque_flags. |
| https://bugs.webkit.org/show_bug.cgi?id=235081 |
| rdar://86282584 |
| |
| Reviewed by Keith Miller. |
| |
| The __opaque_flags may be used by the OS, and may be altered without our knowledge. |
| Hence, our hash should not include the __opaque_flags field. |
| |
| Also remove some unused code. |
| |
| * wtf/PlatformRegisters.h: |
| * wtf/threads/Signals.cpp: |
| (WTF::hashThreadState): |
| |
| 2022-01-12 Elliott Williams <emw@apple.com> |
| |
| [Xcode] Configure each project for the legacy build system |
| https://bugs.webkit.org/show_bug.cgi?id=235091 |
| |
| Beta versions of Xcode do not recognize the `-UseNewBuildSystem=NO` flag, so we need to |
| manually declare use of PBXBuild in our projects. |
| |
| Reviewed by Darin Adler. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| |
| 2022-01-12 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r287908. |
| https://bugs.webkit.org/show_bug.cgi?id=235156 |
| |
| Broke M1 Monterey JSC |
| |
| Reverted changeset: |
| |
| "Update hashThreadState() to exclude __opaque_flags." |
| https://bugs.webkit.org/show_bug.cgi?id=235081 |
| https://commits.webkit.org/r287908 |
| |
| 2022-01-10 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Enable libpas jit-heap when libpas is enabled |
| https://bugs.webkit.org/show_bug.cgi?id=235042 |
| |
| Reviewed by Filip Pizlo. |
| |
| Previously, we enabled jit-heap only in ARM64 macOS. |
| We should enable it when libpas is enabled. |
| |
| * wtf/PlatformUse.h: |
| |
| 2022-01-12 Zan Dobersek <zdobersek@igalia.com> |
| |
| [WTF] Exclude any Linux-based platform in DisallowCType.h |
| https://bugs.webkit.org/show_bug.cgi?id=235104 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| * wtf/DisallowCType.h: Exclude any Linux target from deploying macros |
| that prevent use of locale-dependent ctype functions in combination with |
| the glibc C library and a non-libc++ C++ library. This should thus also |
| cover the JSCOnly port when built on Linux. |
| |
| 2021-11-29 Simon Fraser <simon.fraser@apple.com> |
| |
| Serialize CSS <number> values with rounding, limited decimal precision, and no exponents per-spec |
| https://bugs.webkit.org/show_bug.cgi?id=218880 |
| |
| Reviewed by Darin Adler. |
| |
| Add new numberToCSSString and FormattedCSSNumber that handle converting a double into the format required by |
| CSS (unlimited number of digits before the decimal place, up to 6 decimal places, no trailing zeros. |
| |
| * wtf/dtoa.cpp: |
| (WTF::truncateTrailingZeros): |
| (WTF::numberToFixedPrecisionString): |
| (WTF::numberToCSSString): |
| * wtf/dtoa.h: |
| * wtf/dtoa/double-conversion.cc: |
| * wtf/dtoa/double-conversion.h: |
| * wtf/text/StringConcatenateNumbers.h: |
| (WTF::FormattedCSSNumber::create): |
| (WTF::FormattedCSSNumber::length const): |
| (WTF::FormattedCSSNumber::buffer const): |
| (WTF::StringTypeAdapter<FormattedCSSNumber>::StringTypeAdapter): |
| (WTF::StringTypeAdapter<FormattedCSSNumber>::length const): |
| (WTF::StringTypeAdapter<FormattedCSSNumber>::is8Bit const): |
| (WTF::StringTypeAdapter<FormattedCSSNumber>::writeTo const): |
| |
| 2022-01-11 Mark Lam <mark.lam@apple.com> |
| |
| Update hashThreadState() to exclude __opaque_flags. |
| https://bugs.webkit.org/show_bug.cgi?id=235081 |
| rdar://86282584 |
| |
| Reviewed by Keith Miller. |
| |
| The __opaque_flags may be used by the OS, and may be altered without our knowledge. |
| Hence, our hash should not include the __opaque_flags field. |
| |
| Also remove some unused code. |
| |
| * wtf/PlatformRegisters.h: |
| * wtf/threads/Signals.cpp: |
| (WTF::hashThreadState): |
| |
| 2022-01-11 Sam Weinig <weinig@apple.com> |
| |
| Remove AppleTV specific disabling of conic gradients, its not necessary |
| https://bugs.webkit.org/show_bug.cgi?id=235041 |
| |
| Reviewed by Darin Adler. |
| |
| Add HAVE_CORE_GRAPHICS_CONIC_GRADIENTS macro and use it to control ENABLE_CSS_CONIC_GRADIENTS. |
| |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformHave.h: |
| |
| 2022-01-10 Alex Christensen <achristensen@webkit.org> |
| |
| Start using C++20 |
| https://bugs.webkit.org/show_bug.cgi?id=233963 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * Configurations/Base.xcconfig: |
| * wtf/DisallowCType.h: |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::toStdFileSystemPath): |
| (WTF::FileSystemImpl::fromStdFileSystemPath): |
| * wtf/PlatformHave.h: |
| * wtf/VectorTraits.h: |
| * wtf/text/StringOperators.h: |
| |
| 2022-01-10 Youenn Fablet <youenn@apple.com> |
| |
| Compile out ENABLE_MEDIA_CAPTURE on WATCHOS and APPLETV |
| https://bugs.webkit.org/show_bug.cgi?id=234946 |
| <rdar://87126228> |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2022-01-09 Sam Weinig <weinig@apple.com> |
| |
| Remove support for Direct2D |
| https://bugs.webkit.org/show_bug.cgi?id=234999 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformFTW.cmake: Removed. |
| |
| 2022-01-09 Sam Weinig <weinig@apple.com> |
| |
| Add helpers to access CoreGraphics color spaces more easily in generic contexts |
| https://bugs.webkit.org/show_bug.cgi?id=235004 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformHave.h: |
| Update have macro, HAVE_CORE_GRAPHICS_XYZ_COLOR_SPACE, to have a more specific name, |
| HAVE_CORE_GRAPHICS_XYZ_D50_COLOR_SPACE, which is really what it is. |
| |
| 2022-01-07 Tim Horton <timothy_horton@apple.com> |
| |
| Adopt linkedOnOrAfter() in more places |
| https://bugs.webkit.org/show_bug.cgi?id=234951 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/cocoa/LanguageCocoa.mm: |
| (WTF::canMinimizeLanguages): |
| Adopt linkedOnOrAfter and simplify. |
| |
| * wtf/cocoa/RuntimeApplicationChecksCocoa.h: |
| The weird mismatch between the iOS and macOS values for FirstVersionThatSupportsInitConstructors |
| is correct; the iOS version was bumped in r202670. |
| |
| 2022-01-07 Alex Christensen <achristensen@webkit.org> |
| |
| Unreviewed, reverting r287698. |
| |
| Broke an internal build |
| |
| Reverted changeset: |
| |
| "Start using C++20" |
| https://bugs.webkit.org/show_bug.cgi?id=233963 |
| https://commits.webkit.org/r287698 |
| |
| 2022-01-07 Alex Christensen <achristensen@webkit.org> |
| |
| Unreviewed, reverting r287718. |
| |
| Broke an internal build |
| |
| Reverted changeset: |
| |
| "[PlayStation] Fix build break after r287698" |
| https://bugs.webkit.org/show_bug.cgi?id=234931 |
| https://commits.webkit.org/r287718 |
| |
| 2022-01-06 Tim Horton <timothy_horton@apple.com> |
| |
| Move linkedOnOrAfter() to WTF |
| https://bugs.webkit.org/show_bug.cgi?id=234942 |
| |
| Reviewed by Darin Adler. |
| |
| Move linkedOnOrAfter() and the associated SDKVersion enum to WTF from WebCore. |
| This precedes a series of patches that will adopt it in WTF and JavaScriptCore, |
| and then replace the underlying mechanism with a slightly more flexible one. |
| |
| * wtf/cocoa/RuntimeApplicationChecksCocoa.cpp: |
| (WTF::linkedOnOrAfter): |
| * wtf/cocoa/RuntimeApplicationChecksCocoa.h: |
| |
| 2022-01-06 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Add a helper function that returns the value of a std::optional<T> or constructs T if needed |
| https://bugs.webkit.org/show_bug.cgi?id=234865 |
| |
| Reviewed by Darin Adler. |
| |
| Add a new helper function that returns the value of a given `std::optional<Type>` if it exists, and otherwise |
| constructs and returns `Type { }`. Currently, the alternative to this is writing out the `Type { }` in full when |
| passing in an argument to `value_or`; using this avoids some redundancy and makes the expression a bit easier to |
| read. |
| |
| * wtf/StdLibExtras.h: |
| (WTF::valueOrDefault): |
| |
| 2022-01-06 Tim Horton <timothy_horton@apple.com> |
| |
| Separate "linked-on-or-{before, after}-everything" override from the SDK version |
| https://bugs.webkit.org/show_bug.cgi?id=234930 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/cocoa/RuntimeApplicationChecksCocoa.cpp: |
| (WTF::linkedOnOrAfterOverrideValue): |
| (WTF::setLinkedOnOrAfterOverride): |
| (WTF::linkedOnOrAfterOverride): |
| * wtf/cocoa/RuntimeApplicationChecksCocoa.h: |
| Add an explicit optional bit for "this application should pretend to be |
| linked on or {after, before} everything" instead of just overriding the |
| SDK version. This is a prerequisite for getting rid of applicationSDKVersion(), |
| which will happen in a future patch. |
| |
| This is in WTF because linkedOnOrAfter() is going to move here in a |
| future patch as well. |
| |
| 2022-01-06 Stephan Szabo <stephan.szabo@sony.com> |
| |
| [PlayStation] Fix build break after r287698 |
| https://bugs.webkit.org/show_bug.cgi?id=234931 |
| |
| Unreviewed build fix |
| |
| * wtf/PlatformHave.h: Use MISSING_STD_FILESYSTEM_PATH_CONSTRUCTOR on PlayStation |
| |
| 2022-01-06 Alex Christensen <achristensen@webkit.org> |
| |
| Start using C++20 |
| https://bugs.webkit.org/show_bug.cgi?id=233963 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * Configurations/Base.xcconfig: |
| * wtf/DisallowCType.h: |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::toStdFileSystemPath): |
| (WTF::FileSystemImpl::fromStdFileSystemPath): |
| * wtf/PlatformHave.h: |
| * wtf/VectorTraits.h: |
| * wtf/text/StringOperators.h: |
| |
| 2022-01-05 John Wilander <wilander@apple.com> |
| |
| Change version number for HAVE_RSA_PSS_OID |
| https://bugs.webkit.org/show_bug.cgi?id=234904 |
| <rdar://86646280> |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/PlatformHave.h: |
| |
| 2022-01-05 Tim Horton <timothy_horton@apple.com> |
| |
| Momentum Event Dispatcher: Momentum tails may get truncated if the duration runs longer than the system's |
| https://bugs.webkit.org/show_bug.cgi?id=234535 |
| <rdar://problem/86338105> |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/PlatformHave.h: |
| Add a HAVE for kIOHIDEventScrollMomentumInterrupted. |
| |
| 2021-12-31 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Replace UDIS86 with Zydis |
| https://bugs.webkit.org/show_bug.cgi?id=234765 |
| |
| Reviewed by Michael Saboff. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2021-12-29 Sam Weinig <weinig@apple.com> |
| |
| Add additional named color spaces for extended rgb color types and HSL/HWB in preparation for out of gamut and missing component support |
| https://bugs.webkit.org/show_bug.cgi?id=234741 |
| |
| Reviewed by Dean Jackson. |
| |
| * wtf/PlatformHave.h: |
| Add new HAVE macros for additional CoreGraphics named color spaces and the CGColorSpaceCreateExtended function. |
| |
| 2021-12-28 Sam Weinig <weinig@apple.com> |
| |
| Support color interpolation methods for CSS Gradients |
| https://bugs.webkit.org/show_bug.cgi?id=234711 |
| |
| Reviewed by Simon Fraser. |
| |
| Add new experimental feature flag, CSSGradientInterpolationColorSpacesEnabled, to gate |
| support for interpolation methods in CSS gradients. Off by default. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-12-28 Sam Weinig <weinig@apple.com> |
| |
| Enhance Vector::map to allow specifying what kind of Vector to return (e.g. inline capacity, overflow, etc.) |
| https://bugs.webkit.org/show_bug.cgi?id=234683 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/Vector.h: |
| (WTF::Vector::map const): |
| Add an overload of Vector::map() that allows specifying the type of the result Vector. To make this |
| work without giving up the argument deduction in the common case, SFINAE is used to determine which |
| overload to use. |
| |
| 2021-12-28 Zan Dobersek <zdobersek@igalia.com> |
| |
| [RISCV64] Enable signal-based VM traps for CPU(RISCV64) |
| https://bugs.webkit.org/show_bug.cgi?id=234719 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/PlatformEnable.h: Define ENABLE_SIGNAL_BASED_VM_TRAPS for CPU(RISCV64). |
| |
| 2021-12-28 Zan Dobersek <zdobersek@igalia.com> |
| |
| [RISCV64] Define HAVE_MACHINE_CONTEXT, provide mcontext_t accessors for CPU(RISCV64) |
| https://bugs.webkit.org/show_bug.cgi?id=234718 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/PlatformHave.h: Define HAVE_MACHINE_CONTEXT for CPU(RISCV64). |
| |
| 2021-12-23 Sam Weinig <weinig@apple.com> |
| |
| Gradient color interpolation incorrect for colors with alpha (need to interpolate premultiplied colors) |
| https://bugs.webkit.org/show_bug.cgi?id=150940 |
| <rdar://problem/25499232> |
| |
| Reviewed by Simon Fraser. |
| |
| Enable CSSGradientPremultipliedAlphaInterpolationEnabled by default. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-12-23 Brady Eidson <beidson@apple.com> |
| |
| Add WTF::UUID class which is natively a 128-bit integer |
| https://bugs.webkit.org/show_bug.cgi?id=234571 |
| |
| Reviewed by Alex Christensen. |
| |
| This patch adds a new WTF::UUID class. |
| |
| For now, it is simply a wrapper around a 128-bit integer, and creating a new one primes that integer with |
| cryptographically random data. |
| |
| It can be encoded/decoded as well as used as a HashKey. |
| |
| And it will be a great utility to use as a unique object identifier for objects that logically exist |
| in multiple processes. |
| |
| On that note, it also changes "UUIDIdentifier" to use this new UUID class instead of a v4 UUID string. |
| |
| * wtf/Identified.h: |
| (WTF::UUIDIdentified::UUIDIdentified): |
| |
| * wtf/UUID.cpp: |
| (WTF::UUID::UUID): |
| (WTF::UUID::toVector const): |
| (WTF::UUID::hash const): |
| |
| * wtf/UUID.h: |
| (WTF::UUID::create): |
| (WTF::UUID::UUID): |
| (WTF::UUID::operator== const): |
| (WTF::UUID::data const): |
| (WTF::UUID::isHashTableDeletedValue const): |
| (WTF::UUIDHash::hash): |
| (WTF::UUIDHash::equal): |
| (WTF::HashTraits<UUID>::emptyValue): |
| (WTF::HashTraits<UUID>::constructDeletedValue): |
| (WTF::HashTraits<UUID>::isDeletedValue): |
| (WTF::UUID::encode const): |
| (WTF::UUID::decode): |
| |
| 2021-12-23 Sihui Liu <sihui_liu@apple.com> |
| |
| Ensure file handles used in FileSystemAccess API are closed |
| https://bugs.webkit.org/show_bug.cgi?id=234520 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/CrossThreadCopier.h: |
| |
| 2021-12-22 Sihui Liu <sihui_liu@apple.com> |
| |
| WebsiteDataStore::excludeDirectoryFromBackup should set attribute for existing directories |
| https://bugs.webkit.org/show_bug.cgi?id=234404 |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::excludeFromBackup): |
| (WTF::FileSystemImpl::canExcludeFromBackup): Deleted. |
| * wtf/FileSystem.h: |
| * wtf/cocoa/FileSystemCocoa.mm: |
| (WTF::FileSystemImpl::excludeFromBackup): |
| * wtf/mac/FileSystemMac.mm: |
| (WTF::FileSystem::canExcludeFromBackup): Deleted. |
| (WTF::FileSystem::excludeFromBackup): Deleted. |
| |
| 2021-12-22 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r287364. |
| https://bugs.webkit.org/show_bug.cgi?id=234620 |
| |
| broke 3 API tests |
| |
| Reverted changeset: |
| |
| "Preferences that read from NSUserDefaults need to be |
| initialied from platformInitializeStore()" |
| https://bugs.webkit.org/show_bug.cgi?id=234488 |
| https://commits.webkit.org/r287364 |
| |
| 2021-12-22 Zan Dobersek <zdobersek@igalia.com> |
| |
| [RISCV64] Add RISCV64 support in YARR |
| https://bugs.webkit.org/show_bug.cgi?id=234547 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/PlatformEnable.h: Also enable different YARR-related flags for RISCV64. |
| |
| 2021-12-22 Simon Fraser <simon.fraser@apple.com> |
| |
| Preferences that read from NSUserDefaults need to be initialied from platformInitializeStore() |
| https://bugs.webkit.org/show_bug.cgi?id=234488 |
| |
| Reviewed by Sam Weinig. |
| |
| Having the default value for a preference read from NSUserDefaults can cause issues |
| if the UIProcess and WebProcess values don't match. Instead, have platformInitializeStore() |
| explicitly add values for these keys; this is done for scrollAnimatorEnabledKey. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2021-12-22 J Pascoe <j_pascoe@apple.com> |
| |
| [WebAuthn] Set Web Authentication experimental feature flag as default true |
| https://bugs.webkit.org/show_bug.cgi?id=234533 |
| <rdar://problem/86743595> |
| |
| Reviewed by Brent Fulgham. |
| |
| The Web Authentication feature has been shipping for a while. Default value |
| for experimental feature flag should be true. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-12-21 Brady Eidson <beidson@apple.com> |
| |
| Make Notification identifiers be a UUID string instead of a uint64_t |
| https://bugs.webkit.org/show_bug.cgi?id=234534 |
| |
| Reviewed by Alex Christensen. |
| |
| Add a new form of Identified that uses a UUID String as the identifier. |
| |
| * wtf/Identified.h: |
| (WTF::UUIDIdentified::UUIDIdentified): |
| |
| 2021-12-21 Sam Weinig <weinig@apple.com> |
| |
| Add support for premultiplied alpha interpolated gradients and defaulted off option to use them for CSS Gradients |
| https://bugs.webkit.org/show_bug.cgi?id=234492 |
| |
| Reviewed by Simon Fraser. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| Add a new experimental setting to enable premultiplied alpha CSS gradients. |
| |
| 2021-12-21 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Remove RefCountedArray and use RefCountedFixedVector |
| https://bugs.webkit.org/show_bug.cgi?id=234484 |
| |
| Reviewed by Dean Jackson. |
| |
| Use RefCountedFixedVector<T> instead of RefCountedArray<T> and remove RefCountedArray<T>. |
| RefCountedFixedVector<T> is much simpler interface: it is just using Ref<> / RefPtr<> |
| instead of integrating ref-counting holder semantics into the class itself. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/FixedVector.h: |
| * wtf/RefCountedArray.cpp: Removed. |
| * wtf/RefCountedArray.h: Removed. |
| * wtf/WTFAssertions.cpp: |
| |
| 2021-12-20 Alexey Shvayka <ashvayka@apple.com> |
| |
| [WebIDL] convertVariadicArguments() should return a FixedVector |
| https://bugs.webkit.org/show_bug.cgi?id=232639 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Introduce std::initializer_list constructor for FixedVector and a WTF::map() overload. |
| |
| * wtf/FixedVector.h: |
| (WTF::FixedVector::FixedVector): |
| (WTF::map): |
| * wtf/VectorTraits.h: |
| |
| 2021-12-20 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| MSVC reports "wtf/RetainPtr.h(196): error C3861: 'CFAutorelease': identifier not found " with /permissive- on Windows |
| https://bugs.webkit.org/show_bug.cgi?id=202842 |
| |
| Reviewed by Darin Adler. |
| |
| r287200 fixed the problem, but not a right fix. |
| |
| * wtf/PlatformHave.h: Defined a new macro HAVE_CFAUTORELEASE for PLATFORM(COCOA). |
| * wtf/RetainPtr.h: Use HAVE(CFAUTORELEASE) instead of PLATFORM(COCOA). |
| |
| 2021-12-19 Brady Eidson <beidson@apple.com> |
| |
| Stub out NotificationEvent and related |
| https://bugs.webkit.org/show_bug.cgi?id=234420 |
| |
| Reviewed by Alex Christensen. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| * wtf/PlatformEnable.h: |
| |
| 2021-12-18 Darin Adler <darin@apple.com> |
| |
| Hash tables, read/write, and heap memory are used unnecessarily, which may hurt performance |
| https://bugs.webkit.org/show_bug.cgi?id=234438 |
| |
| Reviewed by Anders Carlsson. |
| |
| * wtf/SortedArrayMap.h: |
| (WTF::SortedArrayMap<ArrayType>::contains const): Added. More elegant than calling tryGet and |
| treating the pointer as a boolean. |
| (WTF::makeOptionalFromPointer): Moved here so it can be reused. Might rename later, since it's |
| only used in a few places. |
| |
| 2021-12-17 Simon Fraser <simon.fraser@apple.com> |
| |
| Read the default value of the ScrollAnimatorEnabled setting from NSUserDefaults |
| https://bugs.webkit.org/show_bug.cgi?id=234456 |
| |
| Reviewed by Tim Horton. |
| |
| It's impossible for a test to run with an animated keyboard scroll because platformAllowsScrollAnimation(), |
| which reads from NSUserDefaults, always trumps the Setting. |
| |
| Fix by initializing the setting from NSUserDefaults and removing the platformAllowsScrollAnimation() |
| check. This allows for a WebKitTestRunner test override the setting. Remove the WTR code |
| that sets @"NSScrollAnimationEnabled" to @NO. |
| |
| Unfortunately in WebKitLegacy AppKit code consults the @"NSScrollAnimationEnabled" key, so |
| DumpRenderTree has to continue to initialize this NSUserDefault to @NO and tests that |
| try to change the Setting will fail. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2021-12-17 Simon Fraser <simon.fraser@apple.com> |
| |
| Rename MockScrollAnimatorEnabled to MockScrollbarsControllerEnabled |
| https://bugs.webkit.org/show_bug.cgi?id=234452 |
| |
| Reviewed by Anders Carlsson. |
| |
| The class formerly known as MockScrollAnimatorEnabled is used for logging when scrollbars |
| get events, so fix the name. It's a subclass of ScrollbarsController. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2021-12-17 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Introduce TrailingArray |
| https://bugs.webkit.org/show_bug.cgi?id=234201 |
| |
| Reviewed by Darin Adler. |
| |
| This patch implements TrailingArray<Derived, T>, which allows us to implement class |
| with trailing array easily. By using this, we implement EmbeddedFixedVector and RefCountedFixedVector. |
| Plus, we replace underlying implementation of FixedVector from RefCountedArray to EmbeddedFixedVector |
| since ref-counting is not necessary. This is great for swapping: while RefCountedArray will decrease ref |
| and touching memory when destryoing, EmbeddedFixedVector does not, so we can keep memory untouched if |
| EmbeddedFixedVector's T is POD when destroying. |
| |
| In a subsequent patch, we will remove RefCountedArray and use RefCountedFixedVector since RefCountedFixedVector |
| is following normal Ref / RefPtr protocol, so easy to understand the semantics. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/EmbeddedFixedVector.h: Added. |
| * wtf/FixedVector.h: |
| (WTF::FixedVector::FixedVector): |
| (WTF::FixedVector::operator=): |
| (WTF::FixedVector::size const): |
| (WTF::FixedVector::isEmpty const): |
| (WTF::FixedVector::byteSize const): |
| (WTF::FixedVector::data): |
| (WTF::FixedVector::begin): |
| (WTF::FixedVector::end): |
| (WTF::FixedVector::rbegin): |
| (WTF::FixedVector::rend): |
| (WTF::FixedVector::rbegin const): |
| (WTF::FixedVector::rend const): |
| (WTF::FixedVector::at): |
| (WTF::FixedVector::at const): |
| (WTF::FixedVector::operator[]): |
| (WTF::FixedVector::operator[] const): |
| (WTF::FixedVector::fill): |
| (WTF::FixedVector::operator!= const): |
| (WTF::FixedVector::operator== const): |
| (WTF::FixedVector::swap): |
| (WTF::FixedVector::getStorage): |
| * wtf/RefCountedFixedVector.h: Added. |
| * wtf/TrailingArray.h: Added. |
| (WTF::TrailingArray::TrailingArray): |
| (WTF::TrailingArray::~TrailingArray): |
| (WTF::TrailingArray::allocationSize): |
| (WTF::TrailingArray::size const): |
| (WTF::TrailingArray::isEmpty const): |
| (WTF::TrailingArray::byteSize const): |
| (WTF::TrailingArray::data): |
| (WTF::TrailingArray::data const): |
| (WTF::TrailingArray::begin): |
| (WTF::TrailingArray::end): |
| (WTF::TrailingArray::begin const): |
| (WTF::TrailingArray::end const): |
| (WTF::TrailingArray::cbegin const): |
| (WTF::TrailingArray::cend const): |
| (WTF::TrailingArray::rbegin): |
| (WTF::TrailingArray::rend): |
| (WTF::TrailingArray::rbegin const): |
| (WTF::TrailingArray::rend const): |
| (WTF::TrailingArray::crbegin const): |
| (WTF::TrailingArray::crend const): |
| (WTF::TrailingArray::at): |
| (WTF::TrailingArray::at const): |
| (WTF::TrailingArray::operator[]): |
| (WTF::TrailingArray::operator[] const): |
| (WTF::TrailingArray::first): |
| (WTF::TrailingArray::first const): |
| (WTF::TrailingArray::last): |
| (WTF::TrailingArray::last const): |
| (WTF::TrailingArray::fill): |
| (WTF::TrailingArray::offsetOfSize): |
| (WTF::TrailingArray::offsetOfData): |
| |
| 2021-12-17 Sihui Liu <sihui_liu@apple.com> |
| |
| Add custom copy() method for Ref<T> to CrossThreadCopier |
| https://bugs.webkit.org/show_bug.cgi?id=234411 |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/CrossThreadCopier.cpp: |
| * wtf/CrossThreadCopier.h: |
| |
| 2021-12-17 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| MSVC reports "wtf/RetainPtr.h(196): error C3861: 'CFAutorelease': identifier not found " with /permissive- on Windows |
| https://bugs.webkit.org/show_bug.cgi?id=202842 |
| |
| Reviewed by Alex Christensen and Darin Adler. |
| |
| MSVC /std:c++20 option implicitly enables /permissive- option. |
| However, RetainPtr.h can't compile because 'CFAutorelease' is not |
| defined. |
| |
| CFAutorelease isn't available in AppleWin's CoreFoundation and |
| WinCairo's OpenCFLite as of now. |
| |
| * wtf/RetainPtr.h: Enclosed RetainPtr<T>::autorelease with #if !OS(WINDOWS). |
| |
| 2021-12-16 Alex Christensen <achristensen@webkit.org> |
| |
| Unreviewed, reverting r287056. |
| <rdar://86519800> |
| |
| Caused performance regression...again |
| |
| Reverted changeset: |
| |
| "Remove properties set by NSURLProtocol on NSURLRequest before |
| serializing" |
| https://bugs.webkit.org/show_bug.cgi?id=232332 |
| https://commits.webkit.org/r287056 |
| |
| 2021-12-15 Darin Adler <darin@apple.com> |
| |
| Many call sites use makeNeverDestroyed, but could instead take advantage of the NeverDestroyed deduction guide |
| https://bugs.webkit.org/show_bug.cgi?id=234350 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/NeverDestroyed.h: |
| (WTF::makeNeverDestroyed): Deleted. |
| |
| * wtf/text/cf/StringImplCF.cpp: |
| (WTF::StringWrapperCFAllocator::allocator): Use deduction guide. |
| |
| 2021-12-15 Alex Christensen <achristensen@webkit.org> |
| |
| Remove unreachable code in Plugin and PluginController |
| https://bugs.webkit.org/show_bug.cgi?id=234365 |
| |
| Reviewed by Geoff Garen and Anders Carlsson. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-12-15 Chris Dumez <cdumez@apple.com> |
| |
| Support passing an old-style enum to add(Hasher&, ...) |
| https://bugs.webkit.org/show_bug.cgi?id=234368 |
| |
| Reviewed by Darin Adler. |
| |
| Support passing an old-style enum to add(Hasher&, ...). Previously, it would work for enum classes |
| but lead to ambiguity errors with some compiler when passing a plain enum. |
| |
| * wtf/Hasher.h: |
| (WTF::Hasher::add): |
| (WTF::add): |
| |
| 2021-12-15 Jer Noble <jer.noble@apple.com> |
| |
| [Mac] Adopt -[NSScreen safeAreaInsets] |
| https://bugs.webkit.org/show_bug.cgi?id=234291 |
| <rdar://85805895> |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-12-15 Chris Dumez <cdumez@apple.com> |
| |
| Move SWServers from NetworkProcess to NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=234179 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/MemoryPressureHandler.h: |
| Using a bool as underlying type for those enum classes is sufficient. |
| |
| 2021-12-15 Tomoki Imai <tomoki.imai@sony.com> |
| |
| [PlayStation] Use FileSystem instead of FileSystemPlayStation except several unsupported APIs |
| https://bugs.webkit.org/show_bug.cgi?id=234337 |
| |
| Reviewed by Don Olmstead. |
| |
| PlayStation should use FileSystem as its current SDK supports std::filesystem. |
| We have to maintain FileSystemPlayStation for now to supply some of FileSystem APIs |
| because the following functions are not supported yet. |
| - std::filesystem::space |
| - std::filesystem::rename |
| - std::filesystem::canonical |
| - std::filesystem::directory_iterator |
| - std::filesystem::remove_all |
| |
| The plan is to remove FileSystemPlayStation entirely after the SDK supports these functions. |
| |
| This patch also fixes the incompatible issue of FileSystem::listDirectory of FileSystemPlayStation. |
| FileSystem::listDirectory is expected to return only the names, but it actually returns full paths. |
| |
| Confirmed that there is no regression in FileSystem related testcases in TestWTF. |
| |
| * wtf/FileSystem.cpp: Add PLATFORM(PLAYSTATION) guards not to use unsupported std::filesystem APIs. |
| * wtf/playstation/FileSystemPlayStation.cpp: Remove the functions duplicated with FileSystem. |
| Make FileSystem::listDirectory returns only names. |
| Add listDirectorySub which can return a full path because deleteNonEmptyDirectory depends on it. |
| |
| 2021-12-15 Youenn Fablet <youenn@apple.com> |
| |
| Make use of PLATFORM(COCOA) in MediaRecorder WebPreference |
| https://bugs.webkit.org/show_bug.cgi?id=234339 |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| HAVE(AVASSETWRITERDELEGATE) has been removed from PlatformHave.h given it was true on all supported platforms. |
| But it was still used to guard MediaRecorder preference, thus MediaRecorder got disabled inadvertently. |
| Let's guard MediaRecorder with PLATFORM(COCOA). |
| |
| 2021-12-14 Alex Christensen <achristensen@webkit.org> |
| |
| Remove properties set by NSURLProtocol on NSURLRequest before serializing |
| https://bugs.webkit.org/show_bug.cgi?id=232332 |
| <rdar://79227845> |
| |
| Reviewed by Geoff Garen. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-12-14 Darin Adler <darin@apple.com> |
| |
| Automatically generate event handler content attribute maps so they are easier to maintain |
| https://bugs.webkit.org/show_bug.cgi?id=234254 |
| |
| Reviewed by Alexey Shvayka. |
| |
| * wtf/NeverDestroyed.h: Add a deduction guide for NeverDestroyed. |
| In the future we can use this instead of makeNeverDestroyed or writing |
| out the entire template class type including template arguments. |
| |
| 2021-12-13 Saam Barati <sbarati@apple.com> |
| |
| Roll back r286345, r286387, r286471, r286667, r286849 |
| https://bugs.webkit.org/show_bug.cgi?id=234268 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/OSAllocator.h: |
| * wtf/posix/OSAllocatorPOSIX.cpp: |
| (WTF::OSAllocator::reserveUncommittedAligned): Deleted. |
| |
| 2021-12-13 Antoine Quint <graouts@webkit.org> |
| |
| CustomEffect and animation frame rate should be disabled by default in STP |
| https://bugs.webkit.org/show_bug.cgi?id=234251 |
| |
| Reviewed by Dean Jackson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-12-13 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed build fix after r286971. |
| |
| * wtf/spi/darwin/dyldSPI.h: |
| |
| 2021-12-13 Chris Dumez <cdumez@apple.com> |
| |
| Regression(r283565) Unable to report private messages as Spam in Twitter app |
| https://bugs.webkit.org/show_bug.cgi?id=234253 |
| <rdar://86043227> |
| |
| Reviewed by Alex Christensen. |
| |
| Add some new iOS / macOS versions. |
| |
| * wtf/spi/darwin/dyldSPI.h: |
| |
| 2021-12-13 Elliott Williams <emw@apple.com> |
| |
| Deployment target for macOS 11+ does not follow minor version bumps |
| https://bugs.webkit.org/show_bug.cgi?id=233906 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Configurations/DebugRelease.xcconfig: |
| * wtf/PlatformHave.h: Add feature define which has been public since macOS 11.0 |
| |
| 2021-12-11 Don Olmstead <don.olmstead@sony.com> |
| |
| Add a std::nullptr_t constructor for RefPtr |
| https://bugs.webkit.org/show_bug.cgi?id=234192 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Add the constexpr constructor RefPtr(std::nullptr_t) with the same behavior as the default |
| constructor. Both std::unique_ptr and std::shared_ptr have this same overload to optimize |
| for the nullptr case. As an added bonus this also makes it so `0` can't fill in as a |
| nullptr since the ambiguity will cause a compilation error. |
| |
| * wtf/RefPtr.h: |
| (WTF::RefPtr::RefPtr): |
| |
| 2021-12-11 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r286893. |
| https://bugs.webkit.org/show_bug.cgi?id=234197 |
| |
| Breaks the build |
| |
| Reverted changeset: |
| |
| "[macOS] Add new screen and window capture backend" |
| https://bugs.webkit.org/show_bug.cgi?id=234029 |
| https://commits.webkit.org/r286893 |
| |
| 2021-12-11 Jer Noble <jer.noble@apple.com> |
| |
| Add an experimental VideoTrackConfiguration class and accessor on VideoTrack |
| https://bugs.webkit.org/show_bug.cgi?id=230841 |
| |
| Reviewed by Eric Carlson. |
| |
| Drive-by change: add a Vector::reverseFindMatching convenience method. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * wtf/Vector.h: |
| (WTF::Malloc>::reverseFindMatching const): |
| |
| 2021-12-10 Eric Carlson <eric.carlson@apple.com> |
| |
| [macOS] Add new screen and window capture backend |
| https://bugs.webkit.org/show_bug.cgi?id=234029 |
| |
| Reviewed by Jer Noble and Youenn Fablet. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: Add UseScreenCaptureKit. |
| * wtf/PlatformHave.h: Define HAVE_SCREEN_CAPTURE_KIT. |
| * wtf/cocoa/SoftLinking.h: Add softlink macros that take an API_AVAILABLE check. |
| |
| 2021-12-10 Don Olmstead <don.olmstead@sony.com> |
| |
| Add FileSystem function to read a file at a path |
| https://bugs.webkit.org/show_bug.cgi?id=234103 |
| |
| Reviewed by Alex Christensen. |
| |
| Add FileSystem::readEntireFile which takes a path and attempts to read the whole contents |
| of the file into a Vector<uint8_t>. If the file is not found or is empty then it returns |
| nullopt. Internally it manages the opening and closing of the file to prevent file handles |
| from leaking. |
| |
| Modify FileSystem::readEntireFile which takes a handle to continue reading until the entire |
| file has been read. Previously it could've just done a partial read as |
| FileSystem::readFromFile does not guarantee it will read all the bytes requested. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::readEntireFile): |
| * wtf/FileSystem.h: |
| |
| 2021-12-10 Antoine Quint <graouts@webkit.org> |
| |
| Expose the maximum device frame rate to the Web Animations model |
| https://bugs.webkit.org/show_bug.cgi?id=234161 |
| rdar://85983792 |
| |
| Reviewed by Simon Fraser. |
| |
| Add a new experimental feature controlling the availability of per-animation frame rate. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-12-10 Sam Sneddon <gsnedders@apple.com> |
| |
| Enable the 'resolution' media query by default |
| https://bugs.webkit.org/show_bug.cgi?id=78087 |
| |
| Reviewed by Simon Fraser. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-12-09 Darin Adler <darin@apple.com> |
| |
| Use simpler idioms for std::less and std::greater possible in modern C++ |
| https://bugs.webkit.org/show_bug.cgi?id=234117 |
| |
| Reviewed by Anders Carlsson. |
| |
| * wtf/ListDump.h: |
| (WTF::sortedListDump): Removed unnecessary template arguments to std::less. |
| |
| 2021-12-10 Keith Miller <keith_miller@apple.com> |
| |
| Reduce maximum mmap size for Structure regions to help placate ios |
| https://bugs.webkit.org/show_bug.cgi?id=234091 |
| |
| Reviewed by Saam Barati. |
| |
| Use mach_vm_map since that supports memory alignement so we don't have to map 2x desired address space then free then trim. |
| |
| * wtf/PlatformHave.h: |
| * wtf/posix/OSAllocatorPOSIX.cpp: |
| (WTF::OSAllocator::reserveUncommittedAligned): |
| |
| 2021-12-10 Antti Koivisto <antti@apple.com> |
| |
| [CSS Container Queries] Basic @container at-rule parsing support |
| https://bugs.webkit.org/show_bug.cgi?id=234135 |
| |
| Reviewed by Antoine Quint. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| Add preference for container queries, disabled by default. |
| |
| 2021-12-09 Alan Bujtas <zalan@apple.com> |
| |
| Enable the CSS Contain property by default |
| https://bugs.webkit.org/show_bug.cgi?id=234020 |
| <rdar://problem/86218835> |
| |
| Reviewed by Brent Fulgham. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-12-09 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, reverting r286804. |
| |
| Breaks internal builds. |
| |
| Reverted changeset: |
| |
| "Reduce maximum mmap size for Structure regions to help |
| placate ios" |
| https://bugs.webkit.org/show_bug.cgi?id=234091 |
| https://commits.webkit.org/r286804 |
| |
| 2021-12-09 Alex Christensen <achristensen@webkit.org> |
| |
| Prepare for transition to C++20 |
| https://bugs.webkit.org/show_bug.cgi?id=234022 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| In C++20, volitile is deprecated, operator== is stricter (related to the introduction of operator <=>), |
| and operations on enums of different types are stricter too. This does the changes we can do before |
| the transition, which will be done in bug 233963. |
| |
| * wtf/DateMath.h: |
| (WTF::LocalTimeOffset::operator== const): |
| (WTF::LocalTimeOffset::operator!= const): |
| (WTF::LocalTimeOffset::operator==): Deleted. |
| (WTF::LocalTimeOffset::operator!=): Deleted. |
| * wtf/FastBitVector.h: |
| (WTF::FastBitVectorImpl::operator== const): |
| (WTF::FastBitVectorImpl::operator!= const): |
| * wtf/GenericTimeMixin.h: |
| (WTF::GenericTimeMixin::operator== const): |
| (WTF::GenericTimeMixin::operator!= const): |
| (WTF::GenericTimeMixin::operator< const): |
| (WTF::GenericTimeMixin::operator> const): |
| (WTF::GenericTimeMixin::operator<= const): |
| (WTF::GenericTimeMixin::operator>= const): |
| * wtf/IteratorAdaptors.h: |
| (WTF::FilterIterator::operator== const): |
| (WTF::FilterIterator::operator!= const): |
| (WTF::TransformIterator::operator== const): |
| (WTF::TransformIterator::operator!= const): |
| * wtf/Liveness.h: |
| (WTF::Liveness::LocalCalc::Iterable::iterator::operator== const): |
| (WTF::Liveness::LocalCalc::Iterable::iterator::operator!= const): |
| (WTF::Liveness::LocalCalc::Iterable::iterator::operator==): Deleted. |
| (WTF::Liveness::LocalCalc::Iterable::iterator::operator!=): Deleted. |
| |
| 2021-12-09 Alex Christensen <achristensen@webkit.org> |
| |
| Use Span for IPC::ArrayReference and DataReference |
| https://bugs.webkit.org/show_bug.cgi?id=233931 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/Vector.h: |
| (WTF::Vector::Vector): |
| (WTF::Vector::span const): |
| |
| 2021-12-09 Robert Jenner <Jenner@apple.com> |
| |
| Unreviewed, reverting r286754. |
| |
| Broke 2 tests on all mac an iOS |
| |
| Reverted changeset: |
| |
| "Add an experimental trackConfiguration accessor on AudioTrack |
| & VideoTrack." |
| https://bugs.webkit.org/show_bug.cgi?id=230841 |
| https://commits.webkit.org/r286754 |
| |
| 2021-12-09 Keith Miller <keith_miller@apple.com> |
| |
| Reduce maximum mmap size for Structure regions to help placate ios |
| https://bugs.webkit.org/show_bug.cgi?id=234091 |
| |
| Reviewed by Saam Barati. |
| |
| Use mach_vm_map since that supports memory alignement so we don't have to map 2x desired address space then free then trim. |
| |
| * wtf/PlatformHave.h: |
| * wtf/posix/OSAllocatorPOSIX.cpp: |
| (WTF::OSAllocator::reserveUncommittedAligned): |
| |
| 2021-12-09 Antti Koivisto <antti@apple.com> |
| |
| Enable :focus-visible pseudo-class by default |
| https://bugs.webkit.org/show_bug.cgi?id=234019 |
| <rdar://problem/86218583> |
| |
| Reviewed by Brent Fulgham. |
| |
| This enables :focus-visible pseudo-class for authors. |
| |
| It also changes :focus-visible behavior in the user agent stylesheet so that |
| |
| - <div tabindex> (or any element with 'tabindex' attribute that is not focusable otherwise) will not show focus |
| indicator when focused via click/tap/script. |
| - <details> element will not show focus indicator when focused via click/tap/script. |
| |
| Both still show focus indicator when focused via keyboard (tab) navigation. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-12-09 Myles C. Maxfield <mmaxfield@apple.com> and Don Olmstead <don.olmstead@sony.com> |
| |
| Move TextCodec files from WebCore/platform/text to WebCore/PAL/text |
| https://bugs.webkit.org/show_bug.cgi?id=233683 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Update to use the new PAL files. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2021-12-08 Jer Noble <jer.noble@apple.com> |
| |
| Add an experimental VideoTrackConfiguration class and accessor on VideoTrack |
| https://bugs.webkit.org/show_bug.cgi?id=230841 |
| |
| Reviewed by Eric Carlson. |
| |
| Drive-by change: add a Vector::reverseFindMatching convenience method. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * wtf/Vector.h: |
| (WTF::Malloc>::reverseFindMatching const): |
| |
| 2021-12-08 Philippe Normand <pnormand@igalia.com> |
| |
| [GStreamer] Enable mediaSourceInlinePainting |
| https://bugs.webkit.org/show_bug.cgi?id=233813 |
| |
| Reviewed by Xabier Rodriguez-Calvar. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: GStreamer ports can already run tests |
| requiring this setting, without change in the platform layer, until we migrate to the |
| GPUProcess. |
| |
| 2021-12-07 Aditya Keerthi <akeerthi@apple.com> |
| |
| [iOS] Add initial support for find-in-page SPI |
| https://bugs.webkit.org/show_bug.cgi?id=233915 |
| rdar://86140501 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-12-07 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Add support for `navigator.requestCookieConsent()` behind a disabled feature flag |
| https://bugs.webkit.org/show_bug.cgi?id=233890 |
| rdar://86117718 |
| |
| Reviewed by Darin Adler. |
| |
| Add the new feature flag (off by default). Note that this is also only an internal feature flag for the time |
| being (rather than an experimental feature flag), such that it cannot (yet) be turned on by non-Apple internal |
| users. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-12-07 Sihui Liu <sihui_liu@apple.com> |
| |
| Fetch and remove file system data via WKWebsiteDataStore |
| https://bugs.webkit.org/show_bug.cgi?id=233567 |
| <rdar://problem/86029185> |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::readEntireFile): Read whole file content into a Vector. |
| (WTF::FileSystemImpl::deleteAllFilesModifiedSince): Recursively delete files and folders modified after |
| specified time in a directory. |
| * wtf/FileSystem.h: |
| |
| 2021-12-06 Ryan Haddad <ryanhaddad@apple.com> |
| |
| REGRESSION (r286507): [macOS] Many file system access layout tests became flaky failures |
| https://bugs.webkit.org/show_bug.cgi?id=233892 |
| |
| Unreviewed, revert r286507. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::readEntireFile): Deleted. |
| (WTF::FileSystemImpl::deleteAllFilesModifiedSince): Deleted. |
| * wtf/FileSystem.h: |
| |
| 2021-12-06 Simon Fraser <simon.fraser@apple.com> |
| |
| Add a call to os_signpost to tag a momentum scroll animation |
| https://bugs.webkit.org/show_bug.cgi?id=233885 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/SystemTracing.h: |
| |
| 2021-12-06 Antoine Quint <graouts@webkit.org> |
| |
| [Web Animations] Add a way to run scripted animations |
| https://bugs.webkit.org/show_bug.cgi?id=233869 |
| rdar://85983542 |
| |
| Reviewed by Dean Jackson. |
| |
| Add a new experimental feature for the CustomEffect interface. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-12-06 Jon Lee <jonlee@apple.com> |
| |
| Update GPU Process feature flags |
| https://bugs.webkit.org/show_bug.cgi?id=232547 |
| rdar://83905400 |
| |
| Reviewed by Wenson Hsieh. |
| |
| Move features enabled by default to internal. DOM and WebGL are experimental. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-12-06 Nikolas Zimmermann <nzimmermann@igalia.com> |
| |
| [LBSE] Toggling the Settings -> Enabled LBSE flag has no immediate effect |
| https://bugs.webkit.org/show_bug.cgi?id=233871 |
| |
| Reviewed by Rob Buis. |
| |
| Toggling "Enable layer-based SVG engine" in e.g. MiniBrowser or from JS has no immediate effect. |
| A relayout is not enough: a full style / render tree rebuild is needed. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: When "LayerBasedSVGEngineEnabled" changes call |
| WebCore::SettingsBase::layerBasedSVGEngineEnabledChanged() to assure the switch from legacy to |
| LBSE engine and vice-versa is live and doesn't need reloads to take effect. |
| |
| 2021-12-06 Youenn Fablet <youenn@apple.com> |
| |
| Enable NavigationPreloadManager by default |
| https://bugs.webkit.org/show_bug.cgi?id=233755 |
| |
| Reviewed by Chris Dumez. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-12-05 Simon Fraser <simon.fraser@apple.com> |
| |
| Add trace points for generated momentum events |
| https://bugs.webkit.org/show_bug.cgi?id=233857 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/SystemTracing.h: |
| |
| 2021-12-03 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Turn on Web Locks API support |
| https://bugs.webkit.org/show_bug.cgi?id=233816 |
| |
| Reviewed by Darin Adler. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-12-03 Sihui Liu <sihui_liu@apple.com> |
| |
| Fetch and remove file system data via WKWebsiteDataStore |
| https://bugs.webkit.org/show_bug.cgi?id=233567 |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::readEntireFile): Read whole file content into a Vector. |
| (WTF::FileSystemImpl::deleteAllFilesModifiedSince): Recursively delete files and folders modified after |
| specified time in a directory. |
| * wtf/FileSystem.h: |
| |
| 2021-12-03 Tim Horton <timothy_horton@apple.com> |
| |
| Enable Momentum Event Generator by default |
| https://bugs.webkit.org/show_bug.cgi?id=233807 |
| <rdar://problem/85262515> |
| |
| Reviewed by Simon Fraser. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| Turn it on for modern WebKit. Adjust the description slightly. |
| |
| 2021-12-03 Antti Koivisto <antti@apple.com> |
| |
| [:has() pseudo-class] Enable by default |
| https://bugs.webkit.org/show_bug.cgi?id=233809 |
| |
| Reviewed by Simon Fraser. |
| |
| Flip the switch. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-12-02 Per Arne Vollan <pvollan@apple.com> |
| |
| [WP] Strengthen sandbox when AppCache is disabled |
| https://bugs.webkit.org/show_bug.cgi?id=233746 |
| <rdar://problem/85953893> |
| |
| Reviewed by Brent Fulgham. |
| |
| Add HAVE macro for sandbox state flags support. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-12-02 Megan Gardner <megan_gardner@apple.com> |
| |
| Re-add support of image control menus. |
| https://bugs.webkit.org/show_bug.cgi?id=233305 |
| |
| Reviewed by Tim Horton. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2021-12-02 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [WebGPU] Hook up navigator.gpu.requestAdapter() |
| https://bugs.webkit.org/show_bug.cgi?id=233619 |
| |
| Reviewed by Dean Jackson. |
| |
| * wtf/PlatformHave.h: Create a HAVE() macro, by default off. As we bring |
| more infrastructure online, this will eventually flip to on. |
| |
| 2021-12-02 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [ Monterey ] fast/images/text-recognition/mac/image-overlay-text-disables-app-highlight-menu-items.html (layout-test) is a constant text failure |
| https://bugs.webkit.org/show_bug.cgi?id=233658 |
| rdar://problem/85886424 |
| |
| Reviewed by Tim Horton. |
| |
| Define ENABLE_APP_HIGHLIGHTS for iOS 15+ and macOS Monterey+. This ensures that |
| `internals.appHighlightContextMenuItemTitles` is defined in layout tests on Monterey. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-12-02 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r286437. |
| https://bugs.webkit.org/show_bug.cgi?id=233776 |
| |
| Introduced test failure |
| |
| Reverted changeset: |
| |
| "[WP] Strengthen sandbox when AppCache is disabled" |
| https://bugs.webkit.org/show_bug.cgi?id=233746 |
| https://commits.webkit.org/r286437 |
| |
| 2021-12-02 Per Arne Vollan <pvollan@apple.com> |
| |
| [WP] Strengthen sandbox when AppCache is disabled |
| https://bugs.webkit.org/show_bug.cgi?id=233746 |
| <rdar://problem/85953893> |
| |
| Reviewed by Brent Fulgham. |
| |
| Add HAVE macro for sandbox state flags support. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-12-02 Aditya Keerthi <akeerthi@apple.com> |
| |
| [macCatalyst] Enable support for date/time inputs |
| https://bugs.webkit.org/show_bug.cgi?id=233710 |
| rdar://80108114 |
| |
| Reviewed by Tim Horton. |
| |
| Date/time inputs were unsupported due to the lack of support for custom |
| views inside UIContextMenuInteractions on macCatalyst. |
| |
| However, after date/time pickers transitioned to use |
| _UIDatePickerOverlayPresentation in iOS 15, there is nothing preventing |
| them from functioning on macCatalyst. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-12-02 Alexey Proskuryakov <ap@apple.com> |
| |
| macOS Monterey build fix after r286420 (suggested by Brady). |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-12-02 Brady Eidson <beidson@apple.com> |
| |
| AVDelegatingPlaybackCoordinator error compiling on macOS 11 |
| https://bugs.webkit.org/show_bug.cgi?id=232454 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-12-02 Youenn Fablet <youenn@apple.com> |
| |
| Add support for NavigationPreloadManager |
| https://bugs.webkit.org/show_bug.cgi?id=233523 |
| |
| Reviewed by Chris Dumez. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-12-01 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [Win] OSAllocator::reserveUncommittedAligned should use aligned allocation |
| https://bugs.webkit.org/show_bug.cgi?id=233674 |
| |
| Reviewed by Keith Miller. |
| |
| OSAllocator::reserveUncommittedAligned reserved 2GiB for 1GiB |
| aligned allocation request. |
| |
| Windows 10 (Desktop) has VirtualAlloc2 API to aligned allocation. |
| |
| * wtf/win/OSAllocatorWin.cpp: |
| (WTF::OSAllocator::reserveUncommittedAligned): Use VirtualAlloc2 |
| API if available. Use SOFT_LINK_OPTIONAL for VirtualAlloc2. |
| |
| 2021-12-01 Lauro Moura <lmoura@igalia.com> |
| |
| Unreviewed. Fix -Wformat warning after in ThreadingPosix logging |
| |
| * wtf/posix/ThreadingPOSIX.cpp: |
| (WTF::Thread::establishHandle): |
| |
| 2021-12-01 J Pascoe <j_pascoe@apple.com> |
| |
| Fix NEAR_FIELD macro to support iOS devices again |
| https://bugs.webkit.org/show_bug.cgi?id=233671 |
| rdar://85318070 |
| |
| In a previous change, https://bugs.webkit.org/show_bug.cgi?id=231085, the definition for |
| the NEAR_FIELD macro removed support for iOS. This change adds it back, fixing |
| NFC webauthn support. |
| |
| Reviewed by Brent Fulgham. |
| |
| Tested manually on an iPhone. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-12-01 Philippe Normand <pnormand@igalia.com> |
| |
| [GStreamer] requestVideoFrameCallback support |
| https://bugs.webkit.org/show_bug.cgi?id=233541 |
| |
| Reviewed by Xabier Rodriguez-Calvar. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: Enable rvfc support in GStreamer ports. |
| |
| 2021-12-01 Martin Robinson <mrobinson@webkit.org> |
| |
| Add a runtime flag to enable CSS Transforms Level 2 spec compliant behavior |
| https://bugs.webkit.org/show_bug.cgi?id=232618 |
| |
| Reviewed by Simon Fraser. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-11-30 Tim Horton <timothy_horton@apple.com> |
| |
| Add a momentum event synthesizer |
| https://bugs.webkit.org/show_bug.cgi?id=233653 |
| <rdar://problem/85571258> |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/PlatformEnable.h: |
| Add an ENABLE(). |
| |
| 2021-11-30 Keith Miller <keith_miller@apple.com> |
| |
| Structures should be allocated out of an aligned pool of memory so StructureID->Structure* is fast. |
| https://bugs.webkit.org/show_bug.cgi?id=233379 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Add an aligned flavor of reserveUncommited, reserveUncommittedAligned. |
| |
| * wtf/OSAllocator.h: |
| * wtf/posix/OSAllocatorPOSIX.cpp: |
| (WTF::OSAllocator::reserveUncommittedAligned): |
| * wtf/win/OSAllocatorWin.cpp: |
| (WTF::OSAllocator::reserveUncommittedAligned): |
| |
| 2021-11-30 Antoine Quint <graouts@apple.com> |
| |
| [Model] Update required macOS version for camera, animation and audio APIs |
| https://bugs.webkit.org/show_bug.cgi?id=233656 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-11-30 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r286227. |
| https://bugs.webkit.org/show_bug.cgi?id=233652 |
| |
| Broke some Apple-internal builds |
| |
| Reverted changeset: |
| |
| "[Model] clean up compile-time flags and condition IDL methods |
| behind them" |
| https://bugs.webkit.org/show_bug.cgi?id=233407 |
| https://commits.webkit.org/r286227 |
| |
| 2021-11-30 Youenn Fablet <youenn@apple.com> |
| |
| [Cocoa] Enable HTMLVideoElement.requestVideoFrameCallback by default |
| https://bugs.webkit.org/show_bug.cgi?id=233306 |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-11-30 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r286272. |
| https://bugs.webkit.org/show_bug.cgi?id=233641 |
| |
| Wrong approach to disabling experimental features. |
| |
| Reverted changeset: |
| |
| "Disable experimental web features on platforms without UI to |
| enable them" |
| https://bugs.webkit.org/show_bug.cgi?id=233152 |
| https://commits.webkit.org/r286272 |
| |
| 2021-11-30 Youenn Fablet <youenn@apple.com> |
| |
| Move TransformStreamAPIEnabled flag to Settings |
| https://bugs.webkit.org/show_bug.cgi?id=233524 |
| |
| Reviewed by Chris Dumez. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-11-29 Chris Dumez <cdumez@apple.com> |
| |
| Add initial implementation for the Web Lock API |
| https://bugs.webkit.org/show_bug.cgi?id=233289 |
| |
| Reviewed by Geoff Garen. |
| |
| Update Deque::removeAllMatching() to return the number of items removed, similarly |
| to the corresponding API on Vector. |
| |
| * wtf/Deque.h: |
| (WTF::inlineCapacity>::removeAllMatching): |
| |
| 2021-11-29 David Kilzer <ddkilzer@apple.com> |
| |
| Disable experimental web features on platforms without UI to enable them |
| <https://webkit.org/b/233152> |
| <rdar://problem/85430643> |
| |
| Reviewed by Brent Fulgham. |
| |
| * wtf/PlatformEnableCocoa.h: |
| (ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER): |
| (ENABLE_CSS_PAINTING_API): |
| (ENABLE_CSS_TYPED_OM): |
| (ENABLE_MODEL_ELEMENT): |
| (ENABLE_SEPARATED_MODEL): |
| - Disable if HAVE(EXPERIMENTAL_WEB_FEATURES_UI) is defined. |
| * wtf/PlatformHave.h: |
| (HAVE_EXPERIMENTAL_WEB_FEATURES_UI): Add. |
| - Define for tvOS and watchOS, which don't have UI to enable |
| experimental web features. |
| (HAVE_CELESTIAL): |
| (HAVE_CFNETWORK_ALTERNATIVE_SERVICE): |
| (HAVE_NETWORK_LOADER): |
| (HAVE_AVSAMPLEBUFFERVIDEOOUTPUT): |
| - Disable if HAVE(EXPERIMENTAL_WEB_FEATURES_UI) is defined. |
| |
| 2021-11-29 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: Unify speech synthesizer platform usage for Mac/iOS |
| https://bugs.webkit.org/show_bug.cgi?id=231895 |
| <rdar://problem/84372479> |
| |
| Reviewed by Andres Gonzalez. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-11-29 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Public Class Field initialization is slow |
| https://bugs.webkit.org/show_bug.cgi?id=232479 |
| |
| Reviewed by Alexey Shvayka. |
| |
| * wtf/text/ASCIILiteral.h: |
| |
| 2021-11-29 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Move m_incomingPolymorphicCalls out of CodeBlock::JITData |
| https://bugs.webkit.org/show_bug.cgi?id=233415 |
| |
| Reviewed by Mark Lam and Darin Adler. |
| |
| Make sizeof(SentinelLinkedList) small. We do not need to have two sentinel for the list. |
| |
| * wtf/SentinelLinkedList.h: |
| (WTF::SentinelLinkedList::SentinelLinkedList): |
| (WTF::RawNode>::begin): |
| (WTF::RawNode>::end): |
| (WTF::RawNode>::push): |
| (WTF::RawNode>::append): |
| (WTF::RawNode>::takeFrom): |
| (WTF::RawNode>::SentinelLinkedList): Deleted. |
| |
| 2021-11-24 Antoine Quint <graouts@webkit.org> |
| |
| [Model] clean up compile-time flags and condition IDL methods behind them |
| https://bugs.webkit.org/show_bug.cgi?id=233407 |
| |
| Reviewed by Tim Horton. |
| |
| We refactor and augment the flags related to the <model> element. First, we change the |
| following existing flags from ENABLE to HAVE since they are about the availability of |
| specific APIs in ARKit, and more specific ASVInlinePreview. The changes are as follows: |
| |
| ENABLE_ARKIT_INLINE_PREVIEW_IOS => HAVE_ASV_INLINE_PREVIEW_IOS |
| ENABLE_ARKIT_INLINE_PREVIEW_MAC => HAVE_ASV_INLINE_PREVIEW_MAC |
| ENABLE_ARKIT_INLINE_PREVIEW_CAMERA_TRANSFORM => HAVE_ASV_INLINE_PREVIEW_CAMERA_CONTROL |
| ENABLE_ARKIT_INLINE_PREVIEW_ANIMATIONS_CONTROL => HAVE_ASV_INLINE_PREVIEW_ANIMATION_CONTROL |
| ENABLE_ARKIT_INLINE_PREVIEW_AUDIO_CONTROL => HAVE_ASV_INLINE_PREVIEW_AUDIO_CONTROL |
| |
| We retain the ENABLE_ARKIT_INLINE_PREVIEW flag however as, even when the ASVInlinePreview API is |
| available, we may elect to not use this API. |
| |
| Then, we add three new flags to specify whether some <model> features exposed to the Web are enabled, |
| all currently conditioned by the matching HAVE_ASV_INLINE_PREVIEW_ flags, but those could be subject |
| to more complex rules when other <model> backends expose supporting APIs for these features. |
| |
| ENABLE_MODEL_ELEMENT_CAMERA_CONTROL |
| ENABLE_MODEL_ELEMENT_ANIMATION_CONTROL |
| ENABLE_MODEL_ELEMENT_AUDIO_CONTROL |
| |
| Finally, we modify the macOS version used to define the HAVE_ASV_INLINE_PREVIEW_XXX_CONTROL flags. |
| |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformHave.h: |
| |
| 2021-11-29 Youenn Fablet <youenn@apple.com> |
| |
| Apply WebPreferences on ServiceWorker settings |
| https://bugs.webkit.org/show_bug.cgi?id=233466 |
| |
| Reviewed by Chris Dumez. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-11-29 Nikolas Zimmermann <nzimmermann@igalia.com> |
| |
| [LBSE] Add runtime flag for Layer-based SVG engine (LBSE) |
| https://bugs.webkit.org/show_bug.cgi?id=233211 |
| <rdar://problem/85711597> |
| |
| Reviewed by Sam Weinig. |
| |
| Add build option ('build-webkit --(no-)layer-based-svg-engine') and |
| runtime flag ('LayerBasedSVGEngineEnabled' in LBSE enabled builds) to |
| switch between the SVG engines. |
| |
| The actual SVG code changes will follow in subsequent patches, |
| this just adds the infrastructure for LBSE. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: Add 'LayerBasedSVGEngineEnabled' option. |
| * wtf/PlatformEnable.h: Disable LBSE by default. (Toggable with build settings in CMake-based builds) |
| * wtf/PlatformEnableCocoa.h: Enable for PLATFORM(MAC). |
| |
| 2021-11-19 Antoine Quint <graouts@webkit.org> |
| |
| [Model] add audio support |
| https://bugs.webkit.org/show_bug.cgi?id=233365 |
| <rdar://problem/85428982> |
| |
| Reviewed by Wenson Hsieh. |
| |
| Add a new compile-time flag for the new autio-related ARQL SPIs we are using. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-11-19 Alex Christensen <achristensen@webkit.org> |
| |
| Remove allocation in JSON::Value::parseJSON |
| https://bugs.webkit.org/show_bug.cgi?id=233346 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Parse the characters as Latin1 characters if we have an 8 bit string rather than converting them to UTF-16 just to be parsed. |
| |
| * wtf/JSONValues.cpp: |
| (WTF::JSONImpl::Value::parseJSON): |
| |
| 2021-11-18 Antoine Quint <graouts@webkit.org> |
| |
| [Model] add support for pausing and resuming animations |
| https://bugs.webkit.org/show_bug.cgi?id=233319 |
| <rdar://problem/85428464> |
| |
| Reviewed by Wenson Hsieh. |
| |
| Add a new compile-time flag for the new ARQL SPIs we are using. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-11-18 Antoine Quint <graouts@webkit.org> |
| |
| [Model] add support for getting and setting the camera |
| https://bugs.webkit.org/show_bug.cgi?id=233265 |
| <rdar://problem/85426290> |
| |
| Reviewed by Darin Adler. |
| |
| Add a new compile-time flag for the new ARQL SPIs we are using. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-11-17 John Wilander <wilander@apple.com> |
| |
| PCM: Add capability for click destination to fire triggering event without cross-site requests to the click source |
| https://bugs.webkit.org/show_bug.cgi?id=233173 |
| <rdar://79426605> |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/URL.cpp: |
| (WTF::queryParameters): |
| New convenience getter. |
| * wtf/URL.h: |
| |
| 2021-11-17 Chris Dumez <cdumez@apple.com> |
| |
| Web Locks API does get enabled in Service Workers when running layout tests |
| https://bugs.webkit.org/show_bug.cgi?id=233273 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Use RuntimeEnabledFeatures to back the Web Lock API since regular settings do not get |
| properly propagated to service workers at the moment. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-11-17 Dean Jackson <dino@apple.com> |
| |
| Add ModelDocument for directly showing content that can be handled by <model> |
| https://bugs.webkit.org/show_bug.cgi?id=233057 |
| rdar://85265880 |
| |
| Reviewed by Darin Adler. |
| |
| Add a experimental feature: ModelDocumentEnabled |
| for loading content that can be handled by <model>. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-11-16 Devin Rousso <drousso@apple.com> |
| |
| [iOS] use PhotosUIPrivate instead of PhotosUI |
| https://bugs.webkit.org/show_bug.cgi?id=233213 |
| <rdar://problem/85300427> |
| |
| Reviewed by Aditya Keerthi. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-11-15 Sam Weinig <weinig@apple.com> |
| |
| Add another <model> backend backed by SceneKit to prove out ModelPlayer infrastructure a bit more |
| https://bugs.webkit.org/show_bug.cgi?id=233112 |
| |
| Reviewed by Dean Jackson. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| Add some internal settings to enable/disable the ARKit and SceneKit based |
| <model> backends. |
| |
| * wtf/PlatformHave.h: |
| Add HAVE macro for SceneKit. Only enabled for macOS at the moment, but could |
| probably be enabled for iOS if it is useful. |
| |
| 2021-11-15 Eric Liang <ericliang@apple.com> |
| |
| _AXSCopyPathForAccessibilityBundle is going to be deprecated. |
| https://bugs.webkit.org/show_bug.cgi?id=233081 |
| |
| Reviewed by Andres Gonzalez. |
| |
| To support macOS Accessibility v2 runtime, on macOS there are two places where bundles can live. By doing so, `_AXSCopyPathForAccessibilityBundle` will going to be deprecated because it won’t always return the correct path you would expect. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-11-15 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Unreviewed, fix the internal iOS 15 build |
| |
| Add a new compile-time flag. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-11-13 Simon Fraser <simon.fraser@apple.com> |
| |
| Run a ScrollAnimationMomentum for the momentum phase of a scroll |
| https://bugs.webkit.org/show_bug.cgi?id=232897 |
| |
| Reviewed by Tim Horton. |
| |
| Set the MomentumScrollingAnimatorEnabled internal setting to off by default |
| while we bring up tests. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-11-12 Chris Dumez <cdumez@apple.com> |
| |
| Disable MathML when in Captive Portal Mode |
| https://bugs.webkit.org/show_bug.cgi?id=233013 |
| <rdar://84567129> |
| |
| Reviewed by Brent Fulgham. |
| |
| Add runtime feature flag for MathML. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2021-11-12 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, partial revert of r285565 to resolve a PLT5 regression. |
| <rdar://85269156> |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-11-11 Michael Saboff <msaboff@apple.com> |
| |
| Inline RegExp.test JIT code in DFG and FTL |
| https://bugs.webkit.org/show_bug.cgi?id=230469 |
| |
| Reviewed by Saam Barati. |
| |
| Added a new enablement: ENABLE_YARR_JIT_ALL_PARENS_EXPRESSIONS. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2021-11-11 Ben Nham <nham@apple.com> |
| |
| Log memory usage metadata when WebContent crosses critical or warning level memory thresholds |
| https://bugs.webkit.org/show_bug.cgi?id=232976 |
| |
| Reviewed by Darin Adler. |
| |
| Fixed several issues with memory usage tracking: |
| |
| - pagesPerVMTag now properly accounts for swapped-out pages in its footprint calculation, |
| as footprint(1) already does. |
| - displayNamePerVMTag now includes all of the most common VM tags associated with WebKit. |
| - MemoryPressureHandler now knows the specific type of pressure event that occurred. This |
| allows it to differentiate between the entire system being at a warning pressure level |
| vs. just this process hitting its warning memory level limit. |
| |
| * wtf/MemoryPressureHandler.cpp: |
| (WTF::MemoryPressureHandler::setMemoryPressureStatus): |
| (WTF::MemoryPressureHandler::memoryPressureStatusChanged): |
| (WTF::MemoryPressureHandler::setUnderMemoryPressure): Deleted. |
| * wtf/MemoryPressureHandler.h: |
| (WTF::MemoryPressureHandler::setMemoryPressureStatusChangedCallback): |
| (WTF::MemoryPressureHandler::isUnderMemoryPressure const): |
| * wtf/ResourceUsage.h: |
| * wtf/cocoa/MemoryPressureHandlerCocoa.mm: |
| (WTF::MemoryPressureHandler::install): |
| * wtf/cocoa/ResourceUsageCocoa.cpp: |
| (WTF::displayNameForVMTag): |
| (WTF::pagesPerVMTag): |
| * wtf/unix/MemoryPressureHandlerUnix.cpp: |
| (WTF::MemoryPressureHandler::triggerMemoryPressureEvent): |
| * wtf/win/MemoryPressureHandlerWin.cpp: |
| (WTF::MemoryPressureHandler::windowsMeasurementTimerFired): |
| |
| 2021-11-11 Jer Noble <jer.noble@apple.com> |
| |
| [iOS] Adopt -[AVAudioSession setAuditTokensForProcessAssertion:] |
| https://bugs.webkit.org/show_bug.cgi?id=232909 |
| <rdar://68184444> |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-11-10 Darin Adler <darin@apple.com> |
| |
| [CF] Reduce duplication and unneeded buffer allocations and copying in URL code, also remove unused methods and functions |
| https://bugs.webkit.org/show_bug.cgi?id=232220 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/URL.h: Removed unneeded includes. Use default instead of { } |
| for empty destructor. Added emptyCFURL function. |
| |
| * wtf/cf/CFURLExtras.cpp: |
| (WTF::bytesAsCFData): Added. Replaces originalURLData from NSURLExtras.mm, |
| but with a simpler implementation and more error checking. Here it's also |
| alongside the other nearly identical functions. |
| (WTF::bytesAsString): Added. Replaces getURLBytes for callers that are |
| going to turn the bytes into a WTF::String. Before this patch, the callers |
| were converting from CFURLRef to WTF::CString and then to WTF::String, so |
| this eliminates the malloc/free pair for CString. |
| (WTF::bytesAsVector): Added. Replaces getURLBytes using a return value |
| instead of an out argument. Adds the optimization of filling the buffer if |
| the inline capacity is sufficient, which was in originalURLData, but not |
| here in getURLBytes before. |
| (WTF::isSameOrigin): Renamed from isCFURLSameOrigin and rewrote this to |
| have fewer type casts and more parallel structure so it's easier to read, |
| while adapting it to use bytesAsVector. |
| |
| * wtf/cf/CFURLExtras.h: Replaced URLCharBuffer, getURLBytes, and |
| isCFURLSameOrigin with URLBytesVectorInlineCapacity, bytesAsCFData, |
| bytesAsString, bytesAsVector, and isSameOrigin. Got rid of unneeded |
| includes. |
| |
| * wtf/cf/URLCF.cpp: |
| (WTF::URL::URL): Use bytesAsString to streamline implementation and |
| remove allocation/deallcation of a CString. |
| (WTF::URL::emptyCFURL): Added. Used to refactor createCFURL so we can |
| share it across Foundation and non-Foundation versions. |
| (WTF::URL::createCFURL const): Added the logic that was in the version |
| in URLCocoa.mm so we can share this single version, and removed the #if |
| surrounding this. |
| (WTF::URL::fileSystemPath const): Use auto. |
| |
| * wtf/cocoa/NSURLExtras.h: Changed URLWithUserTypedString to ignore |
| the baseURL argument. It's not used, but the function is exported and |
| currently used in Safari source code, which, like all callers passes |
| a nil for baseURL. so, for now left the argument. Removed the baseURL |
| argument from URLWithUserTypedStringDeprecated. Removed unused functions |
| rangeOfURLScheme and looksLikeAbsoluteURL. |
| |
| * wtf/cocoa/NSURLExtras.mm: Removed "using namespace URLHelpers". |
| (WTF::readIDNAllowedScriptListFile): Use URLHelpers explicitly. |
| (WTF::decodeHostName): Ditto. |
| (WTF::encodeHostName): Ditto. |
| (WTF::URLByTruncatingOneCharacterBeforeComponent): Simplified by using |
| the bytesAsVector function. |
| (WTF::URLByRemovingResourceSpecifier): Deleted. |
| (WTF::URLWithData): Call URLByTruncatingOneCharacterBeforeComponent |
| directly. |
| (WTF::URLWithUserTypedString): Removed the unneeded support for a |
| base URL. Use URLHelpers explicitly. |
| (WTF::URLWithUserTypedStringDeprecated): Ditto. |
| (WTF::hasQuestionMarkOnlyQueryString): Use bridge_cast. |
| (WTF::dataForURLComponentType): Rearranged to simplify a bit, remove support |
| for special value for CFURLComponentType that means the complete URL, since |
| no callers were using that, and use bytesAsVector. |
| (WTF::URLByRemovingComponentAndSubsequentCharacter): Use bridge_cast and |
| bytesAsVector. |
| (WTF::originalURLData): Use bridge_cast and bytesAsCFData. |
| (WTF::userVisibleString): Use URLHelpers explicitly. |
| (WTF::isUserVisibleURL): Rewrote for simplicity and coding style; since |
| the local characters are a null-terminated C string, we don't need |
| length checks as long as we validate characters first, since a '\0' |
| character can be read and will not be valid. |
| (WTF::rangeOfURLScheme): Deleted. |
| (WTF::looksLikeAbsoluteURL): Deleted. |
| |
| * wtf/cocoa/URLCocoa.mm: |
| (WTF::URL::URL): Changed to just call the CFURLRef constructor so we |
| don't need to repeat things twice. |
| (WTF::URL::emptyCFURL): Added. This is the one part of the createCFURL |
| function that depends on Objective-C. |
| (WTF::URL::createCFURL const): Merged into the function in URLCF.cpp. |
| (WTF::makeNSArrayElement): Use bridge_cast instead of the trickier |
| idiom with explicit calls to leakRef and __bridge_transfer. |
| |
| * wtf/mac/FileSystemMac.mm: |
| (WTF::FileSystem::setMetadataURL): Updated since URLWithUserTypedString |
| no longer requires a baseURL of nil to be passed. Also removed explicit |
| WTF namespace since this code itself is in the WTF namespace. |
| |
| * wtf/text/cocoa/StringCocoa.mm: |
| (WTF::String::String): Use bridge_cast. |
| (WTF::makeNSArrayElement): Use bridge_cast. |
| |
| 2021-11-10 Tim Nguyen <ntim@apple.com> |
| |
| Migrate DialogElementEnabled from RuntimeFlags to Settings |
| https://bugs.webkit.org/show_bug.cgi?id=232926 |
| |
| Reviewed by Youenn Fablet. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-11-10 Antti Koivisto <antti@apple.com> |
| |
| Hasher should be able to hash pointers |
| https://bugs.webkit.org/show_bug.cgi?id=232927 |
| |
| Reviewed by Kimmo Kinnunen. |
| |
| * wtf/Hasher.h: |
| (WTF::add): |
| |
| 2021-11-09 Chris Dumez <cdumez@apple.com> |
| |
| [macOS] Enable NSURLSession partitioning based on first-party domain at CFNetwork level |
| https://bugs.webkit.org/show_bug.cgi?id=230750 |
| <rdar://problem/83159358> |
| |
| Reviewed by Alex Christensen. |
| |
| Add HAVE(CFNETWORK_SESSION_PARTITIONING_BASED_ON_FIRST_PARTY_DOMAIN) build time flag that is true |
| on newer Apple OSes where CFNetwork does NSURLSession partitioning based on first-party domain for |
| us. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-11-09 Megan Gardner <megan_gardner@apple.com> |
| |
| Turn on selection flipping by default. |
| https://bugs.webkit.org/show_bug.cgi?id=232853 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-11-09 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r285536. |
| https://bugs.webkit.org/show_bug.cgi?id=232915 |
| |
| causes API test crashes |
| |
| Reverted changeset: |
| |
| "[CF] Reduce duplication and unneeded buffer allocations and |
| copying in URL code, also remove unused methods and functions" |
| https://bugs.webkit.org/show_bug.cgi?id=232220 |
| https://commits.webkit.org/r285536 |
| |
| 2021-11-09 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r285246. |
| https://bugs.webkit.org/show_bug.cgi?id=232907 |
| |
| Broke FixedVector |
| |
| Reverted changeset: |
| |
| "[JSC] Clean up StructureStubInfo initialization" |
| https://bugs.webkit.org/show_bug.cgi?id=232652 |
| https://commits.webkit.org/r285246 |
| |
| 2021-10-28 Darin Adler <darin@apple.com> |
| |
| [CF] Reduce duplication and unneeded buffer allocations and copying in URL code, also remove unused methods and functions |
| https://bugs.webkit.org/show_bug.cgi?id=232220 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/URL.h: Removed unneeded includes. Use default instead of { } |
| for empty destructor. Added emptyCFURL function. |
| |
| * wtf/cf/CFURLExtras.cpp: |
| (WTF::bytesAsCFData): Added. Replaces originalURLData from NSURLExtras.mm, |
| but with a simpler implementation and more error checking. Here it's also |
| alongside the other nearly identical functions. |
| (WTF::bytesAsString): Added. Replaces getURLBytes for callers that are |
| going to turn the bytes into a WTF::String. Before this patch, the callers |
| were converting from CFURLRef to WTF::CString and then to WTF::String, so |
| this eliminates the malloc/free pair for CString. |
| (WTF::bytesAsVector): Added. Replaces getURLBytes using a return value |
| instead of an out argument. Adds the optimization of filling the buffer if |
| the inline capacity is sufficient, which was in originalURLData, but not |
| here in getURLBytes before. |
| (WTF::isSameOrigin): Renamed from isCFURLSameOrigin and rewrote this to |
| have fewer type casts and more parallel structure so it's easier to read, |
| while adapting it to use bytesAsVector. |
| |
| * wtf/cf/CFURLExtras.h: Replaced URLCharBuffer, getURLBytes, and |
| isCFURLSameOrigin with URLBytesVectorInlineCapacity, bytesAsCFData, |
| bytesAsString, bytesAsVector, and isSameOrigin. Got rid of unneeded |
| includes. |
| |
| * wtf/cf/URLCF.cpp: |
| (WTF::URL::URL): Use bytesAsString to streamline implementation and |
| remove allocation/deallcation of a CString. |
| (WTF::URL::emptyCFURL): Added. Used to refactor createCFURL so we can |
| share it across Foundation and non-Foundation versions. |
| (WTF::URL::createCFURL const): Added the logic that was in the version |
| in URLCocoa.mm so we can share this single version, and removed the #if |
| surrounding this. |
| (WTF::URL::fileSystemPath const): Use auto. |
| |
| * wtf/cocoa/NSURLExtras.h: Changed URLWithUserTypedString to ignore |
| the baseURL argument. It's not used, but the function is exported and |
| currently used in Safari source code, which, like all callers passes |
| a nil for baseURL. so, for now left the argument. Removed the baseURL |
| argument from URLWithUserTypedStringDeprecated. Removed unused functions |
| rangeOfURLScheme and looksLikeAbsoluteURL. |
| |
| * wtf/cocoa/NSURLExtras.mm: Removed "using namespace URLHelpers". |
| (WTF::readIDNAllowedScriptListFile): Use URLHelpers explicitly. |
| (WTF::decodeHostName): Ditto. |
| (WTF::encodeHostName): Ditto. |
| (WTF::URLByTruncatingOneCharacterBeforeComponent): Simplified by using |
| the bytesAsVector function. |
| (WTF::URLByRemovingResourceSpecifier): Deleted. |
| (WTF::URLWithData): Call URLByTruncatingOneCharacterBeforeComponent |
| directly. |
| (WTF::URLWithUserTypedString): Removed the unneeded support for a |
| base URL. Use URLHelpers explicitly. |
| (WTF::URLWithUserTypedStringDeprecated): Ditto. |
| (WTF::hasQuestionMarkOnlyQueryString): Use bridge_cast. |
| (WTF::dataForURLComponentType): Rearranged to simplify a bit, remove support |
| for special value for CFURLComponentType that means the complete URL, since |
| no callers were using that, and use bytesAsVector. |
| (WTF::URLByRemovingComponentAndSubsequentCharacter): Use bridge_cast and |
| bytesAsVector. |
| (WTF::originalURLData): Use bridge_cast and bytesAsCFData. |
| (WTF::userVisibleString): Use URLHelpers explicitly. |
| (WTF::isUserVisibleURL): Rewrote for simplicity and coding style; since |
| the local characters are a null-terminated C string, we don't need |
| length checks as long as we validate characters first, since a '\0' |
| character can be read and will not be valid. |
| (WTF::rangeOfURLScheme): Deleted. |
| (WTF::looksLikeAbsoluteURL): Deleted. |
| |
| * wtf/cocoa/URLCocoa.mm: |
| (WTF::URL::URL): Changed to just call the CFURLRef constructor so we |
| don't need to repeat things twice. |
| (WTF::URL::emptyCFURL): Added. This is the one part of the createCFURL |
| function that depends on Objective-C. |
| (WTF::URL::createCFURL const): Merged into the function in URLCF.cpp. |
| (WTF::makeNSArrayElement): Use bridge_cast instead of the trickier |
| idiom with explicit calls to leakRef and __bridge_transfer. |
| |
| * wtf/mac/FileSystemMac.mm: |
| (WTF::FileSystem::setMetadataURL): Updated since URLWithUserTypedString |
| no longer requires a baseURL of nil to be passed. Also removed explicit |
| WTF namespace since this code itself is in the WTF namespace. |
| |
| * wtf/text/cocoa/StringCocoa.mm: |
| (WTF::String::String): Use bridge_cast. |
| (WTF::makeNSArrayElement): Use bridge_cast. |
| |
| 2021-11-09 Chris Dumez <cdumez@apple.com> |
| |
| BroadcastChannel is still disabled in service workers |
| https://bugs.webkit.org/show_bug.cgi?id=232855 |
| |
| Reviewed by Darin Adler. |
| |
| Turn on BroadcastChannel experimental feature in WebCore since this is the value that Service Workers |
| end up using. We only need to disable it in WebKitLegacy. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-11-09 Zan Dobersek <zdobersek@igalia.com> |
| |
| [RISCV64] Add assembly, disassembly infrastructure |
| https://bugs.webkit.org/show_bug.cgi?id=232870 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/PlatformEnable.h: Enable RISCV64_DISASSEMBLER when necessary. |
| |
| 2021-11-09 Megan Gardner <megan_gardner@apple.com> |
| |
| Scroll To Text Fragment directive parsing |
| https://bugs.webkit.org/show_bug.cgi?id=231410 |
| |
| Reviewed by Chris Dumez. |
| |
| Text directive parsing for |
| https://wicg.github.io/scroll-to-text-fragment/ |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-11-09 Tim Horton <timothy_horton@apple.com> |
| |
| Add runtime flag for momentum scrolling |
| https://bugs.webkit.org/show_bug.cgi?id=232898 |
| <rdar://problem/85211338> |
| |
| Reviewed by Simon Fraser. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| Add the preference. |
| |
| 2021-11-09 Devin Rousso <drousso@apple.com> |
| |
| REGRESSION(r271735): PaymentShippingOption.selected ignored |
| https://bugs.webkit.org/show_bug.cgi?id=221960 |
| <rdar://problem/73464404> |
| |
| Reviewed by Tim Horton. |
| |
| Leverage new `PKShippingMethods` SPI to provide both the general list of `PKShippingMethod` |
| and the default selected `PKShippingMethods` when creating/updating a payment request. |
| |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformHave.h: |
| |
| 2021-11-08 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Make WebGPU.xcodeproj and WebGPU.framework |
| https://bugs.webkit.org/show_bug.cgi?id=231661 |
| |
| Reviewed by Dean Jackson and Robin Morisset. |
| |
| * wtf/DisallowCType.h: |
| |
| 2021-11-08 Alex Christensen <achristensen@webkit.org> |
| |
| Parse redirect and modify-headers actions for WKContentRuleList |
| https://bugs.webkit.org/show_bug.cgi?id=232838 |
| |
| Reviewed by Tim Hatcher. |
| |
| * wtf/JSONValues.cpp: |
| (WTF::JSONImpl::Value::asObject const): |
| (WTF::JSONImpl::ObjectBase::asObject const): |
| * wtf/JSONValues.h: |
| |
| 2021-11-08 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Enabling "media source inline painting" by default should work when using GPU Process for media |
| https://bugs.webkit.org/show_bug.cgi?id=232802 |
| |
| Reviewed by Eric Carlson. |
| |
| Clean up this experimental feature -- since it's backed by a global RuntimeEnabledFeature, we should: |
| 1. Add `webcoreBinding: RuntimeEnabledFeatures`, and also: |
| 2. Not be adding the corresponding page-scoped WebCore setting as well. |
| |
| This adjustment makes it possible to enable this experimental feature when the GPU process is disabled, since |
| we now actually call into RuntimeEnabledFeatures to set the value (instead of just setting the WebCore setting |
| which wasn't consulted by anything). |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-11-08 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [libpas] Enable libpas on macOS |
| https://bugs.webkit.org/show_bug.cgi?id=231815 |
| |
| Reviewed by Filip Pizlo. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| |
| 2021-11-08 Kate Cheney <katherine_cheney@apple.com> |
| |
| trustd network connections occasionally omitted from App Privacy report |
| https://bugs.webkit.org/show_bug.cgi?id=232770 |
| <rdar://problem/83840427> |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/spi/cocoa/SecuritySPI.h: |
| |
| 2021-11-04 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [WebGPU] Bindings part 1: Bring back Adapter/Device bindings code |
| https://bugs.webkit.org/show_bug.cgi?id=232550 |
| |
| Reviewed by Alex Christensen. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2021-11-05 Alex Christensen <achristensen@webkit.org> |
| |
| Restructure WKContentRuleList Action storage during compilation and interpretation |
| https://bugs.webkit.org/show_bug.cgi?id=232692 |
| |
| Reviewed by Brady Eidson. |
| |
| * wtf/CrossThreadCopier.h: |
| * wtf/StdLibExtras.h: |
| |
| 2021-11-04 Diego Pino Garcia <dpino@igalia.com> |
| |
| Require MediaSession enabled to enable MediaSession PlayList API |
| https://bugs.webkit.org/show_bug.cgi?id=232694 |
| |
| Reviewed by Žan Doberšek. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-11-04 Antoine Quint <graouts@webkit.org> |
| |
| Make PreferPageRenderingUpdatesNear60FPSEnabled experimental rather than internal |
| https://bugs.webkit.org/show_bug.cgi?id=232702 |
| |
| Reviewed by Tim Horton. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-11-03 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Clean up StructureStubInfo initialization |
| https://bugs.webkit.org/show_bug.cgi?id=232652 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/FixedVector.h: |
| (WTF::FixedVector::FixedVector): |
| (WTF::FixedVector::operator=): |
| * wtf/RefCountedArray.h: |
| (WTF::RefCountedArray::RefCountedArray): |
| (WTF::RefCountedArray::operator=): |
| * wtf/SegmentedVector.h: |
| * wtf/Vector.h: |
| (WTF::VectorTypeOperations::uninitializedCopy): |
| |
| 2021-11-03 David Kilzer <ddkilzer@apple.com> |
| |
| Disable WebXR on tvOS and watchOS |
| <https://webkit.org/b/232672> |
| <rdar://problem/84982378> |
| |
| Reviewed by Brent Fulgham. |
| |
| * wtf/PlatformEnableCocoa.h: |
| (ENABLE_WEBXR): |
| (ENABLE_WEBXR_HANDS): |
| - Disable features on tvOS and watchOS. |
| |
| 2021-11-03 Jer Noble <jer.noble@apple.com> |
| |
| [macOS] MediaSession coordinator enabled in UIProcess, disabled in WebContent |
| https://bugs.webkit.org/show_bug.cgi?id=232687 |
| <rdar://84990898> |
| |
| Reviewed by Eric Carlson. |
| |
| Have the MediaSessionPlaylistEnabled preference use the same defaults as MediaSessionCoordinatorEnabled. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-11-03 Chris Dumez <cdumez@apple.com> |
| |
| _pasteboardWithName should be thread-safe |
| https://bugs.webkit.org/show_bug.cgi?id=232670 |
| |
| Reviewed by Tim Horton. |
| |
| wtf/Atomics.h uses WTF_MAKE_STRUCT_FAST_ALLOCATED which is declared in |
| wtf/FastMalloc.h but was failing to include it. This was leading to a |
| build error when I tried including wtf/Lock.h in WKTR. |
| |
| * wtf/Atomics.h: |
| |
| 2021-11-02 Brady Eidson <beidson@apple.com> |
| |
| Notifications on iOS enabled at compile-time, disabled at runtime |
| https://bugs.webkit.org/show_bug.cgi?id=232649 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-11-02 David Kilzer <ddkilzer@apple.com> |
| |
| [WTF] Minor clean-up for format-related functions |
| <https://webkit.org/b/232514> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/Assertions.cpp: |
| (WTF::createWithFormatAndArguments): |
| - Put WTF_ATTRIBUTE_PRINTF() on its own line to match other |
| functions. |
| (WTF::vprintf_stderr_with_prefix): |
| (WTF::vprintf_stderr_with_trailing_newline): |
| - Move ALLOW_NONLITERAL_FORMAT_{BEGIN,END} around specific |
| function calls that need them. |
| |
| 2021-11-02 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| Fails to execute JavaScript when soft stack limit is unlimited |
| https://bugs.webkit.org/show_bug.cgi?id=232328 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Fall back to assuming an 8 MB stack limit when the real limit is unlimited. JSC needs to |
| have some maximum stack size to work with, and this is as good as any. |
| |
| * wtf/StackBounds.cpp: |
| (WTF::StackBounds::currentThreadStackBoundsInternal): |
| |
| 2021-11-02 Philip Chimento <pchimento@igalia.com> |
| |
| [JSC] Implement Temporal.Instant |
| https://bugs.webkit.org/show_bug.cgi?id=229826 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/CheckedArithmetic.h: Don't use builtin operations if __int128 is |
| being emulated using WTF::Int128. Also work around Clang/Linux bug |
| where __builtin_mul_overflow() doesn't work on __int128. |
| See https://bugs.llvm.org/show_bug.cgi?id=16404 |
| * wtf/DateMath.h: |
| (WTF::timeToMS): Moved from JSDateMath.h. |
| |
| 2021-11-02 Chris Dumez <cdumez@apple.com> |
| |
| Use higher QoS for WheelEvent and DisplayWasRefreshed IPCs |
| https://bugs.webkit.org/show_bug.cgi?id=232458 |
| <rdar://82657744> |
| |
| Reviewed by Simon Fraser. |
| |
| Add dispatchWithQOS() function to WorkQueue to dispatch a task with a given QoS. |
| |
| * wtf/WorkQueue.cpp: |
| (WTF::WorkQueueBase::dispatchWithQOS): |
| * wtf/WorkQueue.h: |
| * wtf/cocoa/WorkQueueCocoa.cpp: |
| (WTF::WorkQueueBase::dispatchWithQOS): |
| |
| 2021-11-01 Per Arne <pvollan@apple.com> |
| |
| [macOS] Opening local html files is failing |
| https://bugs.webkit.org/show_bug.cgi?id=232572 |
| <rdar://81330442> |
| |
| Reviewed by Brent Fulgham. |
| |
| Declare sandbox flag. |
| |
| * wtf/spi/darwin/SandboxSPI.h: |
| |
| 2021-11-01 Tim Horton <timothy_horton@apple.com> |
| |
| Add a testing preference to replay CG display lists manually |
| https://bugs.webkit.org/show_bug.cgi?id=232566 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-10-29 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Clean up Baseline StructureStubInfo management |
| https://bugs.webkit.org/show_bug.cgi?id=232513 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/SegmentedVector.h: |
| |
| 2021-10-29 Darin Adler <darin@apple.com> |
| |
| Create constants for all special frame names used in anchor target attribute values and elsewhere |
| https://bugs.webkit.org/show_bug.cgi?id=232488 |
| |
| Reviewed by Anders Carlsson. |
| |
| * wtf/Forward.h: Declare ASCIILiteral. |
| * wtf/text/ASCIILiteral.h: Update for above. |
| |
| 2021-10-29 Alex Christensen <achristensen@webkit.org> |
| |
| Remove code inside ENABLE(NETSCAPE_PLUGIN_API) |
| https://bugs.webkit.org/show_bug.cgi?id=232462 |
| |
| Reviewed by Anders Carlsson. |
| |
| It is not used anywhere since https://trac.webkit.org/changeset/285003/webkit |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-10-29 Ayumi Kojima <ayumi_kojima@apple.com> |
| |
| Unreviewed, reverting r285038. |
| |
| Reverting the commit because it broke the open source test |
| runs and also caused an impanct on EWS queues |
| |
| Reverted changeset: |
| |
| "Create constants for all special frame names used in anchor |
| target attribute values and elsewhere" |
| https://bugs.webkit.org/show_bug.cgi?id=232488 |
| https://commits.webkit.org/r285038 |
| |
| 2021-10-29 Darin Adler <darin@apple.com> |
| |
| Create constants for all special frame names used in anchor target attribute values and elsewhere |
| https://bugs.webkit.org/show_bug.cgi?id=232488 |
| |
| Reviewed by Anders Carlsson. |
| |
| * wtf/Forward.h: Declare ASCIILiteral. |
| * wtf/text/ASCIILiteral.h: Update for above. |
| |
| 2021-10-29 Saam Barati <sbarati@apple.com> |
| |
| Disable ENABLE_JIT on arm64_32 |
| https://bugs.webkit.org/show_bug.cgi?id=232468 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| We were disabling JIT via a runtime configuration before since we haven't |
| yet implemented the JIT on arm64_32. However, not compiling ENABLE(JIT) |
| code on arm64_32 saves 11MB in the binary size of JavaScriptCore. |
| |
| In my local compiles, I'm going from 24M to 13M. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2021-10-28 Adrian Perez de Castro <aperez@igalia.com> |
| |
| [WTF] Use mcontext_t on OpenBSD |
| https://bugs.webkit.org/show_bug.cgi?id=232451 |
| |
| In OpenBSD there is no mcontext_t, but the needed information |
| is contained directly in ucontext_t, so use the latter instead. |
| |
| This is essentially these two patches from the OpenBSD packaging |
| of WebKitGTK: |
| |
| https://github.com/openbsd/ports/blob/865bd13/www/webkitgtk4/patches/patch-Source_WTF_wtf_PlatformRegisters_h |
| https://github.com/openbsd/ports/blob/865bd13/www/webkitgtk4/patches/patch-Source_WTF_wtf_PlatformHave_h |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * wtf/PlatformHave.h: |
| * wtf/PlatformRegisters.h: |
| (WTF::registersFromUContext): |
| |
| 2021-10-28 Chris Dumez <cdumez@apple.com> |
| |
| Add stubs for the Web Locks API |
| https://bugs.webkit.org/show_bug.cgi?id=232438 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Add experimental feature flag, off by default. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-10-28 Alex Christensen <achristensen@webkit.org> |
| |
| Disable NETSCAPE_PLUGIN_API at build time on macOS and Windows |
| https://bugs.webkit.org/show_bug.cgi?id=232396 |
| |
| Reviewed by Geoff Garen. |
| |
| It has been disabled at run time since https://trac.webkit.org/changeset/276720/webkit |
| and https://trac.webkit.org/changeset/275910/webkit but is still able to be reached by tests. |
| This begins the removal of the code and tests with what is close to the smallest change possible. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2021-10-28 Nikolaos Mouchtaris <nmouchtaris@apple.com> |
| |
| Enable lazy image loading by default |
| https://bugs.webkit.org/show_bug.cgi?id=208094 |
| |
| Reviewed by Simon Fraser. |
| |
| Fix merge error of commit queue. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-10-28 Youenn Fablet <youenn@apple.com> |
| |
| [ Mac wk1 ] 2 media-capabilities/webrtc tests are flaky failures |
| https://bugs.webkit.org/show_bug.cgi?id=232283 |
| <rdar://problem/84637007> |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-10-26 Alex Christensen <achristensen@webkit.org> |
| |
| Update PCM test public key to one with RSA-PSS OID |
| https://bugs.webkit.org/show_bug.cgi?id=231048 |
| |
| Reviewed by John Wilander. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-10-26 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [WebCore] Remove unneeded WTF:: namespace prefix |
| https://bugs.webkit.org/show_bug.cgi?id=232226 |
| |
| Reviewed by Myles C. Maxfield. |
| |
| * wtf/Forward.h: |
| |
| 2021-10-25 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Make Int128 operator* constexpr |
| https://bugs.webkit.org/show_bug.cgi?id=232270 |
| |
| Reviewed by Mark Lam. |
| |
| We remove MSVC X64 (so, Windows only) switching in Int128 operator* since |
| it breaks constexpr-ness of operator*, which makes writing code difficult. |
| We can bring this kind of optimization back when C++20 std::is_constant_evaluated() |
| becomes available. |
| |
| * wtf/Int128.h: |
| (WTF::operator*): |
| |
| 2021-10-25 Alex Christensen <achristensen@webkit.org> |
| |
| Use xpc_connection_copy_invalidation_reason where available for debugging daemon connection failures |
| https://bugs.webkit.org/show_bug.cgi?id=232152 |
| |
| Reviewed by Brady Eidson. |
| |
| * wtf/PlatformHave.h: |
| * wtf/spi/darwin/XPCSPI.h: |
| |
| 2021-10-25 Ayumi Kojima <ayumi_kojima@apple.com> |
| |
| Unreviewed, reverting r284742. |
| |
| Reverting because this commit may have casued a regression on |
| imported/w3c/web-platform-tests/speech-api/SpeechSynthesis- |
| speak-events.html |
| |
| Reverted changeset: |
| |
| "AX: Unify speech synthesizer platform usage for Mac/iOS" |
| https://bugs.webkit.org/show_bug.cgi?id=231895 |
| https://commits.webkit.org/r284742 |
| |
| 2021-10-24 Darin Adler <darin@apple.com> |
| |
| [Cocoa] Adopt bridge_cast and makeVector in a few more places, including cases where adoptCF/NS was used incorrectly |
| https://bugs.webkit.org/show_bug.cgi?id=232200 |
| |
| Reviewed by Anders Carlsson. |
| |
| * wtf/cocoa/URLCocoa.mm: |
| (WTF::URL::URL): Use bridge_cast. |
| (WTF::URL::createCFURL const): Ditto, using the RetainPtr version to avoid |
| retain count churn. |
| |
| 2021-10-23 Alan Bujtas <zalan@apple.com> |
| |
| Addressing post-commit review (r284744). |
| |
| * wtf/unicode/CharacterNames.h: |
| |
| 2021-10-23 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Replace current LLVM flang's Int128 with abseil-cpp's Int128 |
| https://bugs.webkit.org/show_bug.cgi?id=232129 |
| |
| Reviewed by Darin Adler. |
| |
| We found that flang's signed Int128 implementation is not tested, |
| and it has several issues about sign extension and division. |
| |
| Instead, we import abseil-cpp[1]'s int128 implementation. |
| abseil-cpp is more battle-tested, and abseil is already used |
| in WebKit too (ANGLE and libwebrtc use abseil-cpp as their utility |
| library). |
| |
| For Apple readers, abseil-cpp for WebKit is approved in OSS-351. |
| |
| [1]: https://github.com/abseil/abseil-cpp |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/Int128.cpp: Added. |
| (WTF::UInt128Impl::UInt128Impl): |
| (WTF::operator/): |
| (WTF::operator%): |
| (WTF::operator<<): |
| (WTF::Int128Impl::Int128Impl): |
| * wtf/Int128.h: |
| (WTF::UInt128Max): |
| (std::numeric_limits<WTF::UInt128Impl>::min): |
| (std::numeric_limits<WTF::UInt128Impl>::lowest): |
| (std::numeric_limits<WTF::UInt128Impl>::max): |
| (std::numeric_limits<WTF::UInt128Impl>::epsilon): |
| (std::numeric_limits<WTF::UInt128Impl>::round_error): |
| (std::numeric_limits<WTF::UInt128Impl>::infinity): |
| (std::numeric_limits<WTF::UInt128Impl>::quiet_NaN): |
| (std::numeric_limits<WTF::UInt128Impl>::signaling_NaN): |
| (std::numeric_limits<WTF::UInt128Impl>::denorm_min): |
| (WTF::Int128Max): |
| (WTF::Int128Min): |
| (std::numeric_limits<WTF::Int128Impl>::min): |
| (std::numeric_limits<WTF::Int128Impl>::lowest): |
| (std::numeric_limits<WTF::Int128Impl>::max): |
| (std::numeric_limits<WTF::Int128Impl>::epsilon): |
| (std::numeric_limits<WTF::Int128Impl>::round_error): |
| (std::numeric_limits<WTF::Int128Impl>::infinity): |
| (std::numeric_limits<WTF::Int128Impl>::quiet_NaN): |
| (std::numeric_limits<WTF::Int128Impl>::signaling_NaN): |
| (std::numeric_limits<WTF::Int128Impl>::denorm_min): |
| (WTF::MakeUInt128): |
| (WTF::UInt128Impl::operator=): |
| (WTF::UInt128Impl::operator<<=): |
| (WTF::UInt128Impl::operator>>=): |
| (WTF::UInt128Impl::operator+=): |
| (WTF::UInt128Impl::operator-=): |
| (WTF::UInt128Impl::operator*=): |
| (WTF::UInt128Impl::operator/=): |
| (WTF::UInt128Impl::operator%=): |
| (WTF::UInt128Low64): |
| (WTF::UInt128High64): |
| (WTF::UInt128Impl::UInt128Impl): |
| (WTF::UInt128Impl::operator bool const): |
| (WTF::UInt128Impl::operator char const): |
| (WTF::UInt128Impl::operator signed char const): |
| (WTF::UInt128Impl::operator unsigned char const): |
| (WTF::UInt128Impl::operator char16_t const): |
| (WTF::UInt128Impl::operator char32_t const): |
| (WTF::UInt128Impl::operator ABSL_INTERNAL_WCHAR_T const): |
| (WTF::UInt128Impl::operator short const): |
| (WTF::UInt128Impl::operator unsigned short const): |
| (WTF::UInt128Impl::operator int const): |
| (WTF::UInt128Impl::operator unsigned int const): |
| (WTF::UInt128Impl::operator long const): |
| (WTF::UInt128Impl::operator unsigned long const): |
| (WTF::UInt128Impl::operator long long const): |
| (WTF::UInt128Impl::operator unsigned long long const): |
| (WTF::UInt128Impl::operator float const): |
| (WTF::UInt128Impl::operator double const): |
| (WTF::UInt128Impl::operator long double const): |
| (WTF::operator==): |
| (WTF::operator!=): |
| (WTF::operator<): |
| (WTF::operator>): |
| (WTF::operator<=): |
| (WTF::operator>=): |
| (WTF::operator+): |
| (WTF::operator-): |
| (WTF::operator!): |
| (WTF::operator~): |
| (WTF::operator|): |
| (WTF::operator&): |
| (WTF::operator^): |
| (WTF::UInt128Impl::operator|=): |
| (WTF::UInt128Impl::operator&=): |
| (WTF::UInt128Impl::operator^=): |
| (WTF::operator<<): |
| (WTF::operator>>): |
| (WTF::int128_internal::AddResult): |
| (WTF::int128_internal::SubstructResult): |
| (WTF::operator*): |
| (WTF::UInt128Impl::operator++): |
| (WTF::UInt128Impl::operator--): |
| (WTF::MakeInt128): |
| (WTF::Int128Impl::operator=): |
| (WTF::Int128Impl::operator+=): |
| (WTF::Int128Impl::operator-=): |
| (WTF::Int128Impl::operator*=): |
| (WTF::Int128Impl::operator/=): |
| (WTF::Int128Impl::operator%=): |
| (WTF::Int128Impl::operator|=): |
| (WTF::Int128Impl::operator&=): |
| (WTF::Int128Impl::operator^=): |
| (WTF::Int128Impl::operator<<=): |
| (WTF::Int128Impl::operator>>=): |
| (WTF::int128_internal::BitCastToSigned): |
| (WTF::Int128Low64): |
| (WTF::Int128High64): |
| (WTF::Int128Impl::Int128Impl): |
| (WTF::Int128Impl::operator bool const): |
| (WTF::Int128Impl::operator char const): |
| (WTF::Int128Impl::operator signed char const): |
| (WTF::Int128Impl::operator unsigned char const): |
| (WTF::Int128Impl::operator char16_t const): |
| (WTF::Int128Impl::operator char32_t const): |
| (WTF::Int128Impl::operator ABSL_INTERNAL_WCHAR_T const): |
| (WTF::Int128Impl::operator short const): |
| (WTF::Int128Impl::operator unsigned short const): |
| (WTF::Int128Impl::operator int const): |
| (WTF::Int128Impl::operator unsigned int const): |
| (WTF::Int128Impl::operator long const): |
| (WTF::Int128Impl::operator unsigned long const): |
| (WTF::Int128Impl::operator long long const): |
| (WTF::Int128Impl::operator unsigned long long const): |
| (WTF::Int128Impl::operator float const): |
| (WTF::Int128Impl::operator double const): |
| (WTF::Int128Impl::operator long double const): |
| (WTF::int128_internal::SignedAddResult): |
| (WTF::int128_internal::SignedSubstructResult): |
| (WTF::Int128Impl::operator++): |
| (WTF::Int128Impl::operator--): |
| (WTF::Int128Impl::operator+ const): Deleted. |
| (WTF::Int128Impl::operator~ const): Deleted. |
| (WTF::Int128Impl::operator- const): Deleted. |
| (WTF::Int128Impl::operator! const): Deleted. |
| (WTF::Int128Impl::operator std::uint64_t const): Deleted. |
| (WTF::Int128Impl::operator std::int64_t const): Deleted. |
| (WTF::Int128Impl::high const): Deleted. |
| (WTF::Int128Impl::low const): Deleted. |
| (WTF::Int128Impl::operator& const): Deleted. |
| (WTF::Int128Impl::operator | const): Deleted. |
| (WTF::Int128Impl::operator^ const): Deleted. |
| (WTF::Int128Impl::operator<< const): Deleted. |
| (WTF::Int128Impl::operator>> const): Deleted. |
| (WTF::Int128Impl::operator* const): Deleted. |
| (WTF::Int128Impl::operator/ const): Deleted. |
| (WTF::Int128Impl::operator% const): Deleted. |
| (WTF::Int128Impl::operator< const): Deleted. |
| (WTF::Int128Impl::operator<= const): Deleted. |
| (WTF::Int128Impl::operator== const): Deleted. |
| (WTF::Int128Impl::operator!= const): Deleted. |
| (WTF::Int128Impl::operator>= const): Deleted. |
| (WTF::Int128Impl::operator> const): Deleted. |
| (WTF::Int128Impl::leadingZeroes const): Deleted. |
| * wtf/LeadingZeroBitCount.cpp: Removed. |
| * wtf/LeadingZeroBitCount.h: Removed. |
| |
| 2021-10-23 Alan Bujtas <zalan@apple.com> |
| |
| [LFC][IFC] Breaking before hyphen is only allowed when line-break is loose |
| https://bugs.webkit.org/show_bug.cgi?id=232191 |
| |
| Reviewed by Antti Koivisto. |
| |
| * wtf/unicode/CharacterNames.h: |
| |
| 2021-10-23 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: Unify speech synthesizer platform usage for Mac/iOS |
| https://bugs.webkit.org/show_bug.cgi?id=231895 |
| <rdar://problem/84372479> |
| |
| Reviewed by Andres Gonzalez. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-10-22 Joonghun Park <pjh0718@gmail.com> |
| |
| Integer interpolation in animations should be rounded towards positive infinity, not away from zero. |
| https://bugs.webkit.org/show_bug.cgi?id=232013 |
| |
| Currently, interpolation of <integer> is rounding away from 0. |
| The interpolation's result should be rounded according to the spec, |
| https://drafts.csswg.org/css-values-4/#combine-integers, which is |
| |
| "the result is converted to an <integer> by rounding |
| to the nearest integer, with values halfway between |
| adjacent integers rounded towards positive infinity." |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/MathExtras.h: |
| (roundTowardsPositiveInfinity): |
| |
| 2021-10-22 Pablo Correa Gómez <ablocorrea@hotmail.com> |
| |
| Enable logging in under non-systemd linux distros |
| https://bugs.webkit.org/show_bug.cgi?id=232080 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * wtf/Assertions.h: Rename USE(JOURNALD) to ENABLE(JOURNALD_LOG) |
| * wtf/Logger.h: |
| (WTF::Logger::willLog const): Rename USE(JOURNALD) to |
| ENABLE(JOURNALD_LOG) |
| * wtf/PlatformGTK.cmake: Use renamed Journald library |
| * wtf/PlatformWPE.cmake: Use renamed Journald library |
| |
| 2021-10-21 Aditya Keerthi <akeerthi@apple.com> |
| |
| [Cocoa] Enable accent-color by default |
| https://bugs.webkit.org/show_bug.cgi?id=232032 |
| rdar://84474404 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| Enable only on Cocoa platforms, as other platforms do not support |
| painting accent colors yet. |
| |
| 2021-10-21 Aditya Keerthi <akeerthi@apple.com> |
| |
| [Cocoa] Enable 'accent-color' by default |
| https://bugs.webkit.org/show_bug.cgi?id=232032 |
| rdar://84474404 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-10-21 Chris Lord <clord@igalia.com> |
| |
| [WPE][GTK] Enable smooth scrolling by default |
| https://bugs.webkit.org/show_bug.cgi?id=220512 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Enable smooth scrolling by default on GTK and WPE platforms. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2021-10-20 Brady Eidson <beidson@apple.com> |
| |
| WebKit Managed Notifications: Skeleton NotificationProvider |
| https://bugs.webkit.org/show_bug.cgi?id=231786 |
| |
| Reviewed by Alex Christensen. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-10-20 Alex Christensen <achristensen@webkit.org> |
| |
| URLParser should reject hosts with C0 control characters or U+007F |
| https://bugs.webkit.org/show_bug.cgi?id=232034 |
| |
| Reviewed by Tim Horton. |
| |
| This matches Chrome and Firefox and was proposed to the standard at |
| https://github.com/whatwg/url/issues/627 |
| |
| * wtf/URLParser.cpp: |
| (WTF::isC0Control): |
| (WTF::isForbiddenHostCodePoint): |
| |
| 2021-10-20 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| Do not use strerror() |
| https://bugs.webkit.org/show_bug.cgi?id=231913 |
| |
| Reviewed by Chris Dumez. |
| |
| Add a new safeStrerror function that we can use without worrying about thread safety. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/SafeStrerror.cpp: Added. |
| (WTF::safeStrerror): |
| * wtf/SafeStrerror.h: Added. |
| * wtf/linux/RealTimeThreads.cpp: |
| (WTF::RealTimeThreads::promoteThreadToRealTime): |
| * wtf/playstation/FileSystemPlayStation.cpp: |
| (WTF::FileSystemImpl::deleteFile): |
| * wtf/posix/FileSystemPOSIX.cpp: |
| (WTF::FileSystemImpl::deleteFile): |
| * wtf/posix/ThreadingPOSIX.cpp: |
| (WTF::Thread::establishHandle): |
| * wtf/threads/Signals.cpp: |
| (WTF::jscSignalHandler): |
| |
| 2021-10-20 Youenn Fablet <youenn@apple.com> |
| |
| Add support for requestVideoFrameCallback API and MediaStreamTrack-based backend support |
| https://bugs.webkit.org/show_bug.cgi?id=231803 |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-10-20 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK][WPE] UserInteractive threads are not Real-time in Linux |
| https://bugs.webkit.org/show_bug.cgi?id=220115 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Add RealTimeThreads singleton to register real time threads. |
| |
| * wtf/PlatformGTK.cmake: |
| * wtf/PlatformJSCOnly.cmake: |
| * wtf/PlatformWPE.cmake: |
| * wtf/Threading.cpp: |
| (WTF::Thread::setCurrentThreadIsUserInteractive): |
| * wtf/generic/WorkQueueGeneric.cpp: |
| (WTF::WorkQueueBase::platformInitialize): |
| * wtf/linux/RealTimeThreads.cpp: Added. |
| (WTF::RealTimeThreads::singleton): |
| (WTF::RealTimeThreads::RealTimeThreads): |
| (WTF::RealTimeThreads::registerThread): |
| (WTF::RealTimeThreads::setEnabled): |
| (WTF::RealTimeThreads::promoteThreadToRealTime): |
| (WTF::RealTimeThreads::demoteThreadFromRealTime): |
| (WTF::RealTimeThreads::demoteAllThreadsFromRealTime): |
| (WTF::isRunningInSandbox): |
| (WTF::realTimeKitGetProperty): |
| (WTF::RealTimeThreads::realTimeKitMakeThreadRealTime): |
| (WTF::RealTimeThreads::scheduleDiscardRealTimeKitProxy): |
| (WTF::RealTimeThreads::discardRealTimeKitProxyTimerFired): |
| * wtf/linux/RealTimeThreads.h: Added. |
| * wtf/posix/ThreadingPOSIX.cpp: |
| (WTF::schedPolicy): |
| (WTF::Thread::establishHandle): |
| |
| 2021-10-19 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Remove old GCC workaround for Allocator |
| https://bugs.webkit.org/show_bug.cgi?id=231978 |
| |
| Reviewed by Darin Adler. |
| |
| This is for old GCC. Since our GCC baseline is 8.3.0, this is no longer necessary. |
| |
| * wtf/FastMalloc.h: |
| (WTF::FastAllocator::deallocate): |
| (WTF::FastAllocator::construct): Deleted. |
| (WTF::FastAllocator::destroy): Deleted. |
| (WTF::FastAllocator::max_size const): Deleted. |
| (WTF::FastAllocator::select_on_container_copy_construction const): Deleted. |
| |
| 2021-10-18 Filip Pizlo <fpizlo@apple.com> |
| |
| StringBuffer should really know that strings might be 8-bit |
| https://bugs.webkit.org/show_bug.cgi?id=231937 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| We somehow forgot to change this to use CharType instead of UChar. |
| |
| * wtf/text/StringBuffer.h: |
| (WTF::StringBuffer::resize): |
| |
| 2021-10-19 Cameron McCormack <heycam@apple.com> |
| |
| Ensure CanvasRenderingContext2D.drawImage(video) uses the right color space |
| https://bugs.webkit.org/show_bug.cgi?id=229025 |
| <rdar://problem/81828490> |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/PlatformHave.h: Add HAVE_CVBUFFERCOPYATTACHMENTS. |
| |
| 2021-10-18 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r284240. |
| https://bugs.webkit.org/show_bug.cgi?id=231931 |
| |
| NeedDifferentArchitectureToWorkWithWebpushd |
| |
| Reverted changeset: |
| |
| "WebKit Managed Notifications: Skeleton NotificationProvider." |
| https://bugs.webkit.org/show_bug.cgi?id=231786 |
| https://commits.webkit.org/r284240 |
| |
| 2021-10-18 Alex Christensen <achristensen@webkit.org> |
| |
| Remove TCPServer |
| https://bugs.webkit.org/show_bug.cgi?id=231912 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-10-18 Alex Christensen <achristensen@webkit.org> |
| |
| [ iOS15 Monterey ] TestWTF.WTF_URLExtras.URLExtras is a constant failure |
| https://bugs.webkit.org/show_bug.cgi?id=231454 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-10-18 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GLIB] Simplify SleepDisabler by checking if we are under sandbox |
| https://bugs.webkit.org/show_bug.cgi?id=231670 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| Move function to check if running inside a sandbox and add shouldUsePortal() to check whether portal sandbox |
| should be used. WEBKIT_USE_PORTAL environment variable can be used to force the use of portals when not running |
| under the sandbox. |
| |
| * wtf/PlatformGTK.cmake: |
| * wtf/PlatformWPE.cmake: |
| * wtf/glib/Sandbox.cpp: Added. |
| (WTF::isInsideFlatpak): |
| (WTF::isInsideDocker): |
| (WTF::isInsideSnap): |
| (WTF::shouldUsePortal): |
| * wtf/glib/Sandbox.h: Added. |
| |
| 2021-10-18 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Remove AVOID_NATIVE_INT128_T |
| https://bugs.webkit.org/show_bug.cgi?id=231888 |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/Int128.h: |
| |
| 2021-10-18 Kiet Ho <tho22@apple.com> |
| |
| Implement parsing and animation support for offset-distance, offset-position, offset-anchor |
| https://bugs.webkit.org/show_bug.cgi?id=231491 |
| |
| Reviewed by Antoine Quint. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: Add new preference for CSS Motion Path support. |
| |
| 2021-10-17 Dean Jackson <dino@apple.com> |
| |
| [WebXR] Stubs for WebXR Hand Input Module |
| https://bugs.webkit.org/show_bug.cgi?id=231123 |
| <rdar://problem/83802135> |
| |
| Reviewed by Sam Weinig. |
| |
| Add an ENABLE_WEBXR_HANDS compile time flag and a WebXRHandsEnabled preference. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-10-17 David Kilzer <ddkilzer@apple.com> |
| |
| Build fix #3: Adopt attribution AVCaptureSession SPI for GPU process |
| https://bugs.webkit.org/show_bug.cgi?id=231621 |
| <rdar://problem/80748535> |
| |
| Unreviewed build fix. |
| |
| * wtf/PlatformHave.h: |
| (HAVE_TCC_IOS_14_BIG_SUR_SPI): Add. |
| - Used for TCC.framework SPI available in iOS 14 and macOS 11 |
| Big Sur and later. |
| |
| 2021-10-17 David Kilzer <ddkilzer@apple.com> |
| |
| Add tests for WTF::OSObjectPtr/adoptOSObject in Cocoa with and without ARC |
| <https://webkit.org/b/231819> |
| <rdar://problem/84312692> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/OSObjectPtr.h: |
| (WTF::adoptOSObject): |
| - Rename when building with ARC enabled to prevent leaks or |
| over-releases when linking ARC and non-ARC code. |
| - Add WARN_UNUSED_RETURN attribute to match WTF::adoptNS(). |
| |
| 2021-10-16 Robin Morisset <rmorisset@apple.com> |
| |
| Allow WASM to use up to 4GB |
| https://bugs.webkit.org/show_bug.cgi?id=229353 |
| rdar://81603447 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Made some of CheckedArithmetic constexpr, and added isSumSmallerThanOrEqual since it is a commonly used test in ArrayBuffer and easy to get wrong in terms of overflow. |
| |
| * wtf/CheckedArithmetic.h: |
| (WTF::isInBounds): |
| (WTF::convertSafely): |
| (WTF::isSumSmallerThanOrEqual): |
| |
| 2021-10-16 Tim Horton <timothy_horton@apple.com> |
| |
| Unreviewed, reverting r284143. |
| |
| Caused a series of assertions in layout tests in EWS |
| |
| Reverted changeset: |
| |
| "Scroll To Text Fragment directive parsing" |
| https://bugs.webkit.org/show_bug.cgi?id=231410 |
| https://commits.webkit.org/r284143 |
| |
| 2021-10-15 Basuke Suzuki <basuke.suzuki@sony.com> |
| |
| Add flag to turn off Iso heap |
| https://bugs.webkit.org/show_bug.cgi?id=231823 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| If this flag is off, then all allocations are replaced with FastMalloc. |
| |
| * wtf/IsoMalloc.h: |
| * wtf/IsoMallocInlines.h: |
| * wtf/PlatformUse.h: |
| |
| 2021-10-15 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Realize Mac CMake build of WebCore and WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=231749 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/PlatformMac.cmake: |
| |
| 2021-10-15 Sihui Liu <sihui_liu@apple.com> |
| |
| Enable Storage API by default |
| https://bugs.webkit.org/show_bug.cgi?id=231826 |
| |
| Reviewed by Alexey Shvayka. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-10-15 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Clean up font-related USE(...) macros |
| https://bugs.webkit.org/show_bug.cgi?id=231793 |
| |
| Reviewed by Wenson Hsieh. |
| |
| IOS_FAMILY is true for tvOS and watchOS, so we should be using |
| (PLATFORM(IOS) || PLATFORM(MACCATALYST) instead. Also, the simulator |
| is not special here - it should get the same policy as the system it's |
| simulating. |
| |
| * wtf/PlatformUse.h: |
| |
| 2021-10-15 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Cocoa] Design System UI fonts exist on MacCatalyst |
| https://bugs.webkit.org/show_bug.cgi?id=231792 |
| <rdar://problem/84273929> |
| |
| Reviewed by Wenson Hsieh. |
| |
| They shouldn't be disabled there. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-10-15 Brady Eidson <beidson@apple.com> |
| |
| WebKit Managed Notifications: Skeleton NotificationProvider. |
| <rdar://84275562> and https://bugs.webkit.org/show_bug.cgi?id=231786 |
| |
| Reviewed by Alex Christensen. |
| |
| * Scripts/Preferences/WebPreferencesDebug.yaml: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-10-15 Robin Morisset <rmorisset@apple.com> |
| |
| Revert r284230, my last fixes to the watch build make it break tests |
| https://bugs.webkit.org/show_bug.cgi?id=231797 |
| |
| Unreviewed. |
| |
| Revert "Allow WASM to use up to 4GB" |
| |
| * wtf/CheckedArithmetic.h: |
| (WTF::isInBounds): |
| (WTF::convertSafely): |
| (WTF::isSumSmallerThanOrEqual): Deleted. |
| * wtf/PlatformUse.h: |
| |
| 2021-10-14 Alex Christensen <achristensen@webkit.org> |
| |
| Add AdAttributionDaemon plist on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=231309 |
| |
| Reviewed by John Wilander. |
| |
| * wtf/spi/darwin/XPCSPI.h: |
| |
| 2021-10-14 Robin Morisset <rmorisset@apple.com> |
| |
| Allow WASM to use up to 4GB |
| https://bugs.webkit.org/show_bug.cgi?id=229353 |
| rdar://81603447 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Made some of CheckedArithmetic constexpr, and added isSumSmallerThanOrEqual since it is a commonly used test in ArrayBuffer and easy to get wrong in terms of overflow. |
| |
| * wtf/CheckedArithmetic.h: |
| (WTF::isInBounds): |
| (WTF::convertSafely): |
| (WTF::isSumSmallerThanOrEqual): |
| |
| 2021-10-14 Nikos Mouchtaris <nmouchtaris@apple.com> |
| |
| Enable lazy image loading by default |
| https://bugs.webkit.org/show_bug.cgi?id=208094 |
| |
| Reviewed by Simon Fraser. |
| |
| Turn on lazy image load by default in WebKit. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-10-14 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Fix build failures with newer clang |
| https://bugs.webkit.org/show_bug.cgi?id=231783 |
| |
| Reviewed by Chris Dumez. |
| |
| In Identified case, we make copy constructor and assignment operator protected in IdentifiedBase to hide |
| the ability to copy Identified / ThreadSafeIdentified to be copied to IdentifiedBase. So, in the derived |
| classes, we should define both copy constructor and assignment operator. |
| |
| * wtf/Identified.h: |
| |
| 2021-10-14 Alex Christensen <achristensen@webkit.org> |
| |
| Remove Variant.h |
| https://bugs.webkit.org/show_bug.cgi?id=231744 |
| |
| Reviewed by Darin Adler. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/LikelyDenseUnsignedIntegerSet.h: |
| * wtf/StdLibExtras.h: |
| (WTF::switchOn): |
| * wtf/Variant.h: Removed. |
| * wtf/text/TextBreakIterator.h: |
| |
| 2021-10-14 Alex Christensen <achristensen@webkit.org> |
| |
| Share IPC communication code between webpushd and adattributiond |
| https://bugs.webkit.org/show_bug.cgi?id=231718 |
| |
| Reviewed by Brady Eidson. |
| |
| * wtf/spi/darwin/XPCSPI.h: |
| |
| 2021-10-14 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| All the SDKVariant.xcconfig files should match |
| https://bugs.webkit.org/show_bug.cgi?id=231663 |
| |
| Reviewed by Youenn Fablet. |
| |
| * Configurations/SDKVariant.xcconfig: |
| |
| 2021-10-14 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed build fix with recent SDKs. |
| |
| Use std::invoke_result<> instead of std::result_of<>, as it was deprecated in C++17. |
| |
| * wtf/IndexedContainerIterator.h: |
| (WTF::IndexedContainerIterator::operator* const): |
| (WTF::IndexedContainerIterator::operator*): Deleted. |
| * wtf/Vector.h: |
| * wtf/WeakHashSet.h: |
| |
| 2021-10-14 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Remove std::iterator usage |
| https://bugs.webkit.org/show_bug.cgi?id=231728 |
| |
| Reviewed by Keith Miller. |
| |
| std::iterator<> is deprecated and defining 5 type aliases is encouraged[1]. |
| With new clang, using std::iterator<> causes compile error because of deprecation warnings. |
| This patch removes std::iterator usage. |
| |
| [1]: https://www.fluentcpp.com/2018/05/08/std-iterator-deprecated/ |
| |
| * wtf/HashIterators.h: |
| (WTF:: const const): Deleted. |
| * wtf/HashTable.h: |
| * wtf/WeakHashMap.h: |
| * wtf/WeakHashSet.h: |
| |
| 2021-10-14 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK][WPE] Move getCurrentExecutablePath() and getCurrentExecutableName() to FileSystem |
| https://bugs.webkit.org/show_bug.cgi?id=231732 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * wtf/FileSystem.h: |
| * wtf/PlatformGTK.cmake: |
| * wtf/PlatformWPE.cmake: |
| * wtf/glib/FileSystemGlib.cpp: |
| (WTF::FileSystemImpl::currentExecutablePath): |
| (WTF::FileSystemImpl::currentExecutableName): |
| * wtf/glib/GLibUtilities.cpp: Removed. |
| (getCurrentExecutablePath): Deleted. |
| (getCurrentExecutableName): Deleted. |
| * wtf/glib/GLibUtilities.h: Removed. |
| |
| 2021-10-14 Tim Nguyen <ntim@apple.com> |
| |
| Enable <dialog> element by default |
| https://bugs.webkit.org/show_bug.cgi?id=231307 |
| |
| Reviewed by Brent Fulgham. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-10-14 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK][WPE] Bump GLib version to 2.58.3 |
| https://bugs.webkit.org/show_bug.cgi?id=231726 |
| |
| Reviewed by Philippe Normand. |
| |
| Remove enumToString() since we can use g_enum_to_string(). |
| |
| * wtf/glib/GLibUtilities.cpp: |
| (enumToString): Deleted. |
| * wtf/glib/GLibUtilities.h: |
| |
| 2021-10-13 Megan Gardner <megan_gardner@apple.com> |
| |
| Scroll To Text Fragment directive parsing |
| https://bugs.webkit.org/show_bug.cgi?id=231410 |
| |
| Reviewed by Chris Dumez. |
| |
| Text directive parsing for |
| https://wicg.github.io/scroll-to-text-fragment/ |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-10-13 Chris Dumez <cdumez@apple.com> |
| |
| Drop makeWeakPtr() and use WeakPtr { } directly |
| https://bugs.webkit.org/show_bug.cgi?id=231679 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/WeakHashMap.h: |
| * wtf/WeakHashSet.h: |
| (WTF::copyToVector): |
| * wtf/WeakPtr.h: |
| (WTF::makeWeakPtr): Deleted. |
| |
| 2021-10-13 Jean-Yves Avenard <jya@apple.com> |
| |
| Clearly distinguish serial from concurrent WorkQueue |
| https://bugs.webkit.org/show_bug.cgi?id=231418 |
| rdar://problem/84021977 |
| |
| Reviewed by Chris Dumez. |
| |
| We split the WorkQueue code so that it becomes either a serial or concurrent one. |
| A concurrent WorkQueue doesn't guarantee the order in which the queued tasks will run. |
| That makes for a footgun if a consumer took a WorkQueue and was expecting |
| it to be a serial one. |
| |
| WorkQueue (serial) and ConcurrentWorkQueue are made to both inherit from WorkQueueBase. |
| A class should inherit from either the WorkQueue or the ConcurrentWorkQueue class. |
| |
| The Storage class present in NetworkCacheStore is the only code that was |
| using a WorkQueue that could be either. For this class we will pass a |
| WorkQueueBase; use of the base class directly is discouraged. |
| |
| No change in observable behaviour. |
| |
| * wtf/SuspendableWorkQueue.cpp: |
| (WTF::SuspendableWorkQueue::SuspendableWorkQueue): |
| * wtf/WorkQueue.cpp: |
| (WTF::WorkQueueBase::create): removed |
| (WTF::WorkQueueBase::WorkQueueBase): |
| (WTF::WorkQueueBase::~WorkQueueBase): |
| (WTF::WorkQueue::create): |
| (WTF::ConcurrentWorkQueue::create): |
| (WTF::WorkQueueBase::dispatchSync): |
| (WTF::ConcurrentWorkQueue:apply): |
| * wtf/WorkQueue.h: |
| (WTF::WorkQueueBase::dispatchQueue const): |
| (WTF::executeFunction): remove unused method declaration. |
| (WTF::WorkQueue::runLoop const): |
| (WTF::WorkQueue::WorkQueue): |
| (WTF::ConcurrentWorkQueue::ConcurrentWorkQueue): |
| * wtf/cocoa/WorkQueueCocoa.cpp: |
| (WTF::WorkQueueBase::dispatch): |
| (WTF::WorkQueueBase::dispatchAfter): |
| (WTF::WorkQueueBase::dispatchSync): |
| (WTF::WorkQueueBase::WorkQueueBase): |
| (WTF::WorkQueueBase::platformInitialize): |
| (WTF::WorkQueueBase::platformInvalidate): |
| (WTF::WorkQueue::WorkQueue): |
| (WTF::WorkQueue::constructMainWorkQueue): |
| (WTF::ConcurrentWorkQueue::apply): |
| * wtf/generic/WorkQueueGeneric.cpp: |
| (WorkQueue::WorkQueue): |
| (WorkQueueBase::WorkQueueBase): |
| (WorkQueueBase::platformInitialize): |
| (WorkQueueBase::platformInvalidate): |
| (WorkQueueBase::dispatch): |
| (WorkQueueBase::dispatchAfter): |
| |
| 2021-10-13 Sihui Liu <sihui_liu@apple.com> |
| |
| Enable FileSystemAccess and AccessHandle by default |
| https://bugs.webkit.org/show_bug.cgi?id=231677 |
| |
| Reviewed by Youenn Fablet. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-10-13 Alex Christensen <achristensen@webkit.org> |
| |
| Remove WTF::Variant and WTF::get |
| https://bugs.webkit.org/show_bug.cgi?id=231675 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/Variant.h: |
| (WTF::get): Deleted. |
| |
| 2021-10-13 Chris Dumez <cdumez@apple.com> |
| |
| Stop using makeWeakPtr() in WebCore |
| https://bugs.webkit.org/show_bug.cgi?id=231651 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/WeakPtr.h: |
| (WTF::WeakPtr::WeakPtr): |
| (WTF::WeakPtr::implForObject): |
| |
| 2021-10-13 Philippe Normand <pnormand@igalia.com> |
| |
| CLang build warning in CheckedPtr.h |
| https://bugs.webkit.org/show_bug.cgi?id=231672 |
| |
| Reviewed by Alex Christensen. |
| |
| Assert on the wrapped pointer. Asserting on `this` always results to true, defeating the |
| purpose of the ASSERT. |
| |
| * wtf/CheckedPtr.h: |
| (WTF::CheckedPtr::operator* const): |
| (WTF::CheckedPtr::operator*): |
| |
| 2021-10-12 Alex Christensen <achristensen@webkit.org> |
| |
| Use std::variant instead of WTF::Variant |
| https://bugs.webkit.org/show_bug.cgi?id=231629 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/LikelyDenseUnsignedIntegerSet.h: |
| * wtf/SmallSet.h: |
| * wtf/text/TextBreakIterator.cpp: |
| (WTF::mapModeToBackingIterator): |
| * wtf/text/TextBreakIterator.h: |
| * wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp: |
| (WTF::mapModeToBackingIterator): |
| |
| 2021-10-12 Tim Horton <timothy_horton@apple.com> |
| |
| Remove some unused UIKit SPI declarations |
| https://bugs.webkit.org/show_bug.cgi?id=231646 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-10-12 Sihui Liu <sihui_liu@apple.com> |
| |
| Implement FileSystemSyncAccessHandle read() and write() |
| https://bugs.webkit.org/show_bug.cgi?id=231466 |
| <rdar://problem/84050394> |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-10-12 Chris Dumez <cdumez@apple.com> |
| |
| Decrease use of makeWeakPtr() |
| https://bugs.webkit.org/show_bug.cgi?id=231615 |
| |
| Reviewed by Alex Christensen. |
| |
| Decrease use of makeWeakPtr() and use WeakPtr { } directly instead. |
| |
| * wtf/CancellableTask.h: |
| (WTF::TaskCancellationGroup::Handle::Handle): |
| * wtf/ListHashSet.h: |
| (WTF::ListHashSetConstIterator::ListHashSetConstIterator): |
| (WTF::ListHashSetConstIterator::operator++): |
| (WTF::ListHashSetConstIterator::operator--): |
| * wtf/WeakHashSet.h: |
| |
| 2021-10-12 David Kilzer <ddkilzer@apple.com> |
| |
| Switch WTF::bridge_cast to use type traits |
| <https://webkit.org/b/231467> |
| <rdar://problem/84050614> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/cocoa/TollFreeBridging.h: Add. |
| (WTF::CFTollFreeBridgingTraits): Add. |
| (WTF::NSTollFreeBridgingTraits): Add. |
| - Define type traits for CF and NS classes with toll-free |
| bridging. |
| * wtf/cocoa/TypeCastsCocoa.h: |
| (WTF::bridge_cast): |
| - Make use of type traits in TollFreeBridging.h. |
| |
| 2021-10-12 Simon Fraser <simon.fraser@apple.com> |
| |
| Add support for ScrollOptions' ScrollBehavior and CSS scroll-behavior properties |
| https://bugs.webkit.org/show_bug.cgi?id=188043 |
| <rdar://48436802> |
| |
| Reviewed by Myles C. Maxfield. |
| |
| Enable CSS smooth scrolling by default. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-10-12 Alex Christensen <achristensen@webkit.org> |
| |
| Use STL instead of WTF::get_if, WTF::Monostate, WTF::visit, and WTF::holds_alternative |
| https://bugs.webkit.org/show_bug.cgi?id=231582 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/Variant.h: |
| (WTF::switchOn): |
| (): Deleted. |
| (WTF::visit): Deleted. |
| (WTF::get_if): Deleted. |
| |
| 2021-10-12 Chris Dumez <cdumez@apple.com> |
| |
| Allow direct construction of WeakPtr without makeWeakPtr() |
| https://bugs.webkit.org/show_bug.cgi?id=231580 |
| |
| Reviewed by Darin Adler. |
| |
| Allow direct construction of WeakPtr without makeWeakPtr(), and deprecate makeWeakPtr(). |
| |
| * wtf/WeakPtr.h: |
| (WTF::WeakPtr::WeakPtr): |
| (WTF::WeakPtr::implForObject): |
| (WTF::makeWeakPtr): |
| |
| 2021-10-12 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Unreviewed WinCairo build fix for r283943. |
| |
| * wtf/JSONValues.h: |
| |
| 2021-10-12 Alex Christensen <achristensen@webkit.org> |
| |
| Remove non-HAVE(CFNETWORK_NSURLSESSION_STRICTRUSTEVALUATE) code |
| https://bugs.webkit.org/show_bug.cgi?id=231579 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/PlatformHave.h: |
| This was incorrectly marked as not being available on watchOS and tvOS. It is. |
| |
| 2021-10-12 Alex Christensen <achristensen@webkit.org> |
| |
| Begin migration from WTF::Variant to std::variant |
| https://bugs.webkit.org/show_bug.cgi?id=231086 |
| |
| Reviewed by Chris Dumez. |
| |
| This is reasonably close to just changing the header and all the code stays the same until later. |
| Templates that were only used once like std::variant_size I just changed inline instead of adding a wrapper to Variant.h. |
| WTF::get still means something else, so I just changed the few that take a Variant parameter to std::get in the code. |
| WTF::in_place maps to std::in_place_type and std::in_place_index_t, so I just changed those in the code too. |
| There was also another visitor added since r283906 with different return types among the lambdas, so I just fixed it with the switch. |
| |
| * wtf/Forward.h: |
| * wtf/Hasher.h: |
| (WTF::add): |
| * wtf/Variant.h: |
| (WTF::get): |
| (WTF::visit): |
| (WTF::get_if): |
| (WTF::in_place): Deleted. |
| (WTF::__throw_bad_variant_access): Deleted. |
| (WTF::=): Deleted. |
| (WTF::__variant_storage::__get): Deleted. |
| (WTF::__variant_storage::__get_rref): Deleted. |
| (WTF::__variant_storage::__destroy): Deleted. |
| (WTF::__storage_wrapper::__construct): Deleted. |
| (WTF::__storage_wrapper::__storage_wrapper): Deleted. |
| (WTF::__storage_wrapper::__get): Deleted. |
| (WTF::__storage_wrapper::__get const): Deleted. |
| (WTF::__storage_wrapper::__destroy): Deleted. |
| (WTF::__storage_wrapper<_Type::__storage_wrapper): Deleted. |
| (WTF::__storage_wrapper<_Type::__get): Deleted. |
| (WTF::__storage_wrapper<_Type::__get const): Deleted. |
| (WTF::__variant_base::~__variant_base): Deleted. |
| (WTF::__backup_storage_ops::__move_construct_func): Deleted. |
| (WTF::__backup_storage_ops::__destroy_func): Deleted. |
| (WTF::__backup_storage::__backup_storage): Deleted. |
| (WTF::__backup_storage::__destroy): Deleted. |
| (WTF::__backup_storage::~__backup_storage): Deleted. |
| (WTF::Variant<>::swap): Deleted. |
| (WTF::__NOEXCEPT_): Deleted. |
| (WTF::__variant_accessor::get): Deleted. |
| (WTF::__visitor_table::__trampoline_func): Deleted. |
| (WTF::__arg_selector): Deleted. |
| (WTF::__visit_helper2::__visit): Deleted. |
| (WTF::operator==): Deleted. |
| (WTF::operator!=): Deleted. |
| (WTF::operator<): Deleted. |
| (WTF::operator>): Deleted. |
| (WTF::operator>=): Deleted. |
| (WTF::operator<=): Deleted. |
| (WTF::__hash_visitor::operator()): Deleted. |
| |
| 2021-10-11 Alex Christensen <achristensen@webkit.org> |
| |
| Only mark needed JSONImpl::ObjectBase functions with WTF_EXPORT_PRIVATE |
| https://bugs.webkit.org/show_bug.cgi?id=231521 |
| |
| Reviewed by Chris Dumez. |
| |
| I'm trying some wild experiments with the linker, and when I do the weak symbol checker fails because |
| it is trying to export some of the inline functions at the bottom of JSONValues.h. |
| Moving WTF_EXPORT_PRIVATE from exporting the whole class to only exporting the non-inline functions fixes it. |
| |
| * wtf/JSONValues.h: |
| |
| 2021-10-11 Dean Jackson <dino@apple.com> |
| |
| Disable SystemPreview in WKContentProviderRegistry |
| https://bugs.webkit.org/show_bug.cgi?id=231538 |
| rdar://84110761 |
| |
| Reviewed by Tim Horton. |
| |
| Revert the change in r283811. |
| |
| * wtf/PlatformUse.h: |
| |
| 2021-10-11 Alex Christensen <achristensen@webkit.org> |
| |
| Prepare to switch from WTF::Variant to std::variant |
| https://bugs.webkit.org/show_bug.cgi?id=231239 |
| |
| Reviewed by Chris Dumez. |
| |
| This is the pieces of bug 231086 that can be done without changing behavior. |
| |
| 1. It makes WTF::get_if look more like std::get_if by taking a pointer to a variant instead of a reference. |
| 2. std::visit is pickier than WTF::visit. The former allows taking lambdas with different return types as long |
| as the return types can be converted to the overall desired return type. std::visit has a static_assert that the |
| return types of all the lambdas are all exactly the same type, so I explicitly declare the return type of many lambdas. |
| 3. It also resolves some types that will become ambiguous by using WTF::in_place, |
| which will become wrapped by std::in_place_type then removed. |
| 4. It adds a few explicit WTF:: and #include <wtf/Variant.h> that will be needed after removing Variant from Forward.h. |
| 5. It removes the fast malloc check in the one place a Variant is dynamically allocated in KeyedDecoderGeneric.cpp |
| (which is for non-cocoa platforms) because std::variant isn't fast allocated. |
| |
| * wtf/LikelyDenseUnsignedIntegerSet.h: |
| (WTF::LikelyDenseUnsignedIntegerSet::iterator::operator* const): |
| * wtf/Variant.h: |
| (WTF::get_if): |
| |
| 2021-10-08 Tim Horton <timothy_horton@apple.com> |
| |
| defaultAlternateFormControlDesignEnabled() can't read UIUserInterfaceIdiom in the Web Content process |
| https://bugs.webkit.org/show_bug.cgi?id=231416 |
| <rdar://problem/84009054> |
| |
| Reviewed by Anders Carlsson. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| Remove the autogenerated default. |
| |
| 2021-10-08 Dean Jackson <dino@apple.com> |
| |
| Disable SYSTEM_PREVIEW when UIKit internals is enabled |
| https://bugs.webkit.org/show_bug.cgi?id=231438 |
| rdar://84019482 |
| |
| Reviewed by Tim Horton. |
| |
| We're going to replace SystemPreview with the <model> |
| element, so disable it when UIKit internals are enabled. |
| |
| * wtf/PlatformUse.h: |
| |
| 2021-10-08 Antti Koivisto <antti@apple.com> |
| |
| Make WTF::IteratorRange reversible |
| https://bugs.webkit.org/show_bug.cgi?id=231415 |
| |
| Reviewed by Darin Adler. |
| |
| Also export some names out of the WTF namespace. |
| |
| * wtf/IteratorRange.h: |
| (WTF::IteratorRange::rbegin const): |
| (WTF::IteratorRange::rend const): |
| |
| 2021-10-07 Aditya Keerthi <akeerthi@apple.com> |
| |
| [css-ui] Parsing support for accent-color |
| https://bugs.webkit.org/show_bug.cgi?id=231334 |
| rdar://83955508 |
| |
| Reviewed by Antti Koivisto. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-10-07 Chris Dumez <cdumez@apple.com> |
| |
| Add feature flag for COOP / COEP violation reporting and turn off by default |
| https://bugs.webkit.org/show_bug.cgi?id=231371 |
| |
| Reviewed by Youenn Fablet. |
| |
| Add feature flag for COOP / COEP violation reporting and turn off by default since our |
| implementation doesn't match the latest specification. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-10-06 Sihui Liu <sihui_liu@apple.com> |
| |
| Add support for FileSystemSyncAccessHandle |
| https://bugs.webkit.org/show_bug.cgi?id=231185 |
| <rdar://problem/83847859> |
| |
| Reviewed by Youenn Fablet. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * wtf/FileSystem.h: |
| * wtf/glib/FileSystemGlib.cpp: |
| (WTF::FileSystemImpl::flushFile): |
| * wtf/posix/FileSystemPOSIX.cpp: |
| (WTF::FileSystemImpl::flushFile): |
| * wtf/win/FileSystemWin.cpp: |
| (WTF::FileSystemImpl::flushFile): |
| |
| 2021-10-06 Aditya Keerthi <akeerthi@apple.com> |
| |
| Fix watchOS, tvOS, and macCatalyst builds after r283592 |
| https://bugs.webkit.org/show_bug.cgi?id=231300 |
| rdar://83936867 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformHave.h: |
| |
| 2021-10-06 Megan Gardner <megan_gardner@apple.com> |
| |
| Allow text selection to flip. |
| https://bugs.webkit.org/show_bug.cgi?id=231234 |
| rdar://83889188 |
| |
| Reviewed by Wenson Hsieh. |
| |
| Add an internal flag to guard text selection flipping while |
| we test to make sure this is reasonable to turn on everywhere. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-10-05 Tim Horton <timothy_horton@apple.com> |
| |
| Add an alternate style for form controls, and implement it for checkboxes and radio buttons |
| https://bugs.webkit.org/show_bug.cgi?id=231160 |
| |
| Reviewed by Sam Weinig. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2021-10-05 David Kilzer <ddkilzer@apple.com> |
| |
| Follow-up #2: WTF::RetainPtr<> allows assignment of two pointer types that are not assignable |
| <https://webkit.org/b/230406> |
| <rdar://problem/83241893> |
| |
| Unreviewed attempt to fix API tests. |
| |
| * wtf/cocoa/TypeCastsCocoa.h: |
| (WTF::checked_objc_cast): |
| - Rename checked_objc_cast<> to checked_objc_castARC<> when |
| compiling with ARC enabled. |
| - Also mark as `inline` function to allow for optimization. |
| |
| 2021-10-05 Cameron McCormack <heycam@apple.com> |
| |
| Enable 2D canvas color space support on Apple platforms |
| https://bugs.webkit.org/show_bug.cgi?id=231145 |
| <rdar://82948394> |
| |
| Reviewed by Simon Fraser. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-10-04 Chris Dumez <cdumez@apple.com> |
| |
| Add SPI to launch a service service worker in a WKWebView and expose service worker to injected bundle |
| https://bugs.webkit.org/show_bug.cgi?id=231045 |
| <rdar://problem/83744069> |
| |
| Reviewed by Geoff Garen. |
| |
| * wtf/URL.cpp: |
| (WTF::protocolHostAndPortAreEqual): |
| Fix issue where protocolHostAndPortAreEqual() was doing a case-sensitive check. My new service worker |
| API test was initially failing because of this since it is using an upper-case domain name. |
| |
| 2021-10-04 Sam Weinig <weinig@apple.com> |
| |
| Split WebXR extension module IDLs into their own files and settings |
| https://bugs.webkit.org/show_bug.cgi?id=231149 |
| |
| Reviewed by Dean Jackson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| Adds WebXRAugmentedRealityModuleEnabled and WebXRGamepadsModuleEnabled |
| to gate enabling the WebXR AR Module and the WebXR Gamepads Module on. |
| |
| 2021-10-03 David Kilzer <ddkilzer@apple.com> |
| |
| WTF::RetainPtr<> allows assignment of two pointer types that are not assignable |
| <https://webkit.org/b/230406> |
| <rdar://problem/83241893> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/RetainPtr.h: |
| (WTF::RetainPtr::RetainPtr): |
| (WTF::RetainPtr::checkType): Add. |
| - Add type check for move constructor. |
| |
| * wtf/cocoa/TypeCastsCocoa.h: |
| - Change #include to #import. |
| (WTF_CF_TO_NS_BRIDGE_TRANSFER): Add. |
| (WTF_CF_TO_NS_BRIDGE_TRANSFER): Add. |
| - Helper macros for bridge_cast() and bridge_id_cast(). |
| (WTF_DECLARE_CF_NS_BRIDGE_CAST): Add. |
| - Macro used to define bridge_cast() functions for all known |
| toll-free-bridged types. |
| (WTF::bridge_cast): Add. |
| - Helper macro for toll-free-bridge casting from a known CF type |
| to and from their Objective-C NS type. Prevents ref churn for |
| rvale RetainPtr<> objects. |
| (WTF::bridge_id_cast): Add. |
| - Helper macro for casting from any CFTypeRef to id. Prevents |
| ref churn for rvalue RetainPtr<> objects. |
| (WTF::checked_objc_cast): |
| - Simplified to match dynamic_objc_cast<> implementation in |
| RetainPtr.h. |
| |
| * wtf/cocoa/VectorCocoa.h: |
| (WTF::createNSArray): |
| - Change return type to match object. |
| |
| 2021-10-03 Basuke Suzuki <basuke.suzuki@sony.com> |
| |
| Enable release log to stderr |
| https://bugs.webkit.org/show_bug.cgi?id=230725 |
| <rdar://problem/83740529> |
| |
| Reviewed by Michael Catanzaro. |
| |
| Define new compiler definitions, USE_LOG_STDERR for release logging. We don't have |
| modern logging backend so that dumping out to stdout/stderr is still very valuable. |
| |
| * wtf/Assertions.cpp: |
| * wtf/Assertions.h: |
| * wtf/Logger.h: |
| (WTF::Logger::log): |
| (WTF::Logger::logVerbose): |
| |
| 2021-10-02 Philippe Normand <pnormand@igalia.com> |
| |
| [GLib] Media session manager unable to handle more than one session |
| https://bugs.webkit.org/show_bug.cgi?id=230250 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| * wtf/glib/GRefPtr.h: Forward-declare GDBusConnection. |
| |
| 2021-10-01 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Upgrade in-tree OSS ICU header to 64.2 because macOS Mojave build will be dropped |
| https://bugs.webkit.org/show_bug.cgi?id=231104 |
| |
| Reviewed by Myles C. Maxfield. |
| |
| WebKit no longer supports macOS Mojave build. This means that we can upgrade in-tree ICU header, |
| which is only used when OSS WebKit is built. ICU 64.2 is ICU shipped in macOS Catalina. |
| |
| * icu/LICENSE: |
| * icu/README: |
| * icu/unicode/alphaindex.h: |
| * icu/unicode/brkiter.h: |
| * icu/unicode/bytestream.h: |
| (StringByteSink::StringByteSink): |
| * icu/unicode/calendar.h: |
| * icu/unicode/caniter.h: |
| * icu/unicode/casemap.h: |
| * icu/unicode/char16ptr.h: |
| (Char16Ptr::Char16Ptr): |
| (Char16Ptr::~Char16Ptr): |
| (Char16Ptr::get const): |
| (ConstChar16Ptr::ConstChar16Ptr): |
| (ConstChar16Ptr::~ConstChar16Ptr): |
| (ConstChar16Ptr::get const): |
| (toUCharPtr): |
| (toOldUCharPtr): |
| * icu/unicode/coll.h: |
| * icu/unicode/compactdecimalformat.h: |
| * icu/unicode/currpinf.h: |
| (CurrencyPluralInfo::operator!= const): |
| * icu/unicode/currunit.h: |
| * icu/unicode/datefmt.h: |
| * icu/unicode/dcfmtsym.h: |
| * icu/unicode/decimfmt.h: |
| * icu/unicode/docmain.h: |
| * icu/unicode/dtintrv.h: |
| * icu/unicode/dtitvfmt.h: |
| * icu/unicode/dtitvinf.h: |
| * icu/unicode/dtptngen.h: |
| * icu/unicode/edits.h: |
| * icu/unicode/enumset.h: |
| * icu/unicode/filteredbrk.h: |
| * icu/unicode/fmtable.h: |
| * icu/unicode/formattedvalue.h: Added. |
| * icu/unicode/gender.h: |
| * icu/unicode/icuplug.h: |
| * icu/unicode/listformatter.h: |
| * icu/unicode/localebuilder.h: Added. |
| * icu/unicode/localpointer.h: |
| (LocalPointer::LocalPointer): |
| (LocalPointer::operator std::unique_ptr<T> ): |
| (LocalArray::LocalArray): |
| (LocalArray::operator std::unique_ptr<T[]> ): |
| * icu/unicode/locdspnm.h: |
| * icu/unicode/locid.h: |
| (Locale::toLanguageTag const): |
| (Locale::getKeywords const): |
| (Locale::getUnicodeKeywords const): |
| (Locale::getKeywordValue const): |
| (Locale::getUnicodeKeywordValue const): |
| * icu/unicode/measfmt.h: |
| * icu/unicode/measunit.h: |
| * icu/unicode/messagepattern.h: |
| * icu/unicode/msgfmt.h: |
| * icu/unicode/normalizer2.h: |
| * icu/unicode/nounit.h: |
| * icu/unicode/numberformatter.h: |
| * icu/unicode/numberrangeformatter.h: Added. |
| * icu/unicode/numfmt.h: |
| * icu/unicode/numsys.h: |
| * icu/unicode/parsepos.h: |
| * icu/unicode/platform.h: |
| * icu/unicode/plurfmt.h: |
| * icu/unicode/plurrule.h: |
| * icu/unicode/ptypes.h: |
| * icu/unicode/rbbi.h: |
| * icu/unicode/rbnf.h: |
| * icu/unicode/regex.h: |
| * icu/unicode/region.h: |
| * icu/unicode/reldatefmt.h: |
| * icu/unicode/simpleformatter.h: |
| * icu/unicode/smpdtfmt.h: |
| * icu/unicode/stringoptions.h: |
| * icu/unicode/stringtriebuilder.h: |
| * icu/unicode/timezone.h: |
| * icu/unicode/translit.h: |
| * icu/unicode/tzfmt.h: |
| * icu/unicode/ubidi.h: |
| * icu/unicode/ubiditransform.h: |
| * icu/unicode/ucal.h: |
| * icu/unicode/uchar.h: |
| * icu/unicode/ucnv.h: |
| * icu/unicode/ucol.h: |
| * icu/unicode/uconfig.h: |
| * icu/unicode/ucpmap.h: Added. |
| * icu/unicode/ucptrie.h: Added. |
| * icu/unicode/ucurr.h: |
| * icu/unicode/udat.h: |
| * icu/unicode/udateintervalformat.h: |
| * icu/unicode/udatpg.h: |
| * icu/unicode/uenum.h: |
| * icu/unicode/uformattedvalue.h: Added. |
| * icu/unicode/ugender.h: |
| * icu/unicode/ulistformatter.h: |
| * icu/unicode/umachine.h: |
| * icu/unicode/umutablecptrie.h: Added. |
| * icu/unicode/uniset.h: |
| * icu/unicode/unistr.h: |
| * icu/unicode/unum.h: |
| * icu/unicode/unumberformatter.h: |
| * icu/unicode/unumsys.h: |
| * icu/unicode/uobject.h: |
| * icu/unicode/upluralrules.h: |
| * icu/unicode/uregex.h: |
| * icu/unicode/ureldatefmt.h: |
| * icu/unicode/urename.h: |
| * icu/unicode/ures.h: |
| * icu/unicode/uscript.h: |
| * icu/unicode/usearch.h: |
| * icu/unicode/uset.h: |
| * icu/unicode/uspoof.h: |
| * icu/unicode/ustring.h: |
| * icu/unicode/utext.h: |
| * icu/unicode/utf16.h: |
| * icu/unicode/utf8.h: |
| * icu/unicode/utypes.h: |
| * icu/unicode/uvernum.h: |
| |
| 2021-10-01 Chris Dumez <cdumez@apple.com> |
| |
| Drop support for macOS < 10.15 |
| https://bugs.webkit.org/show_bug.cgi?id=231085 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformHave.h: |
| * wtf/PlatformUse.h: |
| |
| 2021-10-01 Youenn Fablet <youenn@apple.com> |
| |
| Add support for PushEvent |
| https://bugs.webkit.org/show_bug.cgi?id=231007 |
| <rdar://problem/83707470> |
| |
| Reviewed by Chris Dumez. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-10-01 Chris Dumez <cdumez@apple.com> |
| |
| Drop legacy USE(LEGACY_CFNETWORK_DOWNLOADS) code paths |
| https://bugs.webkit.org/show_bug.cgi?id=231081 |
| |
| Reviewed by Alex Christensen. |
| |
| Drop legacy USE(LEGACY_CFNETWORK_DOWNLOADS) code paths, as we no longer support Mac OS 14 Mojave. |
| |
| * wtf/PlatformUse.h: |
| |
| 2021-09-30 Sihui Liu <sihui_liu@apple.com> |
| |
| Make File System Access API available in Worker |
| https://bugs.webkit.org/show_bug.cgi?id=230805 |
| <rdar://problem/83552511> |
| |
| Reviewed by Youenn Fablet. |
| |
| * wtf/CrossThreadCopier.h: |
| |
| 2021-09-30 Eddy Wong <eddy_wong@apple.com> |
| |
| Adopt presentationSceneIdentifierForPaymentAuthorizationController delegate call from PassKit |
| https://bugs.webkit.org/show_bug.cgi?id=230874 |
| |
| Reviewed by Devin Rousso. |
| |
| * wtf/PlatformEnableCocoa.h: Defines new flag ENABLE_APPLE_PAY_REMOTE_UI_USES_SCENE |
| |
| 2021-09-30 Darin Adler <darin@apple.com> |
| |
| Add StdLibExtras.h include to a file that uses bitwise_cast without including it |
| https://bugs.webkit.org/show_bug.cgi?id=231027 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/RawPtrTraits.h: Include StdLibExtras.h. |
| |
| 2021-09-29 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [WinCairo] REGRESSION(r280726): registry keys enabling GPU process mode don't work |
| https://bugs.webkit.org/show_bug.cgi?id=230871 |
| |
| Reviewed by Don Olmstead. |
| |
| * wtf/PlatformHave.h: r270175 defined HAVE_SYSTEM_FEATURE_FLAGS |
| for Windows to use WebKit::isFeatureFlagEnabled. But, it is no |
| longer needed. |
| |
| 2021-09-29 Kiet Ho <tho22@apple.com> |
| |
| Implement the 'ic' unit from CSS Values 4 |
| https://bugs.webkit.org/show_bug.cgi?id=204276 |
| <rdar://problem/57256127> |
| |
| Reviewed by Myles C. Maxfield. |
| |
| * wtf/unicode/CharacterNames.h: add CJK water glyph (U+6C34) constant. |
| |
| 2021-09-29 Antti Koivisto <antti@apple.com> |
| |
| [CSS Cascade Layers] Enable by default |
| https://bugs.webkit.org/show_bug.cgi?id=230948 |
| |
| Reviewed by Simon Fraser. |
| |
| Flip the switch. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-09-28 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| iOS simulator build should use PTHREAD_JIT_PERMISSIONS_API |
| https://bugs.webkit.org/show_bug.cgi?id=230920 |
| rdar://77494871 |
| |
| Reviewed by Filip Pizlo. |
| |
| In AppleSilicon macOS, we should use PTHREAD_JIT_PERMISSIONS_API for OSS build. |
| However, we are not enabling that for iOS simulator build. This patch enables that. |
| This API exists after iOS 14.0 SDK. |
| |
| * wtf/PlatformUse.h: |
| |
| 2021-09-28 Alex Christensen <achristensen@webkit.org> |
| |
| Mostly fix Mac CMake build |
| https://bugs.webkit.org/show_bug.cgi?id=230868 |
| |
| Reviewed by Don Olmstead. |
| |
| * wtf/PlatformMac.cmake: |
| |
| 2021-09-28 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, fix Windows build |
| https://bugs.webkit.org/show_bug.cgi?id=230876 |
| |
| * wtf/GenericTimeMixin.h: |
| (WTF::GenericTimeMixin::operator+=): |
| (WTF::GenericTimeMixin::operator-=): |
| |
| 2021-09-27 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Add ApproximateTime |
| https://bugs.webkit.org/show_bug.cgi?id=230876 |
| |
| Reviewed by Filip Pizlo. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/ApproximateTime.cpp: Copied from Source/WTF/wtf/ClockType.cpp. |
| (WTF::ApproximateTime::approximateWallTime const): |
| (WTF::ApproximateTime::approximateMonotonicTime const): |
| (WTF::ApproximateTime::dump const): |
| * wtf/ApproximateTime.h: Copied from Source/WTF/wtf/MonotonicTime.h. |
| (WTF::ApproximateTime::MarkableTraits::isEmptyValue): |
| (WTF::ApproximateTime::MarkableTraits::emptyValue): |
| (std::isnan): |
| (std::isinf): |
| (std::isfinite): |
| * wtf/CMakeLists.txt: |
| * wtf/ClockType.cpp: |
| (WTF::printInternal): |
| * wtf/ClockType.h: |
| * wtf/CurrentTime.cpp: |
| (WTF::MonotonicTime::fromMachAbsoluteTime): |
| (WTF::MonotonicTime::toMachAbsoluteTime const): |
| (WTF::ApproximateTime::fromMachApproximateTime): |
| (WTF::ApproximateTime::toMachApproximateTime const): |
| (WTF::ApproximateTime::now): |
| * wtf/MonotonicTime.h: |
| * wtf/Seconds.cpp: |
| (WTF::Seconds::operator+ const): |
| (WTF::Seconds::operator- const): |
| * wtf/Seconds.h: |
| * wtf/TimeWithDynamicClockType.cpp: |
| (WTF::TimeWithDynamicClockType::now): |
| (WTF::TimeWithDynamicClockType::approximateTime const): |
| (WTF::TimeWithDynamicClockType::approximateWallTime const): |
| (WTF::TimeWithDynamicClockType::approximateMonotonicTime const): |
| * wtf/TimeWithDynamicClockType.h: |
| * wtf/WallTime.h: |
| |
| 2021-09-27 Antti Koivisto <antti@apple.com> |
| |
| [LFC] Use CheckedRef/Ptr instead of WeakPtr |
| https://bugs.webkit.org/show_bug.cgi?id=230821 |
| |
| Reviewed by Alan Bujtas. |
| |
| * wtf/CheckedRef.h: |
| (WTF::CanMakeCheckedPtrBase::incrementPtrCount const): |
| (WTF::CanMakeCheckedPtrBase::decrementPtrCount const): |
| (WTF::CanMakeCheckedPtrBase::incrementPtrCount): Deleted. |
| (WTF::CanMakeCheckedPtrBase::decrementPtrCount): Deleted. |
| |
| Make const so CheckedPtr<const Foo> works. |
| |
| 2021-09-27 Jean-Yves Avenard <jya@apple.com> |
| |
| Vorbis decoder can't be instantiated - Remove workaround added in bug 228139 |
| https://bugs.webkit.org/show_bug.cgi?id=230742 |
| rdar://83484414 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformUse.h: Add USE_VORBIS_AUDIOCOMPONENT_WORKAROUND |
| |
| 2021-09-27 Saam Barati <sbarati@apple.com> |
| |
| Build an unlinked baseline JIT |
| https://bugs.webkit.org/show_bug.cgi?id=229223 |
| <rdar://problem/82321772> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/Bag.h: |
| * wtf/Packed.h: |
| (WTF::PackedAlignedPtr::operator* const): |
| |
| 2021-09-27 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r283102, r283103 and r283104. |
| https://bugs.webkit.org/show_bug.cgi?id=230854 |
| |
| It regresses JetStream2 on iOS devices |
| |
| Reverted changesets: |
| |
| "Build an unlinked baseline JIT" |
| https://bugs.webkit.org/show_bug.cgi?id=229223 |
| https://commits.webkit.org/r283102 |
| |
| "Unreviewed, fix CLoop build" |
| https://bugs.webkit.org/show_bug.cgi?id=229223 |
| https://commits.webkit.org/r283103 |
| |
| "Unreviewed, fix CLoop build part 2" |
| https://bugs.webkit.org/show_bug.cgi?id=229223 |
| https://commits.webkit.org/r283104 |
| |
| 2021-09-27 Saam Barati <sbarati@apple.com> |
| |
| Build an unlinked baseline JIT |
| https://bugs.webkit.org/show_bug.cgi?id=229223 |
| <rdar://problem/82321772> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/Bag.h: |
| * wtf/Packed.h: |
| (WTF::PackedAlignedPtr::operator* const): |
| |
| 2021-09-26 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r283083 and r283088. |
| https://bugs.webkit.org/show_bug.cgi?id=230806 |
| |
| Windows pors are crashing |
| |
| Reverted changesets: |
| |
| "Build an unlinked baseline JIT" |
| https://bugs.webkit.org/show_bug.cgi?id=229223 |
| https://commits.webkit.org/r283083 |
| |
| "Make byte codes with arithmetic profiles switch to using an |
| index instead of a pointer in metadata" |
| https://bugs.webkit.org/show_bug.cgi?id=230798 |
| https://commits.webkit.org/r283088 |
| |
| 2021-09-25 Saam Barati <sbarati@apple.com> |
| |
| Build an unlinked baseline JIT |
| https://bugs.webkit.org/show_bug.cgi?id=229223 |
| <rdar://problem/82321772> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/Bag.h: |
| * wtf/Packed.h: |
| (WTF::PackedAlignedPtr::operator* const): |
| |
| 2021-09-24 Devin Rousso <drousso@apple.com> |
| |
| Add typechecking `is` overloads for `std::unique_ptr`, `WTF::UniqueRef`, and `WTF::WeakPtr` |
| https://bugs.webkit.org/show_bug.cgi?id=230734 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/StdLibExtras.h: |
| * wtf/TypeCasts.h: |
| (WTF::is): |
| * wtf/UniqueRef.h: |
| (WTF::GetPtrHelper<UniqueRef<T>>::getPtr): Added. |
| (WTF::is): Added. |
| * wtf/WeakPtr.h: |
| (WTF::is): Added. |
| |
| 2021-09-24 Jonathan Bedard <jbedard@apple.com> |
| |
| [iOS 15] Support building WebKit (Part 3) |
| https://bugs.webkit.org/show_bug.cgi?id=227002 |
| <rdar://problem/79316598> |
| |
| Reviewed by Ryan Haddad. |
| |
| * wtf/spi/darwin/XPCSPI.h: Import NSError header. |
| |
| 2021-09-23 Tim Horton <timothy_horton@apple.com> |
| |
| Move more linked-on-or-after checks to WebCore::linkedOnOrAfter() |
| https://bugs.webkit.org/show_bug.cgi?id=230694 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/spi/darwin/dyldSPI.h: |
| |
| 2021-09-23 Jean-Yves Avenard <jya@apple.com> |
| |
| Opus and Vorbis codecs aren't available on iPad. |
| https://bugs.webkit.org/show_bug.cgi?id=230595 |
| rdar://problem/83382734 |
| |
| Vorbis and Opus are usable on platforms other than macOS and are being checked |
| at runtime already. |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-09-22 Chris Dumez <cdumez@apple.com> |
| |
| Drop makeRef() and use Ref { } instead |
| https://bugs.webkit.org/show_bug.cgi?id=230626 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/Ref.h: |
| |
| 2021-09-22 Brady Eidson <beidson@apple.com> |
| |
| Disable FTP. |
| <rdar://81193860> and https://bugs.webkit.org/show_bug.cgi?id=230477 |
| |
| Reviewed by Geoff Garen. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| * wtf/URL.cpp: |
| (WTF::URL::protocolIsInFTPFamily const): |
| (WTF::protocolIsInFTPFamily): |
| * wtf/URL.h: |
| |
| 2021-09-22 Simon Fraser <simon.fraser@apple.com> |
| |
| Remove ENABLE(SMOOTH_SCROLLING) |
| https://bugs.webkit.org/show_bug.cgi?id=230587 |
| |
| Reviewed by Tim Horton. |
| |
| ENABLE(SMOOTH_SCROLLING) was always enabled on macOS, so remove it. The pref defaults |
| to true on macOS, and false elsewhere. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-09-21 Simon Fraser <simon.fraser@apple.com> |
| |
| Change from ENABLE(RUBBER_BANDING) to HAVE(RUBBER_BANDING) |
| https://bugs.webkit.org/show_bug.cgi?id=230583 |
| |
| Reviewed by Tim Horton. |
| |
| RUBBER_BANDING is not a feature we'll ever turn off on macOS, and it was only ever enabled |
| for that platform. However, it's also used in some cross-platform code, so |
| HAVE(RUBBER_BANDING) makes more sense for that use. |
| |
| Also remove ENABLE(RUBBER_BANDING) #ifdefs from inside PLATFORM(MAC) code. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| * wtf/PlatformHave.h: |
| |
| 2021-09-21 Chris Dumez <cdumez@apple.com> |
| |
| Reduce use of makeRef() and use Ref { } instead |
| https://bugs.webkit.org/show_bug.cgi?id=230585 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/WeakPtr.h: |
| (WTF::WeakPtrFactory::createWeakPtr const): |
| |
| 2021-09-21 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Use Int128 in MediaTime |
| https://bugs.webkit.org/show_bug.cgi?id=230575 |
| |
| Reviewed by Eric Carlson. |
| |
| Previously, __int128_t exists only in 64bit clang and GCC environments. But now |
| we always have Int128. Int128 is __int128_t in 64bit clang and GCC, and Int128 library |
| implementation in the other environments. So we always use Int128 code in MediaTime. |
| |
| * wtf/MediaTime.cpp: |
| (WTF::MediaTime::setTimeScale): |
| |
| 2021-09-21 Chris Dumez <cdumez@apple.com> |
| |
| Drop makeRefPtr() and use RefPtr { } directly instead |
| https://bugs.webkit.org/show_bug.cgi?id=230564 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/RefPtr.h: |
| |
| 2021-09-21 David Kilzer <ddkilzer@apple.com> |
| |
| Rename {checked,dynamic}_ns_cast<> to {checked,dynamic}_objc_cast<> |
| <https://webkit.org/b/230508> |
| <rdar://problem/83323145> |
| |
| Reviewed by Brent Fulgham. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/PlatformMac.cmake: |
| - Update for rename of TypeCastsNS.h to TypeCastsCocoa.h. |
| |
| * wtf/RetainPtr.h: |
| (WTF::dynamic_objc_cast): |
| - Move dynamic_ns_cast<> from TypeCastsNS.h to here. |
| - Remove `using` statements to limit Objective-C types without |
| asterisks to match RetainPtr<>. |
| * wtf/cocoa/TypeCastsCocoa.h: Rename from TypeCastsNS.h. |
| (WTF::checked_objc_cast): |
| (WTF::dynamic_objc_cast): |
| - Do the rename. |
| - Remove "using WTF::dynamic_ns_cast;" instead of renaming it |
| since this is already in RetainPtr.h. |
| |
| 2021-09-21 Jer Noble <jer.noble@apple.com> |
| |
| [iOS] Enable MSE in WKWebViews by default on iPad |
| https://bugs.webkit.org/show_bug.cgi?id=230426 |
| |
| Reviewed by Tim Horton. |
| |
| Give a default value getter for the MediaSourceEnabled preference. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2021-09-21 Philip Chimento <philip.chimento@gmail.com> |
| |
| Add LLVM/FLang's int128_t implementation to WTF |
| https://bugs.webkit.org/show_bug.cgi?id=230437 |
| |
| Added int128_t implementation from LLVM, and its dependency |
| LeadingZeroBitCount.h. Both reformatted according to WebKit style. |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * LICENSE-LLVM.txt: Added. |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/Int128.h: Added. |
| (WTF::Int128Impl::Int128Impl): |
| (WTF::Int128Impl::operator+ const): |
| (WTF::Int128Impl::operator~ const): |
| (WTF::Int128Impl::operator- const): |
| (WTF::Int128Impl::operator! const): |
| (WTF::Int128Impl::operator bool const): |
| (WTF::Int128Impl::operator std::uint64_t const): |
| (WTF::Int128Impl::operator std::int64_t const): |
| (WTF::Int128Impl::operator int const): |
| (WTF::Int128Impl::high const): |
| (WTF::Int128Impl::low const): |
| (WTF::Int128Impl::operator++): |
| (WTF::Int128Impl::operator--): |
| (WTF::Int128Impl::operator& const): |
| (WTF::Int128Impl::operator | const): |
| (WTF::Int128Impl::operator^ const): |
| (WTF::Int128Impl::operator<< const): |
| (WTF::Int128Impl::operator>> const): |
| (WTF::Int128Impl::operator* const): |
| (WTF::Int128Impl::operator/ const): |
| (WTF::Int128Impl::operator% const): |
| (WTF::Int128Impl::operator< const): |
| (WTF::Int128Impl::operator<= const): |
| (WTF::Int128Impl::operator== const): |
| (WTF::Int128Impl::operator!= const): |
| (WTF::Int128Impl::operator>= const): |
| (WTF::Int128Impl::operator> const): |
| (WTF::Int128Impl::operator&=): |
| (WTF::Int128Impl::operator|=): |
| (WTF::Int128Impl::operator^=): |
| (WTF::Int128Impl::operator<<=): |
| (WTF::Int128Impl::operator>>=): |
| (WTF::Int128Impl::operator+=): |
| (WTF::Int128Impl::operator-=): |
| (WTF::Int128Impl::operator*=): |
| (WTF::Int128Impl::operator/=): |
| (WTF::Int128Impl::operator%=): |
| (WTF::Int128Impl::leadingZeroes const): |
| * wtf/LeadingZeroBitCount.cpp: Added. |
| * wtf/LeadingZeroBitCount.h: Added. |
| (WTF::leadingZeroBitCount): |
| (WTF::bitsNeededFor): |
| |
| 2021-09-20 Chris Dumez <cdumez@apple.com> |
| |
| Reduce use of makeRefPtr() and use RefPtr { } directly |
| https://bugs.webkit.org/show_bug.cgi?id=230503 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/CrossThreadTask.h: |
| (WTF::createCrossThreadTask): |
| |
| 2021-09-20 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Refactor some code that controls Live Text selection behavior |
| https://bugs.webkit.org/show_bug.cgi?id=230482 |
| rdar://83173597 |
| |
| Reviewed by Megan Gardner. |
| |
| Add an (off-by-default) internal feature to enable certain enhancements to Live Text. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-09-20 Brent Fulgham <bfulgham@apple.com> |
| |
| Remove XSS Auditor: Part 1 (Turn off by default) |
| https://bugs.webkit.org/show_bug.cgi?id=230483 |
| <rdar://problem/83310922> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| As an initial step in removing the XSS Auditor, turn it off by default. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2021-09-20 Chris Dumez <cdumez@apple.com> |
| |
| Stop using makeRef(*this) / makeRefPtr(this) |
| https://bugs.webkit.org/show_bug.cgi?id=230464 |
| |
| Reviewed by Alex Christensen. |
| |
| * wtf/cocoa/WorkQueueCocoa.cpp: |
| (WTF::WorkQueue::dispatch): |
| (WTF::WorkQueue::dispatchAfter): |
| * wtf/glib/SocketConnection.cpp: |
| (WTF::SocketConnection::SocketConnection): |
| (WTF::SocketConnection::waitForSocketWritability): |
| |
| 2021-09-20 Jer Noble <jer.noble@apple.com> |
| |
| [Cocoa] Make AVSampleBufferVideoOutput support an Experimental Feature |
| https://bugs.webkit.org/show_bug.cgi?id=230424 |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * wtf/PlatformHave.h: |
| |
| 2021-09-18 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [iOS Family] Delete letterpress support |
| https://bugs.webkit.org/show_bug.cgi?id=230441 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-09-17 David Kilzer <ddkilzer@apple.com> |
| |
| Build fix: WebKit::WebProcessPool should use a weak observer with CFNotificationCenter |
| <https://webkit.org/b/230227> |
| <rdar://problem/83067708> |
| |
| * wtf/spi/cocoa/NSObjCRuntimeSPI.h: |
| - Fix internal Catalina builds by including |
| NSObjCRuntime_Private.h, but falling through to define |
| NS_DIRECT and NS_DIRECT_MEMBERS if they weren't defined in the |
| private header. |
| |
| 2021-09-17 Tim Horton <timothy_horton@apple.com> |
| |
| Enable UseCGDisplayListsForDOMRendering by default where it is available |
| https://bugs.webkit.org/show_bug.cgi?id=230387 |
| |
| Reviewed by Dean Jackson. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-09-17 Cameron McCormack <heycam@apple.com> |
| |
| Preserve color space when creating ImageBuffers for ImageBitmaps |
| https://bugs.webkit.org/show_bug.cgi?id=229022 |
| <rdar://problem/81828459> |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-09-17 Simon Fraser <simon.fraser@apple.com> |
| |
| Convert usesMockScrollAnimator from a DeprecatedGlobalSettings to a WebPreference |
| https://bugs.webkit.org/show_bug.cgi?id=230371 |
| |
| Reviewed by Tim Horton. |
| |
| Add a MockScrollAnimatorEnabled setting. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2021-09-17 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK][a11y] Add a build option to enable ATSPI |
| https://bugs.webkit.org/show_bug.cgi?id=230254 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| Enable isolated tree when building with ATSPI. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2021-09-16 David Kilzer <ddkilzer@apple.com> |
| |
| WebKit::WebProcessPool should use a weak observer with CFNotificationCenter |
| <https://webkit.org/b/230227> |
| <rdar://problem/83067708> |
| |
| Reviewed by Darin Adler. |
| |
| Tests (API): |
| TestWTF.TypeCastsNS.checked_ns_cast |
| TestWTF.TypeCastsNS.dynamic_ns_cast |
| TestWTF.TypeCastsNS.dynamic_ns_cast_RetainPtr |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/PlatformMac.cmake: |
| - Add new header files to the project. |
| |
| * wtf/cocoa/TypeCastsNS.h: Add. |
| (WTF::checked_ns_cast): |
| (WTF::dynamic_ns_cast): |
| - Add casts for NS objects similar to TypeCastsCF.h. |
| |
| * wtf/PlatformHave.h: |
| (HAVE_NS_DIRECT_SUPPORT): Add. |
| - Note that clang for macOS 11 Big Sur claims to know about the |
| attributes, but will fail to compile if they are actually |
| used. |
| |
| * wtf/spi/cocoa/NSObjCRuntimeSPI.h: Add. |
| (NS_DIRECT): |
| (NS_DIRECT_MEMBERS): |
| - Define compiler attributes for direct dispatch of Objective-C |
| methods. |
| |
| 2021-09-16 Philip Chimento <pchimento@igalia.com> |
| |
| Fixes for build-webkit --minimal |
| https://bugs.webkit.org/show_bug.cgi?id=229780 |
| |
| Reviewed by Fujii Hironori. |
| |
| Remove ENABLE_RESIZE_OBSERVER build-time option. This option is |
| quite broken if you try to disable it. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-09-16 Tim Horton <timothy_horton@apple.com> |
| |
| Adjust ARKIT_INLINE_PREVIEW* compile time flags |
| https://bugs.webkit.org/show_bug.cgi?id=230332 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/PlatformEnableCocoa.h: |
| Make these ENABLE()s instead of HAVE()s (as they control a WebKit feature). |
| Also, disable the ASVInlinePreview version if WKSeparatedModelView is enabled, |
| we don't need both, and we currently always make a WKSeparatedModelView |
| in that case anyway. |
| |
| * wtf/PlatformHave.h: |
| Stop using __has_include in favor of version checks, now that |
| the header has been around for a while. |
| |
| 2021-09-16 Youenn Fablet <youenn@apple.com> |
| |
| Enable RTCRtpScriptTransform by default |
| https://bugs.webkit.org/show_bug.cgi?id=230220 |
| |
| Reviewed by Eric Carlson. |
| |
| Splitting WebRTCInsertableStreamsEnabled to WebRTCEncodedTransformEnabled and WebRTCSFrameTransformEnabled. |
| Keeping WebRTCSFrameTransformEnabled as off by default until SFrame solidifies and mark WebRTCEncodedTransformEnabled as on by default. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-09-16 Cameron McCormack <heycam@apple.com> |
| |
| Disable display-p3 canvas and ImageData on platforms other than Monterey+ and iOS 15+ |
| https://bugs.webkit.org/show_bug.cgi?id=230139 |
| <rdar://81828819> |
| |
| Reviewed by Sam Weinig. |
| |
| Add HAVE(CORE_ANIMATION_FIX_FOR_RADAR_78402035) to represent whether |
| CoreAnimation has a fix for a bug that prevents Display P3 canvas |
| rendering operations from behaving correctly. |
| |
| Add ENABLE(PREDEFINED_COLOR_SPACE_DISPLAY_P3) to represent whether the |
| "display-p3" values of the PredefinedColorSpace IDL enum is enabled. |
| This in turn controls whether Display P3 canvases and ImageData objects |
| can be created. We turn this on only for platforms where |
| ENABLE(DESTINATION_COLOR_SPACE_DISPLAY_P3), since that is what the |
| canvas and ImageData backing stores use, and only if |
| HAVE(CORE_ANIMATION_FIX_FOR_RADAR_78402035). The result is that these |
| features are only enabled on macOS Monterey+ and iOS 15+. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformHave.h: |
| |
| 2021-09-15 Philip Chimento <pchimento@igalia.com> |
| |
| Fixes for build-webkit --minimal |
| https://bugs.webkit.org/show_bug.cgi?id=229780 |
| |
| Reviewed by Fujii Hironori. |
| |
| Remove ENABLE_INTERSECTION_OBSERVER build-time option. This option is |
| quite broken if you try to disable it. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-09-15 Alex Christensen <achristensen@webkit.org> |
| |
| Add IDL skeleton for SharedWorker |
| https://bugs.webkit.org/show_bug.cgi?id=230293 |
| |
| Reviewed by Geoff Garen. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-09-14 John Wilander <wilander@apple.com> |
| |
| Rename RESOURCE_LOAD_STATISTICS to INTELLIGENT_TRACKING_PREVENTION |
| https://bugs.webkit.org/show_bug.cgi?id=230279 |
| <rdar://problem/83118683> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-09-14 Chris Dumez <cdumez@apple.com> |
| |
| Enable BroadcastChannel for modern WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=230235 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-09-14 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, reverting r282408. |
| |
| Breaks internal builds. |
| |
| Reverted changeset: |
| |
| "Enable RTCRtpScriptTransform by default" |
| https://bugs.webkit.org/show_bug.cgi?id=230220 |
| https://commits.webkit.org/r282408 |
| |
| 2021-09-14 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| CSSFontFaceSrcValue.cssText should be quoted consistently with other browsers |
| https://bugs.webkit.org/show_bug.cgi?id=230273 |
| <rdar://problem/79644124> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/unicode/CharacterNames.h: |
| |
| 2021-09-14 Youenn Fablet <youenn@apple.com> |
| |
| Enable RTCRtpScriptTransform by default |
| https://bugs.webkit.org/show_bug.cgi?id=230220 |
| |
| Reviewed by Eric Carlson. |
| |
| Splitting WebRTCInsertableStreamsEnabled to WebRTCEncodedTransformEnabled and WebRTCSFrameTransformEnabled. |
| Keeping WebRTCSFrameTransformEnabled as off by default until SFrame solidifies and mark WebRTCEncodedTransformEnabled as on by default. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-09-14 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| StackTrace outputs a garbage prefix because WTF::StackTrace::m_prefix is filled with the stack content |
| https://bugs.webkit.org/show_bug.cgi?id=230207 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| r278474 (Bug 226390) added a new member m_prefix to StackTrace at |
| the bottom of the structure. However, StackTrace isn't a normal |
| structure. The members are filled with the stack content. |
| |
| * wtf/StackTrace.h: Moved the m_prefix to the top of the members. |
| |
| 2021-09-14 Kate Cheney <katherine_cheney@apple.com> |
| |
| Followup to https://bugs.webkit.org/show_bug.cgi?id=217784 |
| |
| Reviewed by Wenson Hsieh. |
| |
| Update platform name for watchOS. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2021-09-14 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Cocoa] Migrate to CTFontHasTable() from CTFontCopyAvailableTables() |
| https://bugs.webkit.org/show_bug.cgi?id=230248 |
| |
| Reviewed by Anders Carlsson. |
| |
| * wtf/PlatformUse.h: |
| |
| 2021-09-13 Alex Christensen <achristensen@webkit.org> |
| |
| Add unit test that uses PCM daemon |
| https://bugs.webkit.org/show_bug.cgi?id=230191 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/PlatformHave.h: |
| * wtf/spi/darwin/XPCSPI.h: |
| |
| 2021-09-13 Sihui Liu <sihui_liu@apple.com> |
| |
| Add stub for File System Access API |
| https://bugs.webkit.org/show_bug.cgi?id=230101 |
| |
| Reviewed by Youenn Fablet. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-09-13 Sam Sneddon <gsnedders@apple.com> |
| |
| Move ENABLE_RESOLUTION_MEDIA_QUERY to a runtime flag, start running tests again |
| https://bugs.webkit.org/show_bug.cgi?id=229776 |
| |
| Reviewed by Simon Fraser. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| Add ResolutionMediaFeatureEnabled |
| |
| 2021-09-13 Youenn Fablet <youenn@apple.com> |
| |
| Remove WritableStream runtime flag |
| https://bugs.webkit.org/show_bug.cgi?id=230148 |
| |
| Reviewed by Sihui Liu. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-09-11 Philippe Normand <pnormand@igalia.com> |
| |
| [GLIB] MediaSession is not enabled |
| https://bugs.webkit.org/show_bug.cgi?id=217991 |
| <rdar://problem/70740119> |
| |
| Reviewed by Michael Catanzaro. |
| |
| GRefPtr template specialization for GDBusNodeInfo. |
| |
| * wtf/glib/GRefPtr.cpp: |
| (WTF::refGPtr): |
| (WTF::derefGPtr): |
| * wtf/glib/GRefPtr.h: |
| |
| 2021-09-10 Alex Christensen <achristensen@webkit.org> |
| |
| Use std::not_fn instead of lambda in URLParser |
| https://bugs.webkit.org/show_bug.cgi?id=230058 |
| |
| Reviewed by Darin Adler. |
| |
| Since the return type of std::not_fn is not specified, it can't be converted to a bool(*)(UChar). |
| This necessitates the templatizing of CodeUnitMatchFunction to be anything that is invocable with a UChar |
| and returns a type that is convertable to a bool. |
| |
| * wtf/URLParser.cpp: |
| (WTF::dnsNameEndsInNumber): |
| * wtf/text/StringCommon.h: |
| * wtf/text/StringImpl.h: |
| (WTF::find): Deleted. |
| * wtf/text/StringView.h: |
| * wtf/text/WTFString.h: |
| |
| 2021-09-09 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed follow-up to r282105. |
| |
| Add description for "BroadcastChannel Origin Partitioning" experimental feature. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-09-09 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, follow-up after r282007 |
| |
| Somehow, the wrong settings got enabled by the patch landed. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-09-09 Darin Adler <darin@apple.com> |
| |
| Improve performance by using StringView, not "const StringView&" |
| https://bugs.webkit.org/show_bug.cgi?id=229834 |
| |
| Reviewed by Anders Carlsson. |
| |
| Since StringView is a small structure that fits into two registers, it's not |
| good to pass a pointer to it; better performance to pass it by value. Note |
| that this is for release builds, not debug builds where StringView has |
| significant additional overhead when copying. |
| |
| * wtf/PrintStream.cpp: |
| (WTF::printInternal): |
| * wtf/PrintStream.h: |
| * wtf/text/StringConcatenate.h: |
| * wtf/text/StringView.cpp: |
| (WTF::StringView::containsIgnoringASCIICase const): |
| (WTF::StringView::findIgnoringASCIICase const): |
| (WTF::StringView::startsWith const): |
| (WTF::StringView::startsWithIgnoringASCIICase const): |
| (WTF::StringView::endsWith const): |
| (WTF::StringView::endsWithIgnoringASCIICase const): |
| (WTF::StringView::GraphemeClusters::Iterator::Impl::Impl): |
| (WTF::StringView::GraphemeClusters::Iterator::Iterator): |
| * wtf/text/StringView.h: |
| * wtf/text/WTFString.h: |
| Use StringView, not const StringView&. |
| |
| 2021-09-09 Alex Christensen <achristensen@webkit.org> |
| |
| Add PrivateClickMeasurement daemon |
| https://bugs.webkit.org/show_bug.cgi?id=230052 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/spi/darwin/XPCSPI.h: |
| |
| 2021-09-09 Patrick Angle <pangle@apple.com> |
| |
| run-webkit-archive crashes with dyld error |
| https://bugs.webkit.org/show_bug.cgi?id=228060 |
| |
| Reviewed by Alex Christensen. |
| |
| Bump the maximum macOS version that `HAVE_SAFARI_FOR_WEBKIT_DEVELOPMENT_REQUIRING_EXTRA_SYMBOLS` will be enabled |
| to provide compatibility with changes made in macOS 12. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-09-08 Jean-Yves Avenard <jya@apple.com> |
| |
| Safari TP 131 audio canPlayType() reports false negatives |
| https://bugs.webkit.org/show_bug.cgi?id=229799 |
| rdar://problem/82776747 |
| |
| Reviewed by Youenn Fablet. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: Remove preference. |
| |
| 2021-09-07 Sihui Liu <sihui_liu@apple.com> |
| |
| Add basic support for Storage API |
| https://bugs.webkit.org/show_bug.cgi?id=229925 |
| |
| Reviewed by Darin Adler. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-09-07 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Implement Temporal.PlainTime |
| https://bugs.webkit.org/show_bug.cgi?id=229892 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/text/IntegerToStringConversion.h: |
| * wtf/text/StringParsingBuffer.h: |
| |
| 2021-09-07 Cameron McCormack <heycam@apple.com> |
| |
| Add an IPCMessages channel to log all IPC messages |
| https://bugs.webkit.org/show_bug.cgi?id=229664 |
| <rdar://problem/82511640> |
| |
| Reviewed by Alex Christensen. |
| |
| Two changes to TextStream in this patch. |
| |
| The first is a new argument to the constructor to allow limiting |
| the number of elements in a container when appending it to a |
| TextStream. This is intended to be used when the output is for |
| human consumption and could potentially be uselessly large. |
| |
| The second is a value adapter ValueOrEllipsis. This allows appending |
| a value to a TextStream even if it doesn't have an |
| operator<<(TextStream&) defined. If it doesn't, then the fallback |
| value "..." is used instead. |
| |
| An implementation detail of ValueOrEllipsis is a new type trait |
| supports_text_stream_insertion, which detects at compile time whether |
| a given type can be appended to a TextStream. It works by using |
| "expression SFINAE" and partial template specialization. |
| |
| The base, unspecialized version of the template inherits from |
| std::false_type, and is selected for all types by default. |
| |
| A partial specialization that uses decltype() to check whether a |
| `TextStream() << value` expression would compile inherits from |
| std::true_type. |
| |
| Sadly, C++ SFINAE has a limitation that means template definitions |
| that would be instantiated inside the decltype() are not checked |
| to ensure they would compile. This would mean container types whose |
| elements are types that don't have an operator<< defined would still |
| report true from supports_text_stream_insertion. We work around this |
| by having more specific partial specializations for all of the container |
| types we have operator<< definitions for, which defer to the |
| supports_text_stream_insertion value for the element type(s). |
| |
| If an operator<< is added for a new container type without a |
| corresponding supports_text_stream_insertion specialization, and that |
| type is used with ValueOrEllipsis, it will cause a compile error. |
| |
| The supports_text_stream_insertion template takes six template |
| arguments, which looks odd, but is needed because all specializations |
| must have the same number (and kind) of template arguments. The six |
| include five type template arguments (which is how many HashMap has) |
| plus a size_t value template argument (for Vector's inlineCapacity |
| argument). |
| |
| * wtf/text/TextStream.h: |
| (WTF::TextStream::TextStream): |
| (WTF::TextStream::containerSizeLimit const): |
| (WTF::operator<<): |
| (WTF::ValueOrEllipsis::ValueOrEllipsis): |
| |
| 2021-09-07 Chris Dumez <cdumez@apple.com> |
| |
| Implement origin partitioning (top-origin/frame-origin) for BroadcastChannel |
| https://bugs.webkit.org/show_bug.cgi?id=229814 |
| |
| Reviewed by Alex Christensen. |
| |
| Add experimental preference for BroadcastChannel origin partitioning. This is useful because we currently |
| disable this when running web-platform-tests in WKTR / DRT for now. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-09-06 Dmitry Kalinkin <dmitry.kalinkin+webkit@gmail.com> |
| |
| Fix WebKitGTK build on MacOS |
| https://bugs.webkit.org/show_bug.cgi?id=225850 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Define HAVE_AUDIT_TOKEN only for Cocoa backend. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-09-03 Basuke Suzuki <basuke.suzuki@sony.com> |
| |
| Use USE(SYSTEM_MALLOC) macro in all cases |
| https://bugs.webkit.org/show_bug.cgi?id=229902 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Convert old style macro check to USE() macro for USE_SYSTEM_MALLOC. |
| |
| * wtf/FastMalloc.cpp: |
| * wtf/Gigacage.cpp: |
| * wtf/Gigacage.h: |
| * wtf/IsoMalloc.h: |
| * wtf/IsoMallocInlines.h: |
| * wtf/JSValueMalloc.cpp: |
| * wtf/PlatformUse.h: |
| * wtf/RAMSize.cpp: |
| * wtf/VMTags.h: |
| * wtf/WTFConfig.h: |
| |
| 2021-09-03 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Implement Temporal.TimeZone |
| https://bugs.webkit.org/show_bug.cgi?id=229703 |
| |
| Reviewed by Ross Kirsling. |
| |
| * wtf/text/IntegerToStringConversion.h: Support integer serialization into Vector. |
| * wtf/text/StringConcatenate.h: Extends StringConcatenate feature for Vector with UChar/LChar + N size. |
| |
| 2021-09-03 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Turn on support for Cross-Origin-Opener-Policy / Cross-Origin-Embedder-Policy |
| https://bugs.webkit.org/show_bug.cgi?id=229818 |
| |
| Reviewed by Sam Weinig. |
| |
| Turn on support for Cross-Origin-Opener-Policy / Cross-Origin-Embedder-Policy on WebKit2 now that |
| the feature is complete and all known issues have been fixed. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-09-02 Alex Christensen <achristensen@webkit.org> |
| |
| Reject non-IPv4 hostnames that end in numbers |
| https://bugs.webkit.org/show_bug.cgi?id=228826 |
| |
| Reviewed by Tim Horton. |
| |
| This implements a recent change to the URL specification at https://github.com/whatwg/url/pull/619 |
| Chrome has made the same change in https://crbug.com/1237032 |
| |
| Since there are no TLDs that are only numbers and some think it might be confusing to have a valid URL |
| like http://example.com.127.0.0.1/ we prevent URLs that end in a segment between dots that contains only |
| numbers from parsing successfully. |
| |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::parse): |
| (WTF::dnsNameEndsInNumber): |
| (WTF::URLParser::parseHostAndPort): |
| I give more information in the return type so one can tell what the code is doing. |
| We only check if it is valid or not, but for documentation purposes I think it's useful to return more information. |
| * wtf/URLParser.h: |
| |
| 2021-09-02 Mark Lam <mark.lam@apple.com> |
| |
| Add more support for JIT operation validation testing. |
| https://bugs.webkit.org/show_bug.cgi?id=229534 |
| rdar://81526335 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/PlatformCallingConventions.h: |
| * wtf/PtrTag.h: |
| (WTF::PtrTagTraits::isTagged): |
| (WTF::isTaggedNativeCodePtrImpl): |
| (WTF::isTaggedWith): |
| (WTF::assertIsTaggedWith): |
| |
| 2021-08-26 Darin Adler <darin@apple.com> |
| |
| Cut down on use of CFGetTypeID, using dynamic_cf_cast instead; related streamlining |
| https://bugs.webkit.org/show_bug.cgi?id=229414 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/cf/TypeCastsCF.h: Added WTF_DECLARE_CF_TYPE_TRAIT(CFURL). Added a |
| dynamic_cf_cast overload that converts from one RetainPtr type to another |
| and avoids reference count churn. Tweaked comments. |
| |
| * wtf/cocoa/Entitlements.mm: |
| (WTF::hasEntitlement): Use kCFBooleanTrue instead of CFBooleanGetValue. |
| |
| * wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp: |
| (WTF::textBreakLocalePreference): Use dynamic_cf_cast. |
| |
| 2021-08-30 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Implement Temporal.Calendar |
| https://bugs.webkit.org/show_bug.cgi?id=229651 |
| |
| Reviewed by Ross Kirsling. |
| |
| Add UChar version of createStaticStringImpl to make immortal thread-safe StringImpl with UChar. |
| |
| * wtf/text/StringImpl.cpp: |
| (WTF::StringImpl::createStaticStringImpl): |
| * wtf/text/StringImpl.h: |
| (WTF::StringImpl::createStaticStringImpl): |
| |
| 2021-08-30 Sihui Liu <sihui_liu@apple.com> |
| |
| Add stubs for Permissions API |
| https://bugs.webkit.org/show_bug.cgi?id=229339 |
| <rdar://problem/82442205> |
| |
| Reviewed by Chris Dumez. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-08-30 Zan Dobersek <zdobersek@igalia.com> |
| |
| RISCV64 support in LLInt |
| https://bugs.webkit.org/show_bug.cgi?id=229035 |
| <rdar://problem/82120908> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/PlatformEnable.h: |
| Define ENABLE_LLINT_EMBEDDED_OPCODE_ID to 1 for CPU(RISCV64). |
| |
| 2021-08-28 Cameron McCormack <heycam@apple.com> |
| |
| Miscellaneous typo fixes |
| https://bugs.webkit.org/show_bug.cgi?id=229642 |
| |
| Reviewed by Fujii Hironori. |
| |
| * wtf/CrossThreadTask.h: |
| (WTF::callMemberFunctionForCrossThreadTask): |
| * wtf/text/StringImpl.h: |
| (WTF::StringImpl::createSubstringSharingImpl): |
| |
| 2021-08-28 David Kilzer <ddkilzer@apple.com> |
| |
| [WTF] Fix static analyzer warnings about nullptr derefs in StringImpl::copyCharacters() and tryMakeStringFromAdapters() |
| <https://webkit.org/b/229461> |
| <rdar://problem/82303279> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/text/StringConcatenate.h: |
| (WTF::tryMakeStringFromAdapters): |
| - Add nullptr checks for `buffer` since it makes no sense to |
| call stringTypeAdapterAccumulator() with a nullptr argument, |
| and it fixes static analyzer warnings about dereferencing |
| nullptr. |
| * wtf/text/StringImpl.h: |
| (WTF::StringImpl::copyCharacters): |
| - Add `ASSERT(destination || !numCharacters)` statement to |
| describe an invariant when calling this method. This stops |
| the static analyzer from emitting false positive warnings |
| about `destination` being nullptr. |
| |
| 2021-08-27 Simon Fraser <simon.fraser@apple.com> |
| |
| Define ENABLE_CONTENT_CHANGE_OBSERVER for IOS_FAMILY and use it to wrap content observation code |
| https://bugs.webkit.org/show_bug.cgi?id=229624 |
| |
| Reviewed by Alan Bujtas. |
| |
| Deploy ENABLE(CONTENT_CHANGE_OBSERVER). |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-08-27 Eric Carlson <eric.carlson@apple.com> |
| |
| [ Catalina EWS ] media/track/track-disabled-addcue.html is flaky crashing |
| https://bugs.webkit.org/show_bug.cgi?id=229462 |
| <rdar://problem/82302915> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/SetForScope.h: |
| (WTF::SetForScope::SetForScope): Add a constructor that takes the value to set |
| on scope exit. |
| |
| 2021-08-27 Russell Epstein <repstein@apple.com> |
| |
| Land Windows build fixes from safari-612.1.29.14-branch |
| https://bugs.webkit.org/show_bug.cgi?id=229627 |
| |
| Reviewed by Per Arne Vollan. |
| |
| * WTF.vcxproj/WTF.proj: |
| |
| 2021-08-27 Antti Koivisto <antti@apple.com> |
| |
| [CSS Cascade Layers] Initial support |
| https://bugs.webkit.org/show_bug.cgi?id=229542 |
| |
| Reviewed by Simon Fraser. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-08-27 Mikhail R. Gadelha <mikhail@igalia.com> |
| |
| Avoid increasing required alignment of target type warning on ARM 32 bits |
| https://bugs.webkit.org/show_bug.cgi?id=229151 |
| |
| Reviewed by Mark Lam. |
| |
| Same approach as https://bugs.webkit.org/show_bug.cgi?id=38045 |
| cast pointers to void* to bypass warning about increasing pointer |
| alingment. reinterpret_cast_ptr has custom behaviour only on ARM and |
| MIPS 32 bits, and doesn't change the behaviour in 64 bits archs |
| (reinterpret_cast_ptr is preprocessed to reinterpret_cast in 64 bits |
| archs) |
| |
| * wtf/BloomFilter.h: |
| (WTF::BloomFilter<keyBits>::keysFromHash): |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::makeSalt): |
| |
| 2021-08-26 Risul Islam <risul_islam@apple.com> |
| |
| Add new experimental feature flag for sanitizing links |
| https://bugs.webkit.org/show_bug.cgi?id=229451 |
| |
| Reviewed by Kate Cheney. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-08-25 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Remove some iOS-specific compile-time guards that are no longer needed |
| https://bugs.webkit.org/show_bug.cgi?id=229500 |
| |
| Reviewed by Tim Horton. |
| |
| Remove the feature flags. See WebKit/ChangeLog for more details. |
| |
| * wtf/PlatformHave.h: |
| * wtf/PlatformUse.h: |
| |
| 2021-08-24 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Add Intl Enumeration APIs |
| https://bugs.webkit.org/show_bug.cgi?id=214795 |
| |
| Reviewed by Ross Kirsling. |
| |
| * wtf/text/StringImpl.cpp: |
| (WTF::StringImpl::createFromLiteral): |
| * wtf/text/StringImpl.h: |
| |
| 2021-08-24 Tim Nguyen <ntim@apple.com> |
| |
| Implement inert attribute behind feature flag |
| https://bugs.webkit.org/show_bug.cgi?id=165279 |
| |
| Reviewed by Chris Dumez. |
| |
| Add runtime InertAttributeEnabled feature flag disabled by default. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-08-21 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| overwriteCodePoint() in createAndFillGlyphPage() is wrong |
| https://bugs.webkit.org/show_bug.cgi?id=215643 |
| <rdar://problem/67430461> |
| |
| Reviewed by Alan Bujtas. |
| |
| * wtf/unicode/CharacterNames.h: |
| |
| 2021-08-21 Sihui Liu <sihui_liu@apple.com> |
| |
| IndexedDB: crash when triggering IDBOpenRequest completion back on a worker thread |
| https://bugs.webkit.org/show_bug.cgi?id=229375 |
| |
| Protect callee in CrossThreadTask if it inherits from ThreadSafeRefCounted<T>. |
| |
| Reviewed by Brady Eidson. |
| |
| * wtf/CrossThreadTask.h: |
| |
| 2021-08-20 Mark Lam <mark.lam@apple.com> |
| |
| Make ptrTagName and tagForPtr WTF_EXPORT_PRIVATE. |
| https://bugs.webkit.org/show_bug.cgi?id=229328 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| If ptrTagName and tagForPtr are defined, make them WTF_EXPORT_PRIVATE instead of |
| static functions. This allows us to call them from the debugger during |
| interactive debugging sessions. |
| |
| * wtf/PtrTag.cpp: |
| (WTF::tagForPtr): |
| (WTF::ptrTagName): |
| * wtf/PtrTag.h: |
| |
| 2021-08-20 Mark Lam <mark.lam@apple.com> |
| |
| Remove assertIsTagged and assertIsNullOrTagged. |
| https://bugs.webkit.org/show_bug.cgi?id=229329 |
| rdar://82162851 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| These assertion utility functions rely on tagged pointers always having non-zero |
| PAC bits. This is an incorrect assumption. A tagged pointer can have PAC bits |
| that are completely zero. Hence, these assert functions cannot be made to work |
| reliably. We should remove them to prevent them from being used, and potentially |
| resulting in flaky assertion failures that will be hard to debug later. |
| |
| Note: assertIsNotTagged is fine to keep. It asserts that PAC bits of a pointer |
| are all 0. As a result, this assertion can have false positives where it may think |
| a tagged pointer is an untagged pointer. However, this is rare because it is not |
| common to have 0 PAC bits in tagged pointers. False positives on this assertion |
| won't result in flaky test failures that will waste our time later. Hence, |
| keeping the assertion will do more good (it will tend to help us find bugs) than |
| bad (it will rarely let false positives thru). As a result, I'm opting to not |
| remove it. |
| |
| * wtf/PtrTag.h: |
| (WTF::assertIsTagged): Deleted. |
| (WTF::assertIsNullOrTagged): Deleted. |
| |
| 2021-08-19 Antti Koivisto <antti@apple.com> |
| |
| [:has() pseudo-class] Basic support |
| https://bugs.webkit.org/show_bug.cgi?id=228894 |
| |
| Reviewed by Simon Fraser. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| Add off-by-default HasPseudoClassEnabled preference value. |
| |
| 2021-08-19 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Cocoa] Stop treating the system font as a non-variable font |
| https://bugs.webkit.org/show_bug.cgi?id=228176 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/PlatformUse.h: |
| |
| 2021-08-19 Aditya Keerthi <akeerthi@apple.com> |
| |
| Remove __has_include guard for _UIDatePickerOverlayPresentation |
| https://bugs.webkit.org/show_bug.cgi?id=227298 |
| rdar://79970171 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-08-19 David Kilzer <ddkilzer@apple.com> |
| |
| [WTF] Fix static analyzer warnings for clang tidy bugprone-move-forwarding-reference checker |
| <https://webkit.org/b/229114> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/Deque.h: |
| (WTF::inlineCapacity>::appendAndBubble): |
| * wtf/Scope.h: |
| (WTF::ScopeExit::ScopeExit): |
| * wtf/ScopedLambda.h: |
| (WTF::scopedLambda): |
| * wtf/SharedTask.h: |
| (WTF::createSharedTask): |
| - Replace WTFMove() with std::forward<>(). |
| |
| 2021-08-19 Alex Christensen <achristensen@webkit.org> |
| |
| Remove more non-inclusive language from Source |
| https://bugs.webkit.org/show_bug.cgi?id=229230 |
| |
| Reviewed by Myles C. Maxfield. |
| |
| * icu/unicode/uspoof.h: |
| This comment change comes from upstream ICU. |
| * wtf/URL.h: |
| |
| 2021-08-18 Ryosuke Niwa <rniwa@webkit.org> |
| |
| [ iOS Debug ] 12 TestWebKitAPI.WebKitLegacy. tests are crashing |
| https://bugs.webkit.org/show_bug.cgi?id=229250 |
| |
| Reviewed by Wenson Hsieh. |
| |
| Disable the assertion when Web Thread is enabled for now. |
| |
| * wtf/CheckedRef.h: |
| (WTF::SingleThreadIntegralWrapper::assertThread const): |
| |
| 2021-08-18 Megan Gardner <megan_gardner@apple.com> |
| |
| Remove unneeded UIKitSPI declarations |
| https://bugs.webkit.org/show_bug.cgi?id=210075 |
| |
| Reviewed by Wenson Hsieh. |
| |
| Remove unneeded feature define. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-08-18 Xabier Rodriguez Calvar <calvaris@igalia.com> |
| |
| [GStreamer][EME] Try to parse XML init datas that could possibly come from MPD manifests |
| https://bugs.webkit.org/show_bug.cgi?id=229145 |
| |
| Reviewed by Alicia Boya Garcia. |
| |
| * wtf/glib/GUniquePtr.h: Added deleter for GMarkupParseContext. |
| |
| 2021-08-16 Alex Christensen <achristensen@webkit.org> |
| |
| Enable PerformanceNavigationAPI by default |
| https://bugs.webkit.org/show_bug.cgi?id=227336 |
| |
| Reviewed by Chris Dumez. |
| |
| It passes WPT tests except the following: |
| |
| navigation-timing/nav2_test_redirect_chain_xserver_partial_opt_in.html and navigation-timing/nav2_test_redirect_xserver.html pass when run from wpt.live, |
| and other browsers also don't pass when run from our local hosting infrastructure, which doesn't have a good cross-domain redirect. |
| |
| nav2_test_attributes_values.html fails in Chrome and Firefox. There's something wrong with the port detection in the test. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-08-16 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add thread safe version of CanMakeCheckedPtr |
| https://bugs.webkit.org/show_bug.cgi?id=229018 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Introduce CanMakeThreadSafeCheckedPtr which is a thread safe version of CanMakeCheckedPtr. |
| |
| * wtf/CheckedRef.h: |
| (WTF::CanMakeCheckedPtrBase): Extracted from CanMakeCheckedPtr. |
| (WTF::CanMakeCheckedPtrBase::~CanMakeCheckedPtrBase): |
| (WTF::CanMakeCheckedPtrBase::ptrCount const): |
| (WTF::SingleThreadIntegralWrapper): Added. |
| (WTF::SingleThreadIntegralWrapper::SingleThreadIntegralWrapper): |
| (WTF::SingleThreadIntegralWrapper::operator IntegralType const): |
| (WTF::SingleThreadIntegralWrapper::operator! const): |
| (WTF::SingleThreadIntegralWrapper::operator++): |
| (WTF::SingleThreadIntegralWrapper::operator--): |
| (WTF::SingleThreadIntegralWrapper::assertThread const): |
| (WTF::CanMakeCheckedPtr): Redefined using CanMakeCheckedPtrBase and SimpleNonAtomicType. |
| (WTF::CanMakeThreadSafeCheckedPtr): Added. |
| |
| 2021-08-16 David Kilzer <ddkilzer@apple.com> |
| |
| ThreadSanitizer: ignore uninteresting data races for reference counting of static WTF::StringImpl objects |
| <https://webkit.org/b/229113> |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/text/StringImpl.h: |
| (WTF::StringImpl::isStatic const): |
| - Add SUPPRESS_TSAN attribute since the 0x1 bit is set at |
| construction and refcounting occurs in increments of 0x2, so |
| the static bit never changes. |
| (WTF::StringImpl::ref): |
| (WTF::StringImpl::deref): |
| - Return early for static WTF::StringImpl objects to prevent |
| TSan from reporting data races for m_refCount. |
| |
| 2021-08-15 Miguel Gomez <magomez@igalia.com> |
| |
| [GTK][WPE] Add API to pass WebKitMemoryPressureHandler parameters to the network processes |
| https://bugs.webkit.org/show_bug.cgi?id=228227 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Added a new method to MemoryPressureHandler to set the configuration by copying the parameter |
| instead of moving it. |
| |
| * wtf/MemoryPressureHandler.h: |
| (WTF::MemoryPressureHandler::setConfiguration): |
| |
| 2021-08-11 Chris Dumez <cdumez@apple.com> |
| |
| Add initial support for Cross-Origin-Embedder-Policy (COEP) |
| https://bugs.webkit.org/show_bug.cgi?id=228754 |
| |
| Reviewed by Alex Christensen. |
| |
| Add experimental feature flag for Cross-Origin-Embedder-Policy (COEP), off by default. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-08-11 Darin Adler <darin@apple.com> |
| |
| Add deduction guide to RetainPtr, use constexpr a bit more, and streamline the implementation |
| https://bugs.webkit.org/show_bug.cgi?id=228852 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/RetainPtr.h: Sort includes. Made many functions constexpr including the move |
| constructors and adoptCF. Use using instead of typedef in most places. Use |
| remove_pointer_t, conditional_t, is_convertible_v, is_same_v, and other such templates |
| to simplify expressions. Initialize the m_ptr data member and use the default constructor. |
| Removed unneeded StorageType synonym for CFTypeRef. Move some inline function bodies out |
| of the class template definition. Use if constexpr to get rid of the need for the overloaded |
| autoreleaseHelper function. Added a deduction guide so we can use expressions with the |
| type RetainPtr on the left side, and an Objective-C pointer or CFTypeRef on the right side, |
| and have the appropriate RetainPtr type deduced. |
| |
| 2021-08-11 Sihui Liu <sihui_liu@apple.com> |
| |
| Suspend WorkQueue of ResourceLoadStatistics and LocalStorage sooner |
| https://bugs.webkit.org/show_bug.cgi?id=228748 |
| <rdar://problem/81626714> |
| |
| Reviewed by Chris Dumez. |
| |
| Add SuspendableWorkQueue that would perform suspend check before each task. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/Forward.h: |
| * wtf/SuspendableWorkQueue.cpp: Added. |
| (WTF::SuspendableWorkQueue::create): |
| (WTF::SuspendableWorkQueue::SuspendableWorkQueue): |
| (WTF::SuspendableWorkQueue::suspend): |
| (WTF::SuspendableWorkQueue::resume): |
| (WTF::SuspendableWorkQueue::dispatch): |
| (WTF::SuspendableWorkQueue::dispatchAfter): |
| (WTF::SuspendableWorkQueue::dispatchSync): |
| (WTF::SuspendableWorkQueue::invokeAllSuspensionCompletionHandlers): |
| (WTF::SuspendableWorkQueue::suspendIfNeeded): |
| * wtf/SuspendableWorkQueue.h: Added. |
| * wtf/WorkQueue.h: |
| (): Deleted. |
| |
| 2021-08-11 Youenn Fablet <youenn@apple.com> |
| |
| Enable WebRTC relay by default |
| https://bugs.webkit.org/show_bug.cgi?id=229000 |
| <rdar://78767922> |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-08-10 Peng Liu <peng.liu6@apple.com> |
| |
| Disable SYSTEM_FEATURE_FLAGS on iOS 14 |
| https://bugs.webkit.org/show_bug.cgi?id=228979 |
| <rdar://problem/81764452> |
| |
| Reviewed by Tim Horton. |
| |
| Stop using feature flags mechanism on iOS 14 to avoid some issues on iOS simulators. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-08-10 Stephan Szabo <stephan.szabo@sony.com> |
| |
| [WTF][PlayStation] REGRESSION(r280795) error: undefined symbol: WTF::logLevelString() |
| https://bugs.webkit.org/show_bug.cgi?id=228959 |
| |
| Reviewed by Fujii Hironori. |
| |
| As per followup win fix, for declspec platforms, LoggingUnix needs |
| to include LogInitialization to get the export declaration. |
| |
| * wtf/unix/LoggingUnix.cpp: |
| |
| 2021-08-10 Keith Miller <keith_miller@apple.com> |
| |
| CallFrame::returnPC should untag the return address before passing it to ReturnAddressPtr |
| https://bugs.webkit.org/show_bug.cgi?id=228931 |
| |
| Reviewed by Mark Lam. |
| |
| Add a new helper to untag the return pc from a stack frame. |
| |
| * wtf/PtrTag.h: |
| (WTF::untagReturnPC): |
| |
| 2021-08-09 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [GTK][WPE] REGRESSION(r280795): MemoryPressureHandlerUnix.cpp:45:28: error: ‘LogMemoryPressure’ was not declared in this scope |
| https://bugs.webkit.org/show_bug.cgi?id=228938 |
| |
| Unreviewed build fix. |
| |
| * wtf/unix/MemoryPressureHandlerUnix.cpp: |
| |
| 2021-08-09 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [WTF][Win] REGRESSION(r280795) error LNK2019: unresolved external symbol "class WTF::String __cdecl WTF::logLevelString(void)" |
| https://bugs.webkit.org/show_bug.cgi?id=228937 |
| <rdar://problem/81722757> |
| |
| Unresolved build fix. |
| The previous attempt (r280819) didn't actually fix the build |
| error. LoggingWin.cpp has to include LogInitialization.h. |
| |
| * wtf/win/LoggingWin.cpp: |
| |
| 2021-08-09 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [WTF][Win] REGRESSION(r280795) error LNK2019: unresolved external symbol "class WTF::String __cdecl WTF::logLevelString(void)" |
| https://bugs.webkit.org/show_bug.cgi?id=228937 |
| |
| Unreviewed build fix. |
| |
| > error LNK2019: unresolved external symbol "class WTF::String __cdecl WTF::logLevelString(void)" (?logLevelString@WTF@@YA?AVString@1@XZ) |
| > referenced in function "private: void __cdecl WebKit::GPUProcessProxy::platformInitializeGPUProcessParameters(struct WebKit::GPUProcessCreationParameters &)" |
| > (?platformInitializeGPUProcessParameters@GPUProcessProxy@WebKit@@AEAAXAEAUGPUProcessCreationParameters@2@@Z) |
| > bin64\WebKit2.dll : fatal error LNK1120: 1 unresolved externals |
| |
| * wtf/LogInitialization.h: Added WTF_EXPORT_PRIVATE for logLevelString. |
| |
| 2021-08-09 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Create a Language log channel |
| https://bugs.webkit.org/show_bug.cgi?id=228764 |
| |
| Reviewed by Simon Fraser. |
| |
| There have been a variety of bug reports over the past months/years about the procedure |
| by which we determine navigator.language. It's actually somewhat convoluted, so this |
| patch adds a (debug) log channel for it so we can follow what it's doing easily. |
| |
| To enable all the logging, run these commands: |
| |
| % defaults write com.apple.WebKit.WebContent.Development WTFLogging Language |
| % defaults write com.apple.WebKit.WebContent.Development WebKit2Logging Language |
| % defaults write com.apple.WebKit.WebContent WTFLogging Language |
| % defaults write com.apple.WebKit.WebContent WebKit2Logging Language |
| % defaults write -g WTFLogging Language |
| % defaults write -g WebKit2Logging Language |
| % defaults write /Users/$USER/Library/Containers/com.apple.Safari/Data/Library/Preferences/com.apple.Safari.plist WTFLogging Language |
| % defaults write /Users/$USER/Library/Containers/com.apple.Safari/Data/Library/Preferences/com.apple.Safari.plist WebKit2Logging Language |
| |
| * wtf/Language.cpp: |
| (WTF::defaultLanguage): |
| (WTF::overrideUserPreferredLanguages): |
| (WTF::userPreferredLanguages): |
| * wtf/Logging.cpp: |
| * wtf/Logging.h: |
| * wtf/cf/LanguageCF.cpp: |
| (WTF::platformUserPreferredLanguages): |
| * wtf/cocoa/LanguageCocoa.mm: |
| (WTF::minimizedLanguagesFromLanguages): |
| |
| 2021-08-09 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Support WTF logging channels |
| https://bugs.webkit.org/show_bug.cgi?id=228768 |
| |
| This patch builds on top of https://bugs.webkit.org/show_bug.cgi?id=228809, which added shared infrastructure |
| for logging. This patch simply triggers that shared infrastructure for WTF. There is no change in behavior - |
| the existing WTF logging channels currently are all implemented independently in custom ways, so this patch |
| just migrates them over to use the shared infrastructure. |
| |
| Reviewed by Fujii Hironori. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/Assertions.h: |
| * wtf/CMakeLists.txt: |
| * wtf/LogInitialization.cpp: Added. |
| (WTF::logChannels): |
| * wtf/LogInitialization.h: Added. |
| * wtf/Logging.cpp: Added. |
| * wtf/Logging.h: Added. |
| * wtf/MemoryPressureHandler.cpp: |
| (WTF::MemoryPressureHandler::singleton): |
| * wtf/MemoryPressureHandler.h: |
| * wtf/PlatformFTW.cmake: |
| * wtf/PlatformGTK.cmake: |
| * wtf/PlatformJSCOnly.cmake: |
| * wtf/PlatformMac.cmake: |
| * wtf/PlatformPlayStation.cmake: |
| * wtf/PlatformWPE.cmake: |
| * wtf/PlatformWin.cmake: |
| * wtf/RefCountedLeakCounter.cpp: |
| * wtf/cocoa/LoggingCocoa.mm: Copied from Source/WebKit/UIProcess/Cocoa/GPUProcessProxyCocoa.mm. |
| (WTF::logLevelString): |
| * wtf/cocoa/MachSendRight.cpp: |
| * wtf/cocoa/MainThreadCocoa.mm: |
| * wtf/cocoa/MemoryPressureHandlerCocoa.mm: |
| * wtf/unix/LoggingUnix.cpp: Added. |
| (WTF::logLevelString): |
| * wtf/win/LoggingWin.cpp: Added. |
| (WTF::logLevelString): |
| |
| 2021-08-07 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Deduplicate logging channel algorithms |
| https://bugs.webkit.org/show_bug.cgi?id=228809 |
| |
| Reviewed by Fujii Hironori. |
| |
| The current infrastructure (before this patch) had the following duplicated for each framework: |
| - A .cpp file declared the list of logging channels for that framework |
| - The .cpp file also had algorithms to search, modify, and initialize these logging channels |
| |
| Each framework's .cpp file had duplicate algorithms. (The initialization algorithm was even |
| duplicated 3 times!) |
| |
| Because the algorithms directly name their specific list of logging channels, a naive deduplication |
| would have had to add new parameters to these algorithms to pass in the appropriate framework's |
| list. That's fine, but this is exactly the sort of thing classes were designed for - classes are |
| an association of algorithms and data. The algorithms are shared but the data isn't, which really |
| just means we should have 3 instances of a shared class - one for the 3 sets of data. |
| |
| So, this patch creates the LogChannels class which contains the deduplicated algorithms, and each |
| framework has a NeverDestroyed singleton instance of that class. There is a single virtual method |
| in the class, so the appropriate "default write" variable can be queried for each framework. |
| |
| The instances cannot be declared in the Logging.h files in the frameworks, because certain WebKit2 |
| files want to initialize all 3 instances of LogChannels, but you can't #include multiple Logging.h |
| files at the same time because their LOG_CHANNEL_PREFIX #defines will collide with each other. |
| Luckily, LogInitialization.h files exist exactly to solve this purpose, so that's where the |
| LogChannels instances are declared in. After this change, the Logging.h files are just for the |
| declarations of the logging channels themselves, and the LogInitialization.h files are for the |
| LogChannels instances which contain the searching/modifying/initializing algorithms on the list of |
| logging channels. If you just want to LOG(...) something, #include the relevant Logging.h file, and |
| if you want to search/modify/initialize across the entire list of channels, then #include the |
| relevant LogInitialization.h file. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/LogChannels.cpp: Copied from Source/WebCore/platform/Logging.cpp. |
| (WTF::LogChannels::isLogChannelEnabled): |
| (WTF::LogChannels::setLogChannelToAccumulate): |
| (WTF::LogChannels::clearAllLogChannelsToAccumulate): |
| (WTF::LogChannels::initializeLogChannelsIfNecessary): |
| (WTF::LogChannels::getLogChannel): |
| * wtf/LogChannels.h: Copied from Source/WebCore/platform/LogInitialization.h. |
| |
| 2021-08-07 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r280756. |
| https://bugs.webkit.org/show_bug.cgi?id=228897 |
| |
| Broke gtk build |
| |
| Reverted changeset: |
| |
| "Deduplicate logging channel algorithms" |
| https://bugs.webkit.org/show_bug.cgi?id=228809 |
| https://commits.webkit.org/r280756 |
| |
| 2021-08-07 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Deduplicate logging channel algorithms |
| https://bugs.webkit.org/show_bug.cgi?id=228809 |
| |
| Reviewed by Fujii Hironori. |
| |
| The current infrastructure (before this patch) had the following duplicated for each framework: |
| - A .cpp file declared the list of logging channels for that framework |
| - The .cpp file also had algorithms to search, modify, and initialize these logging channels |
| |
| Each framework's .cpp file had duplicate algorithms. (The initialization algorithm was even |
| duplicated 3 times!) |
| |
| Because the algorithms directly name their specific list of logging channels, a naive deduplication |
| would have had to add new parameters to these algorithms to pass in the appropriate framework's |
| list. That's fine, but this is exactly the sort of thing classes were designed for - classes are |
| an association of algorithms and data. The algorithms are shared but the data isn't, which really |
| just means we should have 3 instances of a shared class - one for the 3 sets of data. |
| |
| So, this patch creates the LogChannels class which contains the deduplicated algorithms, and each |
| framework has a NeverDestroyed singleton instance of that class. There is a single virtual method |
| in the class, so the appropriate "default write" variable can be queried for each framework. |
| |
| The instances cannot be declared in the Logging.h files in the frameworks, because certain WebKit2 |
| files want to initialize all 3 instances of LogChannels, but you can't #include multiple Logging.h |
| files at the same time because their LOG_CHANNEL_PREFIX #defines will collide with each other. |
| Luckily, LogInitialization.h files exist exactly to solve this purpose, so that's where the |
| LogChannels instances are declared in. After this change, the Logging.h files are just for the |
| declarations of the logging channels themselves, and the LogInitialization.h files are for the |
| LogChannels instances which contain the searching/modifying/initializing algorithms on the list of |
| logging channels. If you just want to LOG(...) something, #include the relevant Logging.h file, and |
| if you want to search/modify/initialize across the entire list of channels, then #include the |
| relevant LogInitialization.h file. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/LogChannels.cpp: Copied from Source/WebCore/platform/Logging.cpp. |
| (WTF::LogChannels::isLogChannelEnabled): |
| (WTF::LogChannels::setLogChannelToAccumulate): |
| (WTF::LogChannels::clearAllLogChannelsToAccumulate): |
| (WTF::LogChannels::initializeLogChannelsIfNecessary): |
| (WTF::LogChannels::getLogChannel): |
| * wtf/LogChannels.h: Copied from Source/WebCore/platform/LogInitialization.h. |
| |
| 2021-08-05 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| GCC 11 builds should use -Wno-array-bounds, -Wno-nonnull |
| https://bugs.webkit.org/show_bug.cgi?id=228601 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * wtf/Bitmap.h: |
| (WTF::WordType>::clear): |
| * wtf/Compiler.h: |
| * wtf/Packed.h: |
| (WTF::PackedAlignedPtr::get const): |
| * wtf/RefPtr.h: |
| (WTF::DefaultRefDerefTraits::derefIfNotNull): |
| |
| 2021-08-05 Zan Dobersek <zdobersek@igalia.com> |
| |
| Avoid reinterpret_cast alignment increase warnings with GCC on CPU(RISCV64) |
| https://bugs.webkit.org/show_bug.cgi?id=228818 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| * wtf/StdLibExtras.h: As with 32-bit ARM and MIPS targets, RISC-V 64-bit |
| builds with GCC also spawn warnings when the use of reinterpret_cast |
| causes an increase in alignment. Workaround via reinterpret_cast_ptr is |
| thus required for CPU(RISCV64). |
| |
| 2021-08-03 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Cocoa] Tweak the formatting for passing NSArrays to TextStreams |
| https://bugs.webkit.org/show_bug.cgi?id=228766 |
| |
| Reviewed by Simon Fraser. |
| |
| Instead of using -[NSArray description], which puts its output on multiple lines, |
| instead use the same formatting as WTF::Vector, which puts its output on a single line. |
| |
| We can also use this opportunity to tweak the implementation of operator<<(id) to |
| allow it to be called with Core Foundation types in raw C++ code. |
| |
| * wtf/text/TextStream.h: |
| * wtf/text/cocoa/TextStreamCocoa.mm: |
| (WTF::TextStream::operator<<): |
| |
| 2021-08-03 Risul Islam <risul_islam@apple.com> |
| |
| Add functions for parsing URL query string |
| https://bugs.webkit.org/show_bug.cgi?id=228122 |
| |
| Reviewed by Darin Adler. |
| |
| Added parsing of URL query strings. |
| |
| * wtf/KeyValuePair.h: |
| (WTF::operator== const): |
| * wtf/URL.cpp: |
| (WTF::URL::differingQueryParameters): |
| (WTF::lengthOfURLIgnoringQueryAndFragments): |
| (WTF::URL::isEqualIgnoringQueryAndFragments): |
| (WTF::URL::removeQueryParameters): |
| * wtf/URL.h: |
| |
| 2021-08-03 Youenn Fablet <youenn@apple.com> |
| |
| RealtimeMediaSource::audioSamplesAvailable is calling malloc as part of locking in audio thread |
| https://bugs.webkit.org/show_bug.cgi?id=228688 |
| |
| Reviewed by Eric Carlson. |
| |
| Allow allocations in lockSlow since allocations might happen in rare case and not for each lockSlow call. |
| |
| * wtf/Lock.cpp: |
| (WTF::Lock::lockSlow): |
| (WTF::Lock::unlockSlow): |
| (WTF::Lock::unlockFairlySlow): |
| |
| 2021-08-02 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add CheckedRef |
| https://bugs.webkit.org/show_bug.cgi?id=227164 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Like r278344, this patch introduces a new type of smart pointer, CheckedRef, |
| which lets each object keep track of pointers pointing to the object. |
| |
| As with CheckedPtr, the purpose of the internal counter for CheckedRef is |
| to release assert that there is no outstanding pointer at the time of destruction |
| instead of keeping the object alive when there is one. |
| |
| This patch also removes makeCheckedPtr in favor of using CheckedPtr with |
| template argument deduction in C++17. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/CheckedPtr.h: |
| (WTF::CheckedPtr::CheckedPtr): Added variants which take CheckedRef as arguments. |
| (WTF::makeCheckedPtr): Deleted. |
| (WTF::CanMakeCheckedPtr): Moved to CheckedRef.h |
| * wtf/CheckedRef.h: Added. |
| (WTF::CheckedRef::~CheckedRef): Added. |
| (WTF::CheckedRef::CheckedRef): Added. |
| (WTF::CheckedRef::isHashTableDeletedValue const): Added. |
| (WTF::CheckedRef::isHashTableEmptyValue const): Added. |
| (WTF::CheckedRef::hashTableEmptyValue): Added. |
| (WTF::CheckedRef::ptrAllowingHashTableEmptyValue const): Added. |
| (WTF::CheckedRef::ptrAllowingHashTableEmptyValue): Added. |
| (WTF::CheckedRef::ptr const): Added. |
| (WTF::CheckedRef::ptr): Added. |
| (WTF::CheckedRef::get const): Added. |
| (WTF::CheckedRef::get): Added. |
| (WTF::CheckedRef::operator-> const): Added. |
| (WTF::CheckedRef::operator->): Added. |
| (WTF::CheckedRef::operator const T& const): Added. |
| (WTF::CheckedRef::operator T&): Added. |
| (WTF::CheckedRef::operator! const): Added. |
| (WTF::CheckedRef::operator=): Added. |
| (WTF::CheckedRef::releasePtr): Added. Returns m_ptr without calling decrementPtrCount. |
| This is equivalent of leakPtr in Ref but we don't call this that since CheckedRef or |
| CheckedPtr is generally not used to manage the object lifetime. |
| (WTF::CheckedRef::poison): Added. |
| (WTF::CheckedRef::unpoison): Added. |
| (WTF::is): Added. |
| (WTF::CheckedRefHashTraits): Added. |
| (WTF::CheckedRefHashTraits::emptyValue): Added. |
| (WTF::CheckedRefHashTraits::constructEmptyValue): Added. |
| (WTF::CheckedRefHashTraits::isEmptyValue): Added. |
| (WTF::CheckedRefHashTraits::peek): Added. |
| (WTF::CheckedRefHashTraits::take): Added. |
| (WTF::CanMakeCheckedPtr): Moved from CheckedPtr.h |
| * wtf/Forward.h: |
| |
| 2021-08-02 Devin Rousso <drousso@apple.com> |
| |
| [Live Text] SPI for machine readable codes is only available on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=228711 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformHave.h: |
| |
| 2021-08-02 Youenn Fablet <youenn@apple.com> |
| |
| Enable WebRTCPlatformUDPSocketsEnabled experimental feature by default |
| https://bugs.webkit.org/show_bug.cgi?id=228689 |
| <rdar://problem/81383711> |
| |
| Reviewed by Eric Carlson. |
| |
| Enable WebRTCPlatformUDPSocketsEnabled experimental feature by default, WebRTC proxying being off by default for now. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-08-02 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Yarr should use Bitmap instead of ByteVector for BoyerMoore search |
| https://bugs.webkit.org/show_bug.cgi?id=228676 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/Bitmap.h: |
| |
| 2021-08-01 Youenn Fablet <youenn@apple.com> |
| |
| Introduce an experimental feature to toggle WebRTC socket proxying |
| https://bugs.webkit.org/show_bug.cgi?id=228681 |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-07-31 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Move JIT_UNICODE_EXPRESSIONS to ENABLE(YARR_JIT_UNICODE_EXPRESSIONS) in PlatformEnable.h |
| https://bugs.webkit.org/show_bug.cgi?id=228669 |
| |
| Reviewed by Alexey Shvayka. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2021-07-30 Rob Buis <rbuis@igalia.com> |
| |
| [css-overflow] Implement clip value for overflow |
| https://bugs.webkit.org/show_bug.cgi?id=198230 |
| |
| Reviewed by Simon Fraser. |
| |
| Add preference for overflow: clip support. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-07-30 Chris Dumez <cdumez@apple.com> |
| |
| Add initial support for 'Cross-Origin-Opener-Policy' HTTP header |
| https://bugs.webkit.org/show_bug.cgi?id=192193 |
| <rdar://problem/42013525> |
| |
| Reviewed by Geoff Garen. |
| |
| Add experimental feature flag for 'Cross-Origin-Opener-Policy' HTTP header |
| support. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-07-29 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Stop building WebGPU and the WHLSL compiler to decrease binary size |
| https://bugs.webkit.org/show_bug.cgi?id=228179 |
| |
| Reviewed by Dean Jackson, Robin Morisset, and Devin Rousso. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-07-29 Devin Rousso <drousso@apple.com> |
| |
| [Payment Request] `additionalShippingMethods` are not used if a `paymentMethodType` is provided |
| https://bugs.webkit.org/show_bug.cgi?id=228599 |
| <rdar://problem/81190366> |
| |
| Reviewed by Andy Estes. |
| |
| r275169 made it so that `paymentMethodType` is no longer `required` so that `additionalShippingMethods` |
| can be specified without having to limit it to a specific payment method type. While this |
| works in theory, WebKit doesn't know about the user's selected payment method type until the |
| user actually selects a payment method, meaning that until then the `additionalShippingMethods` |
| are not used. Unfortunately (until now) `PKPaymentRequestPaymentMethodUpdate` did not |
| support providing a `NSArray<PKShippingMethod *> *`, so there was no way to update the list |
| of shipping methods when the user changed their selected payment method, meaning that WebKit |
| would have to wait/rely on the user to change their shipping address _after_ selecting a |
| payment method in order for `additionalShippingMethods` to take effect. |
| |
| This also fixes an issue with WebKit's implementation of the W3C Payment Request API by |
| allowing any generic (i.e. things not specific to Apple Pay) `shippingOptions` provided in |
| `PaymentDetailsUpdate` to actually be used and update the Apple Pay sheet accordingly. |
| |
| * wtf/PlatformHave.h: |
| * wtf/PlatformEnableCocoa.h: |
| Add new compile flags for PassKit supporting modifying shipping methods with any update. |
| |
| 2021-07-28 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Yarr should perform BoyerMoore search |
| https://bugs.webkit.org/show_bug.cgi?id=228301 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/BitVector.cpp: |
| (WTF::BitVector::dump const): |
| * wtf/Bitmap.h: |
| (WTF::WordType>::dump const): |
| * wtf/UniqueRef.h: |
| (WTF::makeUniqueRefFromNonNullUniquePtr): |
| (WTF::UniqueRef::UniqueRef): |
| |
| 2021-07-29 Kate Cheney <katherine_cheney@apple.com> |
| |
| REGRESSION (r278877) [Cocoa] WebAuthn stopped working for non-Safari browsers |
| https://bugs.webkit.org/show_bug.cgi?id=228116 |
| <rdar://problem/80693607> |
| |
| Patch by Brent Fulgham. |
| |
| Reviewed by Per Arne Vollan. |
| |
| Add new SPI header for code signing features. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/spi/cocoa/SecuritySPI.h: |
| * wtf/spi/darwin/CodeSignSPI.h: Added. |
| |
| 2021-07-29 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] Don't set capture attribution dynamically in the simulator |
| https://bugs.webkit.org/show_bug.cgi?id=228596 |
| rdar://81176531 |
| |
| Reviewed by Jer Noble. |
| |
| * wtf/PlatformHave.h: Don't define HAVE_SYSTEM_STATUS for the simulator. |
| |
| 2021-07-29 Kate Cheney <katherine_cheney@apple.com> |
| |
| GetIdentifierStringForPreferredVoiceInListWithLocale() is deprecated in Monterey |
| <https://webkit.org/b/228066> |
| <rdar://problem/80577312> |
| |
| Patch by David Kilzer. |
| |
| Reviewed by David Kilzer. |
| |
| * wtf/PlatformHave.h: |
| - Add HAVE(SPEECHSYNTHESIS_MONTEREY_SPI). |
| |
| 2021-07-28 Jean-Yves Avenard <jya@apple.com> |
| |
| [WebAudio] Add webm/opus container support |
| https://bugs.webkit.org/show_bug.cgi?id=227110 |
| <rdar://problem/79437067> |
| |
| Reviewed by Jer Noble. |
| |
| Add WebMWebAudioEnabled preference to make canPlayType return probably for mimetype: |
| "audio/webm; codecs=opus" |
| Disabled by default. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-07-28 Ryosuke Niwa <rniwa@webkit.org> |
| |
| makeWeakPtr should support Ref and RefPtr as the argument |
| https://bugs.webkit.org/show_bug.cgi?id=228574 |
| |
| Reviewed by Wenson Hsieh. |
| |
| This patch adds variants of makeWeakPtr<T> which take Ref<T> and RefPtr<T>. |
| |
| Tests: TestWebKitAPI.WTF_WeakPtr.MakeWeakPtrTakesRef |
| TestWebKitAPI.WTF_WeakPtr.MakeWeakPtrTakesRefPtr |
| |
| * wtf/WeakPtr.h: |
| (WTF::makeWeakPtr): |
| |
| 2021-07-28 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Cocoa] macOS Monterey and parallel OSes no longer need r280103 |
| https://bugs.webkit.org/show_bug.cgi?id=228539 |
| |
| Reviewed by Alan Bujtas. |
| |
| Core Text's behavior changed on these OSes. |
| |
| * wtf/PlatformUse.h: |
| |
| 2021-07-26 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, speculative revert of r280193 |
| https://bugs.webkit.org/show_bug.cgi?id=228142 |
| |
| * wtf/Vector.h: |
| (WTF::Malloc>::shrinkCapacity): |
| (WTF::Malloc>::shrinkToBestFit): Deleted. |
| * wtf/text/AtomStringImpl.cpp: |
| (WTF::UCharBufferTranslator::equal): |
| (WTF::LCharBufferTranslator::equal): |
| (WTF::BufferFromStaticDataTranslator::equal): |
| * wtf/text/StringView.h: |
| (WTF::StringView::stripLeadingMatchedCharacters): Deleted. |
| |
| 2021-07-26 Jer Noble <jer.noble@apple.com> |
| |
| [Cocoa] WebKit is making GroupActivities API calls for all WebKit clients |
| https://bugs.webkit.org/show_bug.cgi?id=228299 |
| <rdar://80802982> |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-07-26 Per Arne <pvollan@apple.com> |
| |
| The layout test fast/images/heic-as-background-image.html is a constant failure |
| https://bugs.webkit.org/show_bug.cgi?id=228195 |
| <rdar://80334724> |
| |
| Reviewed by Said Abou-Hallawa. |
| |
| Add HAVE macro for the system function CMPhotoIsTileDecoderAvailable. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-07-26 Jer Noble <jer.noble@apple.com> |
| |
| [iOS] All home screen web apps resume when any home screen web app is foregrounded |
| https://bugs.webkit.org/show_bug.cgi?id=228246 |
| <rdar://72949281> |
| |
| Reviewed by Eric Carlson. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2021-07-23 Chris Dumez <cdumez@apple.com> |
| |
| SharedBuffer::takeData() is a bit dangerous |
| https://bugs.webkit.org/show_bug.cgi?id=228161 |
| |
| Reviewed by Darin Adler. |
| |
| Add Vector::uncheckedAppend() overload that takes in a Span. |
| |
| * wtf/Vector.h: |
| (WTF::Vector::uncheckedAppend): |
| (WTF::Malloc>::uncheckedAppend): |
| |
| 2021-07-23 Robert Jenner <Jenner@apple.com> |
| |
| Unreviewed, reverting r280205. |
| |
| Broke multiple WebAuthn tests. |
| |
| Reverted changeset: |
| |
| "REGRESSION (r278877) [Cocoa] WebAuthn stopped working for |
| non-Safari browsers" |
| https://bugs.webkit.org/show_bug.cgi?id=228116 |
| https://commits.webkit.org/r280205 |
| |
| 2021-07-23 Philippe Normand <pnormand@igalia.com> |
| |
| [GLib] Remove libportal dependency |
| https://bugs.webkit.org/show_bug.cgi?id=228056 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: Enable screen capture on GStreamer |
| ports. The PIPEWIRE ifdef is redundant. |
| |
| 2021-07-22 Brent Fulgham <bfulgham@apple.com> |
| |
| REGRESSION (r278877) [Cocoa] WebAuthn stopped working for non-Safari browsers |
| https://bugs.webkit.org/show_bug.cgi?id=228116 |
| <rdar://problem/80693607> |
| |
| Reviewed by Per Arne Vollan. |
| |
| Add new SPI header for code signing features. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/spi/cocoa/SecuritySPI.h: Move some SecTask calls out of PLATFORM(MAC). |
| * wtf/spi/darwin/CodeSignSPI.h: Added. |
| |
| 2021-07-22 Saam Barati <sbarati@apple.com> |
| |
| Fix uses of Dependency::fence with respect to the compiler outsmarting us |
| https://bugs.webkit.org/show_bug.cgi?id=227757 |
| <rdar://problem/80280931> |
| |
| Reviewed by Robin Morisset. |
| |
| * wtf/Atomics.h: |
| (WTF::opaque): |
| (WTF::Dependency::loadAndFence): |
| |
| 2021-07-22 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, follow-up after r280193 |
| https://bugs.webkit.org/show_bug.cgi?id=228142 |
| |
| I accidentally reverted auto change when switching branches. |
| |
| * wtf/text/AtomStringImpl.cpp: |
| (WTF::UCharBufferTranslator::equal): |
| (WTF::LCharBufferTranslator::equal): |
| (WTF::BufferFromStaticDataTranslator::equal): |
| |
| 2021-07-22 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Micro-optimize innerHTML |
| https://bugs.webkit.org/show_bug.cgi?id=228142 |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/Vector.h: |
| (WTF::Malloc>::shrinkToBestFit): This shrinks the backing storage to "appropriate for the living Vector". |
| * wtf/text/AtomStringImpl.cpp: |
| (WTF::UCharBufferTranslator::equal): WTF::equal for String does not check hash. This is because computing hash is expensive |
| and we would like to avoid that if it is not necessary. But when inserting string into AtomStringTable, we can use hash value |
| since they must be already computed because of HashMap's requirement. So let's use it before calling WTF::equal. |
| (WTF::LCharBufferTranslator::equal): |
| (WTF::BufferFromStaticDataTranslator::equal): |
| * wtf/text/StringView.h: |
| (WTF::StringView::stripLeadingMatchedCharacters): Add this and use it in HTMLTreeBuilder. |
| |
| 2021-07-22 Alex Christensen <achristensen@webkit.org> |
| |
| XHR.send(Document) should replace mismatched surrogates with replacement character before sending |
| https://bugs.webkit.org/show_bug.cgi?id=228170 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/text/WTFString.cpp: |
| (WTF::replaceUnpairedSurrogatesWithReplacementCharacter): |
| * wtf/text/WTFString.h: |
| Move from WebCore, rename as suggested, update spec link to one that works. |
| |
| 2021-07-22 Zan Dobersek <zdobersek@igalia.com> |
| |
| Add CPU(RISCV64) |
| https://bugs.webkit.org/show_bug.cgi?id=228178 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| Detect when compiling for the RISC-V 64-bit architecture and define |
| the WTF_CPU_RISCV64 macro under that condition, enabling use of |
| CPU(RISCV64) build guards. |
| |
| * wtf/PageBlock.h: Use 4 kB as the page size ceiling for CPU(RISCV64). |
| * wtf/PlatformCPU.h: |
| |
| 2021-07-21 Miguel Gomez <magomez@igalia.com> |
| |
| [GTK][WPE] Allow the user to configure the MemoryPressureHandler inside the web process |
| https://bugs.webkit.org/show_bug.cgi?id=222738 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Add a configuration structure to MemoryPressureHandler, with the methods to encode/decode it. Also |
| add a method to set a configuration structure to a MemoryPressureHandler instance, and modify the |
| behavior so the the configuration is used when checking the memory used by the process. |
| |
| * wtf/MemoryPressureHandler.cpp: |
| (WTF::MemoryPressureHandler::setShouldUsePeriodicMemoryMonitor): |
| (WTF::MemoryPressureHandler::thresholdForMemoryKill): |
| (WTF::MemoryPressureHandler::thresholdForPolicy): |
| (WTF::MemoryPressureHandler::policyForFootprint): |
| (WTF::MemoryPressureHandler::Configuration::Configuration): |
| * wtf/MemoryPressureHandler.h: |
| (WTF::MemoryPressureHandler::Configuration::encode const): |
| (WTF::MemoryPressureHandler::Configuration::decode): |
| (WTF::MemoryPressureHandler::setConfiguration): |
| |
| 2021-07-21 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, reverting r280129. |
| |
| Broke the internal Monterey build bots |
| |
| Reverted changeset: |
| |
| "GetIdentifierStringForPreferredVoiceInListWithLocale() is |
| deprecated in Monterey" |
| https://bugs.webkit.org/show_bug.cgi?id=228066 |
| https://commits.webkit.org/r280129 |
| |
| 2021-07-21 David Kilzer <ddkilzer@apple.com> |
| |
| GetIdentifierStringForPreferredVoiceInListWithLocale() is deprecated in Monterey |
| <https://webkit.org/b/228066> |
| <rdar://problem/80577312> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * wtf/PlatformHave.h: |
| - Add HAVE(SPEECHSYNTHESIS_MONTEREY_SPI). |
| |
| 2021-07-20 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| r280103 is not necessary on all operating systems |
| https://bugs.webkit.org/show_bug.cgi?id=228136 |
| |
| Reviewed by Alan Bujtas. |
| |
| * wtf/PlatformUse.h: |
| |
| 2021-07-16 Alexander Mikhaylenko <alexm@gnome.org> |
| |
| [GTK][WPE] Support color-schemes CSS property |
| https://bugs.webkit.org/show_bug.cgi?id=208204 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| * wtf/PlatformHave.h: |
| Enable HAVE_OS_DARK_MODE_SUPPORT for GTK and WPE. |
| |
| 2021-07-15 Jean-Yves Avenard <jya@apple.com> |
| |
| [Wk1] media/media-source/media-webm-opus-partial.html is a consistent failure (Enable VP8/VP9/Vorbis/Opus in WebKitLegacy) |
| https://bugs.webkit.org/show_bug.cgi?id=228005 |
| rdar://80346720 |
| |
| Reviewed by Jer Noble. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: Enable VP8/VP9/Vorbis/Opus |
| codecs for WebKitLegacy, no reasons they weren't already enabled. |
| |
| 2021-07-15 Joonghun Park <jh718.park@samsung.com> |
| |
| Unreviewed. Fix the build warning below since r279895. |
| warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] |
| |
| * wtf/URL.cpp: |
| (WTF::URL::setPath): |
| |
| 2021-07-15 Chris Dumez <cdumez@apple.com> |
| |
| Add initial support for BroadcastChannel behind a runtime flag |
| https://bugs.webkit.org/show_bug.cgi?id=227924 |
| |
| Reviewed by Sam Weinig. |
| |
| Add experimental feature flag for BroadcastChannel, off by default. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-07-15 Philippe Normand <pnormand@igalia.com> |
| |
| [GStreamer][Pipewire] Implement getDisplayMedia() backend |
| https://bugs.webkit.org/show_bug.cgi?id=210926 |
| |
| Reviewed by Xabier Rodriguez-Calvar. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: Enable screen-capture if libportal |
| was found. |
| |
| 2021-07-14 Jer Noble <jer.noble@apple.com> |
| |
| Unreviewed build fix after r279912 (239661@main); Add a HAVE(SYSTEM_STATUS) macro. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-07-13 Alex Christensen <achristensen@webkit.org> |
| |
| Update and fix URL WPT tests |
| https://bugs.webkit.org/show_bug.cgi?id=227820 |
| |
| Reviewed by Chris Dumez. |
| |
| There was an edge case where if we set a path to an empty string, it would add a slash. No more. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::setPath): |
| |
| 2021-07-13 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| Remove USE_64KB_PAGE_BLOCK |
| https://bugs.webkit.org/show_bug.cgi?id=227905 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/PageBlock.h: |
| |
| 2021-07-12 Filip Pizlo <fpizlo@apple.com> and Yusuke Suzuki <ysuzuki@apple.com> |
| |
| New malloc algorithm |
| https://bugs.webkit.org/show_bug.cgi?id=226404 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Introduce flags for using libpas as the ExecutableAllocator. |
| |
| Explicitly ask for gigacage initialization, since libpas prefers it this way right now. |
| |
| * wtf/FastTLS.h: |
| * wtf/PlatformUse.h: |
| * wtf/Threading.cpp: |
| (WTF::initialize): |
| |
| 2021-07-12 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [Cocoa] Turn on `USE(OS_STATE)` when building with a non-Apple-internal SDK |
| https://bugs.webkit.org/show_bug.cgi?id=227884 |
| |
| Reviewed by Tim Horton. |
| |
| Enable the compile-time flag for all Cocoa builds. |
| |
| * wtf/PlatformUse.h: |
| |
| 2021-07-12 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: Make WebKit observe spatial audio accessibility settings |
| https://bugs.webkit.org/show_bug.cgi?id=227848 |
| |
| Reviewed by Sam Weinig. |
| |
| This flag was using the wrong format for a HAVE setting, so the code wasn't being compiled in. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-07-12 Simon Fraser <simon.fraser@apple.com> |
| |
| Add a StyleSheets log channel and some logging |
| https://bugs.webkit.org/show_bug.cgi?id=227880 |
| |
| Reviewed by Alan Bujtas. |
| |
| Make it possible to feed Ref<> and RefPtr<> into TextStream. |
| |
| * wtf/text/TextStream.h: |
| (WTF::operator<<): |
| |
| 2021-07-09 Jer Noble <jer.noble@apple.com> |
| |
| [Cocoa] Make Coordinator playback commands more precise |
| https://bugs.webkit.org/show_bug.cgi?id=227756 |
| |
| Reviewed by Eric Carlson. |
| |
| Add a method to convert from a MonotonicTime to a MachAbsoluteTime. |
| |
| * wtf/CurrentTime.cpp: |
| (WTF::machTimebaseInfo): |
| (WTF::MonotonicTime::fromMachAbsoluteTime): |
| (WTF::MonotonicTime::toMachAbsoluteTime const): |
| * wtf/MonotonicTime.h: |
| * wtf/PlatformHave.h: |
| |
| 2021-07-08 Alex Christensen <achristensen@webkit.org> |
| |
| Fix some whitespace handling issues in URL setters |
| https://bugs.webkit.org/show_bug.cgi?id=227806 |
| |
| Reviewed by Chris Dumez. |
| |
| Setters should ignore tabs and newlines like the main parser does. |
| The protocol setter is problematic, which I reported in https://github.com/whatwg/url/issues/620 |
| |
| * wtf/URL.cpp: |
| (WTF::URL::setFragmentIdentifier): |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::isSpecialScheme): |
| (WTF::URLParser::parse): |
| * wtf/URLParser.h: |
| The URL.hash setter should allow trailing C0 and control characters, which we would otherwise trim. |
| Rather than introduce a new parameter, use a sentinel value for when we need to do this. |
| |
| 2021-07-08 Brent Fulgham <bfulgham@apple.com> |
| |
| [Cocoa] Expose SPI to opt out of Extensible SSO authentication |
| https://bugs.webkit.org/show_bug.cgi?id=227729 |
| <rdar://problem/75647892> |
| |
| Reviewed by Tim Horton. |
| |
| Create new WKPreference to allow WebKit clients to opt out of Extensible SSO authentication. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2021-07-07 Alex Christensen <achristensen@webkit.org> |
| |
| URL host setter should pass host to URLParser instead of trying to encode it itself |
| https://bugs.webkit.org/show_bug.cgi?id=227749 |
| |
| Reviewed by Chris Dumez. |
| |
| For non-special schemes, the host is percent-encoded instead of punycode-encoded. |
| Allowing the URL parser to handle all input directly does the right thing for non-special schemes. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::setHost): |
| (WTF::URL::setHostAndPort): |
| |
| 2021-07-07 Alex Christensen <achristensen@webkit.org> |
| |
| URL path setter should add "./" before non-empty path and after empty host for URLs with non-special schemes |
| https://bugs.webkit.org/show_bug.cgi?id=227750 |
| |
| Reviewed by Chris Dumez. |
| |
| This is related to r267837 but in the path setter, too. |
| This helps preserve idempotence in parsed URLs. |
| This is an edge case that will rarely be hit in practice, but now the path setter matches the parser. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::setPath): |
| |
| 2021-07-07 Christopher Reid <chris.reid@sony.com> |
| |
| [PlayStation] Don't assume 4KB block size when estimating Network Cache disk usage |
| https://bugs.webkit.org/show_bug.cgi?id=227502 |
| |
| Reviewed by Chris Dumez. |
| |
| Add getVolumeFileBlockSize to fetch the block size from the filesystem. |
| Currently only implemented for Windows and POSIX filesystems. |
| |
| * wtf/FileSystem.cpp: |
| * wtf/FileSystem.h: |
| * wtf/playstation/FileSystemPlayStation.cpp: |
| |
| 2021-07-07 Alex Christensen <achristensen@webkit.org> |
| |
| Use more Span |
| https://bugs.webkit.org/show_bug.cgi?id=227606 |
| |
| Reviewed by Darin Adler. |
| |
| New is always better, right? |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::mapToFile): |
| * wtf/FileSystem.h: |
| * wtf/persistence/PersistentCoders.cpp: |
| (WTF::Persistence::Coder<CString>::encode): |
| (WTF::Persistence::Coder<CString>::decode): |
| (WTF::Persistence::Coder<String>::encode): |
| (WTF::Persistence::decodeStringText): |
| (WTF::Persistence::Coder<SHA1::Digest>::encode): |
| (WTF::Persistence::Coder<SHA1::Digest>::decode): |
| * wtf/persistence/PersistentCoders.h: |
| * wtf/persistence/PersistentDecoder.cpp: |
| (WTF::Persistence::Decoder::Decoder): |
| (WTF::Persistence::Decoder::bufferIsLargeEnoughToContain const): |
| (WTF::Persistence::Decoder::bufferPointerForDirectRead): |
| (WTF::Persistence::Decoder::decodeFixedLengthData): |
| (WTF::Persistence::Decoder::decodeNumber): |
| (WTF::Persistence::Decoder::verifyChecksum): |
| * wtf/persistence/PersistentDecoder.h: |
| (WTF::Persistence::Decoder::length const): |
| (WTF::Persistence::Decoder::currentOffset const): |
| * wtf/persistence/PersistentEncoder.cpp: |
| (WTF::Persistence::Encoder::updateChecksumForData): |
| (WTF::Persistence::Encoder::encodeFixedLengthData): |
| (WTF::Persistence::Encoder::encodeChecksum): |
| * wtf/persistence/PersistentEncoder.h: |
| |
| 2021-07-05 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Optimize Object.assign and putDirectInternal |
| https://bugs.webkit.org/show_bug.cgi?id=227677 |
| |
| Reviewed by Filip Pizlo. |
| |
| * wtf/HashMap.h: |
| * wtf/HashSet.h: |
| * wtf/HashTable.h: |
| (WTF::HashTable::isNullStorage const): |
| |
| 2021-07-02 Brent Fulgham <bfulgham@apple.com> |
| |
| [macOS] Only use WebGL on Metal by default on safe versions of macOS |
| https://bugs.webkit.org/show_bug.cgi?id=227633 |
| <rdar://problem/78527887> |
| |
| Reviewed by Dean Jackson. |
| |
| Tested by WebGL test suite. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * wtf/PlatformHave.h: |
| |
| 2021-07-01 Youenn Fablet <youenn@apple.com> |
| |
| Disable relay for UDP sockets when not needed |
| https://bugs.webkit.org/show_bug.cgi?id=227253 |
| <rdar://problem/79912154> |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformHave.h: |
| Add a macro for new NW methods. |
| |
| 2021-07-01 Antoine Quint <graouts@webkit.org> |
| |
| [Model] Restrict IPC calls to ARKit SPI availability and runtime flag |
| https://bugs.webkit.org/show_bug.cgi?id=227581 |
| |
| Reviewed by Tim Horton. |
| |
| Define a new compile-time flag when either of the iOS or macOS ARKit SPIs are available. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-07-01 Aditya Keerthi <akeerthi@apple.com> |
| |
| [iOS] <select> menus should scroll to the selected option |
| https://bugs.webkit.org/show_bug.cgi?id=227562 |
| <rdar://problem/77887668> |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/PlatformHave.h: |
| |
| Add HAVE(UIMENUOPTIONS_SINGLE_SELECTION). |
| |
| 2021-07-01 Youenn Fablet <youenn@apple.com> |
| |
| [Cocoa] Migrate WebRTC UDP socket handling to NW API |
| https://bugs.webkit.org/show_bug.cgi?id=227210 |
| |
| Reviewed by Eric Carlson. |
| |
| Add a new experimental flag for NW backed UDP sockets. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-07-01 Jer Noble <jer.noble@apple.com> |
| |
| [Mac] (Re-)enable GroupActivities after upstreaming |
| https://bugs.webkit.org/show_bug.cgi?id=227546 |
| |
| Reviewed by Eric Carlson. |
| |
| Add support for HAVE_GROUP_ACTIVITIES. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-06-30 Antoine Quint <graouts@webkit.org> |
| |
| [Model] [macOS] Add support for rendering model resources |
| https://bugs.webkit.org/show_bug.cgi?id=227530 |
| <rdar://problem/79968206> |
| |
| Reviewed by Dean Jackson. |
| |
| Add a new compile-time flag indicating the availability of the ASVInlinePreview SPI on macOS. |
| We only define it when the header itself is present for now to avoid issues with older macOS |
| 12 SDKs, but ultimately we will only use the macOS version check. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-06-30 Megan Gardner <megan_gardner@apple.com> |
| |
| Add ID and versioning support for AppHighlights |
| https://bugs.webkit.org/show_bug.cgi?id=227279 |
| |
| Reviewed by Tim Horton. |
| |
| Allow PersistentDecoders to rewind, to help support v0 highlight data. |
| |
| * wtf/persistence/PersistentDecoder.cpp: |
| (WTF::Persistence::Decoder::Decoder): |
| (WTF::Persistence::Decoder::rewind): |
| * wtf/persistence/PersistentDecoder.h: |
| |
| 2021-06-30 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Use WeakHashMap and WeakPtr with Node in more places |
| https://bugs.webkit.org/show_bug.cgi?id=227192 |
| <rdar://problem/79828322> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/WeakHashMap.h: |
| (WTF::WeakHashMap::WeakHashMapIteratorBase::makePeek): Fixed type mismatch errors. |
| (WTF::WeakHashMap::ensure): Made this function return AddResult like HashMap::ensure. |
| (WTF::WeakHashMap::take): Added. |
| (WTF::WeakHashMap::removeIf): Fixed the bug that the callback was called with the iterator |
| of m_impl and not WeakHashMapIterator. |
| * wtf/WeakHashSet.h: |
| (WTF::HashTraits<Ref<WeakPtrImpl<Counter>>>::isReleasedWeakValue): Moved to WeakPtr.h |
| * wtf/WeakPtr.h: |
| (WTF::HashTraits<Ref<WeakPtrImpl<Counter>>>::isReleasedWeakValue): Moved from WeakHashSet.h |
| |
| 2021-06-30 Truitt Savell <tsavell@apple.com> |
| |
| Unreviewed, reverting r279405. |
| |
| Casued 50+ webrtc crashes on Big Sur Debug |
| |
| Reverted changeset: |
| |
| "[Cocoa] Migrate WebRTC UDP socket handling to NW API" |
| https://bugs.webkit.org/show_bug.cgi?id=227210 |
| https://commits.webkit.org/r279405 |
| |
| 2021-06-30 Tim Horton <timothy_horton@apple.com> |
| |
| Fix the build. |
| |
| * wtf/PlatformHave.h: |
| This is not available on the simulator; disable it. |
| |
| 2021-06-30 Youenn Fablet <youenn@apple.com> |
| |
| [Cocoa] Migrate WebRTC UDP socket handling to NW API |
| https://bugs.webkit.org/show_bug.cgi?id=227210 |
| |
| Reviewed by Eric Carlson. |
| |
| Add a new experimental flag for NW backed UDP sockets. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-06-29 Antoine Quint <graouts@webkit.org> |
| |
| WebKit_iosmac build failure: SystemPreviewSPI.h:29:9: fatal error: 'AssetViewer/ARQuickLookWebKitItem.h' file not found |
| https://bugs.webkit.org/show_bug.cgi?id=227507 |
| <rdar://problem/79902043> |
| |
| Reviewed by Dean Jackson. |
| |
| When we added new SPIs in Source/WebCore/PAL/pal/spi/ios/SystemPreviewSPI.h as part of r279312 we also included this file |
| from a new file that is compiled on Catalyst. This revealed an issue where existing SPIs included in that file weren't |
| actually available on Catalyst. We now make sure we compile those out on Catalyst. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-06-29 Antti Koivisto <antti@apple.com> |
| |
| Enable Probabilistic Guard Malloc for RuleData and RuleFeature vectors |
| https://bugs.webkit.org/show_bug.cgi?id=227446 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Add SystemMalloc type that can be used with containers like Vector and |
| ProbabilisticGuardMalloc alias for it on Mac/iOS platforms. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/SystemMalloc.h: Added. |
| (WTF::SystemMalloc::malloc): |
| (WTF::SystemMalloc::tryMalloc): |
| (WTF::SystemMalloc::zeroedMalloc): |
| (WTF::SystemMalloc::tryZeroedMalloc): |
| (WTF::SystemMalloc::realloc): |
| (WTF::SystemMalloc::tryRealloc): |
| (WTF::SystemMalloc::free): |
| * wtf/Vector.h: |
| (WTF::Malloc>::appendVector): |
| |
| Include all template parameters for the appendVector argument. |
| |
| 2021-06-28 Mikhail R. Gadelha <mikhail@igalia.com> |
| |
| Prevent sign-extended casts for 32 bits arch |
| https://bugs.webkit.org/show_bug.cgi?id=227170 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| In a number of places, addresses are reinterpreted as uint64, which can |
| lead to wrong addresses in 32 bits arch. |
| |
| * wtf/LoggerHelper.h: |
| (WTF::LoggerHelper::childLogIdentifier): |
| |
| 2021-06-28 Sam Weinig <weinig@apple.com> |
| |
| Add helpers to create Spans from CFDataRef and NSData |
| https://bugs.webkit.org/show_bug.cgi?id=227217 |
| |
| Reviewed by Chris Dumez. |
| |
| Add overloads of asBytes() for CFDataRef and NSData. This is going to |
| be a common enough pattern to warrent these helpers. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/PlatformFTW.cmake: |
| * wtf/PlatformMac.cmake: |
| * wtf/PlatformWin.cmake: |
| * wtf/cf/SpanCF.h: Added. |
| (WTF::asBytes): |
| * wtf/cocoa/SpanCocoa.h: Added. |
| (WTF::asBytes): |
| |
| 2021-06-27 Antoine Quint <graouts@webkit.org> |
| |
| [Model] [iOS] Add support for rendering model resources |
| https://bugs.webkit.org/show_bug.cgi?id=227392 |
| <rdar://problem/79770136> |
| |
| Reviewed by Tim Horton. |
| |
| Add a new compile-time flag indicating the availability of the ASVInlinePreview SPI on iOS. |
| We only define it when the header itself is present for now to avoid issues with older iOS |
| 15 SDKs, but ultimately we will only use the iOS version check. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-06-25 Kenneth Russell <kbr@chromium.org> |
| |
| Set ImageBitmap experimental feature flag to true |
| https://bugs.webkit.org/show_bug.cgi?id=227140 |
| |
| Reviewed by Dean Jackson. |
| |
| Web developers - most recently Google's Meet team - have asked for |
| ImageBitmap support in WebKit. The implementation was |
| substantially upgraded during development of WebGL 2.0, and is |
| thoroughly tested on the EWS. Change the default value for |
| ImageBitmap's experimental flag to true; this can be removed |
| completely after one release cycle. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-06-24 Martin Robinson <mrobinson@webkit.org> |
| |
| [css-scroll-snap] Remove ENABLE_SCROLL_SNAP compile-time option |
| https://bugs.webkit.org/show_bug.cgi?id=227067 |
| |
| Reviewed by Simon Fraser. |
| |
| Remove compile-time ENABLE_SCROLL_SNAP configuration option. |
| |
| * wtf/PlatformEnable.h: Remove the global feature definition. |
| |
| 2021-06-23 Mark Lam <mark.lam@apple.com> |
| |
| Base Options::useWebAssemblyFastMemory's default value on Gigacage::hasCapacityToUseLargeGigacage. |
| https://bugs.webkit.org/show_bug.cgi?id=227328 |
| |
| Reviewed by Saam Barati. |
| |
| Provide a Gigacage::hasCapacityToUseLargeGigacage value for when !GIGACAGE_ENABLED. |
| |
| * wtf/Gigacage.h: |
| |
| 2021-06-23 Yijia Huang <yijia_huang@apple.com> |
| |
| Add a new pattern to instruction selector to utilize UBFIZ supported by ARM64 |
| https://bugs.webkit.org/show_bug.cgi?id=227204 |
| |
| Reviewed by Filip Pizlo. |
| |
| Add functions to count the consecutive zero bits (trailing) on the |
| right with modulus division and lookup. Reference: Bit Twiddling Hacks. |
| |
| * wtf/MathExtras.h: |
| (WTF::countTrailingZeros): |
| |
| 2021-06-23 Kate Cheney <katherine_cheney@apple.com> |
| |
| Migrate App Privacy Report code from WebKitAdditions |
| https://bugs.webkit.org/show_bug.cgi?id=227045 |
| <rdar://problem/74333287> |
| |
| Reviewed by Alex Christensen. |
| |
| Update compile flag naming to align with the App Privacy Report |
| feature. Added a new check for Symptoms for a simpler, more clear |
| check. |
| |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformHave.h: |
| |
| 2021-06-23 Aditya Keerthi <akeerthi@apple.com> |
| |
| [iOS] Adopt new date picker presentation SPI |
| https://bugs.webkit.org/show_bug.cgi?id=227221 |
| <rdar://problem/77930086> |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/PlatformHave.h: |
| |
| Add HAVE(UIDATEPICKER_OVERLAY_PRESENTATION) and HAVE(UITOOLBAR_STANDARD_APPEARANCE). |
| |
| 2021-06-21 Darin Adler <darin@apple.com> |
| |
| Improve more of the CSS list style implementations |
| https://bugs.webkit.org/show_bug.cgi?id=227206 |
| |
| Reviewed by Antti Koivisto. |
| |
| * wtf/unicode/CharacterNames.h: Added blackDown/Left/RightPointingSmallTriangle. |
| |
| 2021-06-22 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [Live Text] [macOS] Add an internal option to disable inline text selection in images |
| https://bugs.webkit.org/show_bug.cgi?id=227265 |
| rdar://79460142 |
| |
| Reviewed by Tim Horton. |
| |
| Add a new internal feature flag. See WebKit ChangeLog for more details. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-06-22 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [GLib] Rewrite NetworkCache::Data::adoptMap without FileSystem::MappedFileData::leakHandle and munmap |
| https://bugs.webkit.org/show_bug.cgi?id=227017 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * wtf/FileSystem.h: MappedFileData::leakHandle is used only if PLATFORM(COCOA) now. |
| |
| 2021-06-22 Saam Barati <sbarati@apple.com> |
| |
| jitCompileAndSetHeuristics shouldn't return true when we fail to compile |
| https://bugs.webkit.org/show_bug.cgi?id=227155 |
| |
| Reviewed by Tadeu Zagallo. |
| |
| * wtf/WeakRandom.h: |
| |
| 2021-06-22 Truitt Savell <tsavell@apple.com> |
| |
| Unreviewed, reverting r279083. |
| |
| Broke Mac Builds |
| |
| Reverted changeset: |
| |
| "Migrate App Privacy Report code from WebKitAdditions" |
| https://bugs.webkit.org/show_bug.cgi?id=227045 |
| https://commits.webkit.org/r279083 |
| |
| 2021-06-22 Kimmo Kinnunen <kkinnunen@apple.com> |
| |
| Functions dispatched to WorkQueue are sometimes destroyed in the calling thread due to block refcounting |
| https://bugs.webkit.org/show_bug.cgi?id=227160 |
| |
| Reviewed by Antti Koivisto. |
| |
| WorkQueue::dispatch Function bodies always execute in the thread of target |
| queue. However, sometimes the Function destruction would happen in the |
| dispatched-from thread. This is not what the WorkQueue::dispatch callers |
| expect. |
| |
| Implement some of the WorkQueue::dispatch* in terms of dispatch_..._f() |
| variants which take a function and context pointer instead of a block. |
| |
| Blocks are reference counted objects without the ability to pass the |
| ownership of the reference. For dispatch case, it means that caller will |
| need to hold the reference while dispatch_...() returns. In thread |
| contention cases the called block might complete and reference be |
| dropped in the thread of the queue before the dispatched-from thread |
| would drop its reference to the block. This would cause the dispatched |
| Function to be destroyed in the dispatched-from thread. |
| |
| * wtf/cocoa/WorkQueueCocoa.cpp: |
| (WTF::dispatchWorkItem): |
| (WTF::WorkQueue::dispatch): |
| (WTF::WorkQueue::dispatchAfter): |
| (WTF::WorkQueue::dispatchSync): |
| |
| 2021-06-21 Chris Dumez <cdumez@apple.com> |
| |
| Adjust `fetch` port blocking for ports 990, 989 |
| https://bugs.webkit.org/show_bug.cgi?id=226971 |
| <rdar://problem/79287147> |
| |
| Reviewed by Geoffrey Garen. |
| |
| Prevent connecting to ports 989 & 990 as per: |
| - https://github.com/whatwg/fetch/pull/1250 |
| |
| * wtf/URL.cpp: |
| (WTF::portAllowed): |
| |
| 2021-06-21 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [WinCairo] Turn ENABLE_SHAREABLE_RESOURCE on |
| https://bugs.webkit.org/show_bug.cgi?id=227011 |
| |
| Reviewed by Don Olmstead. |
| |
| Added a new member m_fileMapping to MappedFileData to store a file |
| mapping object handle to create a SharedMemory from a |
| MappedFileData on Windows. |
| |
| Conditioned out MappedFileData::leakHandle() if OS(WINDOWS). And, |
| removed unmapViewOfFile(). Destruction of MappedFileData should be |
| done by ~MappedFileData. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::MappedFileData::~MappedFileData): |
| (WTF::FileSystemImpl::MappedFileData::mapFileHandle): |
| (WTF::FileSystemImpl::unmapViewOfFile): Deleted. |
| * wtf/FileSystem.h: |
| (WTF::FileSystemImpl::MappedFileData::fileMapping const): |
| (WTF::FileSystemImpl::MappedFileData::MappedFileData): |
| (WTF::FileSystemImpl::MappedFileData::operator=): |
| * wtf/win/FileSystemWin.cpp: |
| (WTF::FileSystemImpl::MappedFileData::~MappedFileData): |
| (WTF::FileSystemImpl::MappedFileData::mapFileHandle): |
| (WTF::FileSystemImpl::unmapViewOfFile): Deleted. |
| |
| 2021-06-21 Kate Cheney <katherine_cheney@apple.com> |
| |
| Migrate App Privacy Report code from WebKitAdditions |
| https://bugs.webkit.org/show_bug.cgi?id=227045 |
| <rdar://problem/74333287> |
| |
| Reviewed by Alex Christensen. |
| |
| Update compile flag naming to align with the App Privacy Report |
| feature. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-06-21 Kimmo Kinnunen <kkinnunen@apple.com> |
| |
| makeUnique cannot be used to instantiate function-local classes |
| https://bugs.webkit.org/show_bug.cgi?id=227163 |
| |
| Reviewed by Antti Koivisto. |
| |
| Make WTF_MAKE_FAST_ALLOCATED and similar macros work in function |
| local classes. Mark the typedef that is used to enforce semicolon |
| after the macro as unused to avoid unused typedef warning. |
| Fixes cases where the compiler is able to prove that it sees all the |
| use sites of the class and the typedef is not used. |
| |
| * wtf/Compiler.h: |
| * wtf/FastMalloc.h: |
| |
| 2021-06-21 Philippe Normand <pnormand@igalia.com> |
| |
| Unreviewed build fix after r279062 |
| |
| * wtf/Span.h: |
| (std::is_convertible_v<std::remove_pointer_t<decltype): |
| |
| 2021-06-20 Sam Weinig <weinig@apple.com> |
| |
| Replace Span implementation with one from libc++, which is more spec complient |
| https://bugs.webkit.org/show_bug.cgi?id=227197 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/Span.h: |
| The tcb span implementation had some SFINAE issues when converting containers |
| had data() and size() member functions but were not span compatible that were |
| causing failures. Rather than trying to fix those, this adopts a modified version |
| of the libc++ span implementation which is more up-to-date. |
| |
| To fix MSVC compile issues, the as_bytes/as_writable_bytes functions have been |
| re-implemented to not work around a compile issue seen where using the dynamic_extent |
| specicialization from the static extent specicialization was failing to compile. |
| |
| 2021-06-20 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [macOS] Rename WKVisualSearchPreviewController to WKQuickLookPreviewController |
| https://bugs.webkit.org/show_bug.cgi?id=227193 |
| |
| Reviewed by Sam Weinig. |
| |
| Add some compile-time flags to guard QuickLook SPI declarations. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-06-20 Sam Weinig <weinig@apple.com> |
| |
| Adopt Span in SHA1.h |
| https://bugs.webkit.org/show_bug.cgi?id=227184 |
| |
| Reviewed by Chris Dumez. |
| |
| Replaces overload of addBytes taking a Vector with ones taking |
| a Span and add overloads for Span<const std::byte> which all the |
| others are now implemented in terms of. This is useful since |
| any Span can be turned into one of type Span<const std::byte> |
| just by calling asBytes(existingSpan). |
| |
| This leaves most of the existing overloads in place (though |
| simplifies them by implementing them as Span contructions), |
| though we should consider removing some in a separate pass. |
| |
| * wtf/SHA1.cpp: |
| * wtf/SHA1.h: |
| |
| 2021-06-19 Sam Weinig <weinig@apple.com> |
| |
| Adopt Span in Base64.h |
| https://bugs.webkit.org/show_bug.cgi?id=227132 |
| |
| Reviewed by Chris Dumez. |
| |
| Replaces overloads taking Vectors with ones taking Spans |
| and add overloads for Span<const std::byte> which all the |
| others are now implemented in terms of. This is useful since |
| any Span can be turned into one of type Span<const std::byte> |
| just by calling asBytes(existingSpan). |
| |
| This leaves most of the existing overloads in place (though |
| simplifies them by implementing them as Span contructions) |
| though we should consider removing some in a separate pass. |
| |
| * wtf/Vector.h: |
| Add value_type typedef so that Vector<T> can be automatically |
| deduced as Span<T>. |
| |
| * wtf/text/CString.h: |
| Add bytes() and bytesInludingNullTerminator() (only the former |
| is used in this patch, but the later will be needed shortly) |
| which return Span<const uint8_t> of the CString. I chose to use |
| an explicit function, rather than making it converible to Span |
| like Vector, because some callers will want the null terminator |
| and some will not. |
| |
| * wtf/text/Base64.cpp: |
| * wtf/text/Base64.h: |
| Canonicalize all input buffers either as a Span<const std::byte> or |
| a StringView, making all the other overloads just forward to one of |
| those two (String -> StringView, everything else -> Span<const std::byte>). |
| |
| Clean up the header a bit by putting all the declarations at the top of |
| the file. |
| |
| 2021-06-17 Said Abou-Hallawa <said@apple.com> |
| |
| [Cocoa] Disable hardware decoding in the WebProcess |
| https://bugs.webkit.org/show_bug.cgi?id=226869 |
| <rdar://77548905> |
| |
| Reviewed by Per Arne Vollan and Simon Fraser. |
| |
| Add have macros for using: |
| 1. kCGImageSourceEnableRestrictedDecoding |
| 2. VTRestrictVideoDecoders() |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-06-17 Mark Lam <mark.lam@apple.com> |
| |
| Rename numberOfPACBits to maxNumberOfAllowedPACBits. |
| https://bugs.webkit.org/show_bug.cgi?id=227156 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/CagedPtr.h: |
| |
| 2021-06-17 Mark Lam <mark.lam@apple.com> |
| |
| Define MacroAssemblerARM64E::numberOfPACBits based on OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH). |
| https://bugs.webkit.org/show_bug.cgi?id=227147 |
| rdar://78785309 |
| |
| Reviewed by Saam Barati. |
| |
| For OS(DARWIN), define OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH) in terms of |
| MACH_VM_MAX_ADDRESS, which is provided by the SDK. This ensures that it is |
| correct for each target OS(DARWIN) platform. |
| |
| Also update an assertion in WTFAssertions.cpp to verify that address bits are |
| less than 48. The purpose of this assertion is to ensure that our 64-bit NaN |
| boxing encoding for JSValues will work. Hence, we should use the encoding limit |
| for pointers of 48 bits. It no longer makes sense to assert based on |
| OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH), because OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH) |
| is defined in terms of MACH_VM_MAX_ADDRESS. |
| |
| * wtf/CagedPtr.h: |
| * wtf/CompactPointerTuple.h: |
| * wtf/PlatformOS.h: |
| * wtf/WTFAssertions.cpp: |
| * wtf/threads/Signals.cpp: |
| |
| 2021-06-17 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [Win] WTF.ParseInteger and WTF.ParseIntegerAllowingTrailingJunk are failing |
| https://bugs.webkit.org/show_bug.cgi?id=227090 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| ArithmeticOperations::sub unexpectedly reported an overflow for |
| the result of std::numeric_limits<ResultType>::min() in MSVC code path. |
| For example, Checked<int, RecordOverflow>(INT_MIN + 1) - 1 was reported an overflow. |
| |
| In the case of calculating (lhs - rhs), and lhs < 0 and rhs > 0, |
| the original code reported an overflow if (rhs > max() + lhs). |
| Mathematically, this condition checks (lhs - rhs < -max()). |
| It should use min() instead of max() in this case. It should be |
| (lhs - rhs < min()) mathematically. |
| |
| * wtf/CheckedArithmetic.h: |
| |
| 2021-06-17 Alex Christensen <achristensen@webkit.org> |
| |
| Add assertion in RunLoop::dispatch |
| https://bugs.webkit.org/show_bug.cgi?id=227154 |
| <rdar://79243769> |
| |
| Reviewed by Geoff Garen. |
| |
| This should help us find what is scheduling null functions. |
| |
| * wtf/RunLoop.cpp: |
| (WTF::RunLoop::dispatch): |
| (WTF::RunLoop::dispatchAfter): |
| |
| 2021-06-17 Ben Nham <nham@apple.com> |
| |
| Remove Mac-specific CPUTime functions |
| https://bugs.webkit.org/show_bug.cgi?id=227109 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| There's no reason for the Mac-specific CPU time functions to exist, since getrusage and |
| clock_gettime work fine on Mac. It's actually slightly more efficient to use the POSIX calls |
| since getrusage returns CPU time for both current and terminated threads in a single |
| syscall, while using task_info requires two syscalls to do the same thing. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/PlatformGTK.cmake: |
| * wtf/PlatformJSCOnly.cmake: |
| * wtf/PlatformPlayStation.cmake: |
| * wtf/PlatformWPE.cmake: |
| * wtf/cocoa/CPUTimeCocoa.cpp: Removed. |
| * wtf/posix/CPUTimePOSIX.cpp: Renamed from Source/WTF/wtf/unix/CPUTimeUnix.cpp. |
| |
| 2021-06-17 Tim Horton <timothy_horton@apple.com> |
| |
| Adopt WKHoverGestureRecognizer |
| https://bugs.webkit.org/show_bug.cgi?id=227116 |
| <rdar://79442027> |
| |
| Reviewed by Wenson Hsieh. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-06-16 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Disable JITCage on macOS until we evaluate performance throughly |
| https://bugs.webkit.org/show_bug.cgi?id=227104 |
| |
| Reviewed by Mark Lam. |
| |
| This patch disables JITCage on macOS until we evaluate performance throughly. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2021-06-16 Alicia Boya GarcÃa <aboya@igalia.com> |
| |
| [WTF] DataMutex: Assert on double locking on the same thread |
| https://bugs.webkit.org/show_bug.cgi?id=227069 |
| |
| Reviewed by Xabier Rodriguez-Calvar. |
| |
| DataMutex used to use OwnerAwareLock to track what thread is holding |
| the mutex and emit assertion errors if a thread is found attempting to |
| lock a mutex held by that same thread. This turns deadlocks into |
| runtime errors. |
| |
| OwnerAwareLock was removed when DataMutex got clang thread safety |
| annotations. This patch reintroduces the same logic, while keeping |
| thread-safety annotations. |
| |
| This fixes WTF_DataMutex.DoubleLockDeathTest, which tested this |
| functionality and was previously regressed. |
| |
| * wtf/DataMutex.h: |
| |
| 2021-06-06 Darin Adler <darin@apple.com> |
| |
| Delete some recently-obsoleted files |
| https://bugs.webkit.org/show_bug.cgi?id=226705 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/CMakeLists.txt: Removed Optional.h. |
| * wtf/Optional.h: Removed. |
| |
| 2021-06-15 Alex Christensen <achristensen@webkit.org> |
| |
| Check for "xn--" in any subdomain when parsing URL hosts |
| https://bugs.webkit.org/show_bug.cgi?id=226912 |
| |
| Reviewed by Darin Adler. |
| |
| We have a fast path that doesn't call uidna_nameToASCII if the host is already ASCII. |
| We need to check if the host is properly-punycode-encoded if it starts with "xn--" |
| but we also need to check if any subdomain starts with "xn--" (not just the first one). |
| |
| In order to not regress tests, I needed to also take the fix I did in r256629 and apply it to all use of uidna_nameToASCII. |
| |
| * wtf/URL.cpp: |
| (WTF::appendEncodedHostname): |
| * wtf/URLHelpers.cpp: |
| (WTF::URLHelpers::mapHostName): |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::domainToASCII): |
| (WTF::URLParser::subdomainStartsWithXNDashDash): |
| (WTF::URLParser::parseHostAndPort): |
| (WTF::URLParser::startsWithXNDashDash): Deleted. |
| * wtf/URLParser.h: |
| |
| 2021-06-15 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| -Warray-bounds warning in Packed.h |
| https://bugs.webkit.org/show_bug.cgi?id=226557 |
| <rdar://problem/79103658> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/Bitmap.h: |
| (WTF::WordType>::clear): Use the newly-introduced IGNORE_ARRAY_BOUNDS_WARNINGS macros |
| instead of vanilla IGNORE_WARNINGS. |
| * wtf/Compiler.h: Add new IGNORE_ARRAY_BOUNDS_WARNINGS_[BEGIN,END] macros, since this |
| warning is now suppressed in several different places. |
| * wtf/Packed.h: Suppress the warning. Also, add a static_assert for safety. |
| |
| 2021-06-15 Brent Fulgham <bfulgham@apple.com> |
| |
| [Cocoa] Harden WebAuthn process by restricting to browser-entitled processes |
| https://bugs.webkit.org/show_bug.cgi?id=226772 |
| <rdar://problem/74721877> |
| |
| Reviewed by Darin Adler. |
| |
| Add a new entitlement utility that returns the String value of a given entitlement for |
| the process with the provided audit token. |
| |
| * wtf/cocoa/Entitlements.h: |
| * wtf/cocoa/Entitlements.mm: |
| (WTF::hasEntitlementValue): |
| * wtf/PlatformHave.h: Add item for PAC shared region feature. |
| |
| 2021-06-14 Per Arne <pvollan@apple.com> |
| |
| [iOS] Sync Accessibility preferences |
| https://bugs.webkit.org/show_bug.cgi?id=226738 |
| <rdar://77922839> |
| |
| Reviewed by Brent Fulgham. |
| |
| Enable Per-App Accessibility preferences on iOS. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-06-12 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Number pad button is missing its image when tapping on <input type=tel> in watchOS 8 |
| https://bugs.webkit.org/show_bug.cgi?id=226955 |
| |
| Reviewed by Darin Adler. |
| |
| Add compile-time flags to guard the presence of `PUICQuickboardController` and `PUICButtonTypePill`. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-06-11 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add WeakHashMap |
| https://bugs.webkit.org/show_bug.cgi?id=226872 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Added WeakHashMap which deletes entries during rehashing and amortized over time (based on |
| the number of read & write accesses done on a given WeakHashMap instance). |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/WeakHashMap.h: Added. |
| (WTF::WeakHashMap): Added. |
| (WTF::WeakHashMap::PeekKeyValuePairTraits): Added. |
| (WTF::WeakHashMap::PeekType): Added. |
| (WTF::WeakHashMap::PeekPtrType): Added. Unlike a regular HashMap, we need to fake the iterator |
| pointer value with this struct since key-value pair doesn't exist in HashTable itself as it stores |
| Ref<WeakRefImpl> instead. |
| (WTF::WeakHashMap::WeakHashMapIteratorBase): Added. Has a bunch of helper functions so that |
| WeakHashMapIterator and WeakHashMapConstIterator can share the code. |
| (WTF::WeakHashMap::WeakHashMapIterator): Added. |
| (WTF::WeakHashMap::WeakHashMapConstIterator): Added. |
| (WTF::WeakHashMap::AddResult): Added. |
| (WTF::WeakHashMap::begin): Added. |
| (WTF::WeakHashMap::end): Added. |
| (WTF::WeakHashMap::add): Added. |
| (WTF::WeakHashMap::set): Added. |
| (WTF::WeakHashMap::find): Added. |
| (WTF::WeakHashMap::contains): Added. |
| (WTF::WeakHashMap::get): Added. |
| (WTF::WeakHashMap::remove): Added. |
| (WTF::WeakHashMap::removeIf): Added. |
| (WTF::WeakHashMap::clear): Added. |
| (WTF::WeakHashMap::capacity): Added. |
| (WTF::WeakHashMap::isEmptyIgnoringNullReferences): Added. This is akin to WeakHashSet::computesEmpty. |
| Per prior discussion, we intend to rename WeakHashSet's version to this name as well for clarity. |
| Note that this function will clear the hash table completely if the map is semantically empty |
| but HashTable contains null references as keys. |
| (WTF::WeakHashMap::hasNullReferences): Added. Triggers amortized cleanup based on the number |
| of iterations performed. If there are no null references, it resets m_operationCountSinceLastCleanup. |
| (WTF::WeakHashMap::computeSize): Added. |
| (WTF::WeakHashMap::removeNullReferences): Added. Since WeakHashMap doesn't eagerly delete the value |
| when the key goes away, this function should be called when values held onto by WeakRefImpl with |
| the nullptr back pointer should be deleted en masse. |
| (WTF::WeakHashMap::checkConsistency): Added. |
| (WTF::WeakHashMap::makeKeyImpl): Added. |
| (WTF::WeakHashMap::keyImplIfExists): Added. |
| * wtf/WeakPtr.h: |
| |
| 2021-06-11 Jonathan Bedard <jbedard@apple.com> |
| |
| [Monterey] Support building WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=226846 |
| <rdar://problem/79095148> |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformHave.h: Add HAVE(VK_IMAGE_ANALYSIS). |
| * wtf/spi/cocoa/SecuritySPI.h: |
| |
| 2021-06-09 Chris Dumez <cdumez@apple.com> |
| |
| Avoid some calls to StringView::toString() / StringView::toStringWithoutCopying() |
| https://bugs.webkit.org/show_bug.cgi?id=226803 |
| |
| Reviewed by Darin Adler. |
| |
| Add support to TextStream for printing a StringView directly, without having to convert |
| it to a String first. |
| |
| * wtf/text/TextStream.cpp: |
| (WTF::TextStream::operator<<): |
| * wtf/text/TextStream.h: |
| |
| 2021-06-09 Alicia Boya GarcÃa <aboya@igalia.com> |
| |
| [WTF][GStreamer] Add RAII lockers for 3rd party locks |
| https://bugs.webkit.org/show_bug.cgi?id=225650 |
| |
| Reviewed by Xabier Rodriguez-Calvar. |
| |
| This patch introduces WTF::ExternalLocker, which allows to lock 3rd |
| party mutexes in a RAII fashion, very similar to WTF::Locker. |
| |
| This is used also in WebCore to provide RAII lockers for GStreamer. |
| |
| * wtf/Locker.h: |
| (WTF::unlockFunction): |
| |
| 2021-06-08 Alex Christensen <achristensen@webkit.org> |
| |
| Move PrivacyStance code from WebKitAdditions |
| https://bugs.webkit.org/show_bug.cgi?id=226774 |
| |
| Reviewed by Jer Noble. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-06-08 Ben Nham <nham@apple.com> |
| |
| Use access instead of stat in some filesystem functions |
| https://bugs.webkit.org/show_bug.cgi?id=226667 |
| |
| Reviewed by Chris Dumez. |
| |
| We are spending a bit more time in WTF::FileSystemImpl functions after the move to |
| std::filesystem (https://bugs.webkit.org/show_bug.cgi?id=225255). In particular, several |
| std::filesystem functions (like the ones called by fileExists and makeAllDirectories) prefer |
| to use stat() over access() for file existence checks. Since our sandbox has a fast path for |
| access(path, F_OK) but not for stat, we ended up spending more time in sandbox evaluation in |
| the kernel after the move to std::filesystem. |
| |
| Note that the two checks don't do exactly the same thing. access(path, F_OK) only checks for |
| path existence, while stat(path) additionally fetches metadata, which requires checking the |
| file-read-metadata permission. But in practice our code was written to be fine with just |
| checking for existence. |
| |
| To work around this, I've re-introduced some of the old WTF::FileSystemImpl functions from |
| FileSystemPosix.cpp. They are the ones that are called by NetworkCache, which seems to be |
| the biggest consumer of these functions. The rest of the functions are still implemented |
| using std::filesystem. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::fileExists): |
| (WTF::FileSystemImpl::deleteFile): |
| (WTF::FileSystemImpl::makeAllDirectories): |
| (WTF::FileSystemImpl::pathByAppendingComponent): |
| (WTF::FileSystemImpl::pathByAppendingComponents): |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/posix/FileSystemPOSIX.cpp: |
| (WTF::FileSystemImpl::fileExists): |
| (WTF::FileSystemImpl::deleteFile): |
| (WTF::FileSystemImpl::makeAllDirectories): |
| (WTF::FileSystemImpl::pathByAppendingComponent): |
| (WTF::FileSystemImpl::pathByAppendingComponents): |
| |
| 2021-06-08 Devin Rousso <drousso@apple.com> |
| |
| [Payment Request] upstream new features |
| https://bugs.webkit.org/show_bug.cgi?id=226740 |
| <rdar://problem/78963132> |
| |
| Reviewed by Andy Estes. |
| |
| - recurring line items (`HAVE_PASSKIT_RECURRING_SUMMARY_ITEM` and `ENABLE_APPLE_PAY_RECURRING_LINE_ITEM`) |
| - deferred line items (`HAVE_PASSKIT_DEFERRED_SUMMARY_ITEM` and `ENABLE_APPLE_PAY_DEFERRED_LINE_ITEM`) |
| - estimated shipping dates (`HAVE_PASSKIT_SHIPPING_METHOD_DATE_COMPONENTS_RANGE` and `ENABLE_APPLE_PAY_SHIPPING_METHOD_DATE_COMPONENTS_RANGE`) |
| - coupon code entry (`HAVE_PASSKIT_COUPON_CODE` and `ENABLE_APPLE_PAY_COUPON_CODE`) |
| - shipped vs in-store pickup (`HAVE_PASSKIT_SHIPPING_CONTACT_EDITING_MODE` and `ENABLE_APPLE_PAY_SHIPPING_CONTACT_EDITING_MODE`) |
| |
| * wtf/PlatformHave.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-06-08 Chris Dumez <cdumez@apple.com> |
| |
| Reduce use of reinterpret_cast<> in the codebase |
| https://bugs.webkit.org/show_bug.cgi?id=226743 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/CryptographicallyRandomNumber.cpp: |
| * wtf/FastMalloc.h: |
| (WTF::FastAllocator::allocate): |
| * wtf/SHA1.h: |
| (WTF::SHA1::addBytes): |
| * wtf/StackCheck.h: |
| (WTF::StackCheck::Scope::Scope): |
| (WTF::StackCheck::StackCheck): |
| * wtf/URLHelpers.cpp: |
| (WTF::URLHelpers::userVisibleURL): |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::formURLDecode): |
| * wtf/cf/URLCF.cpp: |
| (WTF::URL::createCFURL const): |
| * wtf/cocoa/URLCocoa.mm: |
| (WTF::URL::createCFURL const): |
| * wtf/persistence/PersistentCoders.cpp: |
| (WTF::Persistence::Coder<CString>::encode): |
| (WTF::Persistence::Coder<String>::encode): |
| * wtf/text/CString.h: |
| * wtf/text/WTFString.cpp: |
| (WTF::String::latin1 const): |
| * wtf/text/cf/StringImplCF.cpp: |
| (WTF::StringImpl::createCFString): |
| |
| 2021-06-08 Devin Rousso <drousso@apple.com> |
| |
| [Modern Media Controls] upstream new features |
| https://bugs.webkit.org/show_bug.cgi?id=226736 |
| <rdar://problem/78957464> |
| |
| Reviewed by Eric Carlson. |
| |
| - bring the "Audio"/"Languages" tracks menu to iOS |
| - add a new "Playback Speed" menu on iOS and macOS in the overflow menu |
| - add support for showing the most relevant `<track kind="chapters">` in the overflow menu |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-06-08 Sam Weinig <weinig@apple.com> |
| |
| Add copy of std::span so that we can use it pre-moving to c++20 |
| https://bugs.webkit.org/show_bug.cgi?id=226351 |
| |
| Reviewed by Alex Christensen. |
| |
| Imports a copy of Tristan Brindle's Boost licensed implementation of std::span |
| from 5d8d366eca918d0ed3d2d196cbeae6abfd874736 of https://github.com/tcbrindle/span. |
| |
| It has been further modified to rename tcb::span to WTF::Span. |
| |
| * LICENSE_1_0-Boost.txt: Added. |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/Span.h: Added. |
| |
| 2021-06-07 Alex Christensen <achristensen@webkit.org> |
| |
| Adopt SecTrustGetCertificateAtIndex replacement where available |
| https://bugs.webkit.org/show_bug.cgi?id=225893 |
| |
| Reviewed by Chris Dumez. |
| |
| rdar://74752046 introduced a new way to access the same thing. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-06-07 Chris Dumez <cdumez@apple.com> |
| |
| Drop legacy MainThreadTaskQueue & EventLoopTaskQueue classes |
| https://bugs.webkit.org/show_bug.cgi?id=226734 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We recently introduced the WTF::CancellableTask in order to be able to cancel |
| a pending task in the event loop, and/or check if the task is still pending. |
| It worked great as a replacement for EventLoopDeferrableTask. However, it was |
| insufficient as a replacement for task queues (such as MainThreadTaskQueue & |
| EventLoopTaskQueue) since there was no convenient way to cancel a group of |
| tasks. To address this, I am introducing WTF::TaskCancellationGroup. Whenever one |
| needs to create a CancellableTask, it now needs to provide a TaskCancellationGroup. |
| Several CancellableTask objects can share the same TaskCancellationGroup. Code now |
| now schedule one or more CancellableTasks on the event loop and hold on |
| to a TaskCancellationGroup. If they need to cancel those tasks, they can simply |
| call cancel() on the TaskCancellationGroup. They can also check if previously |
| scheduled tasks are still pending via TaskCancellationGroup::hasPendingTask(). |
| |
| * wtf/CancellableTask.h: |
| (WTF::TaskCancellationGroup::TaskCancellationGroup): |
| (WTF::TaskCancellationGroup::cancel): |
| (WTF::TaskCancellationGroup::hasPendingTask const): |
| (WTF::TaskCancellationGroup::Impl::cancel): |
| (WTF::TaskCancellationGroup::Impl::hasPendingTask const): |
| (WTF::TaskCancellationGroup::Handle::isCancelled const): |
| (WTF::TaskCancellationGroup::Handle::Handle): |
| (WTF::TaskCancellationGroup::createHandle): |
| (WTF::CancellableTask::CancellableTask): |
| (WTF::CancellableTask::operator()): |
| * wtf/WeakPtr.h: |
| (WTF::WeakPtrFactory::weakPtrCount const): |
| |
| 2021-06-07 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Upstream WebKit support for Live Text |
| https://bugs.webkit.org/show_bug.cgi?id=226706 |
| <rdar://problem/78933684> |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| Move the feature flag out of WebKitAdditions and into OpenSource as IMAGE_ANALYSIS. |
| |
| 2021-06-07 Alicia Boya GarcÃa <aboya@igalia.com> |
| |
| [WTF][GStreamer] Fix clang TSA warnings in WTF::DataMutex |
| https://bugs.webkit.org/show_bug.cgi?id=226719 |
| |
| Reviewed by Xabier Rodriguez-Calvar. |
| |
| Fix the remaning clang thread safety warnings in WTF::DataMutex. |
| |
| The goal of this patch is to reduce the number of warnings in the |
| GStreamer codebase. Whether DataMutex should be deprecated in favor of |
| Locker with the clang TSA annotations is outside of the scope of this |
| patch. |
| |
| * wtf/DataMutex.h: |
| |
| 2021-06-07 Alicia Boya GarcÃa <aboya@igalia.com> |
| |
| [GStreamer] Remove spurious assert in WTF::DataMutex |
| https://bugs.webkit.org/show_bug.cgi?id=226714 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Remove DATA_MUTEX_CHECK(!mutex().isHeld()); from the DataMutexLocker |
| constructor, introduced in r278248. |
| |
| Trying to lock a currently held mutex is not an error condition that |
| should crash the process, it will just wait for its turn to lock it. |
| |
| * wtf/DataMutex.h: |
| |
| 2021-06-06 Chris Dumez <cdumez@apple.com> |
| |
| Stop using legacy EventLoopDeferrableTask |
| https://bugs.webkit.org/show_bug.cgi?id=226700 |
| |
| Reviewed by Darin Adler. |
| |
| Introduce new WTF::CancellableTask type which is a wrapper around a WTF::Function. |
| It can create a handle for the task and this handle can be used to check if the |
| task is still pending and to cancel it. This is useful when scheduling tasks in the |
| event loop for example as there are cases where we need to know if a task we |
| scheduled is still pending (to avoid double scheduling) or where we need to cancel |
| a previously scheduled task. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/CancellableTask.h: Added. |
| (WTF::CancellableTask::CancellableTask): |
| (WTF::CancellableTask::operator()): |
| (WTF::CancellableTask::isPending const): |
| (WTF::CancellableTask::cancel): |
| (WTF::CancellableTask::Handle::Handle): |
| (WTF::CancellableTask::Handle::isPending const): |
| (WTF::CancellableTask::Handle::cancel): |
| (WTF::CancellableTask::createHandle): |
| |
| 2021-06-04 Chris Dumez <cdumez@apple.com> |
| |
| FileSystem::readFromFile() should return data as `void*` |
| https://bugs.webkit.org/show_bug.cgi?id=226671 |
| |
| Reviewed by Darin Adler. |
| |
| FileSystem::readFromFile() should return data as `void*` instead of `char*`. This is more flexible and |
| consistent with FileSystem::writeToFile(). |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::appendFileContentsToFileHandle): |
| (WTF::FileSystemImpl::readOrMakeSalt): |
| * wtf/FileSystem.h: |
| * wtf/glib/FileSystemGlib.cpp: |
| (WTF::FileSystemImpl::readFromFile): |
| * wtf/posix/FileSystemPOSIX.cpp: |
| (WTF::FileSystemImpl::readFromFile): |
| * wtf/win/FileSystemWin.cpp: |
| (WTF::FileSystemImpl::readFromFile): |
| |
| 2021-06-04 Alex Christensen <achristensen@webkit.org> |
| |
| Implement off-by-default experimental feature for PerformanceResourceTiming.transferSize, encodedBodySize, and decodedBodySize |
| https://bugs.webkit.org/show_bug.cgi?id=226629 |
| |
| Reviewed by Brady Eidson. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-06-04 Devin Rousso <drousso@apple.com> |
| |
| Add a way to prefix output of `WTFReportBacktrace` to make log filtering easier |
| https://bugs.webkit.org/show_bug.cgi?id=226390 |
| |
| Reviewed by Megan Gardner. |
| |
| Often times while debugging I add `WTFLogAlways("<DR> ...")` to various places as indicators |
| that "logic has reached here". This is especially useful when debugging iOS as unlike macOS |
| there's no console output from `run-safari`, meaning that I have to use system logging, |
| which is often a deluge of unrelated information. Having "<DR>" as a prefix makes filtering |
| through the system logging trivial as I can ignore logs that don't have it. Unfortunately, |
| `WTFReportBacktrace` does not have a way to add this prefix, so it becomes much harder to |
| find in the logs. This patch enables adding a prefix to each line of `WTFReportBacktrace` |
| via a new function `WTFReportBactraceWithPrefix`. |
| |
| * wtf/Assertions.h: |
| * wtf/Assertions.cpp: |
| (WTFReportBacktraceWithPrefix): Added. |
| (WTFPrintBacktraceWithPrefix): Added. |
| |
| * wtf/StackTrace.h: |
| (WTF::StackTrace::StackTrace): |
| * wtf/StackTrace.cpp: |
| (WTF::StackTrace::dump const): |
| |
| 2021-06-04 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| Fix more GCC warnings |
| https://bugs.webkit.org/show_bug.cgi?id=226193 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| Add missing static_cast<void*> required to suppress GCC's -Wclass-memaccess warning when |
| intentionally not running constructors/destructors. There's already a static_assert to |
| ensure this is safe, which is better than usual for us. |
| |
| * wtf/SmallSet.h: |
| |
| 2021-06-03 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed build fix after r277881. |
| |
| Fix warning about unused function. |
| |
| * wtf/cocoa/FileSystemCocoa.mm: |
| |
| 2021-06-03 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| REGRESSION(r277744): Broke build on s390x mainframes |
| https://bugs.webkit.org/show_bug.cgi?id=226497 |
| |
| Reviewed by Darin Adler. |
| |
| The problem is we have a template defined in a C++ source file, used by multiple source |
| files. This is not valid C++, so let's split the templates defined in StringBuilder.cpp out |
| into a new StringBuilderInternals.h that we can #include in both StringBuilder.cpp and |
| StringBuilderJSON.cpp. |
| |
| Ideally we would move the template defined in StringBuilderJSON.cpp as well, and then |
| eliminate StringBuilderJSON.cpp since there would only be one function left. But that file |
| has an MPL license. It's easier to leave it be to keep the license situation simpler. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/text/StringBuilder.cpp: |
| (WTF::StringBuilder::expandedCapacity): |
| (WTF::expandedCapacity): Deleted. |
| (WTF::StringBuilder::allocateBuffer): Deleted. |
| (WTF::StringBuilder::extendBufferForAppending): Deleted. |
| (WTF::StringBuilder::extendBufferForAppendingSlowCase): Deleted. |
| * wtf/text/StringBuilder.h: |
| * wtf/text/StringBuilderInternals.h: Added. |
| (WTF::StringBuilder::allocateBuffer): |
| (WTF::StringBuilder::reallocateBuffer): |
| (WTF::StringBuilder::extendBufferForAppending): |
| (WTF::StringBuilder::extendBufferForAppendingSlowCase): |
| * wtf/text/StringBuilderJSON.cpp: |
| |
| 2021-06-02 Chris Dumez <cdumez@apple.com> |
| |
| Drop WTF::Vector overloads taking index as Checked<size_t> |
| https://bugs.webkit.org/show_bug.cgi?id=226553 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Drop WTF::Vector overloads taking index as Checked<size_t>. They are no longer needed now that |
| Checked<size_t> can implicitly get converted to size_t (r278338). |
| |
| * wtf/Vector.h: |
| (WTF::Vector::at const): |
| (WTF::Vector::operator[] const): |
| |
| 2021-06-02 Chris Dumez <cdumez@apple.com> |
| |
| Drop Checked::safeGet() |
| https://bugs.webkit.org/show_bug.cgi?id=226537 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Drop Checked::safeGet() and replace with uses of Checked::operator T() or Checked::value(). |
| safeGet() is a bit akward, having both a return value and an out-parameter. |
| |
| * wtf/CheckedArithmetic.h: |
| (WTF::Checked::value const): |
| (WTF::operator+): |
| (WTF::operator-): |
| (WTF::operator*): |
| (WTF::operator/): |
| |
| 2021-06-02 Antti Koivisto <antti@apple.com> |
| |
| Style::Scope should use CheckedPtr |
| https://bugs.webkit.org/show_bug.cgi?id=226530 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/CMakeLists.txt: |
| |
| 2021-06-02 Chris Dumez <cdumez@apple.com> |
| |
| Use Checked aliases instead of Checked<T, RecordOverflow> |
| https://bugs.webkit.org/show_bug.cgi?id=226535 |
| |
| Reviewed by Keith Miller. |
| |
| * wtf/URLHelpers.cpp: |
| (WTF::URLHelpers::userVisibleURL): |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::parseIPv4Piece): |
| * wtf/cocoa/NSURLExtras.mm: |
| (WTF::dataWithUserTypedString): |
| * wtf/glib/SocketConnection.cpp: |
| (WTF::SocketConnection::sendMessage): |
| |
| 2021-05-23 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add CheckedPtr |
| https://bugs.webkit.org/show_bug.cgi?id=226158 |
| |
| Reviewed by Antti Koivisto. |
| |
| This patch introduces a new type of smart pointer, CheckedPtr, which behaves like RefPtr and |
| let each object keep track of pointers pointing to the object. Unlike CheckedPtr, the purpose of |
| this internal counter is to release assert that there is no outstanding pointer at the time |
| of destruction instead of keeping the object alive when there is one. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CheckedPtr.h: Added. |
| (WTF::CheckedPtr): Added. |
| (WTF::CheckedPtr::CheckedPtr): Added. |
| (WTF::CheckedPtr::~CheckedPtr): Added. |
| (WTF::CheckedPtr::isHashTableDeletedValue const): Added. |
| (WTF::CheckedPtr::operator UnspecifiedBoolType const): Added. |
| (WTF::CheckedPtr::operator! const): Added. |
| (WTF::CheckedPtr::get const): Added. |
| (WTF::CheckedPtr::get): Added. |
| (WTF::CheckedPtr::operator* const): Added. |
| (WTF::CheckedPtr::operator*): Added. |
| (WTF::CheckedPtr::operator-> const): Added. |
| (WTF::CheckedPtr::operator->): Added. |
| (WTF::CheckedPtr::operator== const): Added. |
| (WTF::CheckedPtr::operator=): Added. |
| (WTF::CheckedPtr::unspecifiedBoolTypeInstance const): Added. |
| (WTF::CheckedPtr::refIfNotNull): Added. |
| (WTF::CheckedPtr::derefIfNotNull): Added. |
| (WTF::makeCheckedPtr): Added. |
| (WTF::is): Added. |
| (WTF::CanMakeCheckedPtr): Added. |
| (WTF::CanMakeCheckedPtr::~CanMakeCheckedPtr): Added. Release assert that m_ptrCount is 0. |
| (WTF::CanMakeCheckedPtr::ptrCount const): Added. |
| (WTF::CanMakeCheckedPtr::incrementPtrCount): Added. |
| (WTF::CanMakeCheckedPtr::decrementPtrCount): Added. Note that we don't do anything when m_ptrCount |
| becomes 0 unlike RefPtr. |
| (WTF::HashTraits<CheckedPtr<P>>): Added. |
| (WTF::HashTraits<CheckedPtr<P>>::emptyValue): Added. |
| (WTF::HashTraits<CheckedPtr<P>>::peek): Added. |
| (WTF::HashTraits<CheckedPtr<P>>::customDeleteBucket): Added. |
| |
| 2021-06-01 Darin Adler <darin@apple.com> |
| |
| Remove <wtf/Optional.h> |
| https://bugs.webkit.org/show_bug.cgi?id=226437 |
| |
| Reviewed by Chris Dumez. |
| |
| * <many files>: Removed include of <wtf/Optional.h>. |
| |
| * WTF.xcodeproj/project.pbxproj: Removed Optional.h. |
| |
| * wtf/Markable.h: Added include of <optional>. |
| * wtf/OptionSet.h: Ditto. |
| |
| * wtf/Optional.h: Emptied this file. On the Windows build system, we can't |
| seem to build successfully without an empty file here. The copied forwarding |
| header seems to linger even if we remove the original. Until we fix the |
| Windows build system, if we want to support incremental builds, we need |
| to keep this empty file around. |
| |
| * wtf/PrintStream.h: Added include of <optional>. |
| * wtf/Seconds.h: Ditto. |
| * wtf/StackTrace.h: Ditto. |
| |
| * wtf/StdLibExtras.h: Moved the valueOrCompute function here from Optional.h. |
| Re-sorted the "using" at the bottom of the file. |
| |
| * wtf/URLHelpers.h: Added include of <optional>. |
| * wtf/Vector.h: Ditto. |
| |
| 2021-06-01 Chris Dumez <cdumez@apple.com> |
| |
| Rename Checked::unsafeGet() to Checked::value() |
| https://bugs.webkit.org/show_bug.cgi?id=226514 |
| |
| Reviewed by Darin Adler. |
| |
| Rename Checked::unsafeGet() to Checked::value(). The "unsafeGet" naming is confusing as this |
| function isn't really unsafe since it will crash if the value has overflowed. Also add an |
| `operator T()` to implicitly convert a Checked to its underlying type without needing to |
| call value(). |
| |
| * wtf/CheckedArithmetic.h: |
| (WTF::Checked::operator! const): |
| (WTF::Checked::operator bool const): |
| (WTF::Checked::operator T const): |
| (WTF::Checked::value const): |
| (WTF::Checked::operator==): |
| (WTF::Checked::operator< const): |
| (WTF::Checked::operator<= const): |
| (WTF::Checked::operator> const): |
| (WTF::Checked::operator>= const): |
| * wtf/ConcurrentBuffer.h: |
| * wtf/FastMalloc.cpp: |
| (WTF::fastCalloc): |
| (WTF::tryFastCalloc): |
| * wtf/Gigacage.cpp: |
| (Gigacage::tryMallocArray): |
| * wtf/URLHelpers.cpp: |
| (WTF::URLHelpers::userVisibleURL): |
| * wtf/URLParser.cpp: |
| (WTF::URLParser::parseIPv4Piece): |
| * wtf/UniqueArray.h: |
| * wtf/cocoa/NSURLExtras.mm: |
| (WTF::dataWithUserTypedString): |
| * wtf/glib/SocketConnection.cpp: |
| (WTF::SocketConnection::readMessage): |
| (WTF::SocketConnection::sendMessage): |
| * wtf/text/CString.cpp: |
| (WTF::CStringBuffer::createUninitialized): |
| * wtf/text/StringBuffer.h: |
| (WTF::StringBuffer::StringBuffer): |
| * wtf/text/StringBuilderJSON.cpp: |
| (WTF::StringBuilder::appendQuotedJSONString): |
| * wtf/text/StringConcatenate.h: |
| (WTF::tryMakeStringFromAdapters): |
| * wtf/text/StringImpl.h: |
| (WTF::StringImpl::allocationSize): |
| * wtf/text/StringToIntegerConversion.h: |
| (WTF::parseInteger): |
| |
| 2021-06-01 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed build fix after r277881. |
| |
| Silence unused parameter warnings. |
| |
| * wtf/cocoa/FileSystemCocoa.mm: |
| (WTF::FileSystemImpl::setAllowsMaterializingDatalessFiles): |
| (WTF::FileSystemImpl::allowsMaterializingDatalessFiles): Deleted. |
| (WTF::FileSystemImpl::isSafeToUseMemoryMapForPath): Deleted. |
| (WTF::FileSystemImpl::makeSafeToUseMemoryMapForPath): Deleted. |
| |
| 2021-06-01 Adrian Perez de Castro <aperez@igalia.com> |
| |
| [WPE][GTK] Support building against uClibc |
| https://bugs.webkit.org/show_bug.cgi?id=226244 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * wtf/PlatformRegisters.h: Use the <sys/ucontext.h> header instead of |
| <ucontext.h>, which is enough to gain access to the type definitions |
| for CPU registers and is available on every libc. On the other hand, |
| uClibc does not have <ucontext.h>, so this fixes the build in that |
| case. |
| |
| 2021-05-30 Chris Dumez <cdumez@apple.com> |
| |
| Drop UncheckedCondition / UncheckedLock |
| https://bugs.webkit.org/show_bug.cgi?id=226432 |
| |
| Reviewed by Darin Adler. |
| |
| Drop UncheckedCondition / UncheckedLock now that the whole codebase has been ported to |
| Condition / Lock, which support Clang thread safety analysis. |
| |
| * wtf/Condition.h: |
| * wtf/Forward.h: |
| * wtf/Lock.cpp: |
| (WTF::Lock::lockSlow): |
| (WTF::Lock::unlockSlow): |
| (WTF::Lock::unlockFairlySlow): |
| (WTF::Lock::safepointSlow): |
| * wtf/Lock.h: |
| (WTF::assertIsHeld): |
| (WTF::WTF_ASSERTS_ACQUIRED_LOCK): |
| |
| 2021-05-30 Darin Adler <darin@apple.com> |
| |
| Remove WTF::Optional synonym for std::optional, using that class template directly instead |
| https://bugs.webkit.org/show_bug.cgi?id=226433 |
| |
| Reviewed by Chris Dumez. |
| |
| * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. |
| |
| * wtf/Optional.h: Remove WTF::Optional. |
| |
| 2021-05-29 Chris Dumez <cdumez@apple.com> |
| |
| Stop using UncheckedLock in JSC::VMInspector |
| https://bugs.webkit.org/show_bug.cgi?id=226427 |
| |
| Reviewed by Mark Lam. |
| |
| Add Lock::tryLockWithTimeout(), similar to tryLock() but gives up after a |
| specified timeout. This used to be implemented in VMInspector but I think |
| Lock is a better place for it. |
| |
| * wtf/Lock.cpp: |
| (WTF::Lock::tryLockWithTimeout): |
| * wtf/Lock.h: |
| |
| 2021-05-29 Chris Dumez <cdumez@apple.com> |
| |
| Adopt clang thread safety annotations in WTF::DataMutex |
| https://bugs.webkit.org/show_bug.cgi?id=226431 |
| |
| Reviewed by Darin Adler. |
| |
| Adopt clang thread safety annotations in WTF::DataMutex. This allows us to |
| stop using UncheckedCondition in a few places. |
| |
| * wtf/DataMutex.h: |
| (WTF::DataMutex::DataMutex): |
| |
| 2021-05-28 Darin Adler <darin@apple.com> |
| |
| Clients of optional should use has_value instead of relying on hasValue macro |
| https://bugs.webkit.org/show_bug.cgi?id=226395 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/Hasher.h: Use has_value. |
| |
| * wtf/Optional.h: Remove hasValue macro. Not needed any more, but also a bit |
| dangerous because of how widespread the use of hasValue is for things other |
| than WTF::Optional. |
| |
| 2021-05-28 Alex Christensen <achristensen@webkit.org> |
| |
| Punycode encode U+0BE6 when not in context of other Tamil characters |
| https://bugs.webkit.org/show_bug.cgi?id=226409 |
| <rdar://78160926> |
| |
| Reviewed by Tim Horton. |
| |
| It has quite legitimate use, so we don't want to always punycode encode it, |
| but when used in the context of non-Tamil characters we want to punycode encode it. |
| |
| * wtf/URLHelpers.cpp: |
| (WTF::URLHelpers::isLookalikeCharacterOfScriptType<USCRIPT_ARMENIAN>): |
| (WTF::URLHelpers::isLookalikeCharacterOfScriptType<USCRIPT_TAMIL>): |
| (WTF::URLHelpers::isOfScriptType): |
| (WTF::URLHelpers::isLookalikeSequence): |
| (WTF::URLHelpers::isLookalikeCharacter): |
| (WTF::URLHelpers::isArmenianLookalikeCharacter): Deleted. |
| (WTF::URLHelpers::isArmenianScriptCharacter): Deleted. |
| (WTF::URLHelpers::isArmenianLookalikeSequence): Deleted. |
| |
| 2021-05-28 Chris Dumez <cdumez@apple.com> |
| |
| Stop using UncheckedLock in WTF::MetaAllocator |
| https://bugs.webkit.org/show_bug.cgi?id=226396 |
| |
| Reviewed by Darin Adler. |
| |
| Stop using UncheckedLock in WTF::MetaAllocator, as it is being phased out in favor on Lock, |
| which supports Clang thread safety analysis. |
| |
| * wtf/MetaAllocator.cpp: |
| (WTF::MetaAllocator::release): |
| (WTF::MetaAllocator::MetaAllocator): |
| (WTF::MetaAllocator::allocate): |
| (WTF::MetaAllocator::currentStatistics): |
| * wtf/MetaAllocator.h: |
| |
| 2021-05-28 Robin Morisset <rmorisset@apple.com> |
| |
| Fix LikelyDenseUnsignedIntegerSet::clear() |
| https://bugs.webkit.org/show_bug.cgi?id=226388 |
| |
| Reviewed by Mark Lam. |
| |
| There are two problems with it: |
| 1) It calls BitVector::clearAll(), which does not free any memory. |
| Instead, it should call BitVector::~BitVector(), then do a placement new of a fresh BitVector (to get it back to its inline condition) |
| 2) More problematically, it changes m_size before calling isBitVector() which relies crucially on the value of m_size. |
| So it is going to believe that it is in BitVector mode even when it is actually in HashSet mode. |
| |
| * wtf/LikelyDenseUnsignedIntegerSet.h: |
| (WTF::LikelyDenseUnsignedIntegerSet::clear): |
| |
| 2021-05-28 Sam Weinig <weinig@apple.com> |
| |
| Add stub implementation of CA separated portal bits for GraphicsLayer |
| https://bugs.webkit.org/show_bug.cgi?id=226343 |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/PlatformHave.h: Add HAVE_CORE_ANIMATION_SEPARATED_PORTALS. |
| |
| 2021-05-28 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed build fix after r277881. |
| |
| Deal with IOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES potentially not being defined on |
| older OSes. |
| |
| * wtf/cocoa/FileSystemCocoa.mm: |
| (WTF::FileSystemImpl::setAllowsMaterializingDatalessFiles): |
| (WTF::FileSystemImpl::allowsMaterializingDatalessFiles): |
| |
| 2021-05-28 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed build fix after r277881. |
| |
| Add missing header include. |
| |
| * wtf/cocoa/FileSystemCocoa.mm: |
| |
| 2021-05-27 Said Abou-Hallawa <said@apple.com> |
| |
| Values of keySplines control points must all be in the range 0 to 1 |
| https://bugs.webkit.org/show_bug.cgi?id=226336 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/MathExtras.h: |
| (isInRange): |
| There are a least couple of implementations of this function in WebCore. |
| The next step is to remove the redundant code in WebCore and use this one. |
| |
| 2021-05-27 Robin Morisset <rmorisset@apple.com> |
| |
| AirAllocateStackByGraphColoring should use the optimized interference graphs from AirAllocateRegistersByGraphColoring |
| https://bugs.webkit.org/show_bug.cgi?id=226258 |
| |
| Reviewed by Phil Pizlo. |
| |
| I moved the interference graphs datastructures from AirAllocateRegistersByGraphColoring to their own wtf/InterferenceGraph.h file. |
| There are three of them: |
| - SmallInterferenceGraph, best for n < 400 |
| - LargeInterferenceGraph, for n < 2**16 |
| - HugeInterferenceGraph, for n up to 2**32 |
| I also added "Iterable" versions of them, that have an operator[] method whose result you can iterate on to get all the indices which interfere with a given index. |
| SmallIterableInterferenceGraph is the same as the non-iterable version, but the Large and Huge versions are a bit slower than their counterparts and use 2x memory. |
| |
| All of these were tested by running JetStream2 with the TEST_OPTIMIZED_INTERFERENCE_GRAPH set to 1. |
| This flag makes the optimized datastructures run in parallel with a reference implementation, and their results are checked for equality on every method call. |
| There is one small difference allowed: iteration is not guaranteed to go through elements in the same order. |
| |
| I also added a clear() method to LikelyDenseUnsignedIntegerSet, and added the NotNull flag to its various uses of placement new. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/HashSet.h: |
| (WTF::W>::memoryUse const): |
| * wtf/InterferenceGraph.h: Added. |
| (WTF::InterferenceBitVector::contains): |
| (WTF::InterferenceBitVector::addAndReturnIsNewEntry): |
| (WTF::InterferenceBitVector::add): |
| (WTF::InterferenceBitVector::clear): |
| (WTF::InterferenceBitVector::mayClear): |
| (WTF::InterferenceBitVector::setMaxIndex): |
| (WTF::InterferenceBitVector::forEach): |
| (WTF::InterferenceBitVector::size const): |
| (WTF::InterferenceBitVector::memoryUse const): |
| (WTF::InterferenceBitVector::dumpMemoryUseInKB const): |
| (WTF::InterferenceBitVector::Iterable::iterator::operator++): |
| (WTF::InterferenceBitVector::Iterable::iterator::operator* const): |
| (WTF::InterferenceBitVector::Iterable::iterator::operator== const): |
| (WTF::InterferenceBitVector::Iterable::iterator::operator!= const): |
| (WTF::InterferenceBitVector::Iterable::begin const): |
| (WTF::InterferenceBitVector::Iterable::end const): |
| (WTF::InterferenceBitVector::operator[] const): |
| (WTF::InterferenceBitVector::index const): |
| (WTF::InterferenceVector::contains): |
| (WTF::InterferenceVector::addAndReturnIsNewEntry): |
| (WTF::InterferenceVector::add): |
| (WTF::InterferenceVector::clear): |
| (WTF::InterferenceVector::mayClear): |
| (WTF::InterferenceVector::setMaxIndex): |
| (WTF::InterferenceVector::forEach): |
| (WTF::InterferenceVector::size const): |
| (WTF::InterferenceVector::memoryUse const): |
| (WTF::InterferenceVector::dumpMemoryUseInKB const): |
| (WTF::InterferenceVector::Iterable::begin const): |
| (WTF::InterferenceVector::Iterable::end const): |
| (WTF::InterferenceVector::operator[] const): |
| (WTF::UndirectedEdgesDuplicatingAdapter::contains): |
| (WTF::UndirectedEdgesDuplicatingAdapter::addAndReturnIsNewEntry): |
| (WTF::UndirectedEdgesDuplicatingAdapter::add): |
| (WTF::UndirectedEdgesDuplicatingAdapter::clear): |
| (WTF::UndirectedEdgesDuplicatingAdapter::mayClear): |
| (WTF::UndirectedEdgesDuplicatingAdapter::setMaxIndex): |
| (WTF::UndirectedEdgesDuplicatingAdapter::forEach): |
| (WTF::UndirectedEdgesDuplicatingAdapter::size const): |
| (WTF::UndirectedEdgesDuplicatingAdapter::memoryUse const): |
| (WTF::UndirectedEdgesDuplicatingAdapter::dumpMemoryUseInKB const): |
| (WTF::UndirectedEdgesDuplicatingAdapter::operator[] const): |
| (WTF::UndirectedEdgesDedupAdapter::contains): |
| (WTF::UndirectedEdgesDedupAdapter::addAndReturnIsNewEntry): |
| (WTF::UndirectedEdgesDedupAdapter::add): |
| (WTF::UndirectedEdgesDedupAdapter::clear): |
| (WTF::UndirectedEdgesDedupAdapter::mayClear): |
| (WTF::UndirectedEdgesDedupAdapter::setMaxIndex): |
| (WTF::UndirectedEdgesDedupAdapter::forEach): |
| (WTF::UndirectedEdgesDedupAdapter::size const): |
| (WTF::UndirectedEdgesDedupAdapter::memoryUse const): |
| (WTF::UndirectedEdgesDedupAdapter::dumpMemoryUseInKB const): |
| (WTF::InterferenceHashSet::contains): |
| (WTF::InterferenceHashSet::addAndReturnIsNewEntry): |
| (WTF::InterferenceHashSet::add): |
| (WTF::InterferenceHashSet::clear): |
| (WTF::InterferenceHashSet::setMaxIndex): |
| (WTF::InterferenceHashSet::forEach): |
| (WTF::InterferenceHashSet::size const): |
| (WTF::InterferenceHashSet::memoryUse const): |
| (WTF::InterferenceHashSet::dumpMemoryUseInKB const): |
| (WTF::InstrumentedInterferenceGraph::contains): |
| (WTF::InstrumentedInterferenceGraph::addAndReturnIsNewEntry): |
| (WTF::InstrumentedInterferenceGraph::add): |
| (WTF::InstrumentedInterferenceGraph::clear): |
| (WTF::InstrumentedInterferenceGraph::mayClear): |
| (WTF::InstrumentedInterferenceGraph::setMaxIndex): |
| (WTF::InstrumentedInterferenceGraph::forEach): |
| (WTF::InstrumentedInterferenceGraph::size const): |
| (WTF::InstrumentedInterferenceGraph::memoryUse const): |
| (WTF::InstrumentedInterferenceGraph::dumpMemoryUseInKB const): |
| (WTF::InstrumentedIterableInterferenceGraph::Iterable::Iterable): |
| (WTF::InstrumentedIterableInterferenceGraph::Iterable::begin const): |
| (WTF::InstrumentedIterableInterferenceGraph::Iterable::end const): |
| (WTF::InstrumentedIterableInterferenceGraph::operator[] const): |
| * wtf/LikelyDenseUnsignedIntegerSet.h: |
| (WTF::LikelyDenseUnsignedIntegerSet::LikelyDenseUnsignedIntegerSet): |
| (WTF::LikelyDenseUnsignedIntegerSet::clear): |
| (WTF::LikelyDenseUnsignedIntegerSet::add): |
| (WTF::LikelyDenseUnsignedIntegerSet::estimateHashSetSize): |
| (WTF::LikelyDenseUnsignedIntegerSet::transitionToHashSet): |
| (WTF::LikelyDenseUnsignedIntegerSet::transitionToBitVector): |
| |
| 2021-05-27 Darin Adler <darin@apple.com> |
| |
| Next step toward using std::optional directly instead of through WTF::Optional typedef |
| https://bugs.webkit.org/show_bug.cgi?id=226280 |
| |
| Reviewed by Chris Dumez. |
| |
| * <many files>: Accept the renaming done by do-webcore-rename. |
| |
| * wtf/Optional.h: Remove WTF::nullopt_t and WTF::makeOptional. |
| |
| * wtf/URLHelpers.cpp: |
| (WTF::URLHelpers::mapHostName): Convert from nullopt to std::nullopt. |
| |
| 2021-05-27 Sihui Liu <sihui_liu@apple.com> |
| |
| Abandon pending tasks on background thread when WebIDBServer is closed |
| https://bugs.webkit.org/show_bug.cgi?id=226295 |
| |
| Reviewed by Chris Dumez. |
| |
| Make the wait end with either a new message or queue being killed. |
| |
| * wtf/CrossThreadQueue.h: |
| (WTF::CrossThreadQueue<DataType>::waitForMessage): |
| * wtf/CrossThreadTask.h: |
| (WTF::CrossThreadTask::operator bool const): |
| * wtf/CrossThreadTaskHandler.cpp: |
| (WTF::CrossThreadTaskHandler::taskRunLoop): |
| |
| 2021-05-27 Don Olmstead <don.olmstead@sony.com> |
| |
| [CMake] Add check for timingsafe_bcmp |
| https://bugs.webkit.org/show_bug.cgi?id=226347 |
| |
| Reviewed by Chris Dumez. |
| |
| Use HAVE(TIMINGSAFE_BCMP) in CryptographicUtilities code. Set its value in PlatformHave for |
| platforms not using CMake. |
| |
| * wtf/CryptographicUtilities.cpp: |
| * wtf/CryptographicUtilities.h: |
| * wtf/PlatformHave.h: |
| |
| 2021-05-27 Mikhail R. Gadelha <mikhail.ramalho@gmail.com> |
| |
| Increase NumberToStringBuffer to account for negative number |
| https://bugs.webkit.org/show_bug.cgi?id=226014 |
| |
| Reviewed by Robin Morisset. |
| |
| In r250389, NumberToStringBuffer length was increased from 96 to 123 because: |
| |
| <21 digits> + decimal point + <100 digits> + null char = 123. |
| |
| however, |
| |
| a = -100000000000000000000 |
| a.toFixed(100) |
| |
| is a valid conversion and it is 124 chars long, because of the "-" sign. |
| |
| So this patch increases the length of NumberToStringBuffer to 124 and adds new |
| test cases. |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * wtf/dtoa.h: |
| |
| 2021-05-27 Alex Christensen <achristensen@webkit.org> |
| |
| Revert r277344 |
| https://bugs.webkit.org/show_bug.cgi?id=225602 |
| <rdar://78411776> |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-05-27 Devin Rousso <drousso@apple.com> |
| |
| Use `NSLocale` SPI for comparing language identifiers instead of string comparison |
| https://bugs.webkit.org/show_bug.cgi?id=226252 |
| |
| Reviewed by Wenson Hsieh. |
| |
| The existing `indexOfBestMatchingLanguageInList` logic uses (sub)string comparison of BCP47 |
| language tags (e.g. looking for a `'-'` and comparing the substring before and after in the |
| input language and each item in the language list). While this does work for some languages, |
| it's really not the correct way to compare BCP47 language tags. Additionally, it basically |
| ignores the text after the first `'-'`, unless there's an exact match with the input |
| language. This leads to `"zh-CN"` and `"zh-HK"` being considered a (not exact) match, which |
| isn't ideal. |
| |
| * wtf/Language.cpp: |
| * wtf/cocoa/LanguageCocoa.mm: |
| (WTF::indexOfBestMatchingLanguageInList): Added. |
| * wtf/spi/cocoa/NSLocaleSPI.h: |
| |
| 2021-05-26 Cameron McCormack <heycam@apple.com> |
| |
| Prevent sbix glyphs from being rendered in the GPU process |
| https://bugs.webkit.org/show_bug.cgi?id=226159 |
| <rdar://77231959> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformHave.h: Add HAVE_CORE_TEXT_SBIX_IMAGE_SIZE_FUNCTIONS. |
| |
| 2021-05-26 Chris Dumez <cdumez@apple.com> |
| |
| Leverage the new Vector(const T*, size_t) constructor |
| https://bugs.webkit.org/show_bug.cgi?id=226304 |
| |
| Reviewed by Darin Adler. |
| |
| Leverage the new Vector(const T*, size_t) constructor in existing code. |
| |
| * wtf/text/WTFString.cpp: |
| (asciiDebug): |
| |
| 2021-05-26 Chris Dumez <cdumez@apple.com> |
| |
| Use timingsafe_bcmp() in WTF::constantTimeMemcmp() when available |
| https://bugs.webkit.org/show_bug.cgi?id=226294 |
| <rdar://problem/78542643> |
| |
| Reviewed by Darin Adler. |
| |
| Follow-up to r278140 to address post-landing feedback. |
| |
| * wtf/CryptographicUtilities.cpp: |
| (WTF::constantTimeMemcmp): |
| * wtf/CryptographicUtilities.h: |
| (WTF::constantTimeMemcmp): |
| |
| 2021-05-26 Chris Dumez <cdumez@apple.com> |
| |
| Use timingsafe_bcmp() in WTF::constantTimeMemcmp() when available |
| https://bugs.webkit.org/show_bug.cgi?id=226294 |
| |
| Reviewed by Alex Christensen. |
| |
| Use timingsafe_bcmp() in WTF::constantTimeMemcmp() when available (iOS, macOS, FreeBSD, OpenBSD), |
| instead of our own custom implementation. |
| |
| * wtf/CryptographicUtilities.cpp: |
| (WTF::constantTimeMemcmp): |
| |
| 2021-05-26 Chris Dumez <cdumez@apple.com> |
| |
| [Hardening] Have the Ref<> destructor null out its pointer |
| https://bugs.webkit.org/show_bug.cgi?id=226293 |
| <rdar://problem/78532149> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/Ref.h: |
| (WTF::Ref::~Ref): |
| |
| 2021-05-26 Alex Christensen <achristensen@webkit.org> |
| |
| URL path setter messes up UTF-8 encoding after ? |
| https://bugs.webkit.org/show_bug.cgi?id=226136 |
| |
| Reviewed by Chris Dumez. |
| |
| escapePathWithoutCopying needs to tell percentEncodeCharacters to percent encode all non-ASCII characters in the output of UTF-8 encoding |
| in addition to ? and #. Otherwise, we take the output of UTF-8 encoding and append each code unit to the input of URL parsing as if it were Latin-1. |
| This matches Chrome, Firefox, and reason. |
| Covered by a newly passing WPT test. |
| Other callers of percentEncodeCharacters use functions that already encode all non-ASCII characters. |
| |
| * wtf/URL.cpp: |
| (WTF::escapePathWithoutCopying): |
| |
| 2021-05-26 Chris Dumez <cdumez@apple.com> |
| |
| Stop using UncheckedLock in WTF::AutomaticThread |
| https://bugs.webkit.org/show_bug.cgi?id=226255 |
| |
| Reviewed by Keith Miller. |
| |
| Stop using UncheckedLock in WTF::AutomaticThread as it is being phased out in favor of |
| Lock, which supports Clang thread safety analysis. |
| |
| * wtf/AutomaticThread.cpp: |
| (WTF::AutomaticThreadCondition::wait): |
| (WTF::AutomaticThreadCondition::waitFor): |
| (WTF::AutomaticThread::AutomaticThread): |
| * wtf/AutomaticThread.h: |
| * wtf/ParallelHelperPool.cpp: |
| (WTF::ParallelHelperClient::~ParallelHelperClient): |
| (WTF::ParallelHelperClient::finish): |
| (WTF::ParallelHelperClient::finishWithLock): |
| (WTF::ParallelHelperPool::ParallelHelperPool): |
| * wtf/ParallelHelperPool.h: |
| (WTF::ParallelHelperPool::numberOfThreads const): |
| * wtf/WorkerPool.cpp: |
| (WTF::WorkerPool::WorkerPool): |
| * wtf/WorkerPool.h: |
| |
| 2021-05-25 Chris Dumez <cdumez@apple.com> |
| |
| Use UncheckedLock less in JavaScriptCore |
| https://bugs.webkit.org/show_bug.cgi?id=226212 |
| |
| Reviewed by Saam Barati. |
| |
| Add support for unlockEarly() to Locker<Lock> specialization, for consistency |
| with the generic Locker. |
| |
| * wtf/Lock.h: |
| |
| 2021-05-25 Devin Rousso <drousso@apple.com> |
| |
| [Modern Media Controls] REGRESSION(r254389) media controls needs the full list of language preferences for ordering tracks |
| https://bugs.webkit.org/show_bug.cgi?id=226038 |
| |
| Reviewed by Myles C. Maxfield and Eric Carlson. |
| |
| Media controls need access to the full list of language preferences in order to properly |
| sort/order the list of tracks in the controls UI. For example, if a `<video>` has subtitles |
| for English, Spanish, and French, and the user has English (default) and French (alternate) |
| configured in the Language & Region view of System Preferences on macOS, WebKit should order |
| the subtitles list English, French, and then Spanish. |
| |
| * wtf/Language.h: |
| * wtf/Language.cpp: |
| (WTF::cachedFullPlatformPreferredLanguages): Added. |
| (WTF::cachedMinimizedPlatformPreferredLanguages): Added. |
| (WTF::languageDidChange): |
| (WTF::defaultLanguage): |
| (WTF::userPreferredLanguages): |
| (WTF::platformLanguageDidChange): Deleted. |
| Move the caching in `wtf/cf/LanguageCF.cpp` to `wtf/Language.cpp` so that all platforms can |
| benefit from caching the result of `platformUserPreferredLanguages`. |
| |
| * wtf/cf/LanguageCF.cpp: |
| (WTF::platformUserPreferredLanguages): |
| (WTF::platformLanguageDidChange): Deleted. |
| * wtf/playstation/LanguagePlayStation.cpp: |
| (WTF::platformUserPreferredLanguages): |
| * wtf/spi/cocoa/NSLocaleSPI.h: |
| * wtf/unix/LanguageUnix.cpp: |
| (WTF::platformUserPreferredLanguages): |
| * wtf/win/LanguageWin.cpp: |
| (WTF::platformUserPreferredLanguages): |
| Add `WTF::ShouldMinimizeLanguages` that controls whether `WTF::minimizedPreferredLanguages` |
| is called. Since the result is cached, create separate `Vector<String>` for each enum value. |
| |
| 2021-05-25 Chris Dumez <cdumez@apple.com> |
| |
| Stop using UncheckedLock in html/canvas |
| https://bugs.webkit.org/show_bug.cgi?id=226186 |
| |
| Reviewed by Darin Adler. |
| |
| Allow converting a Locker<Lock> to an AbstractLocker type. This allows porting |
| code from UncheckedLock to Lock even if said code is passing the Locker<Lock> |
| as parameter around as an AbstractLocker. This is very common in JSC and in |
| html/canvas. |
| |
| Also make DropLockForScope work with Locker<Lock> to help port code over. |
| |
| * wtf/Lock.h: |
| |
| 2021-05-24 Darin Adler <darin@apple.com> |
| |
| Switch from WTF::Optional to std::optional |
| https://bugs.webkit.org/show_bug.cgi?id=211674 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/Forward.h: Remove Optional forward declaration. |
| Also include Optional.h, just for now. Need to remove this once |
| we do the global rename. |
| |
| * wtf/Optional.h: Replaced the entire WTF::Optional implementation |
| with a WTF::Optional "using" that makes it a synonym for std::optional. |
| WTF::nullopt being a synonym for std::nullopt and WTF::nullopt_t |
| being a synonym for std::nullopt_t. Also included functions so |
| that WTF::makeOptional calls std::make_optional and kept the |
| WTF extension named valueOrCompute. Need to remove these once we |
| do the global rename, and likely just get rid of valueOrCompute, and |
| then delete this entire header. |
| |
| * wtf/Seconds.h: Added an include of FastMalloc.h, since it's no |
| longer pulled in because of including Optional.h. |
| |
| * wtf/persistence/PersistentCoder.h: Use Forward.h for now instead of |
| forward-declaring WTF::optional. |
| |
| 2021-05-25 Per Arne Vollan <pvollan@apple.com> |
| |
| [AppleWin] JSC fails to build |
| https://bugs.webkit.org/show_bug.cgi?id=226225 |
| <rdar://78330435> |
| |
| Reviewed by Brent Fulgham. |
| |
| Speculative build fix for missing script to generate unified sources. Make sure the WTF scripts directory exists before |
| copying the script there, and add a CMake log message to help further debugging if this is not the correct fix. |
| |
| * wtf/CMakeLists.txt: |
| |
| 2021-05-25 Don Olmstead <don.olmstead@sony.com> |
| |
| [PlayStation] Implement FileSystem without std::filesystem |
| https://bugs.webkit.org/show_bug.cgi?id=226197 |
| |
| Reviewed by Chris Dumez. |
| |
| The PlayStation 4 doesn't have support in its SDK for std::filesystem so backport the |
| functions jettisoned from FileSystemPOSIX and add them to a FileSystemPlayStation.cpp. |
| The ordering matches the contents of FileSystem.cpp. |
| |
| Most of the functions ported to std::filesystem were just moved over as is from the commit |
| prior to r276879. Minor changes to the function signatures made when required. |
| |
| The fileTypePotentiallyFollowingSymLinks function was created from the previous behavior |
| of fileMetadataUsingFunction and toFileMetataType. |
| |
| The hardLinkCount was created from looking at the behavior hardLinkCount replaced in |
| r277446. |
| |
| * wtf/FileSystem.cpp: |
| * wtf/PlatformHave.h: |
| * wtf/PlatformPlayStation.cmake: |
| * wtf/StdFilesystem.h: |
| * wtf/playstation/FileSystemPlayStation.cpp: Added. |
| (WTF::FileSystemImpl::fileTypePotentiallyFollowingSymLinks): |
| (WTF::FileSystemImpl::fileExists): |
| (WTF::FileSystemImpl::deleteFile): |
| (WTF::FileSystemImpl::deleteEmptyDirectory): |
| (WTF::FileSystemImpl::moveFile): |
| (WTF::FileSystemImpl::fileSize): |
| (WTF::FileSystemImpl::makeAllDirectories): |
| (WTF::FileSystemImpl::volumeFreeSpace): |
| (WTF::FileSystemImpl::createSymbolicLink): |
| (WTF::FileSystemImpl::hardLink): |
| (WTF::FileSystemImpl::hardLinkOrCopyFile): |
| (WTF::FileSystemImpl::hardLinkCount): |
| (WTF::FileSystemImpl::deleteNonEmptyDirectory): |
| (WTF::FileSystemImpl::fileModificationTime): |
| (WTF::FileSystemImpl::updateFileModificationTime): |
| (WTF::FileSystemImpl::isHiddenFile): |
| (WTF::FileSystemImpl::fileType): |
| (WTF::FileSystemImpl::fileTypeFollowingSymlinks): |
| (WTF::FileSystemImpl::pathFileName): |
| (WTF::FileSystemImpl::parentPath): |
| (WTF::FileSystemImpl::realPath): |
| (WTF::FileSystemImpl::pathByAppendingComponent): |
| (WTF::FileSystemImpl::pathByAppendingComponents): |
| (WTF::FileSystemImpl::listDirectory): |
| |
| 2021-05-24 Chris Dumez <cdumez@apple.com> |
| |
| Stop using UncheckedLock in WTF::RecursiveLock |
| https://bugs.webkit.org/show_bug.cgi?id=226206 |
| |
| Reviewed by Sam Weinig. |
| |
| Stop using UncheckedLock in WTF::RecursiveLock and use a regular Lock instead. |
| This is a step towards phasing out UncheckedLock. |
| |
| Note that despite this change, RecursiveLock still doesn't benefit from |
| Clang thread safety analysis. Its functions do conditional locking / unlocking |
| which are not currently supported by analysis. Even if they were, we'd need |
| a template specialization for RecursiveLockAdapter<Lock> since |
| RecursiveLockAdapter may wrap other types of Lock which do not support analysis. |
| |
| * wtf/RecursiveLockAdapter.h: |
| |
| 2021-05-24 Darin Adler <darin@apple.com> |
| |
| Remove StringBuilder::appendLiteral |
| https://bugs.webkit.org/show_bug.cgi?id=226137 |
| |
| Reviewed by Chris Dumez. |
| |
| The optimization done by appendLiteral has minimal value and is something we |
| can do without. It does not cut down the number of allocations, which is the |
| main cost of the StringBuilder class. Getting rid of the differently named |
| appendLiteral improves the design of the StringBuilder class for callers. |
| Our goal is to get as close as possible to a single append function. |
| |
| If we decide we need an optimization for literals, we can come up with a |
| different way that is compatible with append. For example, we could assume |
| that any char array is a literal and check that at compile time in |
| StringConcatenate; that optimization would work for both makeString and |
| StringBuilder. Or we could use a strategy like ASCIILiteral. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::encodeForFileName): Streamline logic, |
| and use variadic append to make this more efficient. |
| |
| * wtf/JSONValues.cpp: |
| (WTF::JSONImpl::Value::escapeString): Use append instead |
| of appendLiteral. |
| (WTF::JSONImpl::Value::writeJSON const): Ditto. |
| |
| * wtf/Logger.h: |
| (WTF::Logger::log): Use auto for result of makeString. |
| (WTF::Logger::logVerbose): Ditto. |
| |
| * wtf/MediaTime.cpp: |
| (WTF::MediaTime::toString const): Use makeString instead of StringBuilder. |
| |
| * wtf/text/IntegerToStringConversion.h: |
| Made lengthOfIntegerAsString a constexpr function so we can use it to |
| compute the required size of arrays for conversion. Added using for both |
| lengthOfIntegerAsString and writeIntegerToBuffer so we can use them without |
| the WTF prefix as is customary for functions in WTF. |
| |
| * wtf/text/StringBuilder.h: |
| (WTF::StringBuilder::appendLiteral): Deleted. |
| |
| * wtf/text/StringConcatenate.h: Added support for appending StringImpl&, |
| StringImpl*, AtomStringImpl&, and AtomStringImpl*. |
| |
| 2021-05-24 Keith Miller <keith_miller@apple.com> |
| |
| Unreviewed, revert r276610 because it causes a 1% PLT regression. |
| |
| * wtf/Bag.h: |
| |
| 2021-05-24 Chris Dumez <cdumez@apple.com> |
| |
| Drop CheckedLock / CheckedCondition aliases |
| https://bugs.webkit.org/show_bug.cgi?id=226176 |
| |
| Reviewed by Kate Cheney. |
| |
| Drop CheckedLock / CheckedCondition aliases now that they are the default. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/Assertions.cpp: |
| * wtf/AutomaticThread.cpp: |
| (WTF::AutomaticThreadCondition::wait): |
| (WTF::AutomaticThreadCondition::waitFor): |
| (WTF::AutomaticThread::AutomaticThread): |
| * wtf/AutomaticThread.h: |
| * wtf/CMakeLists.txt: |
| * wtf/CheckedCondition.h: Removed. |
| * wtf/CheckedLock.h: Removed. |
| * wtf/Condition.h: |
| * wtf/CrossThreadQueue.h: |
| * wtf/CrossThreadTaskHandler.h: |
| * wtf/CryptographicallyRandomNumber.cpp: |
| * wtf/FastMalloc.cpp: |
| * wtf/Forward.h: |
| * wtf/Language.cpp: |
| * wtf/Lock.cpp: |
| (WTF::UncheckedLock::lockSlow): |
| (WTF::UncheckedLock::unlockSlow): |
| (WTF::UncheckedLock::unlockFairlySlow): |
| (WTF::UncheckedLock::safepointSlow): |
| * wtf/Lock.h: |
| (WTF::WTF_ASSERTS_ACQUIRED_LOCK): |
| * wtf/Logger.cpp: |
| * wtf/Logger.h: |
| (WTF::Logger::WTF_RETURNS_LOCK): |
| * wtf/MessageQueue.h: |
| * wtf/MetaAllocator.cpp: |
| (WTF::MetaAllocator::release): |
| (WTF::MetaAllocator::MetaAllocator): |
| (WTF::MetaAllocator::allocate): |
| (WTF::MetaAllocator::currentStatistics): |
| * wtf/MetaAllocator.h: |
| * wtf/OSLogPrintStream.h: |
| * wtf/ParallelHelperPool.cpp: |
| (WTF::ParallelHelperPool::ParallelHelperPool): |
| * wtf/ParallelHelperPool.h: |
| * wtf/ParallelJobsGeneric.h: |
| * wtf/ParallelVectorIterator.h: |
| * wtf/ReadWriteLock.h: |
| * wtf/RecursiveLockAdapter.h: |
| * wtf/RunLoop.h: |
| * wtf/SynchronizedFixedQueue.h: |
| * wtf/Threading.cpp: |
| (WTF::Thread::allThreadsLock): |
| * wtf/Threading.h: |
| * wtf/TimingScope.cpp: |
| * wtf/URL.cpp: |
| * wtf/WTFSemaphore.h: |
| * wtf/WorkQueue.cpp: |
| (WTF::WorkQueue::concurrentApply): |
| * wtf/WorkerPool.cpp: |
| (WTF::WorkerPool::WorkerPool): |
| * wtf/WorkerPool.h: |
| * wtf/cf/LanguageCF.cpp: |
| * wtf/text/AtomStringImpl.cpp: |
| (WTF::AtomStringTableLocker::AtomStringTableLocker): |
| * wtf/text/StringView.cpp: |
| * wtf/threads/BinarySemaphore.h: |
| * wtf/unicode/icu/CollatorICU.cpp: |
| |
| 2021-05-23 Chris Dumez <cdumez@apple.com> |
| |
| Make CheckedLock the default Lock |
| https://bugs.webkit.org/show_bug.cgi?id=226157 |
| |
| Reviewed by Darin Adler. |
| |
| Make CheckedLock the default Lock so that we get more benefits from Clang |
| Thread Safety Analysis. Note that CheckedLock 100% relies on the existing |
| Lock implementation and merely adds the clang anotations for thread |
| safety. |
| |
| That this patch does is: |
| 1. Rename the Lock class to UncheckedLock |
| 2. Rename the CheckedLock class to Lock |
| 3. Rename the Condition class to UncheckedCondition |
| 4. Rename the CheckedCondition class to Condition |
| 5. Update the types of certain variables from Lock / Condition to |
| UncheckedLock / UncheckedCondition if I got a build failure. Build |
| failures are usually caused by the following facts: |
| - Locker<CheckedLock> doesn't subclass AbstractLocker which a lot of |
| JSC code passes as argument |
| - Locker<CheckedLock> has no move constructor |
| - Locker<CheckedLock> cannot be constructed from a lock pointer, only |
| a reference |
| |
| For now, CheckedLock and CheckedCondition remain as aliases to Lock and |
| Condition, in their respective CheckedLock.h / CheckedCondition.h headers. |
| I will drop them in a follow-up to reduce patch size. |
| |
| I will also follow-up to try and get rid of as much usage of UncheckedLock |
| and UncheckedCondition as possible. I did not try very hard in this patch |
| to reduce patch size. |
| |
| * wtf/AutomaticThread.cpp: |
| (WTF::AutomaticThreadCondition::wait): |
| (WTF::AutomaticThreadCondition::waitFor): |
| (WTF::AutomaticThread::AutomaticThread): |
| * wtf/AutomaticThread.h: |
| * wtf/CheckedCondition.h: |
| * wtf/CheckedLock.h: |
| * wtf/Condition.h: |
| * wtf/Lock.cpp: |
| (WTF::UncheckedLock::lockSlow): |
| (WTF::UncheckedLock::unlockSlow): |
| (WTF::UncheckedLock::unlockFairlySlow): |
| (WTF::UncheckedLock::safepointSlow): |
| * wtf/Lock.h: |
| (WTF::WTF_ASSERTS_ACQUIRED_LOCK): |
| * wtf/MetaAllocator.cpp: |
| (WTF::MetaAllocator::release): |
| (WTF::MetaAllocator::MetaAllocator): |
| (WTF::MetaAllocator::allocate): |
| (WTF::MetaAllocator::currentStatistics): |
| * wtf/MetaAllocator.h: |
| * wtf/ParallelHelperPool.cpp: |
| (WTF::ParallelHelperPool::ParallelHelperPool): |
| * wtf/ParallelHelperPool.h: |
| * wtf/RecursiveLockAdapter.h: |
| * wtf/WorkerPool.cpp: |
| (WTF::WorkerPool::WorkerPool): |
| * wtf/WorkerPool.h: |
| |
| 2021-05-23 Mark Lam <mark.lam@apple.com> |
| |
| Remove ENABLE(MASM_PROBE) flag. |
| https://bugs.webkit.org/show_bug.cgi?id=226154 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| The MacroAssembler::probe() mechanism is now available on all supported platforms. |
| There's no longer a need for the ENABLE(MASM_PROBE) flag. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2021-05-23 Chris Dumez <cdumez@apple.com> |
| |
| Drop WTF::tryHoldLock() as it is incompatible with Clang Thread Safety Analysis |
| https://bugs.webkit.org/show_bug.cgi?id=226145 |
| |
| Reviewed by Darin Adler. |
| |
| Drop WTF::tryHoldLock() as it is incompatible with Clang Thread Safety Analysis. |
| Instead, use the following pattern which is supported: |
| ``` |
| if (lock.tryLock()) { |
| Locker locker { AdoptLock, lock }; |
| // ... |
| } |
| ``` |
| |
| * wtf/CheckedLock.h: |
| * wtf/Lock.h: |
| * wtf/Locker.h: |
| (WTF::Locker::Locker): |
| |
| 2021-05-23 Mark Lam <mark.lam@apple.com> |
| |
| Build fix for JSCOnly-Linux-AArch64 bot. |
| |
| Not reviewed. |
| |
| * wtf/Vector.h: |
| (WTF::Malloc>::expandCapacity): |
| (WTF::Malloc>::reserveCapacity): |
| (WTF::Malloc>::constructAndAppendSlowCase): |
| |
| 2021-05-22 Chris Dumez <cdumez@apple.com> |
| |
| Adopt CheckedLock in more places |
| https://bugs.webkit.org/show_bug.cgi?id=226138 |
| |
| Reviewed by Darin Adler. |
| |
| Adopt CheckedLock in more places to benefit from Clang Thread Safety Analysis. |
| |
| * wtf/Assertions.cpp: |
| * wtf/TimingScope.cpp: |
| * wtf/threads/BinarySemaphore.cpp: |
| (WTF::BinarySemaphore::waitUntil): |
| * wtf/threads/BinarySemaphore.h: |
| |
| 2021-05-22 Chris Dumez <cdumez@apple.com> |
| |
| Replace LockHolder with Locker in local variables |
| https://bugs.webkit.org/show_bug.cgi?id=226133 |
| |
| Reviewed by Darin Adler. |
| |
| Replace LockHolder with Locker in local variables. It is shorter and it allows switching the lock |
| type more easily since the compiler with deduce the lock type T for Locker<T>. |
| |
| * benchmarks/LockSpeedTest.cpp: |
| * wtf/AutomaticThread.cpp: |
| (WTF::AutomaticThread::~AutomaticThread): |
| (WTF::AutomaticThread::join): |
| (WTF::AutomaticThread::start): |
| * wtf/AutomaticThread.h: |
| * wtf/MetaAllocator.cpp: |
| (WTF::MetaAllocatorHandle::shrink): |
| (WTF::MetaAllocator::addFreshFreeSpace): |
| (WTF::MetaAllocator::debugFreeSpaceSize): |
| * wtf/ParallelHelperPool.cpp: |
| (WTF::ParallelHelperClient::ParallelHelperClient): |
| (WTF::ParallelHelperClient::~ParallelHelperClient): |
| (WTF::ParallelHelperClient::setTask): |
| (WTF::ParallelHelperClient::finish): |
| (WTF::ParallelHelperClient::doSomeHelping): |
| (WTF::ParallelHelperClient::runTask): |
| (WTF::ParallelHelperPool::~ParallelHelperPool): |
| (WTF::ParallelHelperPool::ensureThreads): |
| (WTF::ParallelHelperPool::doSomeHelping): |
| * wtf/Seconds.cpp: |
| (WTF::sleep): |
| * wtf/TimeWithDynamicClockType.cpp: |
| (WTF::sleep): |
| * wtf/WorkerPool.cpp: |
| (WTF::WorkerPool::WorkerPool): |
| (WTF::WorkerPool::~WorkerPool): |
| (WTF::WorkerPool::postTask): |
| * wtf/posix/ThreadingPOSIX.cpp: |
| (WTF::Thread::suspend): |
| (WTF::Thread::resume): |
| (WTF::Thread::getRegisters): |
| * wtf/win/DbgHelperWin.cpp: |
| (WTF::DbgHelper::SymFromAddress): |
| * wtf/win/ThreadingWin.cpp: |
| (WTF::Thread::suspend): |
| (WTF::Thread::resume): |
| (WTF::Thread::getRegisters): |
| |
| 2021-05-22 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r277913. |
| https://bugs.webkit.org/show_bug.cgi?id=226140 |
| |
| Caused multiple layout-test crash on mac debug queues |
| |
| Reverted changeset: |
| |
| "Replace LockHolder with Locker in local variables" |
| https://bugs.webkit.org/show_bug.cgi?id=226133 |
| https://trac.webkit.org/changeset/277913 |
| |
| 2021-05-21 Chris Dumez <cdumez@apple.com> |
| |
| Remove WTF::holdLock() / WTF::holdLockIf() |
| https://bugs.webkit.org/show_bug.cgi?id=226135 |
| |
| Reviewed by Darin Adler. |
| |
| Remove WTF::holdLock() / WTF::holdLockIf() because they are not compatible with |
| Clang Thread Safety Analysis. All call sites have been converted to use the Locker |
| constructor directly. |
| |
| * wtf/Locker.h: |
| |
| 2021-05-21 Chris Dumez <cdumez@apple.com> |
| |
| Replace LockHolder with Locker in local variables |
| https://bugs.webkit.org/show_bug.cgi?id=226133 |
| |
| Reviewed by Darin Adler. |
| |
| Replace LockHolder with Locker in local variables. It is shorter and it allows switching the lock |
| type more easily since the compiler with deduce the lock type T for Locker<T>. |
| |
| * benchmarks/LockSpeedTest.cpp: |
| * wtf/AutomaticThread.cpp: |
| (WTF::AutomaticThread::~AutomaticThread): |
| (WTF::AutomaticThread::join): |
| (WTF::AutomaticThread::start): |
| * wtf/AutomaticThread.h: |
| * wtf/MetaAllocator.cpp: |
| (WTF::MetaAllocatorHandle::shrink): |
| (WTF::MetaAllocator::addFreshFreeSpace): |
| (WTF::MetaAllocator::debugFreeSpaceSize): |
| * wtf/ParallelHelperPool.cpp: |
| (WTF::ParallelHelperClient::ParallelHelperClient): |
| (WTF::ParallelHelperClient::~ParallelHelperClient): |
| (WTF::ParallelHelperClient::setTask): |
| (WTF::ParallelHelperClient::finish): |
| (WTF::ParallelHelperClient::doSomeHelping): |
| (WTF::ParallelHelperClient::runTask): |
| (WTF::ParallelHelperPool::~ParallelHelperPool): |
| (WTF::ParallelHelperPool::ensureThreads): |
| (WTF::ParallelHelperPool::doSomeHelping): |
| * wtf/Seconds.cpp: |
| (WTF::sleep): |
| * wtf/TimeWithDynamicClockType.cpp: |
| (WTF::sleep): |
| * wtf/WorkerPool.cpp: |
| (WTF::WorkerPool::WorkerPool): |
| (WTF::WorkerPool::~WorkerPool): |
| (WTF::WorkerPool::postTask): |
| * wtf/posix/ThreadingPOSIX.cpp: |
| (WTF::Thread::suspend): |
| (WTF::Thread::resume): |
| (WTF::Thread::getRegisters): |
| * wtf/win/DbgHelperWin.cpp: |
| (WTF::DbgHelper::SymFromAddress): |
| * wtf/win/ThreadingWin.cpp: |
| (WTF::Thread::suspend): |
| (WTF::Thread::resume): |
| (WTF::Thread::getRegisters): |
| |
| 2021-05-21 Chris Dumez <cdumez@apple.com> |
| |
| Use CheckedCondition in more places |
| https://bugs.webkit.org/show_bug.cgi?id=226113 |
| |
| Reviewed by Darin Adler. |
| |
| Use CheckedCondition in more places to benefit from Clang Thread Safety |
| Analysis. |
| |
| * wtf/RunLoop.h: |
| * wtf/SynchronizedFixedQueue.h: |
| * wtf/WTFSemaphore.h: |
| * wtf/WorkQueue.cpp: |
| (WTF::WorkQueue::concurrentApply): |
| * wtf/generic/RunLoopGeneric.cpp: |
| (WTF::RunLoop::~RunLoop): |
| (WTF::RunLoop::populateTasks): |
| (WTF::RunLoop::runImpl): |
| (WTF::RunLoop::stop): |
| (WTF::RunLoop::wakeUpWithLock): |
| (WTF::RunLoop::wakeUp): |
| (WTF::RunLoop::schedule): |
| (WTF::RunLoop::scheduleAndWakeUpWithLock): |
| (WTF::RunLoop::TimerBase::~TimerBase): |
| (WTF::RunLoop::TimerBase::start): |
| (WTF::RunLoop::TimerBase::stop): |
| (WTF::RunLoop::TimerBase::isActive const): |
| (WTF::RunLoop::TimerBase::secondsUntilFire const): |
| * wtf/win/RunLoopWin.cpp: |
| (WTF::RunLoop::TimerBase::timerFired): |
| (WTF::RunLoop::TimerBase::start): |
| (WTF::RunLoop::TimerBase::stop): |
| (WTF::RunLoop::TimerBase::isActive const): |
| (WTF::RunLoop::TimerBase::secondsUntilFire const): |
| |
| 2021-05-21 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [macOS] Adopt QLItem in WKImageExtractionPreviewController |
| https://bugs.webkit.org/show_bug.cgi?id=226114 |
| rdar://76657718 |
| |
| Reviewed by Tim Horton. |
| |
| Introduce `SOFT_LINK_FRAMEWORK_IN_UMBRELLA_FOR_SOURCE_WITH_EXPORT`, so that we can soft link frameworks that are |
| embedded inside other umbrella frameworks in PAL. |
| |
| * wtf/cocoa/SoftLinking.h: |
| |
| 2021-05-21 Chris Dumez <cdumez@apple.com> |
| |
| Stop using holdLock() in WTF as it is not compatible with Clang thread safety analysis |
| https://bugs.webkit.org/show_bug.cgi?id=226117 |
| |
| Reviewed by Darin Adler. |
| |
| Stop using holdLock() in WTF as it is not compatible with Clang thread safety analysis |
| (WTF::CheckedLock) and use the Locker constructor instead. |
| |
| This is a step towards getting rid of holdLock() completely. |
| |
| * benchmarks/ConditionSpeedTest.cpp: |
| * wtf/ConcurrentPtrHashSet.cpp: |
| (WTF::ConcurrentPtrHashSet::deleteOldTables): |
| (WTF::ConcurrentPtrHashSet::clear): |
| (WTF::ConcurrentPtrHashSet::containsImplSlow const): |
| (WTF::ConcurrentPtrHashSet::sizeSlow const): |
| (WTF::ConcurrentPtrHashSet::resizeIfNecessary): |
| * wtf/CountingLock.h: |
| * wtf/HashTable.cpp: |
| (WTF::HashTableStats::recordCollisionAtCount): |
| (WTF::HashTableStats::dumpStats): |
| * wtf/HashTable.h: |
| (WTF::invalidateIterators): |
| (WTF::addIterator): |
| (WTF::removeIterator): |
| * wtf/LockedPrintStream.cpp: |
| (WTF::LockedPrintStream::vprintf): |
| (WTF::LockedPrintStream::flush): |
| * wtf/MetaAllocator.cpp: |
| (WTF::MetaAllocatorHandle::~MetaAllocatorHandle): |
| * wtf/MetaAllocator.h: |
| (WTF::MetaAllocator::allocate): |
| (WTF::MetaAllocator::currentStatistics): |
| * wtf/ReadWriteLock.h: |
| * wtf/StackShotProfiler.h: |
| (WTF::StackShotProfiler::profile): |
| (WTF::StackShotProfiler::run): |
| * wtf/StackStats.cpp: |
| (WTF::StackStats::CheckPoint::CheckPoint): |
| (WTF::StackStats::CheckPoint::~CheckPoint): |
| (WTF::StackStats::probe): |
| (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): |
| (WTF::StackStats::LayoutCheckPoint::~LayoutCheckPoint): |
| * wtf/ThreadGroup.cpp: |
| (WTF::ThreadGroup::~ThreadGroup): |
| (WTF::ThreadGroup::add): |
| * wtf/ThreadMessage.cpp: |
| (WTF::sendMessageScoped): |
| * wtf/Threading.cpp: |
| (WTF::Thread::didExit): |
| (WTF::Thread::addToThreadGroup): |
| (WTF::Thread::removeFromThreadGroup): |
| (WTF::Thread::numberOfThreadGroups): |
| * wtf/TimingScope.cpp: |
| * wtf/WTFConfig.cpp: |
| (WTF::Config::permanentlyFreeze): |
| * wtf/WTFSemaphore.h: |
| * wtf/posix/ThreadingPOSIX.cpp: |
| (WTF::Thread::changePriority): |
| (WTF::Thread::waitForCompletion): |
| (WTF::Thread::detach): |
| (WTF::Thread::signal): |
| (WTF::Thread::establishPlatformSpecificHandle): |
| * wtf/threads/BinarySemaphore.cpp: |
| (WTF::BinarySemaphore::signal): |
| (WTF::BinarySemaphore::waitUntil): |
| * wtf/threads/Signals.cpp: |
| (WTF::SignalHandlers::add): |
| (WTF::registerThreadForMachExceptionHandling): |
| (WTF::activateSignalHandlersFor): |
| * wtf/win/LanguageWin.cpp: |
| (WTF::platformLanguage): |
| * wtf/win/ThreadingWin.cpp: |
| (WTF::Thread::changePriority): |
| (WTF::Thread::waitForCompletion): |
| (WTF::Thread::detach): |
| (WTF::Thread::establishPlatformSpecificHandle): |
| |
| 2021-05-21 Chris Dumez <cdumez@apple.com> |
| |
| [Cocoa] Unable to upload files that are stored in the cloud (without a local copy) |
| https://bugs.webkit.org/show_bug.cgi?id=226090 |
| <rdar://77775887> |
| |
| Reviewed by Darin Adler. |
| |
| Add FileSystem API to allow/disallow the materializing of dataless files stored |
| in the cloud, at process or thread level. |
| |
| * wtf/FileSystem.h: |
| * wtf/cocoa/FileSystemCocoa.mm: |
| (WTF::FileSystemImpl::toIOPolicyScope): |
| (WTF::FileSystemImpl::setAllowsMaterializingDatalessFiles): |
| (WTF::FileSystemImpl::allowsMaterializingDatalessFiles): |
| |
| 2021-05-21 Chris Dumez <cdumez@apple.com> |
| |
| Replace more static Locks with CheckedLocks in WTF / WebCore |
| https://bugs.webkit.org/show_bug.cgi?id=226040 |
| |
| Reviewed by Darin Adler. |
| |
| Replace more static Locks with CheckedLocks so that we can benefit from Clang Thread Safety Analysis. |
| |
| * wtf/Threading.cpp: |
| (WTF::Thread::allThreadsLock): |
| (WTF::Thread::create): |
| (WTF::Thread::didExit): |
| * wtf/Threading.h: |
| * wtf/URL.cpp: |
| (WTF::WTF_REQUIRES_LOCK): |
| (WTF::registerDefaultPortForProtocolForTesting): |
| (WTF::clearDefaultPortForProtocolMapForTesting): |
| (WTF::defaultPortForProtocol): |
| * wtf/cf/LanguageCF.cpp: |
| (WTF::WTF_REQUIRES_LOCK): |
| (WTF::platformLanguageDidChange): |
| (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): |
| |
| 2021-05-21 Chris Dumez <cdumez@apple.com> |
| |
| Use CheckedLock more in cases where we try-lock |
| https://bugs.webkit.org/show_bug.cgi?id=226056 |
| |
| Reviewed by Alex Christensen. |
| |
| Use CheckedLock more in cases where we try-lock to benefit from Clang |
| Thread Safety Analysis. |
| |
| * wtf/Logger.cpp: |
| * wtf/Logger.h: |
| (WTF::Logger::addObserver): |
| (WTF::Logger::removeObserver): |
| (WTF::Logger::log): |
| (WTF::Logger::logVerbose): |
| (WTF::Logger::WTF_RETURNS_LOCK): |
| |
| 2021-05-20 Chris Dumez <cdumez@apple.com> |
| |
| Use CheckedLock more in WTF |
| https://bugs.webkit.org/show_bug.cgi?id=226045 |
| |
| Reviewed by Darin Adler. |
| |
| Use CheckedLock more in WTF to benefit from Clang Thread Safety Analysis. |
| |
| * wtf/CrossThreadQueue.h: |
| (WTF::CrossThreadQueue<DataType>::append): |
| (WTF::CrossThreadQueue<DataType>::waitForMessage): |
| (WTF::CrossThreadQueue<DataType>::tryGetMessage): |
| (WTF::CrossThreadQueue<DataType>::kill): |
| (WTF::CrossThreadQueue<DataType>::isKilled const): |
| (WTF::CrossThreadQueue<DataType>::isEmpty const): |
| * wtf/CrossThreadTaskHandler.cpp: |
| (WTF::CrossThreadTaskHandler::postTaskReply): |
| (WTF::CrossThreadTaskHandler::handleTaskRepliesOnMainThread): |
| * wtf/CrossThreadTaskHandler.h: |
| (WTF::CrossThreadTaskHandler::WTF_GUARDED_BY_LOCK): |
| * wtf/CryptographicallyRandomNumber.cpp: |
| * wtf/FastMalloc.cpp: |
| (WTF::MallocCallTracker::recordMalloc): |
| (WTF::MallocCallTracker::recordRealloc): |
| (WTF::MallocCallTracker::recordFree): |
| (WTF::MallocCallTracker::dumpStats): |
| * wtf/MessageQueue.h: |
| (WTF::MessageQueue<DataType>::append): |
| (WTF::MessageQueue<DataType>::appendAndKill): |
| (WTF::MessageQueue<DataType>::appendAndCheckEmpty): |
| (WTF::MessageQueue<DataType>::prepend): |
| (WTF::MessageQueue<DataType>::waitForMessageFilteredWithTimeout): |
| (WTF::MessageQueue<DataType>::tryGetMessage): |
| (WTF::MessageQueue<DataType>::takeAllMessages): |
| (WTF::MessageQueue<DataType>::tryGetMessageIgnoringKilled): |
| (WTF::MessageQueue<DataType>::removeIf): |
| (WTF::MessageQueue<DataType>::isEmpty): |
| (WTF::MessageQueue<DataType>::kill): |
| (WTF::MessageQueue<DataType>::killed const): |
| * wtf/OSLogPrintStream.cpp: |
| (WTF::OSLogPrintStream::vprintf): |
| * wtf/OSLogPrintStream.h: |
| * wtf/ParallelJobsGeneric.h: |
| (WTF::ParallelEnvironment::ThreadPrivate::WTF_GUARDED_BY_LOCK): |
| * wtf/ParallelVectorIterator.h: |
| (WTF::ParallelVectorIterator::iterate): |
| (WTF::ParallelVectorIterator::WTF_GUARDED_BY_LOCK): |
| * wtf/ReadWriteLock.cpp: |
| (WTF::ReadWriteLock::readLock): |
| (WTF::ReadWriteLock::readUnlock): |
| (WTF::ReadWriteLock::writeLock): |
| (WTF::ReadWriteLock::writeUnlock): |
| * wtf/ReadWriteLock.h: |
| (WTF::ReadWriteLock::WTF_GUARDED_BY_LOCK): |
| |
| 2021-05-20 Chris Dumez <cdumez@apple.com> |
| |
| Add missing locks in Language.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=226059 |
| |
| Reviewed by Alex Christensen. |
| |
| Add missing locks in Language.cpp. This was found via Clang Thread Safety Analysis. |
| Some of the overrideUserPreferredLanguages() call sites were failing to grab the |
| lock first. |
| |
| Also use NeverDestroyed in preferredLanguagesOverride() instead of LazyNeverDestroyed |
| with std::call_once. All call sites are already grabbing a lock so there is no need |
| for extra synchronization. |
| |
| * wtf/Language.cpp: |
| (WTF::WTF_REQUIRES_LOCK): |
| (WTF::userPreferredLanguagesOverride): |
| (WTF::overrideUserPreferredLanguages): |
| (WTF::userPreferredLanguages): |
| (WTF::preferredLanguagesOverride): Deleted. |
| |
| 2021-05-19 Alex Christensen <achristensen@webkit.org> |
| |
| Add support for Navigation Timing Level 2 |
| https://bugs.webkit.org/show_bug.cgi?id=184363 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-05-19 Chris Dumez <cdumez@apple.com> |
| |
| Drop "get" prefix from SQLiteStatement member functions as well as out-parameters |
| https://bugs.webkit.org/show_bug.cgi?id=225971 |
| |
| Reviewed by Darin Adler. |
| |
| Add Vector constructor that takes in an array and a size. |
| |
| * wtf/Vector.h: |
| (WTF::Vector::Vector): |
| |
| 2021-05-18 Darin Adler <darin@apple.com> |
| |
| Move CFStringRef and NSString support from StringBuilder into StringConcatenateCF |
| https://bugs.webkit.org/show_bug.cgi?id=225839 |
| |
| Reviewed by Sam Weinig. |
| |
| The new header makes CFStringRef and NSString work with string concatenation, |
| which means it now works with the variadic StringBuilder::append and makeString, |
| and still works with the single-argument StringBuilder::append. More efficient |
| that the old version because it does not allocate a temporary WTF::String for |
| the 16-bit character path. |
| |
| Also made many other small improvements to the StringBuilder implementation. |
| |
| * WTF.xcodeproj/project.pbxproj: Added StringConcatenateCF.h. |
| |
| * wtf/CheckedArithmetic.h: Removed ConditionalCrashOnOverflow, which was only |
| here for use by StringBuilder, which does not use CheckedArithmetic any more. |
| |
| * wtf/PlatformFTW.cmake: Added StringConcatenateCF.h.. |
| * wtf/PlatformMac.cmake: Ditto. |
| * wtf/PlatformWin.cmake: Ditto. |
| |
| * wtf/SaturatedArithmetic.h: Moved the contents of this file inside the |
| WTF namespace. |
| (WTF::signedAddInt32Overflows): Renamed this function. The type here is |
| important, and we are not doing anything to prevent type conversion or |
| create ambiguity, so it's good to be explicit in the function name. |
| (WTF::saturatedSum<int32_t>): Renamed this from saturatedAddition for |
| clarity. The function returns a sum, so that's a better name than calling |
| it "addition". Also, it's clearer to be explicit about the return type. |
| (WTF::signedSubtractInt32Overflows): Renamed. Same reason as above. |
| (WTF::saturatedDifference<int32_t>): Ditto. |
| (WTF::saturatedSum): Added. Does unsigned integer saturated addition. |
| This one can be written in a portable manner and still get really |
| efficient code on at least Intel and ARM64. |
| (WTF::saturatedSum): Added a function template that lets callers pass |
| larger number of arguments to saturatedSum, rather than exactly two. |
| |
| * wtf/text/StringBuilder.cpp: |
| (WTF::expandedCapacity): Renamed to use the term capacity rather than |
| length for the new required capacity. |
| (WTF::StringBuilder::didOverflow): Implement the new approach to |
| overflow, meaning we need to write the CRASH() here explicitly and |
| in the non-crashing mode, set m_length. |
| (WTF::StringBuilder::reifyString const): Changed the overflow check |
| into a RELEASE_ASSERT. This is now responsible for doing the check that |
| callers were doing earlier, so we want it in production builds. Also |
| simplified this since our m_length member is a simple integer now, |
| and removed the unused m_isReified. |
| (WTF::StringBuilder::shrink): Renamed this to shrink to match the |
| Vector::shrink function, since this has never supported making the |
| builder larger. Removed unnecessary overflow checks, since shrinking |
| cannot cause overflow. |
| (WTF::StringBuilder::allocateBuffer): Replaced two separate functions |
| with a single simpler function template. Removed extra overflow checks |
| because the StringImpl::tryCreateUninitialized function already does |
| the only overflow check we need. Also move to StringImpl::copyCharacters |
| for copying characters rather than using std::memcpy directly. |
| Removed code to set m_is8Bit and m_bufferCharacters. |
| (WTF::StringBuilder::reallocateBuffer): Replaced two separate |
| functions with a function template and a cover that calls the |
| appropriate instance of the template for places where we aren't |
| already in character-type-specific code paths. This version now |
| supports allocating a buffer for the first time in cases where |
| we have m_string and not m_buffer, which used to be handled at |
| the higher level. Removed code to set m_bufferCharacters. |
| (WTF::StringBuilder::reserveCapacity): Rewrote for simplicity. |
| By relying on the overflow checking inside reallocateBuffer and |
| allocateBuffer we no longer need checking of the passed-in value |
| at this level. |
| (WTF::StringBuilder::extendBufferForAppending): Removed the |
| version of this that takes additionalLength since it's |
| potentially confusing to have a family of functions that have the |
| same name and take the same type of argument, but interpret it |
| subtly differently. Streamlined the code using std::exchange. |
| This function now also includes the logic from the function named |
| extendBufferForAppendingWithoutOverflowCheck, which was subtly |
| misnamed since that was not the only semantic difference. Also |
| removed the ALWAYS_INLINE because the compiler will do the right |
| thing without such heavy handed advice. |
| (WTF::StringBuilder::extendBufferForAppendingSlowCase): Streamlined |
| this by using std::exchange and removed additional overflow checks |
| at this level since reallocateBuffer already does them. Also added |
| a check for the case where the new total length is 0, which would |
| not be handled correctly and efficiently by reallocateBuffer. |
| (WTF::StringBuilder::extendBufferForAppendingLChar): Renamed this |
| from extendBufferForAppending8, since it's now identical to calling |
| extendBufferForAppending<LChar>, except for inlining and linkage. |
| (WTF::StringBuilder::extendBufferForAppendingWithUpconvert): |
| Renamed this from extendBufferForAppending16. It is different from |
| the other extendBuffer functions because is supports upconverting |
| from LChar to UChar. Like the others it relies on allocateBuffer |
| for the overflow checking. |
| (WTF::StringBuilder::appendCharacters): Removed an unnecessary |
| assertion that the characters pointer is non-null; that will fail |
| in an obvious way without an assertion. Simplified the logic and |
| removed some invariant assertions that don't help us much. Changed |
| overflow checking by using saturatedSum to compute the new length. |
| In overflow cases, the new sum will be larger than the maximum |
| string length, but will fit in an unsigned, so we can pass it |
| down to lower levels and let functions like reallocateBuffer do |
| the actual overflow checking. Also use StringImpl::copyCharacters. |
| (WTF::StringBuilder::append): Removed the CFStringRef overload. |
| (WTF::StringBuilder::shouldShrinkToFit const): Rename this from |
| canShrink. Simplify the function a bit and remove the vague FIXME |
| that says "this should be tuned". That may be so, but the FIXME |
| is not really driving us to action. |
| (WTF::StringBuilder::shrinkToFit): Simplify by using the new |
| reallocateBuffer and std::exchange. Removed unneeded assertion |
| about overflow that doesn't help us maintain the invariant. |
| (WTF::StringBuilder::isAllASCII const): Was tempted to remove |
| this function, but for now just made it use the StringView |
| version for brevity. |
| |
| * wtf/text/StringBuilder.h: Removed many unneeded includes, and |
| notably included SaturatedArithmetic.h instead of |
| CheckedArithmetic.h because we now use the former instead of the |
| latter. Changed the overflow checking implementation to work |
| more simply based on saturated addition rather than Checked. |
| This allowed us to get rid of dependency on our own unique mode |
| for Checked, called ConditionalCrashOnOverflow. Removed a |
| comment about making a templatized version of StringBuilder. |
| We can do it if we like, but does not seem urgent. Moved |
| fucntion bodies out of the class definition so it's easier to |
| see what's going on in the class. Since m_length is now an |
| ordinary integer, the check for overflowed simply checks to see |
| if the length is larger than the maximum string length. When we |
| encounter overflow that is not about length computation, we set |
| the length to the maximum integer to indicate the failure. |
| Deleted the append overloads for CFStringRef and NSString. |
| Removed m_bufferCharacters, m_is8Bit, and m_isReified. |
| (WTF::StringBuilder::StringBuilder): Simplified the constructor |
| since we only have to initialize the m_shouldCrashOnOverflow member. |
| (WTF::StringBuilder::clear): Fixed a mistake where this was not |
| resetting the m_isReified flag. |
| (WTF::StringBuilder::swap): Updated for changes in the data members. |
| (WTF::StringBuilder::operator StringView const): Moved out of line. |
| Made sure to call the length() function so we crash if this is |
| called after overflow. |
| (WTF::StringBuilder::append): Remove some of the unnecessary checks |
| and special cases in the various versions of append. Most of the |
| checking is done inside appendCharacters, with only a few exceptions. |
| (WTF::StringBuilder::appendSubstring): Moved out of the class |
| definition without making significant changes. |
| (WTF::StringBuilder::appendCharacter): Ditto. |
| (WTF::StringBuilder::toString): Greatly simplified this function |
| by relying on overflow checking in the reifyString function instead |
| of doing it here and removing unneeded invariant assertions. |
| (WTF::StringBuilder::toStringPreserveCapacity const): Ditto. |
| (WTF::StringBuilder::toAtomString const): Rewrote this to streamline, |
| removing explicit overflow checks. |
| (WTF::StringBuilder::length const): Moved out of the class |
| definition without making significant changes. |
| (WTF::StringBuilder::capacity const): Ditto. |
| (WTF::StringBuilder::operator[] const): Ditto. |
| (WTF::StringBuilder::characters const): Implemented this operation |
| in the function template. Now rather than having this call the |
| characters8 and characters16 functions, they can call it. |
| (WTF::StringBuilder::getBufferCharacters<LChar>): Deleted. |
| (WTF::StringBuilder::getBufferCharacters<UChar>): Deleted. |
| (WTF::StringBuilder::appendFromAdapters): Use saturatedSum to |
| compute the required length, which allows the extendBuffer |
| functions to do overflow checking without having to take special |
| checked integer types for arguments. |
| (WTF::StringBuilder::equal): Implement using StringView. |
| |
| * wtf/text/StringBuilderJSON.cpp: |
| (WTF::StringBuilder::appendQuotedJSONString): Simplified the checked |
| arithmetic for computing the required capacity. Updated since we |
| removed m_bufferCharacters and changed the type of m_length. |
| |
| * wtf/text/cf/StringConcatenateCF.h: Added. Specializes StringTypeAdapter for |
| both CFStringRef and NSString *. If CFStringGetCStringPtr works for Latin-1, then |
| does the 8-bit code path, otherwise the 16-bit. |
| |
| * wtf/text/cocoa/TextStreamCocoa.mm: Include StringConcatenateCF.h, since it's |
| now needed to use CFStringRef with StringBuilder. |
| |
| 2021-05-19 Sam Weinig <weinig@apple.com> |
| |
| Update Base64 encoding/decoding to match more modern WebKit conventions |
| https://bugs.webkit.org/show_bug.cgi?id=225920 |
| |
| Reviewed by Chris Dumez. |
| |
| Bring base64 encoding/decoding up to more modern WebKit conventions by: |
| - Replace use of "out parameter + bool" with Optional return values. |
| - Using enum class for enumerations. |
| - Replacing SignedOrUnsignedCharVectorAdapter/ConstSignedOrUnsignedCharVectorAdapter |
| with appropriate function overloads. |
| |
| Also adds a new StringTypeAdapter for inline base64 encoding data in either makeString() |
| or StringBuilder. To make this work, a few modifications were need to the base64Encode() |
| functions to support the fixed size writeTo() function. |
| |
| First, the length of the encoded data is now computed up front depending on the policy. |
| This has been extracted into a new calculateBase64EncodedSize() function used by both |
| the adaptor and by base64Encode when passed a Vector. Previously, when encoding using |
| some policies, the size was an overestimate and the resulting Vector would be resized |
| down after encoding. |
| |
| Second, base64EncodeInternal was made into a template function to allow for two new |
| base64Encode functions, one of which has a UChar* destination. These are used by the |
| adaptor to write the encoded data. |
| |
| One additional small change is that now a optional map type parameter has been added |
| to all the encoders to allow using either the default map or the URL one as defined |
| in RFC 4648. This simplifies the implementation of the StringTypeAdapter and makes the |
| base64URLEncode/base64URLDecode functions into simple convenience functions that use |
| the right defaults for the generic encode/decode functions. |
| |
| * wtf/text/Base64.cpp: |
| (WTF::base64EncodeInternal): |
| (WTF::base64Encode): |
| (WTF::base64DecodeInternal): |
| (WTF::base64Decode): |
| (WTF::base64URLDecode): |
| (WTF::base64URLEncode): Deleted. |
| * wtf/text/Base64.h: |
| (WTF::base64Decode): |
| (WTF::base64Encode): |
| (WTF::base64URLEncode): |
| (WTF::isBase64OrBase64URLCharacter): |
| (WTF::calculateBase64EncodedSize): |
| (WTF::base64Encoded): |
| (WTF::base64URLEncoded): |
| (WTF::StringTypeAdapter<Base64Specification>::StringTypeAdapter): |
| (WTF::StringTypeAdapter<Base64Specification>::length const): |
| (WTF::StringTypeAdapter<Base64Specification>::is8Bit const): |
| (WTF::StringTypeAdapter<Base64Specification>::writeTo const): |
| |
| 2021-05-18 Robin Morisset <rmorisset@apple.com> |
| |
| Make AirAllocateRegistersByGraphColoring use less memory |
| https://bugs.webkit.org/show_bug.cgi?id=225848 |
| |
| Reviewed by Filip Pizlo. |
| |
| Two changes: the addition of LikelyDenseUnsignedIntegerSet, and various improvements to Small(Ptr)Set. |
| |
| The latter include: |
| - Renaming SmallPtrSet into SmallSet, as it now supports integers as well as pointers. |
| - Reducing its size by sharing the same storage for m_buffer and for m_smallStorage. |
| This is safe to do, because all operations branch on isSmall() which depends purely on m_capacity. |
| - Adding trivial size(), isEmpty() and memoryUse() methods |
| - Adding a comment at the top of the file explaining when to use, and (more importantly) not to use SmallSet. |
| |
| LikelyDenseUnsignedIntegerSet is an even more specialized data structure, that can represent sets of unsigned integers very compactly if they are clustered. |
| |
| Finally I added an outOfLineMemoryUse() method to BitVector, making it more convenient to compare the memory consumption of different data structures in the register allocator. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/BitVector.h: |
| * wtf/CMakeLists.txt: |
| * wtf/LikelyDenseUnsignedIntegerSet.cpp: Copied from Source/WTF/wtf/SmallPtrSet.cpp. |
| * wtf/LikelyDenseUnsignedIntegerSet.h: Added. |
| (WTF::LikelyDenseUnsignedIntegerSet::LikelyDenseUnsignedIntegerSet): |
| (WTF::LikelyDenseUnsignedIntegerSet::~LikelyDenseUnsignedIntegerSet): |
| (WTF::LikelyDenseUnsignedIntegerSet::contains const): |
| (WTF::LikelyDenseUnsignedIntegerSet::add): |
| (WTF::LikelyDenseUnsignedIntegerSet::size const): |
| (WTF::LikelyDenseUnsignedIntegerSet::iterator::iterator): |
| (WTF::LikelyDenseUnsignedIntegerSet::iterator::m_shift): |
| (WTF::LikelyDenseUnsignedIntegerSet::iterator::operator++): |
| (WTF::LikelyDenseUnsignedIntegerSet::iterator::operator* const): |
| (WTF::LikelyDenseUnsignedIntegerSet::iterator::operator== const): |
| (WTF::LikelyDenseUnsignedIntegerSet::iterator::operator!= const): |
| (WTF::LikelyDenseUnsignedIntegerSet::begin const): |
| (WTF::LikelyDenseUnsignedIntegerSet::end const): |
| (WTF::LikelyDenseUnsignedIntegerSet::memoryUse const): |
| (WTF::LikelyDenseUnsignedIntegerSet::validate const): |
| (WTF::LikelyDenseUnsignedIntegerSet::isBitVector const): |
| (WTF::LikelyDenseUnsignedIntegerSet::isValidValue const): |
| (WTF::LikelyDenseUnsignedIntegerSet::transitionToHashSet): |
| (WTF::LikelyDenseUnsignedIntegerSet::transitionToBitVector): |
| * wtf/SmallPtrSet.h: Removed. |
| * wtf/SmallSet.cpp: Renamed from Source/WTF/wtf/SmallPtrSet.cpp. |
| * wtf/SmallSet.h: Added. |
| |
| 2021-05-18 Chris Dumez <cdumez@apple.com> |
| |
| Use WTF::Locker for locking BaseAudioContext's graph lock |
| https://bugs.webkit.org/show_bug.cgi?id=225935 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/RecursiveLockAdapter.h: |
| (WTF::RecursiveLockAdapter::isOwner const): |
| Add isOwner() function that returns true if the current thread is holding the lock. |
| This is needed for WebAudio purposes. |
| |
| 2021-05-18 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 Darin Adler. |
| |
| * wtf/PlatformHave.h: Defined HAVE_NSSCROLLVIEW_SEPARATOR_TRACKING_ADAPTER. |
| |
| 2021-05-18 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com> |
| |
| [PlayStation] Fix PlayStation port |
| https://bugs.webkit.org/show_bug.cgi?id=225913 |
| |
| Reviewed by Don Olmstead. |
| |
| Fix PlayStation port |
| |
| * wtf/PlatformPlayStation.cmake: Rename |
| PLAYSTATION_COPY_SHARED_LIBRARIES to PLAYSTATION_COPY_REQUIREMENTS. |
| |
| 2021-05-17 Saam Barati <sbarati@apple.com> |
| |
| Enable JS to emit sign posts and trace points under Options::exposeProfilersOnGlobalObject |
| https://bugs.webkit.org/show_bug.cgi?id=225895 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/SystemTracing.h: |
| |
| 2021-05-17 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [GPU Process] Object identifiers with the deleted value should cause MESSAGE_CHECKs |
| https://bugs.webkit.org/show_bug.cgi?id=225886 |
| rdar://78114708 |
| |
| Reviewed by Chris Dumez. |
| |
| See WebCore/ChangeLog for more details. Add a helper method on `ObjectIdentifier` that returns true only if it |
| is the empty value or deleted value. |
| |
| * wtf/ObjectIdentifier.h: |
| (WTF::ObjectIdentifier::isValid const): |
| |
| 2021-05-17 Alex Christensen <achristensen@webkit.org> |
| |
| Use kAudioObjectPropertyElementMain where available |
| https://bugs.webkit.org/show_bug.cgi?id=224635 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-05-16 Chris Dumez <cdumez@apple.com> |
| |
| Modernize / Optimize SQLiteStatement creation and preparation |
| https://bugs.webkit.org/show_bug.cgi?id=225791 |
| |
| Reviewed by Sam Weinig. |
| |
| Allow constructing a UniqueRef<> from a C++ reference. std::unique_ptr<>() can be constructed |
| using a raw pointer and we can construct a UniqueRef<> from a std::unique_ptr<>() so I see |
| no reason not to allow that. |
| |
| The reason I needed this is that I want to prevent call sites from allocating SQLiteStatement |
| without going through the SQLiteDatabase. As a result, I made the SQLiteStatement constructor |
| private and marked SQLiteDatabase as a friend class. SQLiteDatabase has to heap-allocate |
| a SQLiteStatement via new and then construct a UniqueRef<> for it. SQLiteDatabase cannot use |
| makeUniqueRef() because the SQLiteStatement constructor is private. I also cannot mark |
| makeUniqueRef() as a friend function of SQLiteStatement or anybody could heap allocate a |
| SQLiteStatement via makeUniqueRef (not just the SQLiteDatabase). |
| |
| * wtf/UniqueRef.h: |
| (WTF::UniqueRef::UniqueRef): |
| |
| 2021-05-15 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Delete WebSQL code from WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=225739 |
| |
| Reviewed by Sihui Liu. |
| |
| Deleted the experimental feature to disable WebSQL since we've been shipping this, |
| and made the flag to selectively enable WebSQL in WebKit1 an internal debug setting |
| since nobody should be enabling this now. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-05-15 Sam Weinig <weinig@apple.com> |
| |
| Allow conditionally enabling OffscreenCanvas only for non-worker contexts |
| https://bugs.webkit.org/show_bug.cgi?id=225845 |
| |
| Reviewed by Darin Adler. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| Add new OffscreenCanvasInWorkersEnabled preference. |
| |
| * wtf/PlatformEnable.h: |
| Add new ENABLE_OFFSCREEN_CANVAS_IN_WORKERS macro. |
| |
| 2021-05-15 Alberto Garcia <berto@igalia.com> |
| |
| CeilingOnPageSize too low for Loongson CPUs |
| https://bugs.webkit.org/show_bug.cgi?id=221198 |
| <rdar://problem/74089683> |
| |
| Reviewed by Michael Catanzaro. |
| |
| Increase the page size to 16KB in MIPS64. |
| |
| * wtf/PageBlock.h: |
| |
| 2021-05-14 Chris Dumez <cdumez@apple.com> |
| |
| Drop FileSystem::fileMetadata() / fileMetadataFollowingSymlinks() |
| https://bugs.webkit.org/show_bug.cgi?id=225820 |
| |
| Reviewed by Darin Adler. |
| |
| Drop FileSystem::fileMetadata() / fileMetadataFollowingSymlinks(). Those don't match very closely the |
| std::filesystem API we use internally and they are not very efficient because we gather several attributes |
| of a file but the callers are usually only interested in one thing (e.g. file type or file size). |
| |
| Callers interested in the file size, can call the pre-existing FileSystem::fileSize(). For call sites |
| wanting to check if it is a hidden file, I introduced a new FileSystem::isHiddenFile() API. For call sites |
| interested in the file type, I replaced FileSystem::isDirectory() / FileSystem::isDirectoryFollowingSymlinks() |
| with more generic FileSystem::fileType() / FileSystem::fileTypeFollowingSymlinks(). |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/FileMetadata.h: Removed. |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::isHiddenFile): |
| (WTF::FileSystemImpl::fileTypePotentiallyFollowingSymLinks): |
| (WTF::FileSystemImpl::fileType): |
| (WTF::FileSystemImpl::fileTypeFollowingSymlinks): |
| * wtf/FileSystem.h: |
| * wtf/glib/FileSystemGlib.cpp: |
| * wtf/posix/FileSystemPOSIX.cpp: |
| * wtf/win/FileSystemWin.cpp: |
| |
| 2021-05-14 Chris Dumez <cdumez@apple.com> |
| |
| Drop legacy / prefixed WebAudio implementation |
| https://bugs.webkit.org/show_bug.cgi?id=225832 |
| |
| Reviewed by Darin Adler. |
| |
| Drop preference for prefixed WebAudio, which was disabled everywhere. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-05-14 Chris Dumez <cdumez@apple.com> |
| |
| Port WTF::FileSystem::realPath() to std::filesystem |
| https://bugs.webkit.org/show_bug.cgi?id=225828 |
| |
| Reviewed by Darin Adler. |
| |
| Port WTF::FileSystem::realPath() to std::filesystem (in particular std::filesystem::canonical()) |
| so that we no longer need platform-specific code. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::realPath): |
| * wtf/posix/FileSystemPOSIX.cpp: |
| * wtf/win/FileSystemWin.cpp: |
| |
| 2021-05-14 Chris Dumez <cdumez@apple.com> |
| |
| Drop "get" prefix from WTF::FileSystem's getFileModificationTime() / getFileCreationTime() |
| https://bugs.webkit.org/show_bug.cgi?id=225812 |
| |
| Reviewed by Darin Adler. |
| |
| We avoid the "get" prefix in WebKit. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::fileModificationTime): |
| * wtf/FileSystem.h: |
| * wtf/glib/FileSystemGlib.cpp: |
| (WTF::FileSystemImpl::fileCreationTime): |
| * wtf/posix/FileSystemPOSIX.cpp: |
| (WTF::FileSystemImpl::fileCreationTime): |
| * wtf/win/FileSystemWin.cpp: |
| (WTF::FileSystemImpl::fileCreationTimeFromFindData): |
| (WTF::FileSystemImpl::fileModificationTimeFromFindData): |
| (WTF::FileSystemImpl::fileCreationTime): |
| |
| 2021-05-14 Chris Dumez <cdumez@apple.com> |
| |
| Rename FileSystem::getVolumeFreeSpace() to FileSystem::volumeFreeSpace() |
| https://bugs.webkit.org/show_bug.cgi?id=225811 |
| |
| Reviewed by Darin Adler. |
| |
| Rename FileSystem::getVolumeFreeSpace() to FileSystem::volumeFreeSpace() given that we |
| avoid the "get" prefix in WebKit. Also modernize the function by returning an |
| Optional<uint64_t> instead of using an out-parameter. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::volumeFreeSpace): |
| * wtf/FileSystem.h: |
| |
| 2021-05-14 Devin Rousso <drousso@apple.com> |
| |
| Promote `-[WKWebView _pageExtendedBackgroundColor]` SPI to `-[WKWebView underPageBackgroundColor]` API |
| https://bugs.webkit.org/show_bug.cgi?id=225615 |
| <rdar://problem/76568094> |
| |
| Reviewed by Wenson Hsieh. |
| |
| `underPageBackgroundColor` is a `null_resettable` property that will return (in order of validity) |
| - the most recent non-null value provided |
| - the CSS `background-color` of the `<body>` and/or `<html>` (this is the current value of `_pageExtendedBackgroundColor`) |
| - the underlying platform view's background color |
| Modifications to this property will not have any effect until control is returned to the runloop. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| Remove the experimental settings `UseSampledPageTopColorForScrollAreaBackgroundColor`and |
| `UseThemeColorForScrollAreaBackgroundColor` now that clients can override the default |
| overscroll area background color using `-[WKWebView setUnderPageBackgroundColor:]`. |
| |
| 2021-05-14 Chris Dumez <cdumez@apple.com> |
| |
| Introduce FileSystem::updateFileModificationTime() |
| https://bugs.webkit.org/show_bug.cgi?id=225810 |
| |
| Reviewed by Darin Adler. |
| |
| Introduce FileSystem::updateFileModificationTime() to update the modification time of a |
| file. The implementation is cross-platform and relies on std::filesystem. It allows us |
| to replace platform-specific code that we had at the WebKit2 layer. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::updateFileModificationTime): |
| * wtf/FileSystem.h: |
| |
| 2021-05-14 Chris Dumez <cdumez@apple.com> |
| |
| Drop unused FileSystem::homeDirectoryPath() |
| https://bugs.webkit.org/show_bug.cgi?id=225808 |
| |
| Reviewed by Anders Carlsson. |
| |
| Only Windows-specific code was calling FileSystem::homeDirectoryPath() but the Windows implementation |
| for this was always returning the empty string. |
| |
| * wtf/FileSystem.h: |
| * wtf/cocoa/FileSystemCocoa.mm: |
| (WTF::FileSystemImpl::homeDirectoryPath): Deleted. |
| * wtf/glib/FileSystemGlib.cpp: |
| (WTF::FileSystemImpl::homeDirectoryPath): Deleted. |
| * wtf/win/FileSystemWin.cpp: |
| (WTF::FileSystemImpl::homeDirectoryPath): Deleted. |
| |
| 2021-05-14 Chris Dumez <cdumez@apple.com> |
| |
| Rename FileSystem::getFileSize() to FileSystem::fileSize() |
| https://bugs.webkit.org/show_bug.cgi?id=225798 |
| |
| Reviewed by Alex Christensen. |
| |
| Rename FileSystem::getFileSize() to FileSystem::fileSize() as we usually avoid the "get" |
| prefix in WebKit. It is also more consistent with the std::filesystem::file_size() the |
| implementation relies on. |
| |
| Also have it return an Optional<uint64_t> instead of taking a long long out-parameter, as |
| this is more modern. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::fileSize): |
| * wtf/FileSystem.h: |
| * wtf/glib/FileSystemGlib.cpp: |
| (WTF::FileSystemImpl::fileSize): |
| * wtf/posix/FileSystemPOSIX.cpp: |
| (WTF::FileSystemImpl::fileSize): |
| * wtf/win/FileSystemWin.cpp: |
| (WTF::FileSystemImpl::getFileSizeFromByHandleFileInformationStructure): |
| (WTF::FileSystemImpl::fileSize): |
| (WTF::FileSystemImpl::MappedFileData::mapFileHandle): |
| |
| 2021-05-14 Chris Dumez <cdumez@apple.com> |
| |
| Rename FileSystem::pathGetFileName() to FileSystem::pathFileName() |
| https://bugs.webkit.org/show_bug.cgi?id=225806 |
| |
| Reviewed by Alex Christensen. |
| |
| Rename FileSystem::pathGetFileName() to FileSystem::pathFileName(), as we avoid "get" prefixes in WebKit. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::pathFileName): |
| (WTF::FileSystemImpl::pathGetFileName): Deleted. |
| * wtf/FileSystem.h: |
| |
| 2021-05-13 Dean Jackson <dino@apple.com> |
| |
| [WebXR] Allow WebXR to be tested on PLATFORM(COCOA) |
| https://bugs.webkit.org/show_bug.cgi?id=225578 |
| |
| Reviewed by Sam Weinig. |
| |
| Compile-time enabled on all Cocoa platforms. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-05-13 Chris Dumez <cdumez@apple.com> |
| |
| Rename FileSystem::directoryName() to FileSystem::parentPath() |
| https://bugs.webkit.org/show_bug.cgi?id=225768 |
| |
| Reviewed by Darin Adler. |
| |
| Rename FileSystem::directoryName() to FileSystem::parentPath() for clarity and |
| consistency with std::filesystem::parent_path() which is used internally. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::readOrMakeSalt): |
| (WTF::FileSystemImpl::parentPath): |
| (WTF::FileSystemImpl::directoryName): Deleted. |
| * wtf/FileSystem.h: |
| |
| 2021-05-13 Chris Dumez <cdumez@apple.com> |
| |
| Rename FileSystem::fileIsDirectory(path, followSymlinks) to isDirectory(path) / isDirectoryFollowingSymlinks(path) |
| https://bugs.webkit.org/show_bug.cgi?id=225772 |
| |
| Reviewed by Darin Adler. |
| |
| I don't think the "file" prefix is useful here so I am renaming the function to |
| isDirectory(). Also, instead of using an enum parameter to decide whether or |
| not to follow symlink, I am adding a separate function called |
| isDirectoryFollowingSymlinks(). This is consistent with the |
| fileMetadata() / fileMetadataFollowingSymlinks() pattern, which Darin said he |
| preferred. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::isDirectory): |
| (WTF::FileSystemImpl::isDirectoryFollowingSymlinks): |
| (WTF::FileSystemImpl::fileIsDirectory): Deleted. |
| * wtf/FileSystem.h: |
| |
| 2021-05-13 Chris Dumez <cdumez@apple.com> |
| |
| Introduce FileSystem::hardLinkCount() |
| https://bugs.webkit.org/show_bug.cgi?id=225767 |
| |
| Reviewed by Darin Adler. |
| |
| Introduce FileSystem::hardLinkCount() to replace our platform-specific implementation |
| in NetworkCacheBlobStorage. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::hardLinkCount): |
| * wtf/FileSystem.h: |
| |
| 2021-05-13 Alicia Boya GarcÃa <aboya@igalia.com> |
| |
| [WTF] Add holdLock() overload for WTF::DataMutex |
| https://bugs.webkit.org/show_bug.cgi?id=225652 |
| |
| Reviewed by Xabier Rodriguez-Calvar. |
| |
| This patch adds a holdLock() overload for WTF::DataMutex as syntactic |
| sugar to simplify usage in a similar way to what holdLock() already |
| does for WTF::Locker. |
| |
| * wtf/DataMutex.h: |
| (WTF::holdLock): |
| |
| 2021-05-13 Darin Adler <darin@apple.com> |
| |
| Remove StringBuilder::appendNumber |
| https://bugs.webkit.org/show_bug.cgi?id=225732 |
| |
| Reviewed by Sam Weinig. |
| |
| We originally added StringBuilder::appendNumber to resolve the ambiguity |
| between UChar and uint16_t, but that problem was solved long ago and it |
| is safe to use StringBuilder::append, including the variadic form, on all |
| types of numbers and we'll get the same results we did with appendNumber. |
| |
| * wtf/JSONValues.cpp: |
| (WTF::JSONImpl::Value::writeJSON const): Use append instead of appendNumber. |
| |
| * wtf/text/StringBuilder.cpp: |
| (WTF::StringBuilder::appendNumber): Deleted. |
| * wtf/text/StringBuilder.h: Removed appendNumber. |
| |
| * wtf/text/TextStream.cpp: |
| (WTF::TextStream::operator<<): Use append instead of appendNumber. |
| |
| 2021-05-12 Mark Lam <mark.lam@apple.com> |
| |
| Implement some common Baseline JIT slow paths using JIT thunks. |
| https://bugs.webkit.org/show_bug.cgi?id=225682 |
| |
| Reviewed by Filip Pizlo. |
| |
| Introduce ENABLE(EXTRA_CTI_THUNKS) flag to guard the use of these new thunks. |
| Currently, the thunks are 64-bit only, and only supported for ARM64 and non-Windows |
| X86_64. The reason it is not supported for Windows as well is because Windows |
| only has 4 argument registers. In this patch, the thunks do not use that many |
| registers yet, but there will be more thunks coming that will require the use |
| of up to 6 argument registers. |
| |
| * wtf/PlatformEnable.h: |
| |
| 2021-05-11 Chris Dumez <cdumez@apple.com> |
| |
| Port WTF::FileSystem::listDirectory to std::filesystem |
| https://bugs.webkit.org/show_bug.cgi?id=225633 |
| |
| Reviewed by Darin Adler. |
| |
| Port WTF::FileSystem::listDirectory to std::filesystem with the following 2 changes: |
| - The function no longer takes a (blob-style) filter parameter |
| - The function now returns file names instead of file paths, allowing the call sites |
| to more easily filter based on prefixes. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::listDirectory): |
| * wtf/FileSystem.h: |
| * wtf/glib/FileSystemGlib.cpp: |
| * wtf/posix/FileSystemPOSIX.cpp: |
| * wtf/win/FileSystemWin.cpp: |
| |
| 2021-05-11 Darin Adler <darin@apple.com> |
| |
| Remove the String::toInt family of functions |
| https://bugs.webkit.org/show_bug.cgi?id=225599 |
| |
| Reviewed by Anders Carlsson. |
| |
| * wtf/text/AtomString.h: Deleted AtomString::toInt. |
| |
| * wtf/text/StringImpl.cpp: |
| (WTF::StringImpl::toIntStrict): Deleted. |
| (WTF::StringImpl::toUIntStrict): Deleted. |
| (WTF::StringImpl::toInt64Strict): Deleted. |
| (WTF::StringImpl::toUInt64Strict): Deleted. |
| (WTF::StringImpl::toIntPtrStrict): Deleted. |
| (WTF::StringImpl::toInt): Deleted. |
| (WTF::StringImpl::toUInt): Deleted. |
| (WTF::StringImpl::toInt64): Deleted. |
| (WTF::StringImpl::toUInt64): Deleted. |
| (WTF::StringImpl::toIntPtr): Deleted. |
| * wtf/text/StringImpl.h: Deleted the above functions. |
| |
| * wtf/text/StringToIntegerConversion.h: Removed toIntegralType. |
| |
| * wtf/text/StringView.cpp: |
| (WTF::parseUInt16): Deleted. |
| |
| * wtf/text/StringView.h: Deleted StringView::toInt, |
| StringView::toIntStrict, StringView::toUInt64Strict, |
| StringView::toInt64Strict, and parseUInt16. Changed the constructor |
| that takes a const char* to work when passed nullptr. StringView has |
| a null value, and converting a null const char* should produce that. |
| |
| * wtf/text/WTFString.cpp: |
| (WTF::String::toIntStrict const): Deleted. |
| (WTF::String::toUIntStrict const): Deleted. |
| (WTF::String::toInt64Strict const): Deleted. |
| (WTF::String::toUInt64Strict const): Deleted. |
| (WTF::String::toIntPtrStrict const): Deleted. |
| (WTF::String::toInt const): Deleted. |
| (WTF::String::toUInt const): Deleted. |
| (WTF::String::toInt64 const): Deleted. |
| (WTF::String::toUInt64 const): Deleted. |
| (WTF::String::toIntPtr const): Deleted. |
| (WTF::lengthOfCharactersAsInteger): Deleted. |
| (WTF::charactersToIntStrict): Deleted. |
| (WTF::charactersToUIntStrict): Deleted. |
| (WTF::charactersToInt64Strict): Deleted. |
| (WTF::charactersToUInt64Strict): Deleted. |
| (WTF::charactersToIntPtrStrict): Deleted. |
| (WTF::charactersToInt): Deleted. |
| (WTF::charactersToUInt): Deleted. |
| (WTF::charactersToInt64): Deleted. |
| (WTF::charactersToUInt64): Deleted. |
| (WTF::charactersToIntPtr): Deleted. |
| * wtf/text/WTFString.h: Deleted the above functions. |
| |
| 2021-05-11 Devin Rousso <drousso@apple.com> |
| |
| [macCatalyst] should have CSS `hover: hover` and `pointer: fine` |
| https://bugs.webkit.org/show_bug.cgi?id=225672 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformHave.h: |
| Add `HAVE_MOUSE_DEVICE_OBSERVATION` and `HAVE_STYLUS_DEVICE_OBSERVATION` to make callsites |
| clearer instead of having a somewhat unrelated connection to `HAVE_UIKIT_WITH_MOUSE_SUPPORT` |
| and `HAVE_PENCILKIT_TEXT_INPUT` (not to mention both of them are `PLATFORM(MACCATALYST)` |
| which isn't desirable since macCatalyst should consider the mouse as the primary pointing |
| device, just like macOS). |
| |
| 2021-05-11 Alex Christensen <achristensen@webkit.org> |
| |
| Remove xpc_connection_kill |
| https://bugs.webkit.org/show_bug.cgi?id=225602 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-05-10 Chris Dumez <cdumez@apple.com> |
| |
| [ macOS Release wk2 ] http/tests/cache-storage/cache-records-persistency.https.html is flaky crashing |
| https://bugs.webkit.org/show_bug.cgi?id=225522 |
| <rdar://problem/77680019> |
| |
| Reviewed by Darin Adler. |
| |
| Pass ec parameter to std::filesystem::directory_iterator() so that it doesn't throw in case of the |
| path does not exist. Normally, the function would return early earlier if the path does not exist |
| or isn't a directory. However, in the context of the test, this function is getting called on a |
| background thread and another thread is deleting the directory in parallel. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::deleteEmptyDirectory): |
| |
| 2021-05-10 Devin Rousso <drousso@apple.com> |
| |
| `SLEEP_THREAD_FOR_DEBUGGER` should print the PID before sleeping |
| https://bugs.webkit.org/show_bug.cgi?id=225619 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/DebugUtilities.h: |
| |
| 2021-05-10 Rob Buis <rbuis@igalia.com> |
| |
| Implement <form>.requestSubmit() |
| https://bugs.webkit.org/show_bug.cgi?id=197958 |
| |
| Reviewed by Darin Adler. |
| |
| Add requestSubmit as experimental feature, disabled by default. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-05-09 Darin Adler <darin@apple.com> |
| |
| Remove uses of the String::toInt family of functions from WebCore/html and similar directories |
| https://bugs.webkit.org/show_bug.cgi?id=225577 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/text/StringBuilder.h: Added conversion operator to make a StringView, built on the exiting |
| is8Bit, characters8, characters16 and length functions. Removed now-uneeded equal function and |
| == and != operators since the StringView ones work for those same cases with the same syntax. |
| |
| 2021-05-08 Darin Adler <darin@apple.com> |
| |
| Rename toIntegralType to parseInteger and prepare to use it to replace all our integer-parsing functions |
| https://bugs.webkit.org/show_bug.cgi?id=225560 |
| |
| Reviewed by Sam Weinig. |
| |
| I have a much larger patch that replaces all the many toInt functions with these parseInteger |
| function templates. The parseInteger ones take StringView, which means we can pass almost any |
| type of string or character/length pair including a substring without allocating a new string, |
| return Optional rather than using an out argument to report failure, take the integer type as |
| a template parameter so can be used for precisely the desired type at each call site, and make |
| the "allow trailing junk" feature explicit, rather than implicitly including it in the shortest |
| named functions, which I hope will discourage people from using that junk-ignoring mode |
| when it's not desirable. |
| |
| Also includes adoption of parseInteger within WTF itself, outside the string classes. |
| |
| My plan is to land the rest of adoption of this in chunks so we can review carefully and spot |
| mistakes as we go. Then return to files like WTFString.h and remove the many old functions |
| this replaces, including the String::toInt and charactersToInt families of functions. |
| |
| * wtf/URL.cpp: |
| (WTF::URL::port const): Use parseInteger<uint16_t>. |
| (WTF::URL::setHostAndPort): Ditto. |
| |
| * wtf/text/StringToIntegerConversion.h: Refactored the existing code to tighten things up |
| a bit, and got rid of overloads that take pointer and length and the the generic "any string |
| type" feature, since StringView already works well for that. Renamed toIntegralType to |
| parseInteger, leaving the old name behind to ease the transition while adopting parseInteger. |
| |
| * wtf/text/WTFString.cpp: |
| (WTF::toDoubleType): Use the TrailingJunkPolicy enumeration from the |
| StringToIntegerConversion.h header. |
| (WTF::charactersToDouble): Ditto. |
| (WTF::charactersToFloat): Ditto. |
| |
| 2021-05-08 Chris Dumez <cdumez@apple.com> |
| |
| Port Filesystem::pathByAppendingComponent() & Filesystem:: pathByAppendingComponents() to std::filesystem |
| https://bugs.webkit.org/show_bug.cgi?id=225550 |
| |
| Reviewed by Darin Adler. |
| |
| Port Filesystem::pathByAppendingComponent() & Filesystem:: pathByAppendingComponents() to std::filesystem |
| and get rid of platform-specific implementations. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::pathByAppendingComponent): |
| (WTF::FileSystemImpl::pathByAppendingComponents): |
| * wtf/glib/FileSystemGlib.cpp: |
| * wtf/posix/FileSystemPOSIX.cpp: |
| * wtf/win/FileSystemWin.cpp: |
| |
| 2021-05-08 Diego Pino Garcia <dpino@igalia.com> |
| |
| [GLIB] REGRESSION(r277158) imported/w3c/web-platform-tests/xhr/FormData-append.html is crashing |
| https://bugs.webkit.org/show_bug.cgi?id=225551 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::fileIsDirectory): Remove unnecessary path.isEmpty check. |
| * wtf/glib/FileSystemGlib.cpp: |
| (WTF::FileSystemImpl::fileSystemRepresentation): Return empty CString if path is empty. |
| |
| 2021-05-07 Chris Dumez <cdumez@apple.com> |
| |
| Port FileSystem::pathGetFileName() & Filesystem::directoryName() to std::filesystem |
| https://bugs.webkit.org/show_bug.cgi?id=225524 |
| |
| Reviewed by Darin Adler. |
| |
| Port FileSystem::pathGetFileName() & Filesystem::directoryName() to std::filesystem so |
| that we can get rid of platform-specific implementions. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::pathGetFileName): |
| (WTF::FileSystemImpl::directoryName): |
| * wtf/glib/FileSystemGlib.cpp: |
| (WTF::FileSystemImpl::pathGetFileName): Deleted. |
| (WTF::FileSystemImpl::directoryName): Deleted. |
| * wtf/posix/FileSystemPOSIX.cpp: |
| (WTF::FileSystemImpl::pathGetFileName): Deleted. |
| (WTF::FileSystemImpl::directoryName): Deleted. |
| * wtf/win/FileSystemWin.cpp: |
| (WTF::FileSystemImpl::pathGetFileName): Deleted. |
| (WTF::FileSystemImpl::directoryName): Deleted. |
| |
| 2021-05-07 Tim Horton <timothy_horton@apple.com> |
| |
| Add an experimental alternative display-list-based RemoteLayerBackingStore implementation |
| https://bugs.webkit.org/show_bug.cgi?id=225508 |
| |
| Reviewed by Sam Weinig. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-05-07 Philippe Normand <pnormand@igalia.com> |
| |
| [GTK] Warnings about unused filesystem functions |
| https://bugs.webkit.org/show_bug.cgi?id=225507 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| Since r277158 these functions are no longer needed. |
| |
| * wtf/glib/FileSystemGlib.cpp: |
| (WTF::FileSystemImpl::getFileStat): Deleted. |
| (WTF::FileSystemImpl::getFileLStat): Deleted. |
| |
| 2021-05-06 Chris Dumez <cdumez@apple.com> |
| |
| Port Filesystem::fileMetadata() & Filesystem::getFileModificationTime() to std::filesystem |
| https://bugs.webkit.org/show_bug.cgi?id=225362 |
| |
| Reviewed by Darin Adler. |
| |
| Port Filesystem::fileMetadata() & Filesystem::getFileModificationTime() to std::filesystem |
| and get rid of platform-specific implementations. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::toWallTime): |
| (WTF::FileSystemImpl::getFileModificationTime): |
| (WTF::FileSystemImpl::fileMetadata): |
| * wtf/FileSystem.h: |
| * wtf/glib/FileSystemGlib.cpp: |
| * wtf/posix/FileSystemPOSIX.cpp: |
| * wtf/win/FileSystemWin.cpp: |
| |
| 2021-05-06 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com> |
| |
| [OpenSSL] Implement CryptoAlgorithmRSA* |
| https://bugs.webkit.org/show_bug.cgi?id=225294 |
| |
| Reviewed by Don Olmstead. |
| |
| Implement RSA for OpenSSL. |
| |
| Implement CryptoAlgorithmRSA_OAEP, CryptoAlgorithmRSA_PSS, |
| CryptoAlgorithmRSAES_PKCS1_v1_5, CryptoAlgorithmRSASA_PKCS1_v1_5, |
| and CryptoKeyRSA for OpenSSL. |
| |
| Note that if such OpenSSL version that does not support RSA_OAEP or |
| RSA_PSS, the WebCrypto API for those algorithm will return a |
| NotSupportedError. |
| |
| * wtf/Platform.h: Set HAVE_RSA_PSS for USE(OPENSSL) |
| |
| 2021-05-06 Chris Dumez <cdumez@apple.com> |
| |
| Regression(r254389?) navigator.languages returns all lowercase languages for ports using CF |
| https://bugs.webkit.org/show_bug.cgi?id=225461 |
| |
| Reviewed by Darin Adler. |
| |
| Stop lowercasing the languages returned by navigator.language / navigator.languages |
| as this does not match the specification [1][2] or other Web browsers. The proper format is |
| 'en-US', not 'en-us'. |
| |
| [1] https://html.spec.whatwg.org/#dom-navigator-language |
| [2] https://tools.ietf.org/html/bcp47 |
| |
| * wtf/cf/LanguageCF.cpp: |
| (WTF::httpStyleLanguageCode): |
| |
| 2021-05-06 Filip Pizlo <fpizlo@apple.com> |
| |
| Remove old and unused memory barrier abstractions |
| https://bugs.webkit.org/show_bug.cgi?id=225487 |
| |
| Reviewed by Mark Lam. |
| |
| We don't use memoryBarrierBlahBlah anymore. |
| |
| * wtf/Atomics.h: |
| (WTF::memoryBarrierAfterLock): Deleted. |
| (WTF::memoryBarrierBeforeUnlock): Deleted. |
| |
| 2021-05-06 Filip Pizlo <fpizlo@apple.com> |
| |
| Reduce use of dmb ish on ARM64 |
| https://bugs.webkit.org/show_bug.cgi?id=225465 |
| |
| Reviewed by Keith Miller. |
| |
| * wtf/Atomics.h: |
| (WTF::dependentLoadLoadFence): |
| |
| 2021-05-06 Per Arne Vollan <pvollan@apple.com> |
| |
| Add sandbox extension flag to specify that path contains no symlinks |
| https://bugs.webkit.org/show_bug.cgi?id=219428 |
| <rdar://problem/66551986> |
| |
| Reviewed by Brent Fulgham. |
| |
| Declare canonical sandbox flag. |
| |
| * wtf/spi/darwin/SandboxSPI.h: |
| |
| 2021-05-06 Dean Jackson <dino@apple.com> |
| |
| [WebXR] Add IOSurface to FrameData::LayerData |
| https://bugs.webkit.org/show_bug.cgi?id=225428 |
| <rdar://problem/77586270> |
| |
| Reviewed by Tim Horton. |
| |
| Add USE(IOSURFACE_FOR_XR_LAYER_DATA) and make it true |
| for Cocoa platforms. |
| |
| * wtf/PlatformUse.h: |
| |
| 2021-05-06 Darin Adler <darin@apple.com> |
| |
| Streamline codec parsing, replacing uses of HashMap with SortedArrayMap |
| https://bugs.webkit.org/show_bug.cgi?id=225368 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/SortedArrayMap.h: Moved PackedASCIILowerCodes here for reuse. |
| Slightly tweaked ComparableASCIISubsetLiteral to match better. |
| |
| 2021-05-05 Devin Rousso <drousso@apple.com> |
| |
| Sampled Page Top Color: take additional snapshots further down the page to see if the sampled top color is more than just a tiny strip |
| https://bugs.webkit.org/show_bug.cgi?id=225323 |
| |
| Reviewed by Beth Dakin. |
| |
| Add a `SampledPageTopColorMinHeight` setting that controls how far down the sampled page top |
| color needs to extend in order for us to not bail. If the value > 0, we take an additional |
| snapshot at (0, SampledPageTopColorMinHeight) and (width, SampledPageTopColorMinHeight), |
| comparing each to the snapshot directly above (e.g. (0, SampledPageTopColorMinHeight) is |
| compared to (0, 0)) using the `SampledPageTopColorMaxDifference`. Depending on the value, if |
| the color across the top of the page is only a small strip, these extra snapshot comparisons |
| will prevent a resulting color from being derived. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2021-05-05 Sam Weinig <weinig@apple.com> |
| |
| Add preliminary support for specifying a color space for 2D canvas |
| https://bugs.webkit.org/show_bug.cgi?id=225286 |
| |
| Reviewed by Dean Jackson. |
| |
| Add new experimental feature, CanvasColorSpaceEnabled, which blocks |
| access to the new ability to specify color spaces for 2D canvas. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-05-04 Alex Christensen <achristensen@webkit.org> |
| |
| Don't iterate NetworkProcessProxy::m_websiteDataStores |
| https://bugs.webkit.org/show_bug.cgi?id=225337 |
| <rdar://77233103> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/Vector.h: |
| (WTF::copyToVectorOf): |
| Use a universal reference instead of const&. |
| * wtf/WeakHashSet.h: |
| WeakHashSet iteration returns T&, and we need this instead of WeakPtr<T> to be able to return a Ref from a map function. |
| |
| 2021-05-04 Chris Dumez <cdumez@apple.com> |
| |
| Drop std::filesystem logic in PlatformJSCOnly.cmake |
| https://bugs.webkit.org/show_bug.cgi?id=225355 |
| |
| Reviewed by Alex Christensen. |
| |
| Drop std::filesystem logic in PlatformJSCOnly.cmake as it is no longer needed after r276946. |
| |
| * wtf/PlatformJSCOnly.cmake: |
| |
| 2021-05-03 Kimmo Kinnunen <kkinnunen@apple.com> |
| |
| [GPUP] Move GPUProcess WebGL to Experimental Feature |
| https://bugs.webkit.org/show_bug.cgi?id=222836 |
| rdar://75048190 |
| |
| Reviewed by Brent Fulgham. |
| |
| Move the setting for WebGL in GPU process |
| to experimental features but disable it by default, |
| even on layout tests. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-05-03 Lauro Moura <lmoura@igalia.com> |
| |
| REGRESSION(r276879) Add libstdc++fs to wtf libraries when using experimental fs headers |
| https://bugs.webkit.org/show_bug.cgi?id=225341 |
| |
| Reviewed by Chris Dumez. |
| |
| After r276879, Filesystem.cpp uses std::filesystem directly. So, |
| expose the need for stdc++fs like was done in r268708 when std::fs was |
| used in WTR. |
| |
| * wtf/CMakeLists.txt: |
| |
| 2021-05-03 Chris Dumez <cdumez@apple.com> |
| |
| Restore pre-r276879 behavior for FileSystem::moveFile() |
| https://bugs.webkit.org/show_bug.cgi?id=225307 |
| |
| Reviewed by Sam Weinig. |
| |
| Update FileSystem::moveFile() so that it now supports again moving a file across different |
| volumes by copying the file over and then deleting the source file. |
| |
| I have verified locally that the function is now able to move a file to a different volumes. |
| Sadly, I don't think having an API test is feasible here as it requires pre-determined |
| volumes to be available. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::moveFile): |
| |
| 2021-05-03 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed attempt to fix JSCOnly build with recent clang after r276879 |
| https://bugs.webkit.org/show_bug.cgi?id=225327 |
| |
| * wtf/PlatformJSCOnly.cmake: |
| |
| 2021-05-03 Diego Pino Garcia <dpino@igalia.com> |
| |
| [GLIB] REGRESSION(r276879): Several tests are crashing or failing |
| https://bugs.webkit.org/show_bug.cgi?id=225292 |
| |
| Reviewed by Carlos Alberto Lopez Perez. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::fileIsDirectory): Return false if path is empty. |
| |
| 2021-05-03 Chris Dumez <cdumez@apple.com> |
| |
| Restore pre-r276879 behavior for FileSystem::deleteFile() and FileSystem::deleteEmptyDirectory() |
| https://bugs.webkit.org/show_bug.cgi?id=225289 |
| |
| Reviewed by Darin Adler. |
| |
| Restore pre-r276879 behavior for FileSystem::deleteFile() and FileSystem::deleteEmptyDirectory() to |
| reduce the risk of regressions. In particular, calling FileSystem::deleteFile() on an empty directory |
| now fails and calling FileSystem::deleteEmptyDirectory() on a non-directory now fails. |
| |
| I have also gotten rid of the macOS-specific implementation of deleteEmptyDirectory() and merged the |
| needed behavior (Dealing with .DS_Store files) to the generic function. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::deleteFile): |
| (WTF::FileSystemImpl::deleteEmptyDirectory): |
| * wtf/mac/FileSystemMac.mm: |
| (WTF::FileSystem::deleteEmptyDirectory): Deleted. |
| |
| 2021-05-02 Sam Weinig <weinig@apple.com> |
| |
| Add support for DestinationColorSpace::DisplayP3 in preparation for DisplayP3 canvas |
| https://bugs.webkit.org/show_bug.cgi?id=225280 |
| |
| Reviewed by Anders Carlsson. |
| |
| Add new ENABLE_DESTINATION_COLOR_SPACE_DISPLAY_P3 macro to declare which ports |
| support P3 backing stores. Currently, only the Apple/Cocoa ports support it. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-04-30 Darin Adler <darin@apple.com> |
| |
| Use SortedArrayMap in a few more places |
| https://bugs.webkit.org/show_bug.cgi?id=225251 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/SortedArrayMap.h: Added support for types that don't have a parse member function. |
| |
| * wtf/cocoa/MainThreadCocoa.mm: Removed unneeded includes. |
| * wtf/text/AtomStringImpl.cpp: Ditto. |
| * wtf/text/AtomStringTable.cpp: Ditto. |
| |
| 2021-05-01 Chris Dumez <cdumez@apple.com> |
| |
| Start leveraging std::filesystem in WTF::FileSystem |
| https://bugs.webkit.org/show_bug.cgi?id=225255 |
| |
| Reviewed by Sam Weinig. |
| |
| Start leveraging std::filesystem in WTF::FileSystem to reduce the amount of |
| platform-specific code. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::fileExists): |
| (WTF::FileSystemImpl::deleteFile): |
| (WTF::FileSystemImpl::deleteEmptyDirectory): |
| (WTF::FileSystemImpl::moveFile): |
| (WTF::FileSystemImpl::getFileSize): |
| (WTF::FileSystemImpl::fileIsDirectory): |
| (WTF::FileSystemImpl::makeAllDirectories): |
| (WTF::FileSystemImpl::getVolumeFreeSpace): |
| (WTF::FileSystemImpl::createSymbolicLink): |
| (WTF::FileSystemImpl::hardLink): |
| (WTF::FileSystemImpl::hardLinkOrCopyFile): |
| (WTF::FileSystemImpl::deleteNonEmptyDirectory): |
| * wtf/FileSystem.h: |
| * wtf/cocoa/FileSystemCocoa.mm: |
| (WTF::FileSystemImpl::createTemporaryDirectory): |
| * wtf/glib/FileSystemGlib.cpp: |
| * wtf/posix/FileSystemPOSIX.cpp: |
| * wtf/win/FileSystemWin.cpp: |
| |
| * wtf/PlatformJSCOnly.cmake: |
| GNU implementation prior to 9.1 requires linking with -lstdc++fs and LLVM implementation |
| prior to LLVM 9.0 requires linking with -lc++fs. |
| |
| * wtf/StdFilesystem.cpp: Removed. |
| * wtf/StdFilesystem.h: |
| Drop our own copy of std::filesystem as all the operating system we support now have |
| support for this. |
| |
| 2021-05-01 Sam Weinig <weinig@apple.com> |
| |
| Make destination color space enumeration match supported destination color spaces for the port |
| https://bugs.webkit.org/show_bug.cgi?id=225237 |
| |
| Reviewed by Simon Fraser. |
| |
| Add ENABLE_DESTINATION_COLOR_SPACE_LINEAR_SRGB and enabled it for all ports |
| except the Apple Windows port, which is the only one doesn't have any support |
| for it. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| * wtf/PlatformEnableWinApple.h: |
| |
| 2021-04-30 Darin Adler <darin@apple.com> |
| |
| Optimize SortedArrayMap by using linear search for small arrays |
| https://bugs.webkit.org/show_bug.cgi?id=225223 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/SortedArrayMap.h: Added a base class SortedArrayBase that contains a constant |
| for the cutoff between linear and binary search. Based on a quick empirical test, |
| it seems faster to do linear search for arrays that have less then 20 elements. |
| While doing this also switched from tryBinarySearch to std::find/find_if/lower_bound |
| because the standard library function templates should be excellent for this purpose, |
| and there's no reason to use our own. Also filled out the operations for the |
| ComparableASCIILiteral family so that the "<" operator works in either direction, |
| since that's needed for compatibility with standard library algorithms. |
| |
| 2021-04-29 Ben Nham <nham@apple.com> |
| |
| Reduce memory footprint for background tabs |
| https://bugs.webkit.org/show_bug.cgi?id=225007 |
| |
| Reviewed by Chris Dumez. |
| |
| Add an option to slim background tabs by proactively calling WebCore::releaseMemory on Macs. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-04-29 Darin Adler <darin@apple.com> |
| |
| Extend SortedArrayMap further to work on case-folded strings, use in MIMETypeRegistry |
| https://bugs.webkit.org/show_bug.cgi?id=224968 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/ASCIICType.h: Make most functions constexpr. |
| |
| * wtf/Forward.h: Added FixedVector. |
| |
| * wtf/SortedArrayMap.h: Added SortedArraySet. Added ComparableCaseFoldingASCIILiteral |
| and ComparableLettersLiteral, using a template shared with ComparableASCIILiteral. |
| |
| * wtf/StdLibExtras.h: Added isSortedConstExpr and allOfConstExpr. |
| |
| 2021-04-29 Ben Nham <nham@apple.com> |
| |
| Unreviewed, reverting r276619. |
| |
| Causes multiple regressions on perf bots. |
| |
| Reverted changeset: |
| |
| "Reduce memory footprint for background tabs" |
| https://bugs.webkit.org/show_bug.cgi?id=225007 |
| https://commits.webkit.org/r276619 |
| |
| 2021-04-28 Devin Rousso <drousso@apple.com> |
| |
| experiment with averaging sampling colors across the top of the page as the scroll area background |
| https://bugs.webkit.org/show_bug.cgi?id=224987 |
| <rdar://problem/76251889> |
| |
| Reviewed by Darin Adler. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| Add a `SampledPageTopColorMaxDifference` setting that controls both whether or not to sample |
| colors from the top of the page (only if value > 0) and the max Lab color difference allowed |
| across all samples. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| Add a `UseSampledPageTopColorForScrollAreaBackgroundColor` internal setting that controls |
| whether the sampled page top color can be used as the overscroll area background color. |
| |
| 2021-04-28 Kate Cheney <katherine_cheney@apple.com> |
| |
| Disable App Bound Requests on macOS |
| https://bugs.webkit.org/show_bug.cgi?id=225155 |
| <rdar://problem/77288787> |
| |
| App-bound requests is causing potential performance issues on macOS. |
| We should disable it while we investigate further. |
| |
| Reviewed by Brent Fulgham. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-04-28 Basuke Suzuki <basuke.suzuki@sony.com> |
| |
| Suppress warnings for %{private}s format specifier |
| https://bugs.webkit.org/show_bug.cgi?id=225137 |
| |
| Reviewed by Alex Christensen. |
| |
| Add PRIVATE_LOG_STRING macro which is defined depending on if |
| os_log() is used or rather old printf(). |
| See also: https://bugs.webkit.org/show_bug.cgi?id=207478 |
| |
| * wtf/Assertions.h: |
| |
| 2021-04-28 Alex Christensen <achristensen@webkit.org> |
| |
| Remove support for NPAPI plugins in WebView |
| https://bugs.webkit.org/show_bug.cgi?id=224449 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-04-28 Chris Dumez <cdumez@apple.com> |
| |
| Drop ModernUnprefixedWebAudio & AudioWorklet experimental feature flags |
| https://bugs.webkit.org/show_bug.cgi?id=225130 |
| |
| Reviewed by Eric Carlson. |
| |
| Drop ModernUnprefixedWebAudio & AudioWorklet experimental feature flags now that |
| these features have shipped. It also doesn't make sense to disable them given |
| that the prefixed WebAudio API is no longer exposed and there is no feature flag |
| to turn the legacy prefixed API back on. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-04-28 Kimmo Kinnunen <kkinnunen@apple.com> |
| |
| Asserting that function or variable is accessed in a certain thread should be simpler and more robust |
| https://bugs.webkit.org/show_bug.cgi?id=224971 |
| |
| Reviewed by Darin Adler. |
| |
| Adds support for more fine-grained thread assertion than |
| ASSERT(isMainThread()) / ASSERT(!isMainThread()) |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/Compiler.h: |
| Add NO_UNIQUE_ADDRESS which can be used to declare members that are empty in |
| RELEASE builds. The declaration avoids increasing the size of the enclosing type. |
| This should be used with ThreadAssertion: |
| class MyThreadAware { |
| .... |
| NO_UNIQUE_ADDRESS ThreadAssertion m_ownerThread; |
| }; |
| |
| * wtf/ThreadAssertions.h: Added. |
| Add ThreadAssertion class that can be held as a member of a type. |
| This allows consistent assertions that the code in the type |
| runs in the expected thread. |
| |
| Add NamedAssertion& WTF::mainThread. |
| Add NamedAssertion& WTF::mainRunLoop. |
| These are only to be used in thread safety analysis phase. These are undefined |
| symbols, it is an error to reference them. |
| |
| Adds functions assertIsMainThread() and assertIsMainRunLoop() to replace |
| patterns of ASSERT(isMainThread()), ASSERT(isMainRunLoop(). |
| In addition to behaving as the direct ASSERT behaves, the functions |
| enable compile-time thread safety analysis to know that the calling |
| scope has the assertions. These can be optionally then used in the |
| function and member signatures to require the assertions. |
| |
| 2021-04-28 Daniel Kolesa <dkolesa@igalia.com> |
| |
| [WPE][GTK] More correct fixes for stack size issues on musl libc |
| https://bugs.webkit.org/show_bug.cgi?id=225099 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| Partial revert https://bugs.webkit.org/show_bug.cgi?id=210068 |
| |
| While the changes in r236306 stopped JSC from crashing outright, |
| they are not correct, since they also make it rather unstable. |
| |
| To counter this, increase stack size for threads on Linux with |
| non-glibc/bionic libcs to 1 megabyte, which is a robust enough |
| value that should always be sufficient. |
| |
| While at it, the previous approach to musl thread stack size was |
| breaking use of DEFAULT_THREAD_STACK_SIZE_IN_KB (if defined) as |
| well as not properly taking care of the unused parameter. Move |
| the code to a more appropriate place, which solves these problems. |
| |
| All this is however not enough, since there is still the main thread; |
| using pthread_attr_getstack on a main thread is not reliable since main |
| thread stacks are allowed to grow, and we expect the bounds to always |
| be constant. On glibc, this already behaved right, but e.g. on musl |
| (and possibly other C libraries) this is not necessarily the case - at |
| the point of the check, it was returning 128k (since that's the initial |
| size reserved by the kernel). Therefore, do the same thing as on Darwin |
| and use process resource limits to get the boundary on Linux as well. |
| |
| This results in JavaScriptCore behaving correctly on musl libc and |
| allows us to drop the options special-casing that was in place. |
| |
| * wtf/StackBounds.cpp: |
| (WTF::StackBounds::currentThreadStackBoundsInternal): |
| * wtf/Threading.cpp: |
| (WTF::stackSize): |
| |
| 2021-04-27 Kimmo Kinnunen <kkinnunen@apple.com> |
| |
| Add a Condition type that supports thread safety analysis |
| https://bugs.webkit.org/show_bug.cgi?id=224970 |
| |
| Reviewed by Darin Adler. |
| |
| Add CheckedCondition, a condition variable to be used with CheckedLock. |
| Use thread safety analysis annotations for CheckedCondition. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/CheckedCondition.h: Added. |
| * wtf/CheckedLock.h: |
| |
| 2021-04-27 Ben Nham <nham@apple.com> |
| |
| Memory pressure events should be logged to com.apple.WebKit subsystem |
| https://bugs.webkit.org/show_bug.cgi?id=225112 |
| |
| Reviewed by Chris Dumez. |
| |
| Currently memory pressure events are logged to the default os_log subsystem instead of the |
| com.apple.WebKit subsystem. This makes it hard to capture such events using common logging |
| prefs (e.g. a pref that persists all logs from the WebKit subsystem). |
| |
| To fix this, call WTFInitializeLogChannelStatesFromString at init time. This associates the |
| WTFLogChannel with an os_log object that sends the messages to the WebKit subsystem. |
| |
| * wtf/MemoryPressureHandler.cpp: |
| (WTF::MemoryPressureHandler::singleton): |
| * wtf/cocoa/MemoryPressureHandlerCocoa.mm: |
| (WTF::MemoryPressureHandler::install): |
| |
| 2021-04-27 Alex Christensen <achristensen@webkit.org> |
| |
| Unreviewed, reverting r275912. |
| rdar://77179042 |
| |
| Broke internal client |
| |
| Reverted changeset: |
| |
| "Remove support for NPAPI plugins in WebView" |
| https://bugs.webkit.org/show_bug.cgi?id=224449 |
| https://commits.webkit.org/r275912 |
| |
| 2021-04-26 Ben Nham <nham@apple.com> |
| |
| Reduce memory footprint for background tabs |
| https://bugs.webkit.org/show_bug.cgi?id=225007 |
| |
| Reviewed by Chris Dumez. |
| |
| When a WebContent process contains only non-visible pages (e.g. if it is a background tab), |
| we should attempt to reduce our memory footprint after some time interval to help relieve |
| system-wide memory pressure. This is enabled only on Mac because iOS already does something |
| similar just before WebContent suspends. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-04-26 Keith Miller <keith_miller@apple.com> |
| |
| CodeBlock should do a better job accounting for extra memory it allocates. |
| https://bugs.webkit.org/show_bug.cgi?id=225068 |
| |
| Reviewed by Mark Lam. |
| |
| Small convenience function to help compute the memory used by a Bag for JS GC |
| accounting. |
| |
| * wtf/Bag.h: |
| |
| 2021-04-26 Angelos Oikonomopoulos <angelos@igalia.com> |
| |
| Bump CeilingOnPageSize to 16KB on MIPS |
| https://bugs.webkit.org/show_bug.cgi?id=225030 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * wtf/PageBlock.h: |
| |
| 2021-04-25 Darin Adler <darin@apple.com> |
| |
| Fix handling of overflow of /= and *= operators with double over Checked<uint64_t> and other 64-bit types. |
| https://bugs.webkit.org/show_bug.cgi?id=224835 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/CheckedArithmetic.h: Since it is quite difficult to write correct implementations of the |
| operations where we multiply or divide a checked integer by a floating point number, deleted |
| those functions, which were barely used. Also corrected return types of various member functions, |
| which were unconventional "const Type", replacing them with the conventional "Type" for functions |
| that return a distinct value, "Type&" for assignment operators, and bool for relational operators. |
| |
| 2021-04-25 Devin Rousso <drousso@apple.com> |
| |
| Add `ALWAYS_LOG_WITH_STREAM` macro for easier development/debugging |
| https://bugs.webkit.org/show_bug.cgi?id=224959 |
| |
| Reviewed by Darin Adler. |
| |
| It's often very helpful to use existing `operator<<` defined on objects, but annoying to |
| have to copypaste the boilerplate code that creates a `WTF::TextStream` and uses it in a |
| `WTFLogAlways` or wait for a debug build to enable existing `LOG_WITH_STREAM`. |
| |
| * wtf/Assertions.h: |
| (LOG_WITH_STREAM): Moved from `Source/WebCore/pal/LogMacros.h`. |
| (ALWAYS_LOG_WITH_STREAM): Added. |
| Add `ALWAYS_LOG_WITH_STREAM` so that one change existing `LOG` when debugging with minimal |
| friction. As an example, many times I've wished I could've just changed |
| ``` |
| LOG_WITH_STREAM(Channel, stream << node); |
| ``` |
| to something like |
| ``` |
| ALWAYS_LOG_WITH_STREAM(stream << node); |
| ``` |
| and avoid having to modify the surrounding code too much. |
| |
| 2021-04-23 Darin Adler <darin@apple.com> |
| |
| Remove decoder memory allocations based on untrusted data (sizes) in the stream; related changes |
| https://bugs.webkit.org/show_bug.cgi?id=224984 |
| |
| Reviewed by Sam Weinig. |
| |
| * wtf/persistence/PersistentDecoder.cpp: |
| (WTF::Persistence::Decoder::bufferPointerForDirectRead): Added. |
| (WTF::Persistence::Decoder::decodeFixedLengthData): Refactor to use bufferPointerForDirectRead. |
| |
| * wtf/persistence/PersistentDecoder.h: Added bufferPointerForDirectRead function for use in the |
| rare cases where we want to read directly out of the decoder buffer, rather than writing to a |
| passed-in pointer. Also did a small refactoring of bufferIsLargeEnoughToContain to use && |
| rather than an if statement. |
| |
| 2021-04-23 Chris Dumez <cdumez@apple.com> |
| |
| Disable GPUProcess on shipping iOS |
| https://bugs.webkit.org/show_bug.cgi?id=224897 |
| |
| Reviewed by Eric Carlson. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-04-22 Lauro Moura <lmoura@igalia.com> |
| |
| [WTF] Undefined behavior warning in StringBuilder::allocateBuffer |
| https://bugs.webkit.org/show_bug.cgi?id=224942 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/text/StringBuilder.cpp: |
| (WTF::StringBuilder::allocateBuffer): Add check before calling memcpy |
| |
| 2021-04-22 Simon Fraser <simon.fraser@apple.com> |
| |
| Add trace points for WKWebView snapshotting |
| https://bugs.webkit.org/show_bug.cgi?id=224943 |
| |
| Reviewed by Tim Horton. |
| |
| New snapshot values. |
| |
| * wtf/SystemTracing.h: |
| |
| 2021-04-22 Martin Robinson <mrobinson@webkit.org> |
| |
| [GTK] Turn on editable <input type=date> and <input type=time> fields |
| https://bugs.webkit.org/show_bug.cgi?id=224921 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Turn on editable date and time inputs for GTK. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: Set editable date/time inputs |
| on by default for GTK as well. |
| |
| 2021-04-22 Aditya Keerthi <akeerthi@apple.com> |
| |
| Fix the tvOS build after r276325 |
| https://bugs.webkit.org/show_bug.cgi?id=224929 |
| <rdar://problem/77003408> |
| |
| Reviewed by Wenson Hsieh. |
| |
| Fix the tvOS build after r276325 |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-04-21 Aditya Keerthi <akeerthi@apple.com> |
| |
| [iOS] Fix internal builds after r276325 |
| https://bugs.webkit.org/show_bug.cgi?id=224896 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-04-21 Martin Robinson <mrobinson@igalia.com> |
| |
| Enable CSS Scroll Snap by default |
| https://bugs.webkit.org/show_bug.cgi?id=224867 |
| |
| Reviewed by Don Olmstead. |
| |
| * wtf/PlatformEnable.h: Move the preprocessor enabling of scroll snap here. |
| * wtf/PlatformEnableCocoa.h: Move it from here. |
| |
| 2021-04-21 Simon Fraser <simon.fraser@apple.com> |
| |
| Enhance scrolling-related trace points |
| https://bugs.webkit.org/show_bug.cgi?id=224852 |
| |
| Reviewed by Tim Horton. |
| |
| One new trace point, and some argument descriptors. |
| |
| * wtf/SystemTracing.h: |
| |
| 2021-04-20 Brent Fulgham <bfulgham@apple.com> |
| |
| [Cocoa] Prevent GPU and WebContent processes from attempting to connect to the AppSSO service |
| https://bugs.webkit.org/show_bug.cgi?id=224834 |
| <rdar://problem/72157514> |
| |
| Reviewed by Jiewen Tan. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-04-20 Eric Carlson <eric.carlson@apple.com> |
| |
| [Cocoa] Enable MediaSession and MediaSessionCoordinator experimental features |
| https://bugs.webkit.org/show_bug.cgi?id=224822 |
| <rdar://problem/76908014> |
| |
| Reviewed by Jer Noble. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: Change the defaults for |
| MediaSessionCoordinatorEnabled and MediaSessionEnabled to true. |
| |
| 2021-04-20 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| Lots of spurious -Wnonnull warnings with GCC 11 |
| https://bugs.webkit.org/show_bug.cgi?id=224452 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/RefPtr.h: |
| (WTF::DefaultRefDerefTraits::derefIfNotNull): |
| |
| 2021-04-20 Keith Miller <keith_miller@apple.com> |
| |
| FullGCActivityCallback should use the percentage of pages uncompressed in RAM to determine deferral. |
| https://bugs.webkit.org/show_bug.cgi?id=224817 |
| |
| Reviewed by Filip Pizlo. |
| |
| Add a noexcept flavor of FunctionTraits. On Linux mincore (and probably other syscalls) are marked noexcept so the existing overloads don't work. |
| |
| * wtf/FunctionTraits.h: |
| |
| 2021-04-20 Chris Dumez <cdumez@apple.com> |
| |
| Make sure we don't exit the GPUProcess too frequently while under memory pressure |
| https://bugs.webkit.org/show_bug.cgi?id=224798 |
| |
| Reviewed by Darin Adler. |
| |
| Add member function to the MemoryPressureHandler to indicate if we're currently simulating memory |
| pressure or not. |
| |
| * wtf/MemoryPressureHandler.h: |
| (WTF::MemoryPressureHandler::isSimulatingMemoryPressure const): |
| |
| 2021-04-19 Darin Adler <darin@apple.com> |
| |
| Refactor sorted array mapping machinery in LocaleToScriptMapping.cpp for reuse elsewhere |
| https://bugs.webkit.org/show_bug.cgi?id=224733 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * WTF.xcodeproj/project.pbxproj: Added SortedArrayMap.h. |
| * wtf/CMakeLists.txt: Ditto. |
| |
| * wtf/SortedArrayMap.h: Added. Builds on the idiom in LocalToScriptMapping, and to be |
| generic uses std::pair instead of custom structures. Includes the ComparableASCIILiteral |
| structure for maps that are keyed by case-sensitive ASCII strings. |
| |
| * wtf/StdLibExtras.h: |
| (WTF::binarySearchImpl): Use auto in one place to make this a bit more generic. |
| |
| 2021-04-19 Kimmo Kinnunen <kkinnunen@apple.com> |
| |
| Enable -Wthread-safety, add attributes to custom lock classes, and provide macros to declare guards |
| https://bugs.webkit.org/show_bug.cgi?id=221614 |
| <rdar://problem/74396781> |
| |
| Reviewed by David Kilzer. |
| |
| Implement rudimentary support for clang thread safety analysis. |
| The added macros can be used to declare which member variables or |
| global variables are locked by which mutexes. The compiler will |
| check statically that the mutexes are held correctly. The checking |
| is intra procedural, not global. |
| |
| * Configurations/Base.xcconfig: |
| Add -Wthread-safety to compile flags. |
| |
| * wtf/CheckedLock.h: Added. |
| Add CheckedLock, a Lock variant that is amenable to static |
| analysis. |
| Add a Locker specialization for CheckedLock that is amenable to |
| static analysis. |
| |
| Locker<CheckedLock> is a std::scoped_lock. The scoped_lock cannot be aliased, |
| since it appears that (Apple's) libcxx is not compiled with thread safety |
| analysis support enabled by default. |
| |
| New types are needed due Locker move constructor and conditional locking. |
| The Locker has default usage pattern of: |
| auto locker = holdLock(m_lock); |
| This forces dynamism that removes the possibility of simple statical |
| analysis that thread safety analysis capabilities "mutex" and "scoped_lock" |
| currently implement. Most likely large fraction of call sites is due to historical |
| lack of CTAD and as such can be converted to less general form. |
| Once the pattern is not used by default, CheckedLock can be deleted |
| and the move dynamism bits of Locker can be moved to some more specific type |
| ("UncheckedLocker"). |
| |
| * wtf/ThreadSafetyAnalysis.h: Added. |
| Add macro wrappers around clang "mutex" and "scoped_lock" capability attributes. |
| |
| 2021-04-17 Sam Weinig <weinig@apple.com> |
| |
| Move RuntimeEnabledFeatures to Settings (Part 1) |
| https://bugs.webkit.org/show_bug.cgi?id=224440 |
| |
| Reviewed by Alex Christensen. |
| |
| Move a few RuntimeEnabledFeatures to Settings to consolidate settings |
| in one object and removes the need for additional boilerplate. This |
| is now possible as Settings are now accessible in workers. |
| |
| Moves PeerConnectionEnabled, WebGLUsingMetal, WebGL2Enabled, WebGPUEnabled |
| and MaskWebGLStringsEnabled. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-04-16 Kate Cheney <katherine_cheney@apple.com> |
| |
| Disable app-bound request API tests on specific OS versions |
| https://bugs.webkit.org/show_bug.cgi?id=223692 |
| <rdar://problem/75787288> |
| |
| Reviewed by Brent Fulgham. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-04-16 Alex Christensen <achristensen@webkit.org> |
| |
| Disable ApplicationCache with linkedOnOrAfter check |
| https://bugs.webkit.org/show_bug.cgi?id=224629 |
| |
| Reviewed by Brady Eidson. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2021-04-16 Alex Christensen <achristensen@webkit.org> |
| |
| Reduce maximum HashTable entry size to 128 bytes |
| https://bugs.webkit.org/show_bug.cgi?id=224381 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wtf/HashTable.h: |
| (WTF::KeyTraits>::inlineLookup): |
| |
| 2021-04-16 Tyler Wilcock <twilco.o@protonmail.com> |
| |
| [css-counter-styles] Parse and add feature flag for @counter-style |
| https://bugs.webkit.org/show_bug.cgi?id=223150 |
| |
| Reviewed by Darin Adler. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| Add CSSCounterStyleAtRulesEnabled and CSSCounterStyleAtRuleImageSymbolsEnabled flags. |
| |
| 2021-04-15 Alex Christensen <achristensen@webkit.org> |
| |
| Use WTF::Function instead of std::function in SVGPropertyAnimatorFactory::attributeAnimatorCreator |
| https://bugs.webkit.org/show_bug.cgi?id=224586 |
| |
| Reviewed by Darin Adler. |
| |
| This requires something like r223122 until something like http://wg21.link/P1249 is accepted. |
| I also added a missing reserveInitialCapacity call that could reduce rehashing when constructing a HashMap from an initializer_list. |
| |
| * wtf/HashMap.h: |
| |
| 2021-04-14 Alex Christensen <achristensen@webkit.org> |
| |
| Revert important part of r275948 |
| https://bugs.webkit.org/show_bug.cgi?id=224381 |
| |
| It caused an internal build failure. |
| |
| * wtf/HashTable.h: |
| (WTF::KeyTraits>::inlineLookup): |
| |
| 2021-04-14 Alex Christensen <achristensen@webkit.org> |
| |
| Reduce maximum HashTable entry size to 128 bytes |
| https://bugs.webkit.org/show_bug.cgi?id=224381 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| It turns out that HashMaps use HashTable::Value as KeyValuePair, so sizeof(Key) + sizeof(Value) was double counting the key size. |
| This caused FontCascadeCache to be a false positive. It has a key size of a little over 100 bytes. Only counting it once reflects what is intended. |
| Also, the USE(ANGLE) exception was convenient for a downstream branch, but isn't needed. Next time they rebase they will use UniqueRef. |
| |
| * wtf/HashTable.h: |
| (WTF::KeyTraits>::inlineLookup): |
| |
| 2021-04-13 Ada Chan <ada.chan@apple.com> |
| |
| Implement PlatformXRSystem::xrCoordinator() for USE(APPLE_INTERNAL_SDK) |
| https://bugs.webkit.org/show_bug.cgi?id=224510 |
| |
| Reviewed by Dean Jackson. |
| |
| Update ENABLE_WEBXR flag |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-04-13 Alex Christensen <achristensen@webkit.org> |
| |
| WebProcessPool should store Vector<Ref<WebProcessProxy>> instead of Vector<RefPtr> |
| https://bugs.webkit.org/show_bug.cgi?id=224412 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/Ref.h: |
| (WTF::operator==): |
| (WTF::operator!=): |
| |
| 2021-04-13 Alex Christensen <achristensen@webkit.org> |
| |
| Remove support for NPAPI plugins in WebView |
| https://bugs.webkit.org/show_bug.cgi?id=224449 |
| |
| Reviewed by Chris Dumez. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| |
| 2021-04-13 Chris Dumez <cdumez@apple.com> |
| |
| Make MemoryPressureHandler::isUnderMemoryPressure() return true for 2 seconds after a simulated warning |
| https://bugs.webkit.org/show_bug.cgi?id=224505 |
| |
| Reviewed by Darin Adler. |
| |
| Make MemoryPressureHandler::isUnderMemoryPressure() return true for 2 seconds after a simulated warning, |
| to make our simulated warning more realistic. |
| |
| * wtf/cocoa/MemoryPressureHandlerCocoa.mm: |
| (WTF::MemoryPressureHandler::install): |
| |
| 2021-04-13 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Add Vector&& move constructor / assignment to FixedVector and RefCountedArray |
| https://bugs.webkit.org/show_bug.cgi?id=224475 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This patch adds move constructor and move-assignment taking Vector to FixedVector / RefCountedArray. |
| This allows transferring MoveOnly things from Vector to FixedVector. |
| |
| * wtf/FixedVector.h: |
| (WTF::FixedVector::FixedVector): |
| (WTF::FixedVector::operator=): |
| * wtf/RefCountedArray.h: |
| (WTF::RefCountedArray::RefCountedArray): |
| (WTF::RefCountedArray::operator=): |
| (WTF::RefCountedArray::~RefCountedArray): |
| (WTF::RefCountedArray::allocateUninitializedData): |
| (WTF::RefCountedArray::assign): |
| |
| 2021-04-13 Alex Christensen <achristensen@webkit.org> |
| |
| Revert r275172 |
| https://bugs.webkit.org/show_bug.cgi?id=224499 |
| <rdar://76396241> |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/spi/darwin/XPCSPI.h: |
| |
| 2021-04-12 Basuke Suzuki <basuke.suzuki@sony.com> |
| |
| [PlayStation] Enable WTFCrashWithInfo implementation |
| https://bugs.webkit.org/show_bug.cgi?id=224458 |
| |
| Reviewed by Don Olmstead. |
| |
| Enable WTFCrashWithInfo implementation for PlayStation platform. It is x86_64 and uses clang |
| so that it can share Darwin's implemetation with us. |
| |
| * wtf/Assertions.cpp: |
| |
| 2021-04-12 Youenn Fablet <youenn@apple.com> |
| |
| Block loading for port 10080 |
| https://bugs.webkit.org/show_bug.cgi?id=224432 |
| |
| Reviewed by Alex Christensen. |
| |
| Follow Chrome and Firefox by blocking port 10080. |
| |
| * wtf/URL.cpp: |
| (WTF::portAllowed): |
| |
| 2021-04-11 Sam Weinig <weinig@apple.com> |
| |
| Reduce compile time and binary size cost of enabling proper CSSStyleDeclaration property access behavior |
| https://bugs.webkit.org/show_bug.cgi?id=222518 |
| <rdar://problem/75136887> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformEnable.h: |
| Remove ENABLE_ATTRIBUTE_BASED_PROPERTIES_FOR_CSS_STYLE_DECLARATION, as it is now the default and on everwhere. |
| |
| 2021-04-09 Jer Noble <jer.noble@apple.com> |
| |
| WTF SoftLinking macros can cause collisions with their target functions |
| https://bugs.webkit.org/show_bug.cgi?id=224379 |
| <rdar://76434202> |
| |
| Reviewed by Eric Carlson. |
| |
| Do not declare an inline version of the target function, as this will collide if the target function |
| becomes inlined. Instead, callers should use the explicit softLink_Library_Function() syntax, or |
| the LibrarySoftLinking.h headers should use #defines to re-declare the function name. |
| |
| * wtf/cocoa/SoftLinking.h: |
| |
| 2021-04-08 Stephan Szabo <stephan.szabo@sony.com> |
| |
| [RunLoopGeneric] OneShotTimer should not remain "isActive" after fired |
| https://bugs.webkit.org/show_bug.cgi?id=189335 |
| <rdar://problem/44226604> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wtf/generic/RunLoopGeneric.cpp: |
| |
| Deactivate one-shot timer before invoking its callback. |
| |
| 2021-04-08 Khem Raj <raj.khem@gmail.com> |
| |
| [WPE] Build fixes for musl C library on Linux |
| https://bugs.webkit.org/show_bug.cgi?id=210068 |
| |
| Reviewed by Carlos Alberto Lopez Perez. |
| |
| Define 128KB DEFAULT_THREAD_STACK_SIZE_IN_KB for musl |
| Use OS(LINUX) check to include musl when building for |
| Linux based platforms. |
| |
| * wtf/PlatformHave.h: |
| * wtf/Threading.cpp: |
| |
| 2021-04-08 Chris Dumez <cdumez@apple.com> |
| |
| OfflineAudioContext objects are leaking |
| https://bugs.webkit.org/show_bug.cgi?id=224279 |
| |
| Reviewed by Darin Adler. |
| |
| Add flag that can be passed when constructing a WeakPtr to disable threading assertions. |
| This is useful for cases where we know it is safe due to locking but we'd like to use a |
| WeakPtr instead of a raw pointer because it is safer. |
| |
| * wtf/WeakPtr.h: |
| (WTF::WeakPtr::get const): |
| (WTF::WeakPtr::operator-> const): |
| (WTF::WeakPtr::operator* const): |
| (WTF::WeakPtr::WeakPtr): |
| (WTF::WeakPtrFactory::createWeakPtr const): |
| (WTF::=): |
| (WTF::makeWeakPtr): |
| |
| 2021-04-08 Simon Fraser <simon.fraser@apple.com> |
| |
| Copy-constructed Vectors should not have excess capacity |
| https://bugs.webkit.org/show_bug.cgi?id=224313 |
| |
| Reviewed by Darin Adler. |
| |
| When copy-constructing a Vector<>, set the capacity to the size of the input. |
| This avoids wasted vector capacity at call sites that dynamically build vectors |
| and then copy them into read-only caches. |
| |
| * wtf/Vector.h: |
| (WTF::Malloc>::Vector): |
| |
| 2021-04-02 Darin Adler <darin@apple.com> |
| |
| Use Hasher more, remove IntegerHasher, fix hashing-related mistakes |
| https://bugs.webkit.org/show_bug.cgi?id=224138 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/HashFunctions.h: Export intHash and pairIntHash to the global namespace |
| so they can be called without an explicit WTF prefix. This follows the usual |
| WTF design pattern given that these functions are intended for use outside WTF. |
| |
| * wtf/Hasher.h: Deleted IntegerHasher. |
| (WTF::add): Added overloads for String, AtomString, and URL. |
| |
| * wtf/ObjectIdentifier.h: |
| (WTF::add): Added a Hasher overload for any ObjectIdentifier. |
| |
| * wtf/RetainPtr.h: Export safeCFEqual and safeCFHash to the global namespace |
| so they can be called without an explicit WTF prefix. This follows the usual |
| WTF design pattern given that these functions are intended for use outside WTF. |
| |
| * wtf/VectorHash.h: Removed the VectorHash template, instead just specializing |
| DefaultHash. Use computeHash to hash the contents of the vector instead of |
| hashing the hashes of the items in the vector. This is better in general and |
| better for the one case where we are currently using this, for a Vector<int>. |
| We want to hash all the integers rather than hashing hashes of all the integers. |
| In the future, this means the elements of the Vector need to be hashable using |
| the Hasher machinery. The old requirement was the the elements had a DefaultHash. |
| |
| 2021-04-07 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| Suppress -Warray-bounds warning spam in Bitmap.h |
| https://bugs.webkit.org/show_bug.cgi?id=224207 |
| |
| Reviewed by Don Olmstead. |
| |
| Suppress this warning. |
| |
| * wtf/Bitmap.h: |
| (WTF::WordType>::clear): |
| |
| 2021-04-07 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Use FixedVector more in bytecode dir and JumpTable |
| https://bugs.webkit.org/show_bug.cgi?id=224275 |
| |
| Reviewed by Michael Saboff and Mark Lam. |
| |
| * wtf/FixedVector.h: |
| (WTF::FixedVector::offsetOfStorage): |
| * wtf/RefCountedArray.h: |
| (WTF::RefCountedArray::Header::size): |
| (WTF::RefCountedArray::Header::offsetOfLength): |
| |
| 2021-04-07 Alex Christensen <achristensen@webkit.org> |
| |
| Use os_transaction_create instead of deprecated xpc_transaction_begin/end |
| https://bugs.webkit.org/show_bug.cgi?id=224288 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/spi/darwin/XPCSPI.h: |
| |
| 2021-04-06 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] WasmMemory caging should care nullptr |
| https://bugs.webkit.org/show_bug.cgi?id=224268 |
| <rdar://problem/74654838> |
| |
| Reviewed by Mark Lam. |
| |
| Accept size_t since Wasm::Memory's length can be larger than 4GB. |
| |
| * wtf/CagedPtr.h: |
| (WTF::CagedPtr::CagedPtr): |
| (WTF::CagedPtr::get const): |
| (WTF::CagedPtr::getMayBeNull const): |
| (WTF::CagedPtr::at const): |
| (WTF::CagedPtr::recage): |
| * wtf/CagedUniquePtr.h: |
| (WTF::CagedUniquePtr::CagedUniquePtr): |
| (WTF::CagedUniquePtr::create): |
| (WTF::CagedUniquePtr::tryCreate): |
| |
| 2021-04-06 Alex Christensen <achristensen@webkit.org> |
| |
| Add U+0581 and U+0585 to list of Armenian characters that look like Latin characters |
| https://bugs.webkit.org/show_bug.cgi?id=224219 |
| <rdar://75896365> |
| |
| Reviewed by Brent Fulgham. |
| |
| These code points are allowed in the context of other Armenian code points and punctuation, but not other script code points. |
| This was already implemented for the others, but I consolidated the list to one location to avoid having two locations for the list. |
| |
| * wtf/URLHelpers.cpp: |
| (WTF::URLHelpers::isArmenianLookalikeCharacter): |
| (WTF::URLHelpers::isArmenianLookalikeSequence): |
| (WTF::URLHelpers::isLookalikeCharacter): |
| |
| 2021-04-06 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Introduce FixedVector and use it for FixedOperands |
| https://bugs.webkit.org/show_bug.cgi?id=224171 |
| |
| Reviewed by Mark Lam. |
| |
| This FixedVector<T> is a wrapper around RefCountedArray<T>, but this offers Vector-like copy / move semantics, |
| so that we can use this FixedVector<T> as a drop-in-replacement for fixed-sized Vector fields. The purpose |
| of that is saving memory by removing unnecessary storage (FixedVector is fixed-sized allocated) and putting size |
| into the allocated memory. |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/FastBitVector.h: |
| (WTF::FastBitVector::FastBitVector): |
| * wtf/FixedVector.h: Added. |
| (WTF::FixedVector::FixedVector): |
| (WTF::FixedVector::operator=): |
| (WTF::FixedVector::size const): |
| (WTF::FixedVector::isEmpty const): |
| (WTF::FixedVector::byteSize const): |
| (WTF::FixedVector::data): |
| (WTF::FixedVector::begin): |
| (WTF::FixedVector::end): |
| (WTF::FixedVector::data const): |
| (WTF::FixedVector::begin const): |
| (WTF::FixedVector::end const): |
| (WTF::FixedVector::rbegin): |
| (WTF::FixedVector::rend): |
| (WTF::FixedVector::rbegin const): |
| (WTF::FixedVector::rend const): |
| (WTF::FixedVector::at): |
| (WTF::FixedVector::at const): |
| (WTF::FixedVector::operator[]): |
| (WTF::FixedVector::operator[] const): |
| (WTF::FixedVector::first): |
| (WTF::FixedVector::first const): |
| (WTF::FixedVector::last): |
| (WTF::FixedVector::last const): |
| (WTF::FixedVector::fill): |
| (WTF::FixedVector::operator== const): |
| (WTF::FixedVector::swap): |
| (WTF::swap): |
| * wtf/RefCountedArray.h: |
| (WTF::RefCountedArray::RefCountedArray): |
| (WTF::RefCountedArray::fill): |
| (WTF::RefCountedArray::swap): |
| |
| 2021-04-06 Youenn Fablet <youenn@apple.com> |
| |
| Enable NSURLSession WebSocket code path by default |
| https://bugs.webkit.org/show_bug.cgi?id=224102 |
| |
| Reviewed by Alex Christensen. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-04-05 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Shrink some of Vectors in JSC |
| https://bugs.webkit.org/show_bug.cgi?id=224162 |
| |
| Reviewed by Simon Fraser. |
| |
| Add rbegin and rend to make RefCountedArray usable for Vector clients who use these features. |
| |
| * wtf/RefCountedArray.h: |
| (WTF::RefCountedArray::begin): |
| (WTF::RefCountedArray::end): |
| (WTF::RefCountedArray::begin const): |
| (WTF::RefCountedArray::end const): |
| (WTF::RefCountedArray::rbegin): |
| (WTF::RefCountedArray::rend): |
| (WTF::RefCountedArray::rbegin const): |
| (WTF::RefCountedArray::rend const): |
| |
| 2021-04-05 Alex Christensen <achristensen@webkit.org> |
| |
| Resurrect Mac CMake build |
| https://bugs.webkit.org/show_bug.cgi?id=224084 |
| |
| Reviewed by Tim Horton. |
| |
| * wtf/PlatformMac.cmake: |
| |
| 2021-04-05 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| REGRESSION: ASSERTION FAILED: settings().textAutosizingEnabled() && settings().textAutosizingUsesIdempotentMode() on various tests |
| https://bugs.webkit.org/show_bug.cgi?id=209450 |
| <rdar://problem/60799255> |
| |
| Reviewed by Tim Horton. |
| |
| Replace the call to `setNeedsRecalcStyleInAllFrames` with `textAutosizingUsesIdempotentModeChanged` when |
| changing whether idempotent text autosizing is enabled. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-04-05 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Define AtomString(ASCIILiteral) and use ASCIILiteral more to avoid memory allocation |
| https://bugs.webkit.org/show_bug.cgi?id=224125 |
| |
| Reviewed by Saam Barati. |
| |
| Add AtomString(ASCIILiteral). ASCIILiteral ensures that storage is constant non-heap string by its type. |
| So we can just use it as a literal (not allocating a string storage). |
| |
| * wtf/text/AtomString.h: |
| |
| 2021-04-02 Simon Fraser <simon.fraser@apple.com> |
| |
| Enable PreferPageRenderingUpdatesNear60FPSEnabled by default |
| https://bugs.webkit.org/show_bug.cgi?id=224133 |
| |
| Reviewed by Tim Horton. |
| |
| Turn the PreferPageRenderingUpdatesNear60FPSEnabled internal setting on by default. This |
| means that requestAnimationFrame on 144Hz displays will fire at 72Hz. 60Hz displays are |
| unaffected. |
| |
| Firing at "close to 60fps" was determined to be necessary for web compatibility and power. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-04-02 Youenn Fablet <youenn@apple.com> |
| |
| [MacOS] Enable NSURLSession WebSocket code path in WebKitTestRunner |
| https://bugs.webkit.org/show_bug.cgi?id=220973 |
| <rdar://problem/73655870> |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/PlatformHave.h: |
| Bump NSURLSessionWebSocket path to above BigSur and iOS14. |
| |
| 2021-04-02 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, fix passing hash value |
| https://bugs.webkit.org/show_bug.cgi?id=223895 |
| |
| * wtf/RobinHoodHashTable.h: |
| (WTF::SizePolicy>::addPassingHashCode): |
| |
| 2021-04-01 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Introduce RobinHoodHashTable |
| https://bugs.webkit.org/show_bug.cgi?id=223895 |
| |
| Reviewed by Fil Pizlo. |
| |
| This patch implements RobinHoodHashTable[1]. We don't use it as a default hashtable since it has different performance v.s. memory-saving characteristics, |
| and this patch's goal is not tackling on making this default. Rather, the goal of this patch is introducing it to non-performance sensitive area quickly |
| so that we can save memory. RobinHoodHashTable more frequently computes hash value compared to HashTable, so this is not drop-in replacement for the existing |
| one. But still, this is useful since we know that "while there are many small HashTables and they holds much memory, there are super large HashTables and |
| they holds almost same amount of memory while they are a few.". This patch's goal is applying this RobinHoodHashTable to these "large, but a few" singleton tables. |
| |
| RobinHoodHashTable maintains distance-from-initial-bucket (DIB) small by adjusting existing entries when inserting. When inserting, if we found that the |
| existing entry has less DIB than the current inserting entry's DIB, then we swap entries, and insert the existing entry to the other place. This is giving |
| some good DIB from rich entry to poor entry (that's why it is called RobinHood Hashing), and making average DIB lower. And this algorithm adds good invariant |
| that, when looking up an entry, and we found that existing entry has smaller DIB, then we can stop searching in the middle of the chain since we know that |
| we should swap entries when this happened when inserting. These two tricks maintain HashTable performance even under significantly high load factor: 90% load-factor |
| just works. 95% load-factor regress adding performance, but still it does not become catastrophic compared to normal open-addressing HashTable. |
| |
| We introduce RobinHoodHashTable, and adding several kinds of tables based on load-factors. |
| |
| 1. MemoryCompactLookupOnlyRobinHoodHashSet / HashMap |
| |
| This has 95% load-factor. This is suitable for sets and maps which is mostly-constant: constructing once, and looking up repeatedly. In WebKit, there are so |
| many this kind of tables e.g. singleton HashMap for various kinds of things. We can use this super high load-factor table so that we can save memory even while |
| we are maintains fast HashTable lookup. |
| |
| 2. MemoryCompactRobinHoodHashSet / HashMap |
| |
| This has 90% load-factor. It just works, and we can try using it if sets and maps are significantly performance intensive. |
| |
| 3. FastRobinHoodHashSet / HashMap |
| |
| This has 75% load-factor. This is still good compared to HashSet and HashMap since they are using 50% load-factor for large sized tables. This has very slightly performance regressed |
| compared to 50% load-factor large HashSet and HashMap, but if that is not performance intensive (e.g. AtomStringTable is one of the most performance intensive table), this is good. |
| |
| In this patch, we replace many singleton HashSet / HashMap with RobinHoodHashTable. |
| |
| [1]: https://www.sebastiansylvan.com/post/robin-hood-hashing-should-be-your-default-hash-table-implementation/ |
| |
| * WTF.xcodeproj/project.pbxproj: |
| * wtf/CMakeLists.txt: |
| * wtf/Forward.h: |
| * wtf/HashMap.h: |
| (WTF::Y>::swap): |
| (WTF::Y>::size const): |
| (WTF::Y>::capacity const): |
| (WTF::Y>::isEmpty const): |
| (WTF::Y>::begin): |
| (WTF::Y>::end): |
| (WTF::Y>::begin const): |
| (WTF::Y>::end const): |
| (WTF::Y>::find): |
| (WTF::Y>::find const): |
| (WTF::Y>::contains const): |
| (WTF::Y>::get const): |
| (WTF::Y>::inlineGet const): |
| (WTF::TableTraitsArg>::inlineSet): |
| (WTF::TableTraitsArg>::inlineAdd): |
| (WTF::TableTraitsArg>::inlineEnsure): |
| (WTF::TableTraitsArg>::set): |
| (WTF::TableTraitsArg>::add): |
| (WTF::TableTraitsArg>::fastAdd): |
| (WTF::TableTraitsArg>::ensure): |
| (WTF::Y>::remove): |
| (WTF::Y>::removeIf): |
| (WTF::Y>::clear): |
| (WTF::Y>::take): |
| (WTF::Y>::checkConsistency const): |
| (WTF::Y>::isValidKey): |
| (WTF::operator==): |
| (WTF::operator!=): |
| (WTF::X>::swap): Deleted. |
| (WTF::X>::size const): Deleted. |
| (WTF::X>::capacity const): Deleted. |
| (WTF::X>::isEmpty const): Deleted. |
| (WTF::X>::begin): Deleted. |
| (WTF::X>::end): Deleted. |
| (WTF::X>::begin const): Deleted. |
| (WTF::X>::end const): Deleted. |
| (WTF::X>::find): Deleted. |
| (WTF::X>::find const): Deleted. |
| (WTF::X>::contains const): Deleted. |
| (WTF::X>::get const): Deleted. |
| (WTF::X>::inlineGet const): Deleted. |
| (WTF::MappedTraitsArg>::inlineSet): Deleted. |
| (WTF::MappedTraitsArg>::inlineAdd): Deleted. |
| (WTF::MappedTraitsArg>::inlineEnsure): Deleted. |
| (WTF::MappedTraitsArg>::set): Deleted. |
| (WTF::MappedTraitsArg>::add): Deleted. |
| (WTF::MappedTraitsArg>::fastAdd): Deleted. |
| (WTF::MappedTraitsArg>::ensure): Deleted. |
| (WTF::MappedTraits>::get const): Deleted. |
| (WTF::MappedTraits>::inlineGet const): Deleted. |
| (WTF::X>::remove): Deleted. |
| (WTF::X>::removeIf): Deleted. |
| (WTF::X>::clear): Deleted. |
| (WTF::MappedTraits>::take): Deleted. |
| (WTF::X>::take): Deleted. |
| (WTF::X>::checkConsistency const): Deleted. |
| (WTF::X>::isValidKey): Deleted. |
| * wtf/HashSet.h: |
| (WTF::W>::swap): |
| (WTF::W>::size const): |
| (WTF::W>::capacity const): |
| (WTF::W>::isEmpty const): |
| (WTF::W>::begin const): |
| (WTF::W>::end const): |
| (WTF::W>::find const): |
| (WTF::W>::contains const): |
| (WTF::TableTraits>::find const): |
| (WTF::TableTraits>::contains const): |
| (WTF::TableTraits>::ensure): |
| (WTF::W>::add): |
| (WTF::W>::addVoid): |
| (WTF::TableTraits>::add): |
| (WTF::W>::remove): |
| (WTF::W>::removeIf): |
| (WTF::W>::clear): |
| (WTF::W>::take): |
| (WTF::W>::takeAny): |
| (WTF::TableTraits>::remove): |
| (WTF::TableTraits>::take): |
| (WTF::W>::isValidValue): |
| (WTF::= const): |
| (WTF::W>::checkConsistency const): |
| (WTF::V>::swap): Deleted. |
| (WTF::V>::size const): Deleted. |
| (WTF::V>::capacity const): Deleted. |
| (WTF::V>::isEmpty const): Deleted. |
| (WTF::V>::begin const): Deleted. |
| (WTF::V>::end const): Deleted. |
| (WTF::V>::find const): Deleted. |
| (WTF::V>::contains const): Deleted. |
| (WTF::Traits>::find const): Deleted. |
| (WTF::Traits>::contains const): Deleted. |
| (WTF::Traits>::ensure): Deleted. |
| (WTF::V>::add): Deleted. |
| (WTF::V>::addVoid): Deleted. |
| (WTF::Traits>::add): Deleted. |
| (WTF::V>::remove): Deleted. |
| (WTF::V>::removeIf): Deleted. |
| (WTF::V>::clear): Deleted. |
| (WTF::V>::take): Deleted. |
| (WTF::V>::takeAny): Deleted. |
| (WTF::Traits>::remove): Deleted. |
| (WTF::Traits>::take): Deleted. |
| (WTF::V>::isValidValue): Deleted. |
| (WTF::V>::checkConsistency const): Deleted. |
| * wtf/HashTable.h: |
| (WTF::addIterator): |
| (WTF::removeIterator): |
| (WTF::invalidateIterators): |
| (WTF::HashTable::~HashTable): |
| (WTF::HashTable::random): |
| (WTF::KeyTraits>::inlineLookup): |
| (WTF::KeyTraits>::lookupForWriting): |
| (WTF::KeyTraits>::fullLookupForWriting): |
| (WTF::KeyTraits>::addUniqueForInitialization): |
| (WTF::KeyTraits>::add): |
| (WTF::KeyTraits>::addPassingHashCode): |
| (WTF::KeyTraits>::removeAndInvalidateWithoutEntryConsistencyCheck): |
| (WTF::KeyTraits>::removeAndInvalidate): |
| (WTF::KeyTraits>::clear): |
| (WTF::KeyTraits>::swap): |
| (WTF::KeyTraits>::HashTable): |
| (WTF::HashTable::invalidateIterators): Deleted. |
| (WTF::KeyTraits>::invalidateIterators): Deleted. |
| * wtf/RobinHoodHashMap.h: Added. |
| * wtf/RobinHoodHashSet.h: Added. |
| * wtf/RobinHoodHashTable.h: Added. |
| (WTF::RobinHoodHashTable::~RobinHoodHashTable): |
| (WTF::RobinHoodHashTable::begin): |
| (WTF::RobinHoodHashTable::end): |
| (WTF::RobinHoodHashTable::begin const): |
| (WTF::RobinHoodHashTable::end const): |
| (WTF::RobinHoodHashTable::random): |
| (WTF::RobinHoodHashTable::random const): |
| (WTF::RobinHoodHashTable::size const): |
| (WTF::RobinHoodHashTable::capacity const): |
| (WTF::RobinHoodHashTable::isEmpty const): |
| (WTF::RobinHoodHashTable::reserveInitialCapacity): |
| (WTF::RobinHoodHashTable::add): |
| (WTF::RobinHoodHashTable::find): |
| (WTF::RobinHoodHashTable::find const): |
| (WTF::RobinHoodHashTable::contains const): |
| (WTF::RobinHoodHashTable::isEmptyBucket): |
| (WTF::RobinHoodHashTable::isEmptyOrDeletedBucket): |
| (WTF::RobinHoodHashTable::lookup): |
| (WTF::RobinHoodHashTable::checkTableConsistency): |
| (WTF::RobinHoodHashTable::internalCheckTableConsistency const): |
| (WTF::RobinHoodHashTable::internalCheckTableConsistencyExceptSize const): |
| (WTF::RobinHoodHashTable::internalCheckTableConsistencyExceptSize): |
| (WTF::RobinHoodHashTable::internalCheckTableConsistency): |
| (WTF::RobinHoodHashTable::shouldExpand): |
| (WTF::RobinHoodHashTable::computeTableHash): |
| (WTF::RobinHoodHashTable::shouldExpand const): |
| (WTF::RobinHoodHashTable::shouldShrink const): |
| (WTF::RobinHoodHashTable::shrink): |
| (WTF::RobinHoodHashTable::deleteBucket): |
| (WTF::RobinHoodHashTable::desiredIndex): |
| (WTF::RobinHoodHashTable::probeDistance): |
| (WTF::RobinHoodHashTable::makeIterator): |
| (WTF::RobinHoodHashTable::makeConstIterator const): |
| (WTF::RobinHoodHashTable::makeKnownGoodIterator): |
| (WTF::RobinHoodHashTable::makeKnownGoodConstIterator const): |
| (WTF::RobinHoodHashTable::checkTableConsistencyExceptSize): |
| (WTF::RobinHoodHashTable::tableSize const): |
| (WTF::RobinHoodHashTable::tableSizeMask const): |
| (WTF::RobinHoodHashTable::keyCount const): |
| (WTF::RobinHoodHashTable::tableHash const): |
| (WTF::SizePolicy>::checkKey): |
| (WTF::SizePolicy>::lookup): |
| (WTF::SizePolicy>::inlineLookup): |
| (WTF::SizePolicy>::initializeBucket): |
| (WTF::SizePolicy>::add): |
| (WTF::SizePolicy>::maintainProbeDistanceForAdd): |
| (WTF::SizePolicy>::addPassingHashCode): |
| (WTF::SizePolicy>::reinsert): |
| (WTF::SizePolicy>::find): |
| (WTF::SizePolicy>::find const): |
| (WTF::SizePolicy>::contains const): |
| (WTF::SizePolicy>::removeAndInvalidateWithoutEntryConsistencyCheck): |
| (WTF::SizePolicy>::removeAndInvalidate): |
| (WTF::SizePolicy>::remove): |
| (WTF::SizePolicy>::removeWithoutEntryConsistencyCheck): |
| (WTF::SizePolicy>::allocateTable): |
| (WTF::SizePolicy>::deallocateTable): |
| (WTF::SizePolicy>::expand): |
| (WTF::SizePolicy>::computeBestTableSize): |
| (WTF::SizePolicy>::shrinkToBestSize): |
| (WTF::SizePolicy>::rehash): |
| (WTF::SizePolicy>::clear): |
| (WTF::SizePolicy>::RobinHoodHashTable): |
| (WTF::SizePolicy>::swap): |
| (WTF::=): |
| (WTF::SizePolicy>::checkTableConsistency const): |
| (WTF::SizePolicy>::checkTableConsistencyExceptSize const): |
| * wtf/text/AtomStringHash.h: |
| * wtf/text/AtomStringImpl.cpp: |
| * wtf/text/AtomStringTable.cpp: |
| (WTF::AtomStringTable::~AtomStringTable): |
| * wtf/text/AtomStringTable.h: |
| (WTF::AtomStringTable::table): |
| * wtf/text/StringHash.h: |
| |
| 2021-04-01 Kate Cheney <katherine_cheney@apple.com> |
| |
| Clear network website data when a user clears history/website data |
| https://bugs.webkit.org/show_bug.cgi?id=224030 |
| <rdar://problem/75288338> |
| |
| Reviewed by David Kilzer. |
| |
| * wtf/cocoa/SoftLinking.h: |
| Add a new soft link macro to link umbrella private frameworks. We need |
| this to support internal additions we need to clear network domain data. |
| |
| 2021-04-01 Chris Dumez <cdumez@apple.com> |
| |
| REGRESSION(r275267): [GTK][WPE] 12 new crashes on service-workers layout tests |
| https://bugs.webkit.org/show_bug.cgi?id=224059 |
| |
| Reviewed by Carlos Alberto Lopez Perez. |
| |
| Have the glib implementation of FileSystem::writeToFile() return early when the size to |
| write is 0, instead of calling g_output_stream_write_all(). It appears that passing a |
| NULL buffer to g_output_stream_write_all() crashes, even if size is 0. |
| |
| * wtf/glib/FileSystemGlib.cpp: |
| (WTF::FileSystemImpl::writeToFile): |
| |
| 2021-03-31 Jiewen Tan <jiewen_tan@apple.com> |
| |
| Allow ASCWebKitSPISupport to be used on macOS |
| https://bugs.webkit.org/show_bug.cgi?id=224036 |
| <rdar://76028645> |
| |
| Reviewed by Brent Fulgham. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-03-31 Sam Weinig <weinig@apple.com> |
| |
| Ease experimentation by enabling <model> if SEPARATED_MODEL is being used |
| https://bugs.webkit.org/show_bug.cgi?id=224011 |
| |
| Reviewed by Tim Horton. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| There is little point to experimenting with SEPARATED_MODEL if <model> is disabled. |
| |
| 2021-03-31 Antoine Quint <graouts@webkit.org> |
| |
| Remove CA_WHERE_ADDITIVE_TRANSFORMS_ARE_REVERSED |
| https://bugs.webkit.org/show_bug.cgi?id=224000 |
| |
| Reviewed by Simon Fraser. |
| |
| Since trunk is no longer maintained on macOS versions earlier than 10.15, |
| we can remove this compile-time flag. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-03-30 Chris Dumez <cdumez@apple.com> |
| |
| Service Worker scripts use too much memory in the network process |
| https://bugs.webkit.org/show_bug.cgi?id=223808 |
| <rdar://75637093> |
| |
| Reviewed by Geoff Garen. |
| |
| * wtf/FileSystem.cpp: |
| (WTF::FileSystemImpl::deleteNonEmptyDirectory): |
| Add an implementation of FileSystem::deleteNonEmptyDirectory() on all supported platforms. |
| We previously only had implemetations for Cocoa and Windows. |
| |
| (WTF::FileSystemImpl::mapToFile): |
| Moved most of the mapToFile() logic from NetworkCacheData::mapToFile() to FileSystem, so that |
| it can be reused by the new SWScriptStorage class. It creates the destination file, mmap's it, |
| writes the provided data to it and then returns the mmap'd file. |
| |
| (WTF::FileSystemImpl::readOrMakeSalt): |
| Move readOrMakeSalt() from NetworkCacheData to FileSystem so that it can be reused by the new |
| SWScriptStorage. |
| |
| * wtf/FileSystem.h: |
| |
| 2021-03-30 Sam Weinig <weinig@apple.com> |
| |
| JSGlobalObject's m_customGetterFunctionMap and m_customSetterFunctionMap should be sets, not maps, and should use both the identifier and function pointer as the key |
| https://bugs.webkit.org/show_bug.cgi?id=223613 |
| |
| Reviewed by Saam Barati. |
| |
| Adds a heterogenous HashSet::ensure, which allows lazy construction of the value to |
| insert into the HashSet only if the heterogenous key (e.g. a key + HashTranslator |
| that are not the same as the HashSet's ValueType) does not match any item in the |
| set. For example given a set of ExpensiveToConstruct, but uniquely identifiable |
| by CheapToConstruct: |
| |
| HashSet<ExpensiveToConstruct> hashSet; |
| ... |
| struct Translator { |
| static unsigned hash(const CheapToConstruct& key) |
| { |
| return key.hash(); |
| } |
| static bool equal(const ExpensiveToConstruct& a, const CheapToConstruct& b) |
| { |
| return a == b; |
| } |
| }; |
| |
| hashSet.ensure<Translator>(CheapToConstruct { ... }, [] { |
| return ExpensiveToConstruct { ... }; |
| }); |
| |
| This will be used by the custom getter/setter sets to avoid constructing the GC objects |
| unless they are really needed. |
| |
| Also took the opertunity to replace some typedefs with usings, and fixed some comments. |
| |
| * wtf/HashSet.h: |
| (WTF::Traits>::ensure): |
| |
| 2021-03-30 Mark Lam <mark.lam@apple.com> |
| |
| Add disableForwardingVPrintfStdErrToOSLog() and use it in the jsc shell. |
| https://bugs.webkit.org/show_bug.cgi?id=223963 |
| |
| Reviewed by Saam Barati. |
| |
| * wtf/Assertions.cpp: |
| (WTF::disableForwardingVPrintfStdErrToOSLog): |
| * wtf/Assertions.h: |
| * wtf/WTFConfig.h: |
| |
| 2021-03-29 Alex Christensen <achristensen@webkit.org> |
| |
| Use terminate_with_reason instead of xpc_connection_kill |
| https://bugs.webkit.org/show_bug.cgi?id=223618 |
| |
| Reviewed by Darin Adler. |
| |
| * wtf/spi/darwin/XPCSPI.h: |
| |
| 2021-03-28 Cameron McCormack <heycam@apple.com> |
| |
| Enable AspectRatioOfImgFromWidthAndHeightEnabled for WebKitLegacy. |
| https://bugs.webkit.org/show_bug.cgi?id=223815 |
| |
| Reviewed by Sam Weinig. |
| |
| There's no reason this is enabled for WebKit and not WebKitLegacy. |
| And set WebCore = true since this feature could conceivably be |
| used in SVG images. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-03-28 Sam Weinig <weinig@apple.com> |
| |
| Remove ENABLE_INDEXED_DATABASE & ENABLE_INDEXED_DATABASE_IN_WORKERS, it seems like it is on for all ports |
| https://bugs.webkit.org/show_bug.cgi?id=223810 |
| |
| Reviewed by Simon Fraser. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| Remove ENABLE_INDEXED_DATABASE and ENABLE_INDEXED_DATABASE_IN_WORKERS. |
| |
| 2021-03-27 Chris Dumez <cdumez@apple.com> |
| |
| wtf/Vector.h:1276:88: runtime error: reference binding to null pointer of type 'const WebCore::Style::RuleFeature' |
| https://bugs.webkit.org/show_bug.cgi?id=223828 |
| |
| Reviewed by David Kilzer. |
| |
| Fix issue found by UBSan in Vector::append(const U*, size_t): |
| wtf/Vector.h:1276:88: runtime error: reference binding to null pointer of type 'const WebCore::Style::RuleFeature' |
| wtf/Vector.h:1276:88: runtime error: reference binding to null pointer of type 'const WebCore::LayoutRect' |
| wtf/Vector.h:1276:88: runtime error: reference binding to null pointer of type 'const WTF::RefPtr<WebCore::CSSStyleSheet, WTF::RawPtrTraits<WebCore::CSSStyleSheet>, WTF::DefaultRefDerefTraits<WebCore::CSSStyleSheet> >' |
| |
| * wtf/Vector.h: |
| (WTF::Malloc>::append): |
| Return early if dataSize is 0. For some call sites, the pointer may be null and dataSize is 0. In such cases, |
| we should just return early instead of proceeding and using the null pointer. I believe this can happen if |
| you call Vector::appendVector() with an empty Vector for example. |
| |
| 2021-03-26 Chris Dumez <cdumez@apple.com> |
| |
| REGRESSION (r275038?): Perf test IndexedDB/stress/large-binary-keys.html failing with logging about memory pressure events |
| https://bugs.webkit.org/show_bug.cgi?id=223826 |
| <rdar://problem/75906134> |
| |
| Reviewed by Darin Adler. |
| |
| Use RELEASE_LOG() instead of WTFLogAlways() to log memory pressure events, so that they don't |
| show on stdout in the performance tests and make them fail. |
| |
| * wtf/cocoa/MemoryPressureHandlerCocoa.mm: |
| (WTF::MemoryPressureHandler::install): |
| |
| 2021-03-26 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Use PUICQuickboardController for text input when HAVE(QUICKBOARD_CONTROLLER) is defined |
| https://bugs.webkit.org/show_bug.cgi?id=223809 |
| <rdar://problem/56730407> |
| |
| Reviewed by Tim Horton. |
| |
| Remove the `QuickboardControllerForTextInputEnabled` WebKit preference, now that the feature is enabled by |
| default behind a build-time flag. |
| |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-03-26 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Use new Apple ICU APIs to avoid C++ ICU API usage |
| https://bugs.webkit.org/show_bug.cgi?id=223783 |
| <rdar://problem/75060240> |
| |
| Reviewed by Mark Lam. |
| |
| * wtf/DateMath.h: |
| (WTF::LocalTimeOffset::LocalTimeOffset): |
| |
| 2021-03-26 Per Arne <pvollan@apple.com> |
| |
| Enforce notifyd message filtering |
| https://bugs.webkit.org/show_bug.cgi?id=223601 |
| <rdar://75098580> |
| |
| Reviewed by Brent Fulgham. |
| |
| Add ENABLE define for Notify filtering. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-03-26 Dean Jackson <dino@apple.com> |
| |
| Enable Metal ANGLE backend for WebGL |
| https://bugs.webkit.org/show_bug.cgi?id=220076 |
| <rdar://problem/72565020> |
| |
| Reviewed by Sam Weinig. |
| |
| Turn the Metal backend for ANGLE on, moving the feature |
| from Internal to Experimental. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-03-26 Jessie Berlin <jberlin@webkit.org> |
| |
| Update the BEFORE/SINCE, SYSTEM_VERSION_PREFIX, and MACOSX_DEPLOYMENT_TARGET flags |
| https://bugs.webkit.org/show_bug.cgi?id=223779 |
| |
| Reviewed by Tim Horton. |
| |
| * Configurations/DebugRelease.xcconfig: |
| |
| 2021-03-25 Megan Gardner <megan_gardner@apple.com> |
| |
| Have App Highlights be a Configuration Setting instead of an internal Preference setting. |
| https://bugs.webkit.org/show_bug.cgi?id=223720 |
| rdar://75196085 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * Scripts/Preferences/WebPreferences.yaml: |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-03-25 Jessie Berlin <jberlin@webkit.org> |
| |
| Remove 10.13 DEPLOYMENT_TARGETs and SYSTEM_VERSION_PREFIXs |
| https://bugs.webkit.org/show_bug.cgi?id=223765 |
| |
| Reviewed by Tim Horton. |
| |
| * Configurations/Base.xcconfig: |
| * Configurations/DebugRelease.xcconfig: |
| |
| 2021-03-25 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r275057. |
| https://bugs.webkit.org/show_bug.cgi?id=223768 |
| |
| Caused build failure |
| |
| Reverted changeset: |
| |
| "Enforce notifyd message filtering" |
| https://bugs.webkit.org/show_bug.cgi?id=223601 |
| https://trac.webkit.org/changeset/275057 |
| |
| 2021-03-25 Kate Cheney <katherine_cheney@apple.com> |
| |
| Some calls in AuthenticatorPresenterCoordinator::selectAssertionResponse are not yet available for mac |
| https://bugs.webkit.org/show_bug.cgi?id=223752 |
| <rdar://problem/75808515> |
| |
| Reviewed by Jiewen Tan. |
| |
| * wtf/PlatformHave.h: |
| |
| 2021-03-25 Per Arne <pvollan@apple.com> |
| |
| Enforce notifyd message filtering |
| https://bugs.webkit.org/show_bug.cgi?id=223601 |
| <rdar://75098580> |
| |
| Reviewed by Brent Fulgham. |
| |
| Add ENABLE define for Notify filtering. |
| |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-03-25 Don Olmstead <don.olmstead@sony.com> |
| |
| Embiggen maximum HashTable size when not using ANGLE |
| https://bugs.webkit.org/show_bug.cgi?id=223757 |
| |
| Reviewed by Alex Christensen. |
| |
| This is a partial revert of r274603 which cut the maximum size HashTable from 400 to 250. |
| When not using ANGLE directly for an OpenGL ES implementation there's some code hashing its |
| sh::ShaderVariable from the shader compiler ANGLE ships with. This type is too big and |
| triggers the static_assert. |
| |
| The eventual goal is for ANGLE to be the OpenGL ES implementation for WebKit when enabling |
| WebGL. On PlayStation we already have a system OpenGL ES and any use of WebGL is in legacy |
| applications. The WebGL compliance features in ANGLE aren't needed in this case so ideally |
| we wouldn't even compile out ANGLE. |
| |
| This patch punts on fixing the actual problem and just resolves this build issue. |
| |
| * wtf/HashTable.h: |
| (WTF::KeyTraits>::inlineLookup): |
| |
| 2021-03-25 Chris Dumez <cdumez@apple.com> |
| |
| Do not do process pre-warming when the system is under memory pressure |
| https://bugs.webkit.org/show_bug.cgi?id=223717 |
| <rdar://problem/75810423> |
| |
| Reviewed by Antti Koivisto. |
| |
| * wtf/cocoa/MemoryPressureHandlerCocoa.mm: |
| (WTF::MemoryPressureHandler::install): |
| - Listen to the same memory pressure notifications on macOS and iOS. Previously, macOS would not respond to |
| non-critical memory pressure notifications for example. Also, since macOS would not listen for the notification |
| that happens when the memory usage goes back to normal, MemoruPressureHandler::isUnderMemoryPressure() would |
| start returning true after a critical memory pressure notification and it would never go back to false. |
| |
| 2021-03-25 Alberto Garcia <berto@igalia.com> |
| |
| REGRESSION(r271560): [Linux] release assert in Thread::initializePlatformThreading |
| https://bugs.webkit.org/show_bug.cgi?id=223069 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Replace an existing signal handler instead of aborting. |
| |
| * wtf/posix/ThreadingPOSIX.cpp: |
| (WTF::Thread::initializePlatformThreading): |
| |
| 2021-03-24 Mark Lam <mark.lam@apple.com> |
| |
| WTF::setPermissionsOfConfigPage() should allow its VM_FLAGS_PERMANENT workaround unconditionally. |
| https://bugs.webkit.org/show_bug.cgi?id=223725 |
| rdar://75813316 |
| |
| Reviewed by Saam Barati. |
| |
| If the OS does not support the flag, then we should not require it. |
| |
| * wtf/WTFConfig.cpp: |
| (WTF::setPermissionsOfConfigPage): |
| |
| 2021-03-24 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Use StaticStringImpl instead of StringImpl::createStaticStringImpl if it is not dynamic string content |
| https://bugs.webkit.org/show_bug.cgi?id=223714 |
| |
| Reviewed by Saam Barati. |
| |
| We should just use StaticStringImpl instead of StringImpl::createStaticStringImpl if the string content is |
| not dynamically allocated one. Keep in mind that this URL code is strongly assuming that internal StringImpl |
| is static so that this string (and URL) can be used in multiple threads. And StaticStringImpl meets this requirement. |
| |
| * wtf/URL.cpp: |
| (WTF::aboutBlankURL): |
| (WTF::aboutSrcDocURL): |
| |
| 2021-03-24 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| All string resources from UserAgentStyleSheets / UserAgentScripts should be used as non-copying StringImpl |
| https://bugs.webkit.org/show_bug.cgi?id=223685 |
| |
| Reviewed by Saam Barati. |
| |
| Add StringImpl::createWithoutCopying for `const char*`. |
| |
| * wtf/text/StringImpl.h: |
| (WTF::StringImpl::createWithoutCopying): |
| |
| 2021-03-24 Eric Carlson <eric.carlson@apple.com> |
| |
| [Cocoa] Add Experimental MediaSession coordinator |
| https://bugs.webkit.org/show_bug.cgi?id=222158 |
| <rdar://problem/74508862> |
| |
| Reviewed by Jer Noble. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * wtf/PlatformEnableCocoa.h: |
| |
| 2021-03-24 Chris Dumez <cdumez@apple.com> |
| |
| Address undefined behavior found by UBSan in StringToIntegerConversion.h |
| https://bugs.webkit.org/show_bug.cgi?id=223694 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Update StringToIntegerConversion to deal with overflows in a well-defined manner, |
| by relying on CheckedArithmetics. This addresses undefined behavior reborted by |
| UBSan: |
| - wtf/text/StringToIntegerConversion.h:94:30: runtime error: signed integer overflow: 2147483640 + 8 cannot be represented in type 'int' |
| - wtf/text/StringToIntegerConversion.h:104:17: runtime error: negation of -2147483648 cannot be represented in type 'int'; cast to an unsigned type to negate this value to itself |
| |
| * wtf/text/StringToIntegerConversion.h: |
| (WTF::toIntegralType): |
| |
| 2021-03-24 Truitt Savell <tsavell@apple.com> |
| |
| Unreviewed, reverting r274927. |
| |
| Broke many tests in WebGL |
| |
| Reverted changeset: |
| |
| "Enable Metal ANGLE backend for WebGL" |
| https://bugs.webkit.org/show_bug.cgi?id=220076 |
| https://commits.webkit.org/r274927 |
| |
| 2021-03-24 Chris Dumez <cdumez@apple.com> |
| |
| Address undefined behavior found by UBSan in DateMath.h |
| https://bugs.webkit.org/show_bug.cgi?id=223663 |
| |
| Reviewed by Darin Adler. |
| |
| Address undefined behavior found by UBSan in DateMath.h |
| Release/usr/local/include/wtf/DateMath.h:247:39: runtime error: nan is outside the range of representable values of type 'int' |
| Release/usr/local/include/wtf/DateMath.h:221:29: runtime error: nan is outside the range of representable values of type 'int' |
| Release/usr/local/include/wtf/DateMath.h:165:38: runtime error: signed integer overflow: -2147483648 - 1 cannot be represented in type 'int' |
| |
| * wtf/DateMath.h: |
| (WTF::daysFrom1970ToYear): |
| Cast year to a double *before* substracting 1 instead of *after*. This works around the fact that INT_MIN-1 would not |
| fit in an int and would be undefined behavior. |
| |
| (WTF::dayInYear): |
| (WTF::msToYear): |
| Deal with the double potentially being NaN before casting to an int, since |
| casting NaN to an int type has undefined behavior. |
| |
| 2021-03-23 Dean Jackson <yolo@apple.com> |
| |
| Enable Metal ANGLE backend for WebGL |
| https://bugs.webkit.org/show_bug.cgi?id=220076 |
| <rdar://problem/72565020> |
| |
| Reviewed by Sam Weinig. |
| |
| Turn the Metal backend for ANGLE on, moving the feature |
| from Internal to Experimental. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| * Scripts/Preferences/WebPreferencesInternal.yaml: |
| |
| 2021-03-23 Chris Dumez <cdumez@apple.com> |
| |
| DerivedSources/WebKitTestRunner/JSAccessibilityUIElement.cpp:802:72: runtime error: -1 is outside the range of representable values of type 'unsigned int' |
| https://bugs.webkit.org/show_bug.cgi?id=223650 |
| |
| Reviewed by Darin Adler. |
| |
| Update the clampTo() template specialization that converts floating types into integer types so that |
| it deals with NaN inputs in a well-defined manner. Previously, it would simply cast the NaN to the |
| integer type, which was undefined behavior. We now return the minimum range boundary for the output |
| when the input is NaN. |
| |
| * wtf/MathExtras.h: |
| (clampTo): |
| |
| 2021-03-23 Saam Barati <sbarati@apple.com> |
| |
| Don't require VM_FLAGS_PERMANENT on the simulator builds |
| https://bugs.webkit.org/show_bug.cgi?id=223649 |
| <rdar://problem/75747788> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Since VM_FLAGS_PERMANENT must be supported by the kernel, let's make |
| it so that the vm_map that passes this flag in can fail when running |
| on the simulator. This is to support the use case of running a newer |
| simulator on an older OS. When the call to vm_map fails when running |
| on the simulator, we try again without the VM_FLAGS_PERMANENT flag. |
| |
| * wtf/WTFConfig.cpp: |
| (WTF::setPermissionsOfConfigPage): |
| |
| 2021-03-23 Alex Christensen <achristensen@webkit.org> |
| |
| Remove unused WTF::String::percentage |
| https://bugs.webkit.org/show_bug.cgi?id=223651 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/text/AtomString.h: |
| * wtf/text/WTFString.cpp: |
| (WTF::String::percentage const): Deleted. |
| * wtf/text/WTFString.h: |
| |
| 2021-03-23 Chris Dumez <cdumez@apple.com> |
| |
| wtf/text/IntegerToStringConversion.h:54:104: runtime error: negation of -2147483648 cannot be represented in type 'int'; cast to an unsigned type to negate this value to itself |
| https://bugs.webkit.org/show_bug.cgi?id=223614 |
| |
| Reviewed by Darin Adler. |
| |
| numberToStringSigned() was calling -number when number is negative. This could trigger undefined behavior |
| since -number may not be representable in the input type. For example, if the type was int and number was |
| INT_MIN, -INT_MIN would overflow and the result would be undefined. To address the issue, we now cast |
| number to the destination *unsigned* type *before* negating it. |
| |
| * wtf/text/IntegerToStringConversion.h: |
| (WTF::numberToStringSigned): |
| |
| 2021-03-23 Alex Christensen <achristensen@webkit.org> |
| |
| Optimize StringView::CodePoints::Iterator |
| https://bugs.webkit.org/show_bug.cgi?id=162315 |
| |
| Reviewed by Darin Adler. |
| |
| This stores range pointers in the iterator instead of a pointer to a pointer. |
| |
| * wtf/text/StringView.h: |
| (WTF::StringView::CodePoints::Iterator::Iterator): |
| (WTF::StringView::CodePoints::Iterator::operator++): |
| (WTF::StringView::CodePoints::Iterator::operator* const): |
| (WTF::StringView::CodePoints::Iterator::operator== const): |
| |
| 2021-03-23 Chris Dumez <cdumez@apple.com> |
| |
| Add assertions to guard against heap allocations on the audio thread |
| https://bugs.webkit.org/show_bug.cgi?id=223226 |
| |
| Reviewed by Darin Adler. |
| |
| Add ForbidMallocUseForCurrentThreadScope to FastMalloc.h to enable assertions guarding against |
| doing heap allocations on the current thread (during the lifetime of the Scope object). |
| |
| Also add a DisableMallocRestrictionsForCurrentThreadScope to temporarily disable those checks |
| to allow for some very specific assertions (either because they are required, or simply because |
| they are not fixed yet). |
| |
| * wtf/FastMalloc.cpp: |
| (WTF::ForbidMallocUseForCurrentThreadScope::ForbidMallocUseForCurrentThreadScope): |
| (WTF::ForbidMallocUseForCurrentThreadScope::~ForbidMallocUseForCurrentThreadScope): |
| (WTF::DisableMallocRestrictionsForCurrentThreadScope::DisableMallocRestrictionsForCurrentThreadScope): |
| (WTF::DisableMallocRestrictionsForCurrentThreadScope::~DisableMallocRestrictionsForCurrentThreadScope): |
| (WTF::tryFastMalloc): |
| (WTF::fastMalloc): |
| (WTF::tryFastCalloc): |
| (WTF::fastCalloc): |
| (WTF::fastRealloc): |
| (WTF::tryFastRealloc): |
| (WTF::fastAlignedMalloc): |
| (WTF::tryFastAlignedMalloc): |
| * wtf/FastMalloc.h: |
| (WTF::ForbidMallocUseForCurrentThreadScope::~ForbidMallocUseForCurrentThreadScope): |
| (WTF::DisableMallocRestrictionsForCurrentThreadScope::~DisableMallocRestrictionsForCurrentThreadScope): |
| |
| 2021-03-22 Devin Rousso <drousso@apple.com> |
| |
| Remove unused JS and CSS files of media controls |
| https://bugs.webkit.org/show_bug.cgi?id=214955 |
| <rdar://problem/66604040> |
| |
| Reviewed by Eric Carlson. |
| |
| Cocoa platforms are already using modern media controls so there's no reason to keep the old |
| media controls resources/logic around any longer. It just wastes space. |
| |
| The non-iOS Apple controls must be kept though as they are still used on Windows. |
| |
| * wtf/PlatformEnable.h: |
| * wtf/PlatformEnableCocoa.h: |
| * Scripts/Preferences/WebPreferences.yaml: |
| Replace `ModernMediaControlsEnabled` setting with `ENABLE_MODERN_MEDIA_CONTROLS` build flag. |
| |
| 2021-03-22 Rob Buis <rbuis@igalia.com> |
| |
| [css-contain] Parse CSS contain property |
| https://bugs.webkit.org/show_bug.cgi?id=223252 |
| |
| Reviewed by Darin Adler. |
| |
| Add experimental feature flag. |
| |
| * Scripts/Preferences/WebPreferencesExperimental.yaml: |
| |
| 2021-03-22 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Unreviewed, fix Mac and non-unified JSCOnly builds |
| https://bugs.webkit.org/show_bug.cgi?id=223546 |
| |
| * wtf/PlatformJSCOnly.cmake: |
| Add missing file for JSCOnly build on Mac. |
| |
| 2021-03-19 Darin Adler <darin@apple.com> |
| |
| [Cocoa] Make it possible to release a WKWebView on a non-main thread without a crash due to WKScriptMessage race |
| https://bugs.webkit.org/show_bug.cgi?id=222336 |
| |
| Reviewed by Chris Dumez. |
| |
| * wtf/spi/cocoa/objcSPI.h: Removed unnecessary #if so functions are correctly compiled for |
| non-Objective-C source files. Added include of <objc/objc.h> so that "id" is defined. |
| |
| 2021-03-19 Sam Weinig <weinig@apple.com> |
| |
| Add PropertyName parameter to custom setters to allow shared implementations to do late name lookup |
| https://bugs.webkit.org/show_bug.cgi?id=223413 |
| |
| Reviewed by Alexey Shvayka. |
| |
| * wtf/PlatformCallingConventions.h: |
| Update JSC_DECLARE_CUSTOM_SETTER to account for the new PropertyName parameter. |
| |
| == Rolled over to ChangeLog-2021-03-18 == |