blob: 324ee663464605d24ceef2e3a49f8caa8b9866a6 [file] [log] [blame]
2019-01-10 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r239825.
https://bugs.webkit.org/show_bug.cgi?id=193330
Broke tests on armv7/linux bots (Requested by guijemont on
#webkit).
Reverted changeset:
"Enable DFG on ARM/Linux again"
https://bugs.webkit.org/show_bug.cgi?id=192496
https://trac.webkit.org/changeset/239825
2019-01-10 John Wilander <wilander@apple.com>
Override the session configuration for cookieAcceptPolicy
https://bugs.webkit.org/show_bug.cgi?id=190925
<rdar://problem/45497382>
Reviewed by Alexey Proskuryakov and Alex Christensen.
* wtf/Platform.h:
Definition of HAVE_CFNETWORK_OVERRIDE_SESSION_COOKIE_ACCEPT_POLICY.
2019-01-10 Dominik Infuehr <dinfuehr@igalia.com>
Enable DFG on ARM/Linux again
https://bugs.webkit.org/show_bug.cgi?id=192496
Reviewed by Yusuke Suzuki.
After changing the bytecode format DFG was disabled on all 32-bit
architectures. Enable DFG now again on ARM/Linux.
* wtf/Platform.h:
2019-01-10 Carlos Garcia Campos <cgarcia@igalia.com>
[FreeType] Color emoji not properly supported
https://bugs.webkit.org/show_bug.cgi?id=191976
Reviewed by Michael Catanzaro.
Add a name for combining enclosing keycap character.
* wtf/unicode/CharacterNames.h:
2019-01-09 Carlos Eduardo Ramalho <cadubentzen@gmail.com> and Fujii Hironori <Hironori.Fujii@sony.com>
Use directory local sequential numbers for Unified Sources filenames instead of global sequential numbers for CMake
https://bugs.webkit.org/show_bug.cgi?id=192391
Reviewed by Don Olmstead.
Unified Source Builds are using global sequential numbers for
bundle filenames UnifiedSource{sequential-number}.cpp. As the
result, every new source file added would shift the next ones and
prevent compiler caches from speeding up consecutive builds e.g.
in git-bisect sessions.
Changed it to directory local sequential numbers,
UnifiedSource-{hash-of-dir-name}-{sequential-number-within-the-dir}.cpp.
This is affecting only CMake builds which is where no
'--max-cpp-bundle-count' nor '--max-obj-c-bundle-count' options
are set. Xcode builds still use the old convention.
* Scripts/generate-unified-source-bundles.rb: Add new instance
variables @currentDirectory and @extraFiles to BundleManager.
Still use global sequential numbers if --max-cpp-bundle-count or
--max-obj-c-bundle-count is given.
2019-01-09 Alex Christensen <achristensen@webkit.org>
Expand use of sourceApplicationAuditData
https://bugs.webkit.org/show_bug.cgi?id=192995
<rdar://problem/46627875>
Reviewed by Brady Eidson.
* wtf/Platform.h:
2019-01-09 Mark Lam <mark.lam@apple.com>
Gigacage disabling checks should handle the GIGACAGE_ALLOCATION_CAN_FAIL case properly.
https://bugs.webkit.org/show_bug.cgi?id=193292
<rdar://problem/46485450>
Reviewed by Yusuke Suzuki.
Update the USE_SYSTEM_MALLOC version of Gigacage.h to match the bmalloc version.
* wtf/Gigacage.h:
2019-01-07 David Kilzer <ddkilzer@apple.com>
Prefer RetainPtr<NSObject> to RetainPtr<NSObject *>
<https://webkit.org/b/193056>
Reviewed by Alex Christensen.
* wtf/RetainPtr.h:
(WTF::RetainPtr<T>::HelperPtrType):
- Use C++ template metaprogramming to define a shared return
type for adoptNS() and retainPtr() that uses
RetainPtr<NSObject> instead of RetainPtr<NSObject *>. The
non-Objective-C typedef is used with retainPtr() for CFTypeRef
objects.
(WTF::adoptNS):
- Only make declarations available when compilng with
Objective-C. The inline implementation is only available for
Objective-C, so this makes the declarations consistent.
- Change return type to remove '*' from NS types using
RetainPtr<T>::HelperPtrType.
(WTF::retainPtr):
- Change return type to remove '*' from NS types using
RetainPtr<T>::HelperPtrType.
* wtf/SchedulePair.h:
- Remove '*' from RetainPtr<> type.
2019-01-07 Eric Carlson <eric.carlson@apple.com>
A MediaTime timescale must never be zero
https://bugs.webkit.org/show_bug.cgi?id=193156
<rdar://problem/32504501>
Reviewed by Jer Noble.
* wtf/MediaTime.cpp:
(WTF::greatestCommonDivisor): ASSERT if either parameter or return value is zero.
(WTF::MediaTime::MediaTime): Create +/- infinity if passed zero timescale.
(WTF::MediaTime::createWithFloat): Ditto.
(WTF::MediaTime::createWithDouble): Ditto.
(WTF::MediaTime::setTimeScale): Ditto.
2019-01-02 Alex Christensen <achristensen@webkit.org>
Homograph with LATIN SMALL LETTER R WITH FISHHOOK
https://bugs.webkit.org/show_bug.cgi?id=192944
Reviewed by Tim Horton.
* wtf/cocoa/NSURLExtras.mm:
(WTF::isLookalikeCharacter):
2019-01-02 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r239524.
https://bugs.webkit.org/show_bug.cgi?id=193083
basic browsing seems not to work (Requested by thorton on
#webkit).
Reverted changeset:
"Expand use of sourceApplicationAuditData"
https://bugs.webkit.org/show_bug.cgi?id=192995
https://trac.webkit.org/changeset/239524
2018-12-28 Yusuke Suzuki <yusukesuzuki@slowstart.org>
Add ENABLE_UNIFIED_BUILDS option to cmake ports
https://bugs.webkit.org/show_bug.cgi?id=193045
Reviewed by Don Olmstead.
* Scripts/generate-unified-source-bundles.rb:
2018-12-27 Alex Christensen <achristensen@webkit.org>
Resurrect Mac CMake build
https://bugs.webkit.org/show_bug.cgi?id=192658
Reviewed by Yusuke Suzuki.
* wtf/PlatformMac.cmake:
* wtf/cf/CFURLExtras.cpp:
* wtf/cf/CFURLExtras.h:
* wtf/cf/URLCF.cpp:
* wtf/cocoa/NSURLExtras.h:
* wtf/cocoa/NSURLExtras.mm:
* wtf/cocoa/URLCocoa.mm:
2018-12-21 Dan Bernstein <mitz@apple.com>
Fixed building for macOS 10.13 using the macOS 10.14 SDK.
* wtf/Platform.h: Changed HAVE_AUTHORIZATION_STATUS_FOR_MEDIA_TYPE to depend on the
deployment target, not the SDK.
2018-12-20 Yusuke Suzuki <yusukesuzuki@slowstart.org>
[JSC] Implement "well-formed JSON.stringify" proposal
https://bugs.webkit.org/show_bug.cgi?id=191677
Reviewed by Darin Adler.
This patch implements "well-formed JSON.stringify" proposal[1], which is now stage 3.
JSON.stringify appended surrogate pair codes even if it is not paired appropriately.
The proposal requires that broken surrogate pairs are unicode-escaped.
[1]: https://github.com/tc39/proposal-well-formed-stringify
* wtf/text/StringBuilderJSON.cpp:
(WTF::appendQuotedJSONStringInternal):
2018-12-21 Alex Christensen <achristensen@webkit.org>
Expand use of sourceApplicationAuditData
https://bugs.webkit.org/show_bug.cgi?id=192995
<rdar://problem/46627875>
Reviewed by Brady Eidson.
* wtf/Platform.h:
2018-12-21 Alex Christensen <achristensen@webkit.org>
Revert r239503.
https://bugs.webkit.org/show_bug.cgi?id=192944
* wtf/cocoa/NSURLExtras.mm:
(WTF::isLookalikeCharacter):
2018-12-20 Brent Fulgham <bfulgham@apple.com>
Show punycode if URL contains Latin small letter dotless i
https://bugs.webkit.org/show_bug.cgi?id=192944
<rdar://problem/46103047>
Reviewed by Andy Estes.
Revise our "lookalike character" logic to include the small Latin
dotless i character.
Test: fast/url/host.html
* wtf/cocoa/NSURLExtras.mm:
(WTF::isLookalikeCharacter):
2018-12-20 Chris Dumez <cdumez@apple.com>
Use Optional::hasValue() instead of Optional::has_value()
https://bugs.webkit.org/show_bug.cgi?id=192948
Reviewed by Tim Horton.
* wtf/Hasher.h:
(WTF::add):
* wtf/Optional.h:
2018-12-20 Chris Dumez <cdumez@apple.com>
Use Optional::valueOr() instead of Optional::value_or()
https://bugs.webkit.org/show_bug.cgi?id=192933
Reviewed by Geoffrey Garen.
* wtf/Optional.h:
(WTF::Optional<T::valueOr const):
2018-12-20 Tadeu Zagallo <tzagallo@apple.com>
Consistently use MaxLength for all WTF strings
https://bugs.webkit.org/show_bug.cgi?id=192853
<rdar://problem/45726906>
Reviewed by Mark Lam.
MaxLength was introduced to be INT_MAX for WTF::String and StringImpl,
but all the assertions were still done using UINT_MAX. Change it to
use MaxLength for all checks.
* wtf/text/StringImpl.cpp:
(WTF::StringImpl::createUninitializedInternalNonEmpty):
(WTF::StringImpl::reallocateInternal):
(WTF::StringImpl::create):
(WTF::StringImpl::convertToLowercaseWithoutLocale):
(WTF::StringImpl::convertToUppercaseWithoutLocale):
(WTF::StringImpl::convertToLowercaseWithLocale):
(WTF::StringImpl::convertToUppercaseWithLocale):
(WTF::StringImpl::foldCase):
(WTF::StringImpl::find):
(WTF::StringImpl::replace):
(WTF::StringImpl::utf8ForCharacters):
(WTF::StringImpl::tryGetUtf8ForRange const):
* wtf/text/StringImpl.h:
(WTF::lengthOfNullTerminatedString):
(WTF::StringImpl::tryCreateUninitialized):
(WTF::StringImpl::adopt):
(WTF::StringImpl::maxInternalLength):
* wtf/text/WTFString.cpp:
(WTF::String::append):
(WTF::String::insert):
(WTF::String::fromUTF8):
* wtf/text/WTFString.h:
(WTF::String::reverseFind const):
2018-12-19 Chris Dumez <cdumez@apple.com>
wtf/Optional.h: move-constructor and move-assignment operator should disengage the value being moved from
https://bugs.webkit.org/show_bug.cgi?id=192728
<rdar://problem/46746779>
Reviewed by Geoff Garen.
Update optional's move-constructor and move-assignment operator to disengage the value being moved from.
Rename to optional to Optional, make_optional() to makeOptional(), and move class from std to WTF namespace.
Based on patch by David Kilzer.
* wtf/*:
2018-12-19 Eric Carlson <eric.carlson@apple.com>
[MediaStream] Force system camera/microphone TCC prompt if necessary
https://bugs.webkit.org/show_bug.cgi?id=192820
<rdar://problem/42680098>
Reviewed by Jer Noble.
* wtf/Platform.h: Define HAVE_AUTHORIZATION_STATUS_FOR_MEDIA_TYPE.
2018-12-17 Chris Fleizach <cfleizach@apple.com>
Some builds are broken after r239262
https://bugs.webkit.org/show_bug.cgi?id=192777
Reviewed by Simon Fraser.
* wtf/Platform.h:
2018-12-17 Daniel Bates <dabates@apple.com>
Support concatenating StringView with other string types
https://bugs.webkit.org/show_bug.cgi?id=177566
Reviewed by Darin Adler.
Add operator+ overloads to StringOperators.h to support concatenating a StringView with
other string types (e.g. String). This lets a person write more naturally looking code:
stringView + string
Instead of:
makeString(stringView, string)
* wtf/text/StringOperators.h:
(WTF::operator+): Added various operator+ overloads.
2018-12-17 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r239265 and r239274.
https://bugs.webkit.org/show_bug.cgi?id=192765
unorm_normalize is deprecated, and broke an internal build
(Requested by Truitt on #webkit).
Reverted changesets:
"[GTK][WPE] Need a function to convert internal URI to display
("pretty") URI"
https://bugs.webkit.org/show_bug.cgi?id=174816
https://trac.webkit.org/changeset/239265
"Fix the Apple Internal Mac build with a newer SDK"
https://trac.webkit.org/changeset/239274
2018-12-17 Daniel Bates <dabates@apple.com>
Fix the Apple Internal Mac build with a newer SDK
* wtf/URLHelpers.cpp:
(WTF::URLHelpers::userVisibleURL):
2018-12-17 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r239254.
This broke the Windows 10 Debug build
Reverted changeset:
"Replace many uses of String::format with more type-safe
alternatives"
https://bugs.webkit.org/show_bug.cgi?id=192742
https://trac.webkit.org/changeset/239254
2018-12-17 Ms2ger <Ms2ger@igalia.com>
[GTK][WPE] Need a function to convert internal URI to display ("pretty") URI
https://bugs.webkit.org/show_bug.cgi?id=174816
Reviewed by Michael Catanzaro.
Translate userVisibleString and dependent code into platform-neutral C++
in wtf/URLHelpers.{h,cpp}.
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/URLHelpers.cpp: Added.
(WTF::URLHelpers::loadIDNScriptWhiteList):
(WTF::URLHelpers::isArmenianLookalikeCharacter):
(WTF::URLHelpers::isArmenianScriptCharacter):
(WTF::URLHelpers::isASCIIDigitOrValidHostCharacter):
(WTF::URLHelpers::isLookalikeCharacter):
(WTF::URLHelpers::whiteListIDNScript):
(WTF::URLHelpers::initializeDefaultIDNScriptWhiteList):
(WTF::URLHelpers::allCharactersInIDNScriptWhiteList):
(WTF::URLHelpers::isSecondLevelDomainNameAllowedByTLDRules):
(WTF::URLHelpers::isRussianDomainNameCharacter):
(WTF::URLHelpers::allCharactersAllowedByTLDRules):
(WTF::URLHelpers::mapHostName):
(WTF::URLHelpers::collectRangesThatNeedMapping):
(WTF::URLHelpers::applyHostNameFunctionToMailToURLString):
(WTF::URLHelpers::applyHostNameFunctionToURLString):
(WTF::URLHelpers::mapHostNames):
(WTF::URLHelpers::createStringWithEscapedUnsafeCharacters):
(WTF::URLHelpers::userVisibleURL):
* wtf/URLHelpers.h: Added.
* wtf/cocoa/NSURLExtras.mm:
(WTF::URLHelpers::loadIDNScriptWhiteList):
(WTF::decodePercentEscapes):
(WTF::decodeHostName):
(WTF::encodeHostName):
(WTF::URLWithUserTypedString):
(WTF::userVisibleString):
2018-12-15 Darin Adler <darin@apple.com>
Use warning-ignoring macros more consistently and simply
https://bugs.webkit.org/show_bug.cgi?id=192743
Reviewed by Mark Lam.
* wtf/Assertions.h: Use IGNORE_WARNINGS_BEGIN rather than
IGNORE_CLANG_WARNINGS_BEGIN since we don't need special handling for
non-clang compilers, in part since the code is already inside
#if COMPILER(CLANG), but also because it would be harmless to ignore this
warning on non-clang; we should almost never use IGNORE_CLANG_WARNINGS_BEGIN.
2018-12-15 Darin Adler <darin@apple.com>
Replace many uses of String::format with more type-safe alternatives
https://bugs.webkit.org/show_bug.cgi?id=192742
Reviewed by Mark Lam.
* wtf/WorkQueue.cpp:
(WTF::WorkQueue::concurrentApply): Use makeString.
* wtf/dtoa.cpp:
(WTF::dtoa): Use sprintf instead of String::format in the comments,
since these functions have nothing to do with WTF::String.
2018-12-14 Darin Adler <darin@apple.com>
Verify size is valid in USE_SYSTEM_MALLOC version of tryAllocateZeroedVirtualPages
https://bugs.webkit.org/show_bug.cgi?id=192738
rdar://problem/37502342
Reviewed by Mark Lam.
* wtf/Gigacage.cpp:
(Gigacage::tryAllocateZeroedVirtualPages): Added a RELEASE_ASSERT just
like the one in tryLargeZeroedMemalignVirtual in bmalloc.
2018-12-14 David Kilzer <ddkilzer@apple.com>
clang-tidy: Fix unnecessary copy of AtomicString each time one is logged
<https://webkit.org/b/192710>
<rdar://problem/46738962>
Reviewed by Eric Carlson.
* wtf/Logger.h:
(WTF::LogArgument::toString): Make argument a const reference to
avoid the copy.
2018-12-14 Zan Dobersek <zdobersek@igalia.com>
[GLib] RunLoop::dispatchAfter() GSource requires microsecond precision
https://bugs.webkit.org/show_bug.cgi?id=192696
Reviewed by Michael Catanzaro.
The GSource we set up in GLib's RunLoop::dispatchAfter() implementation
should support microsecond-precision delays. Such delays are common in
JSC's Watchdog implementation and missing support for them has been
causing test failures in the `testapi` program as well as some JSC
tests that depend on the termination determination functionality of the
JSC::Watchdog class.
RunLoop::dispatchAfter() is changed to spawn a raw GSource that uses the
existing GSourceFuncs implementation used elsewhere in GLib's RunLoop.
The GSource's ready time is set manually, now with the necessary
microsecond precision.
* wtf/glib/RunLoopGLib.cpp:
(WTF::RunLoop::dispatchAfter):
2018-12-13 Saam Barati <sbarati@apple.com>
The JSC shell should listen for memory pressure events and respond to them
https://bugs.webkit.org/show_bug.cgi?id=192647
Reviewed by Keith Miller.
* wtf/MemoryPressureHandler.cpp:
(WTF::MemoryPressureHandler::MemoryPressureHandler):
(WTF::MemoryPressureHandler::setDispatchQueue):
Make it so that we can customize which dispatch queue memory pressure
events get handled on.
* wtf/MemoryPressureHandler.h:
(WTF::MemoryPressureHandler::setShouldLogMemoryMemoryPressureEvents):
Make it so that we can disable logging that happens on each memory
pressure event.
* wtf/cocoa/MemoryPressureHandlerCocoa.mm:
(WTF::MemoryPressureHandler::install):
(WTF::MemoryPressureHandler::uninstall):
(WTF::MemoryPressureHandler::holdOff):
2018-12-13 David Kilzer <ddkilzer@apple.com>
clang-tidy: Fix unnecessary parameter copies in ParallelHelperPool.cpp
<https://webkit.org/b/192666>
<rdar://problem/46697952>
Reviewed by Alex Christensen.
* wtf/ParallelHelperPool.cpp:
(WTF::ParallelHelperClient::ParallelHelperClient): Use rvalue
reference and WTFMove().
(WTF::ParallelHelperClient::setTask): Ditto.
(WTF::ParallelHelperClient::runTaskInParallel): Ditto.
(WTF::ParallelHelperClient::runTask): Use const reference.
* wtf/ParallelHelperPool.h: Update declarations to match
implementations.
2018-12-12 Alex Christensen <achristensen@webkit.org>
Implement safe browsing in WebKit on WatchOS
https://bugs.webkit.org/show_bug.cgi?id=192641
<rdar://problem/46376188>
Reviewed by Geoff Garen.
* wtf/Platform.h:
WatchOS has safe browsing, too!
2018-12-11 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][Clang] Fix compilation warnings of WTF
https://bugs.webkit.org/show_bug.cgi?id=192583
Reviewed by Alex Christensen.
clang-cl reports the following warnings.
> [92/206] Building CXX object Source\WTF\wtf\CMakeFiles\WTF.dir\StackBounds.cpp.obj
> ..\..\Source\WTF\wtf\StackBounds.cpp(163,48): warning: missing field 'AllocationBase' initializer [-Wmissing-field-initializers]
> MEMORY_BASIC_INFORMATION stackOrigin = { 0 };
> ^
> 1 warning generated.
> [160/206] Building CXX object Source\WTF\wtf\CMakeFiles\WTF.dir\win\RunLoopWin.cpp.obj
> ..\..\Source\WTF\wtf\win\RunLoopWin.cpp(34,54): warning: ISO C++11 does not allow conversion from string literal to 'const LPWSTR' (aka 'wchar_t *const') [-Wwritable-strings]
> static const LPWSTR kRunLoopMessageWindowClassName = L"RunLoopMessageWindow";
> ^
> ..\..\Source\WTF\wtf\win\RunLoopWin.cpp(86,32): warning: missing field 'lpfnWndProc' initializer [-Wmissing-field-initializers]
> WNDCLASS windowClass = { 0 };
> ^
> 2 warnings generated.
> [175/206] Building CXX object Source\WTF\wtf\CMakeFiles\WTF.dir\DateMath.cpp.obj
> ..\..\Source\WTF\wtf\DateMath.cpp(125,20): warning: unused function 'getLocalTime' [-Wunused-function]
> static inline void getLocalTime(const time_t* localTime, struct tm* localTM)
> ^
> 1 warning generated.
* wtf/DateMath.cpp:
(WTF::getLocalTime): Defined only if used.
* wtf/StackBounds.cpp:
(WTF::StackBounds::currentThreadStackBoundsInternal): Initialize stackOrigin with '{ }'.
* wtf/win/RunLoopWin.cpp: Change the type of kRunLoopMessageWindowClassName to LPCWSTR.
(WTF::RunLoop::registerRunLoopMessageWindowClass): Initialize windowClass with '{ }'.
2018-12-11 Andy Estes <aestes@apple.com>
Introduce makeBlockPtr for lambdas
https://bugs.webkit.org/show_bug.cgi?id=192594
Reviewed by Alex Christensen.
BlockPtr<...>::fromCallable is cumbersome because it requires repeating the callable's
signature as a class template argument. This patch introduces an overload of makeBlockPtr
that deduces the correct BlockPtr instantiation from a lambda's operator() signature.
* wtf/BlockPtr.h:
(WTF::makeBlockPtr):
Adopted makeBlockPtr.
* wtf/cocoa/WorkQueueCocoa.cpp:
(WTF::WorkQueue::dispatch):
(WTF::WorkQueue::dispatchAfter):
(WTF::WorkQueue::concurrentApply):
2018-12-10 Don Olmstead <don.olmstead@sony.com>
Move ENABLE_RESOURCE_LOAD_STATISTICS to FeatureDefines.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=192573
Reviewed by Simon Fraser.
Remove ENABLE_RESOURCE_LOAD_STATISTICS from Platform.h and instead rely
on it being set in FeatureDefines.xcconfig.
* wtf/Platform.h:
2018-12-10 Alexey Proskuryakov <ap@apple.com>
Move ENABLE_SEC_ITEM_SHIM out of WebKit's config.h
https://bugs.webkit.org/show_bug.cgi?id=192428
Reviewed by Tim Horton.
* wtf/Platform.h:
2018-12-10 Alexey Proskuryakov <ap@apple.com>
Move more macros out of WebKit's config.h
https://bugs.webkit.org/show_bug.cgi?id=192430
Reviewed by Tim Horton.
* wtf/Platform.h:
2018-12-09 Yusuke Suzuki <yusukesuzuki@slowstart.org>
Unreviewed, fix build failure on GCC 8.2, part 2
Add RefCountedArray::assign, and use it instead of operator= internally.
We should have operator=(const RefCountedArray&) since it will be automatically generated
if we do not have correct implementation here.
* wtf/RefCountedArray.h:
(WTF::RefCountedArray::operator=):
(WTF::RefCountedArray::assign):
2018-12-09 Yusuke Suzuki <yusukesuzuki@slowstart.org>
Unreviewed, fix build failure on GCC 8.2
We remove operator=<PtrTraits> call since it is not necessary.
This is a workaround. It seems that GCC 8.2 fails to parse this specialization.
* wtf/RefCountedArray.h:
2018-12-08 Darin Adler <darin@apple.com>
Fix stray-semicolon warning seen with a new version of clang in Xcode
https://bugs.webkit.org/show_bug.cgi?id=192534
Reviewed by Alexey Proskuryakov.
* wtf/Lock.h: Removed an unneeded semicolon.
2018-12-08 Adrian Perez de Castro <aperez@igalia.com>
[WTF] Debug build fails due conflicting abort() method
https://bugs.webkit.org/show_bug.cgi?id=192491
Reviewed by Michael Catanzaro.
* wtf/Assertions.h: Use namespaced std::abort() insted of plain abort() to avoid clashes
inside classes which have an ::abort() method, but only when __cplusplus is defined to
allow inclusion of the header in plain C sources.
2018-12-07 Andy Estes <aestes@apple.com>
[Cocoa] Add optional variants of SOFT_LINK_CLASS_FOR_SOURCE
https://bugs.webkit.org/show_bug.cgi?id=192498
Reviewed by Tim Horton.
Added SOFT_LINK_CLASS_FOR_SOURCE_OPTIONAL and SOFT_LINK_CLASS_FOR_SOURCE_OPTIONAL_WITH_EXPORT,
which behave like their non-optional variants but do not require their classes to exist.
* wtf/cocoa/SoftLinking.h:
2018-12-06 Alexey Proskuryakov <ap@apple.com>
Move USE_NEW_THEME out of WebCore's config.h
https://bugs.webkit.org/show_bug.cgi?id=192426
Reviewed by Tim Horton.
* wtf/Platform.h:
2018-12-04 Carlos Garcia Campos <cgarcia@igalia.com>
[SOUP] Move URLSoup back to WebCore after r238771
https://bugs.webkit.org/show_bug.cgi?id=192306
Reviewed by Michael Catanzaro.
In r238771 URL was moved from WebCore to WTF, including the soup implementation. Unfortunately that added
libsoup as a new dependency of libjavascriptcoregtk.
* wtf/PlatformGTK.cmake:
* wtf/PlatformWPE.cmake:
* wtf/URL.h:
* wtf/glib/URLGLib.cpp: Copied from Source/WTF/wtf/glib/URLSoup.cpp.
2018-12-03 Don Olmstead <don.olmstead@sony.com>
Fix some unused parameter warnings
https://bugs.webkit.org/show_bug.cgi?id=192336
Reviewed by Fujii Hironori.
* wtf/StackTrace.cpp:
(WTFGetBacktrace):
(WTF::StackTrace::demangle):
* wtf/generic/MemoryPressureHandlerGeneric.cpp:
(WTF::MemoryPressureHandler::holdOff):
(WTF::MemoryPressureHandler::respondToMemoryPressure):
2018-12-01 Alexey Proskuryakov <ap@apple.com>
Modernize version check for _suppressedAutoAddedHTTPHeaders
https://bugs.webkit.org/show_bug.cgi?id=192175
Reviewed by Tim Horton.
* wtf/Platform.h:
2018-11-30 Alex Christensen <achristensen@webkit.org>
Fix Windows build after r238771
https://bugs.webkit.org/show_bug.cgi?id=190234
* wtf/URLParser.h:
Just make defaultPortForProtocol public so we don't have to worry about DLL linkage.
2018-11-30 Alex Christensen <achristensen@webkit.org>
Move URL from WebCore to WTF
https://bugs.webkit.org/show_bug.cgi?id=190234
Reviewed by Keith Miller.
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/Forward.h:
* wtf/PlatformGTK.cmake:
* wtf/PlatformMac.cmake:
* wtf/PlatformWPE.cmake:
* wtf/PlatformWin.cmake:
* wtf/URL.cpp: Renamed from Source/WebCore/platform/URL.cpp.
(WTF::URL::protocolIs):
* wtf/URL.h: Renamed from Source/WebCore/platform/URL.h.
* wtf/URLHash.h: Renamed from Source/WebCore/platform/URLHash.h.
(WTF::URLHash::hash):
(WTF::URLHash::equal):
* wtf/URLParser.cpp: Renamed from Source/WebCore/platform/URLParser.cpp.
(WTF::URLParser::isInUserInfoEncodeSet):
(WTF::URLParser::parseAuthority):
* wtf/URLParser.h: Renamed from Source/WebCore/platform/URLParser.h.
(WTF::URLParser::URLParser):
(WTF::URLParser::result):
* wtf/cf/CFURLExtras.cpp: Renamed from Source/WebCore/platform/cf/CFURLExtras.cpp.
* wtf/cf/CFURLExtras.h: Renamed from Source/WebCore/platform/cf/CFURLExtras.h.
* wtf/cf/URLCF.cpp: Renamed from Source/WebCore/platform/cf/URLCF.cpp.
* wtf/cocoa/NSURLExtras.h: Copied from Source/WebCore/loader/archive/ArchiveResourceCollection.h.
* wtf/cocoa/NSURLExtras.mm: Copied from Source/WebCore/platform/mac/WebCoreNSURLExtras.mm.
(WTF::isArmenianLookalikeCharacter):
(WTF::isArmenianScriptCharacter):
(WTF::isASCIIDigitOrValidHostCharacter):
(WTF::isLookalikeCharacter):
(WTF::whiteListIDNScript):
(WTF::readIDNScriptWhiteListFile):
(WTF::allCharactersInIDNScriptWhiteList):
(WTF::isSecondLevelDomainNameAllowedByTLDRules):
(WTF::isRussianDomainNameCharacter):
(WTF::allCharactersAllowedByTLDRules):
(WTF::mapHostNameWithRange):
(WTF::hostNameNeedsDecodingWithRange):
(WTF::hostNameNeedsEncodingWithRange):
(WTF::decodeHostNameWithRange):
(WTF::encodeHostNameWithRange):
(WTF::decodeHostName):
(WTF::encodeHostName):
(WTF::collectRangesThatNeedMapping):
(WTF::collectRangesThatNeedEncoding):
(WTF::collectRangesThatNeedDecoding):
(WTF::applyHostNameFunctionToMailToURLString):
(WTF::applyHostNameFunctionToURLString):
(WTF::mapHostNames):
(WTF::stringByTrimmingWhitespace):
(WTF::URLByTruncatingOneCharacterBeforeComponent):
(WTF::URLByRemovingResourceSpecifier):
(WTF::URLWithData):
(WTF::dataWithUserTypedString):
(WTF::URLWithUserTypedString):
(WTF::URLWithUserTypedStringDeprecated):
(WTF::hasQuestionMarkOnlyQueryString):
(WTF::dataForURLComponentType):
(WTF::URLByRemovingComponentAndSubsequentCharacter):
(WTF::URLByRemovingUserInfo):
(WTF::originalURLData):
(WTF::createStringWithEscapedUnsafeCharacters):
(WTF::userVisibleString):
(WTF::isUserVisibleURL):
(WTF::rangeOfURLScheme):
(WTF::looksLikeAbsoluteURL):
* wtf/cocoa/URLCocoa.mm: Renamed from Source/WebCore/platform/mac/URLMac.mm.
(WTF::URL::URL):
(WTF::URL::createCFURL const):
* wtf/glib/GUniquePtrSoup.h: Renamed from Source/WebCore/platform/network/soup/GUniquePtrSoup.h.
* wtf/glib/URLSoup.cpp: Renamed from Source/WebCore/platform/soup/URLSoup.cpp.
2018-11-30 Alexey Proskuryakov <ap@apple.com>
Move USE_CFNETWORK_IGNORE_HSTS to its proper place
https://bugs.webkit.org/show_bug.cgi?id=192173
Reviewed by Tim Horton.
* wtf/Platform.h: Also renamed it to better match other version checks.
2018-11-29 Alexey Proskuryakov <ap@apple.com>
Modernize the check for kCFURLRequestContentDecoderSkipURLCheck existence
https://bugs.webkit.org/show_bug.cgi?id=192041
Reviewed by Tim Horton.
* wtf/Platform.h:
2018-11-28 Mark Lam <mark.lam@apple.com>
ENABLE_SEPARATED_WX_HEAP needs to be defined in Platform.h.
https://bugs.webkit.org/show_bug.cgi?id=192110
<rdar://problem/46317746>
Reviewed by Saam Barati.
Contrary my previous claim in r238564, ENABLE_SEPARATED_WX_HEAP needs to be
defined in Platform.h because it is also needed in WebCore for the CSS JIT. Also
contrary to my previous claim, ENABLE(FAST_JIT_PERMISSIONS) is defined for WebCore
(and other projects) as well as JSC. Hence, there's no reason why
ENABLE_SEPARATED_WX_HEAP cannot be defined in Platform.h.
* wtf/Platform.h:
2018-11-28 Keith Rollin <krollin@apple.com>
Update generate-unified-source-bundles.rb to generate .xcfilelist files
https://bugs.webkit.org/show_bug.cgi?id=192029
<rdar://problem/46285918>
Reviewed by Alex Christensen.
Update generate-unified-source-bundles.rb to generate output for
.xcfilelist files. These files are used to indicate the sets of input
and output files to Run Script build phases in Xcode. By invoking
generate-unified-source-bundles.rb with -generate-xcfilelists, the
script generates these .xcfilelist files. These .xcfilelist files can
then be used to specify the inputs and outputs of the Generate Unified
Sources build phases.
* Scripts/generate-unified-source-bundles.rb:
2018-11-28 Alexey Proskuryakov <ap@apple.com>
Remove another OS version check from NetworkDataTaskCocoa.mm
https://bugs.webkit.org/show_bug.cgi?id=192046
Reviewed by Alex Christensen.
* wtf/Platform.h:
2018-11-28 Alexey Proskuryakov <ap@apple.com>
Modernize version checks for same site cookie support
https://bugs.webkit.org/show_bug.cgi?id=192054
Reviewed by Tim Horton.
* wtf/Platform.h:
2018-11-27 Alexey Proskuryakov <ap@apple.com>
Modernize the check for async _saveCookies existence
https://bugs.webkit.org/show_bug.cgi?id=191987
Reviewed by Dean Jackson.
* wtf/Platform.h: Added a specific macro for this. Not changing the behavior here,
although it seems very likely that we want to do the same on other iOS family OSes.
2018-11-26 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][Clang] SOFT_LINK reports warning: implicit conversion between pointer-to-function and pointer-to-object is a Microsoft extension [-Wmicrosoft-cast]
https://bugs.webkit.org/show_bug.cgi?id=191960
Reviewed by Alex Christensen.
* wtf/win/SoftLinking.h: Do reinterpret_cast<void*> a function
pointer argument of EncodePointer. Changed the type of stored
function pointer returned by EncodePointer.
2018-11-26 Sam Weinig <sam@webkit.org>
Streamline ListHashSet use in floating object code
https://bugs.webkit.org/show_bug.cgi?id=191957
Reviewed by Alex Christensen.
* wtf/ListHashSet.h:
Reverses the order of the template arguments for the find() and contains()
overload that allow specifying a hash translator to allow the compiler to
deduce type T. This simplifies call sites and matches other WTF containers.
2018-11-25 Michael Catanzaro <mcatanzaro@igalia.com>
CRASH() should call abort() except on Darwin and in developer builds
https://bugs.webkit.org/show_bug.cgi?id=184408
Reviewed by Daniel Bates.
CRASH() should call abort() except on Darwin and in developer builds, as discussed on
webkit-dev. This should be slightly nicer than dereferencing 0xbadbeef.
On Darwin, CRASH() uses a breakpoint trap, which seems to corrupt the stack on Linux, so we
can't do that.
Continue to call WTFCrash() in developer mode, and make no changes to WTFCrash(), since it
is reportedly useful in nightmare scenarios where core dumps are unavailable.
We also have to define CRASH_UNDER_CONSTEXPR_CONTEXT(). It's a bit odd that it's possible to
use a non-constexpr function here, but it works. Currently this macro uses WTFCrash(), which
is also non-constexpr.
* wtf/Assertions.h:
2018-11-25 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, rolling out r238469.
Broke the build
Reverted changeset:
"CRASH() should call abort() except on Darwin and in developer
builds"
https://bugs.webkit.org/show_bug.cgi?id=184408
https://trac.webkit.org/changeset/238469
2018-11-24 Andy Estes <aestes@apple.com>
[Cocoa] SOFT_LINK_CLASS_FOR_{HEADER,SOURCE} should generate a more concise getter function
https://bugs.webkit.org/show_bug.cgi?id=191899
Reviewed by Dean Jackson.
Currently, SOFT_LINK_CLASS_FOR_HEADER declares a class getter function that includes the
framework name. For example, NSView would have a class getter named
namespace::get_AppKit_NSViewClass().
Including the framework name in the getter is unnecessary. Objective-C classes already exist
in a global namespace, so there is no need to disambiguate class names by framework. This
patch elides the framework name from the getter function. For example, NSView would now have
a getter named namespace::getNSViewClass().
* wtf/cocoa/SoftLinking.h:
2018-11-24 Michael Catanzaro <mcatanzaro@igalia.com>
CRASH() should call abort() except on Darwin and in developer builds
https://bugs.webkit.org/show_bug.cgi?id=184408
Reviewed by Daniel Bates.
CRASH() should call abort() except on Darwin and in developer builds, as discussed on
webkit-dev. This should be slightly nicer than dereferencing 0xbadbeef.
On Darwin, CRASH() uses a breakpoint trap, which seems to corrupt the stack on Linux, so we
can't do that.
Continue to call WTFCrash() in developer mode, and make no changes to WTFCrash(), since it
is reportedly useful in nightmare scenarios where core dumps are unavailable.
* wtf/Assertions.h:
2018-11-23 Sam Weinig <sam@webkit.org>
Add raw pointer overloads to ListHashSet via SmartPtr specialized functions
https://bugs.webkit.org/show_bug.cgi?id=191936
Reviewed by Zalan Bujtas.
Adds overloads for find, contains, insertBefore and remove that take raw pointers
when the value type V of a ListHashSet is true for the predicate IsSmartPtr<V>::value.
This brings the interface to ListHashSet closer inline with HashSet, HashMap and HashCountedSet
which already have this functionality. Like in the other collections, this is especially
useful when using std::unique_ptr<> as the value, since there would be no way to pass it
to these functions. One difference between this set of overloads is the inclusion of insertBefore,
which is unique to ListHashSet. As would be expected, this specialization only changes the first
parameter, the one that needs to be found, to support a raw pointer.
* wtf/ListHashSet.h:
(WTF::U>::find):
(WTF::U>::find const):
(WTF::U>::contains const):
(WTF::U>::insertBefore):
(WTF::U>::remove):
2018-11-21 Yusuke Suzuki <yusukesuzuki@slowstart.org>
[JSC] Drop ARM_TRADITIONAL support in LLInt, baseline JIT, and DFG
https://bugs.webkit.org/show_bug.cgi?id=191675
Reviewed by Mark Lam.
* wtf/InlineASM.h:
* wtf/Platform.h:
2018-11-21 Andy Estes <aestes@apple.com>
[Cocoa] Create a soft-linking file for PassKit
https://bugs.webkit.org/show_bug.cgi?id=191875
<rdar://problem/46203215>
Reviewed by Myles Maxfield.
* wtf/Platform.h: Defined USE_PASSKIT.
* wtf/cocoa/SoftLinking.h: Added _WITH_EXPORT variants of SOFT_LINK_FRAMEWORK_FOR_SOURCE,
SOFT_LINK_PRIVATE_FRAMEWORK_FOR_SOURCE, SOFT_LINK_CLASS_FOR_SOURCE,
SOFT_LINK_FUNCTION_FOR_SOURCE, and SOFT_LINK_CONSTANT_FOR_SOURCE.
2018-11-21 Dominik Infuehr <dinfuehr@igalia.com>
Enable JIT on ARM/Linux
https://bugs.webkit.org/show_bug.cgi?id=191548
Reviewed by Yusuke Suzuki.
Enable JIT by default on ARMv7/Linux after it was disabled with
recent bytcode format change.
* wtf/Platform.h:
2018-11-14 Keith Rollin <krollin@apple.com>
Fix #end vs. #endif typo.
https://bugs.webkit.org/show_bug.cgi?id=191668
<rdar://problem/46081704>
Reviewed by Alexey Proskuryakov.
Source/WebCore/SourcesCocoa.txt had a #end that should have been a
#endif. Fix this, an add a check to generate-unified-source-bundles.rb
to detect similar typos.
* Scripts/generate-unified-source-bundles.rb:
2018-11-12 Mark Lam <mark.lam@apple.com>
Add OOM detection to StringPrototype's substituteBackreferences().
https://bugs.webkit.org/show_bug.cgi?id=191563
<rdar://problem/45720428>
Reviewed by Saam Barati.
Enhanced StringBuilder::toString() to skip the shrinkToFit(), reifyString(), and
the hasOverflowed() check if m_string is not null. When m_string is not null,
the StringBuilder either only has a single String in m_string (with m_buffer being
null), or reifyString() has already been called (resulting in a non-null m_string
with a possibly non-null m_buffer).
We can skip the overflow check because:
1. if the StringBuilder only has a single String, then there cannot be an overflow.
2. if reifyString() has already been called, then the hasOverflowed() checked has
already been done because every code path that calls reifyString() first does
the hasOverflowed() check.
We can skip shrinkToFit() because it only applies to m_buffer.
1. if the StringBuilder only has a single String, then there's no m_buffer to shrink.
2. if reifyString() has already been called, then we either came down
a. the toString() path with a null m_string previously, where we would have
already called shrinkToFit() before reifyString(), or
b. the toStringPreserveCapacity() path where we don't want to shrinkToFit().
We can skip reifyString() because:
1. if the StringBuilder only has a single String, then the string is already reified.
2. if reifyString() has been already called, then the string is already reified.
Note that if m_string is the null string and m_buffer is null, reifyString() will
replace it with the empty string. For this reason, we cannot solely check for
!m_buffer because we need to reify the null string into the empty string.
Note also that if m_string is null and m_buffer is non-null, reifyString() will
create a String and set m_string to it. However, m_buffer remains non-null.
For this reason, we cannot assert !m_buffer alone when m_string is non-null.
We add a m_isReified flag (only when assertions are enabled) to track the reified
case where both m_buffer and m_string are non-null.
* wtf/text/StringBuilder.cpp:
(WTF::StringBuilder::reifyString const):
* wtf/text/StringBuilder.h:
(WTF::StringBuilder::toString):
2018-11-10 Benjamin Poulain <benjamin@webkit.org>
Fix a fixme: rename wtfObjcMsgSend to wtfObjCMsgSend
https://bugs.webkit.org/show_bug.cgi?id=191492
Reviewed by Alex Christensen.
Because renaming ObjcRuntimeExtras.h to ObjCRuntimeExtras.h only changes
the cases, some systems have issues with applying this patch.
To work around the problem, the change is made is two patches, first rename to
WTFObjCRuntimeExtras.h, then back to ObjCRuntimeExtras.h.
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/WTFObjCRuntimeExtras.h: Renamed from Source/WTF/wtf/ObjcRuntimeExtras.h.
(wtfObjCMsgSend):
2018-11-09 Keith Miller <keith_miller@apple.com>
LLInt VectorSizeOffset should be based on offset extraction
https://bugs.webkit.org/show_bug.cgi?id=191468
Reviewed by Yusuke Suzuki.
Make things friends with LLIntOffsetsExtractor.
* wtf/RefCountedArray.h:
* wtf/Vector.h:
2018-11-09 Jim Mason <jmason@ibinx.com>
[WTF] Changes in bug 188867 break non-Linux Unix builds
https://bugs.webkit.org/show_bug.cgi?id=191380
The intention of 188867 was to split out platform-specific
heap query/release code. Any unsupported platform
would use a generic, no-op stub. However, wtf/PlatformGTK.cmake
ended up sending all non-Linux platforms through the Linux
implementation, which breaks the build for those platforms.
This includes any user of the GTK target which is not Linux,
such as the *BSDs, Solaris, etc.
Reviewed by Yusuke Suzuki.
* wtf/PlatformGTK.cmake: Updated to include Linux-specific
code only for Linux; all other platforms use the generic stub.
2018-11-06 Geoffrey Garen <ggaren@apple.com>
Removed mbmalloc target from WTF
https://bugs.webkit.org/show_bug.cgi?id=191313
Reviewed by Saam Barati.
For benchmarking, WTF::fastMalloc is no longer meaningfully different
from bmalloc. (And bmalloc has its own mbmalloc target.)
* Configurations/mbmalloc.xcconfig: Removed.
* WTF.xcodeproj/project.pbxproj:
* wtf/mbmalloc.cpp: Removed.
2018-11-08 Alexey Proskuryakov <ap@apple.com>
Re-add PLATFORM(IOS), now with the strict meaning
https://bugs.webkit.org/show_bug.cgi?id=191281
Reviewed by Tim Horton.
* wtf/Platform.h: No change in behavior. Some of the macros look a bit weird
when expanded, it might be that the values are incorrect for some flavors of iOS family.
2018-11-08 Dean Jackson <dino@apple.com>
Add a String literal that returns a String
https://bugs.webkit.org/show_bug.cgi?id=191425
<rdar://problem/45914556>
Reviewed by Sam Weinig.
Add a new String literal, _str, that will return a String type.
This is useful when ""_s won't work, such as for things that
don't take an ASCIILiteral directly e.g. ExceptionOr<String>
or Variants.
* wtf/text/WTFString.h:
(WTF::StringLiterals::operator _str): Added.
2018-11-06 Justin Fan <justin_fan@apple.com>
[WebGPU] Experimental prototype for WebGPURenderPipeline and WebGPUSwapChain
https://bugs.webkit.org/show_bug.cgi?id=191291
Reviewed by Myles Maxfield.
Properly disable WEBGPU on all non-Metal platforms for now.
* wtf/Platform.h:
2018-11-05 Myles C. Maxfield <mmaxfield@apple.com>
Cache glyph paths and share underline skipping code between all the ports
https://bugs.webkit.org/show_bug.cgi?id=191239
Reviewed by Alex Christensen.
Remove CSS3_TEXT_DECORATION_SKIP_INK. It's now interoperable and part of the Web Platform.
* wtf/Platform.h:
2018-11-05 Dominik Infuehr <dinfuehr@igalia.com>
Enable LLInt on ARMv7/Linux
https://bugs.webkit.org/show_bug.cgi?id=191190
Reviewed by Yusuke Suzuki.
After enabling the new bytecode format in r237547, C_LOOP was
forced on all 32-bit platforms. Now enable LLInt again on
ARMv7-Thumb2/Linux by default.
* wtf/Platform.h:
2018-11-04 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] Use C++14, not C++17
https://bugs.webkit.org/show_bug.cgi?id=191101
Reviewed by Alex Christensen.
* wtf/StdLibExtras.h: Use _MSVC_LANG to check C++ language version
instead of _MSC_FULL_VER.
2018-11-02 Justin Fan <justin_fan@apple.com>
[WebGPU] Experimental prototype for MSL shaders
https://bugs.webkit.org/show_bug.cgi?id=191084
Reviewed by Dean Jackson.
Disabling WebGPU on non-Cocoa platforms and iOS Simulator.
* wtf/Platform.h:
2018-11-01 Jiewen Tan <jiewen_tan@apple.com>
Replace CommonRandom SPI with API
https://bugs.webkit.org/show_bug.cgi?id=191178
<rdar://problem/45722391>
Reviewed by Brent Fulgham.
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/RandomDevice.cpp:
(WTF::RandomDevice::cryptographicallyRandomValues):
* wtf/spi/darwin/CommonCryptoSPI.h: Removed.
2018-11-01 Fujii Hironori <Hironori.Fujii@sony.com>
Rename <wtf/unicode/UTF8.h> to <wtf/unicode/UTF8Conversion.h> in order to avoid conflicting with ICU's unicode/utf8.h
https://bugs.webkit.org/show_bug.cgi?id=189693
Reviewed by Yusuke Suzuki.
* WTF.xcodeproj/project.pbxproj: Replaced unicode/UTF8.{cpp,h} with unicode/UTF8Conversion.{cpp,h}.
* wtf/CMakeLists.txt: Ditto.
* wtf/text/AtomicStringImpl.cpp: Replaced <wtf/unicode/UTF8.h> with <wtf/unicode/UTF8Conversion.h>.
* wtf/text/StringImpl.cpp: Ditto.
* wtf/text/StringView.cpp: Ditto.
* wtf/text/WTFString.cpp: Ditto.
* wtf/unicode/UTF8Conversion.cpp: Renamed from Source/WTF/wtf/unicode/UTF8.cpp.
* wtf/unicode/UTF8Conversion.h: Renamed from Source/WTF/wtf/unicode/UTF8.h.
2018-10-30 Don Olmstead <don.olmstead@sony.com>
[PlayStation] Enable JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=191072
Reviewed by Brent Fulgham.
Add platform files for the PlayStation port.
* wtf/PlatformPlayStation.cmake: Added.
2018-10-30 David Kilzer <ddkilzer@apple.com>
XSLTProcessor should limit max transform depth
<https://webkit.org/b/191075>
<rdar://problem/45531453>
Reviewed by Alex Christensen.
* wtf/cocoa/SoftLinking.h:
(SOFT_LINK_VARIABLE_FOR_HEADER):
(SOFT_LINK_VARIABLE_FOR_SOURCE):
- Add macros for non-constant global variables.
2018-10-30 Alexey Proskuryakov <ap@apple.com>
Clean up some obsolete MAX_ALLOWED macros
https://bugs.webkit.org/show_bug.cgi?id=190916
Reviewed by Tim Horton.
* WTF.xcodeproj/project.pbxproj:
* wtf/PlatformMac.cmake:
* wtf/spi/cocoa/NSMapTableSPI.h: Removed. This was only needed for old SDKs.
2018-10-29 Mark Lam <mark.lam@apple.com>
Correctly detect string overflow when using the 'Function' constructor.
https://bugs.webkit.org/show_bug.cgi?id=184883
<rdar://problem/36320331>
Reviewed by Saam Barati.
1. Enhanced StringBuilder so that it supports 2 modes of behavior:
a. StringBuilder::OverflowHandler::CrashOnOverflow.
b. StringBuilder::OverflowHandler::RecordOverflow.
CrashOnOverflow will crash the moment an overflow or failure to allocate
memory is detected.
RecordOverflow will make StringBuilder::hasOverflowed() return true when an
overflow or failure to allocate memory is detected. However, if the user
invokes toString(), toStringPreserveCapacity(), toAtomicString(), length(),
capacity(), isEmpty(), characters8(), or characters16(), then the StringBuilder
will crash regardless because these methods can only meaningfully do their
work and return a result if and only if the builder has not overflowed.
By default, the StringBuilder crashes on overflow (the old behavior) unless it
is explicitly constructed with the StringBuilder::OverflowHandler::RecordOverflow
enum.
Design note:
The StringBuilder can only be put in 1 of the 2 modes at the time of
construction. This means that we could have implemented it as a template
that is parameterized on an OverflowHandler class (like CheckedArithmetic)
instead of using a runtime check in the ConditionalCrashOnOverflow handler.
However, I was not able to get clang to export the explicitly instantiated
instances (despite the methods having being decorated with WTF_EXPORT_PRIVATE).
Since the StringBuilder is a transient object (not stored for a long time on
the heap), and the runtime check of the boolean is not that costly compared
to other work that StringBuilder routinely does (e.g. memcpy), using the
new ConditionalCrashOnOverflow (which does a runtime check to determine to
crash or not on overflow) is fine.
When clang is able to export explicitly instantiated template methods, we can
templatize StringBuilder and do away with ConditionalCrashOnOverflow.
See https://bugs.webkit.org/show_bug.cgi?id=191050.
To support the above, we also did:
2. Enhanced all StringBuilder append and buffer allocation methods to be able to
fail without crashing. This also meant that ...
3. Added tryReallocate() support to StringImpl. tryRealloc() was added to
FastMalloc, and bmalloc (and related peers) to enable this.
4. Added ConditionalCrashOnOverflow, which can choose at runtime whether to behave
like CrashOnOverflow or RecordOverflow.
* wtf/CheckedArithmetic.h:
(WTF::ConditionalCrashOnOverflow::overflowed):
(WTF::ConditionalCrashOnOverflow::shouldCrashOnOverflow const):
(WTF::ConditionalCrashOnOverflow::setShouldCrashOnOverflow):
(WTF::ConditionalCrashOnOverflow::hasOverflowed const):
(WTF::ConditionalCrashOnOverflow::clearOverflow):
(WTF::ConditionalCrashOnOverflow::crash):
(WTF::RecordOverflow::overflowed):
(WTF::Checked::unsafeGet const):
* wtf/FastMalloc.cpp:
(WTF::tryFastRealloc):
* wtf/FastMalloc.h:
* wtf/text/StringBuilder.cpp:
(WTF::expandedCapacity):
(WTF::StringBuilder::reifyString const):
(WTF::StringBuilder::resize):
(WTF::StringBuilder::allocateBuffer):
(WTF::StringBuilder::allocateBufferUpConvert):
(WTF::StringBuilder::reallocateBuffer<LChar>):
(WTF::StringBuilder::reallocateBuffer<UChar>):
(WTF::StringBuilder::reserveCapacity):
(WTF::StringBuilder::appendUninitialized):
(WTF::StringBuilder::appendUninitializedSlow):
(WTF::StringBuilder::append):
(WTF::StringBuilder::canShrink const):
(WTF::StringBuilder::shrinkToFit):
* wtf/text/StringBuilder.h:
(WTF::StringBuilder::StringBuilder):
(WTF::StringBuilder::didOverflow):
(WTF::StringBuilder::hasOverflowed const):
(WTF::StringBuilder::crashesOnOverflow const):
(WTF::StringBuilder::append):
(WTF::StringBuilder::toString):
(WTF::StringBuilder::toStringPreserveCapacity const):
(WTF::StringBuilder::toAtomicString const):
(WTF::StringBuilder::length const):
(WTF::StringBuilder::capacity const):
(WTF::StringBuilder::operator[] const):
(WTF::StringBuilder::swap):
(WTF::StringBuilder::getBufferCharacters<UChar>):
* wtf/text/StringBuilderJSON.cpp:
(WTF::StringBuilder::appendQuotedJSONString):
* wtf/text/StringImpl.cpp:
(WTF::StringImpl::reallocateInternal):
(WTF::StringImpl::reallocate):
(WTF::StringImpl::tryReallocate):
* wtf/text/StringImpl.h:
2018-10-29 Tim Horton <timothy_horton@apple.com>
Modernize WebKit nibs and lprojs for localization's sake
https://bugs.webkit.org/show_bug.cgi?id=190911
<rdar://problem/45349466>
Reviewed by Dan Bernstein.
* WTF.xcodeproj/project.pbxproj:
English->en
2018-10-29 Tadeu Zagallo <tzagallo@apple.com>
New bytecode format for JSC
https://bugs.webkit.org/show_bug.cgi?id=187373
<rdar://problem/44186758>
Reviewed by Filip Pizlo.
* wtf/Forward.h: Fix WTF_LAZY_FOR_EACH_TERM on MSVC and add WTF_LAZY_HAS_REST to check whether
a macro was passed multiple arguments
* wtf/Platform.h: Force ENABLE_JIT=false on all 32-bit platforms
* wtf/Vector.h:
(WTF::minCapacity>::insertVector): Allow vectors with different overflow handlers to be passed to insertVector
2018-10-28 Geoffrey Garen <ggaren@apple.com>
HashMap should support selecting a random entry
https://bugs.webkit.org/show_bug.cgi?id=190814
Reviewed by Ryosuke Niwa.
* wtf/HashTable.h:
(WTF::HashTable::random):
(WTF::HashTable::random const): Merge the empty and deleted checks, and
use more idiomatic addressing.
2018-10-26 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r237479 and r237484.
https://bugs.webkit.org/show_bug.cgi?id=190978
broke JSC on iOS (Requested by tadeuzagallo on #webkit).
Reverted changesets:
"New bytecode format for JSC"
https://bugs.webkit.org/show_bug.cgi?id=187373
https://trac.webkit.org/changeset/237479
"Gardening: Build fix after r237479."
https://bugs.webkit.org/show_bug.cgi?id=187373
https://trac.webkit.org/changeset/237484
2018-10-26 Tadeu Zagallo <tzagallo@apple.com>
New bytecode format for JSC
https://bugs.webkit.org/show_bug.cgi?id=187373
<rdar://problem/44186758>
Reviewed by Filip Pizlo.
* wtf/Forward.h: Fix WTF_LAZY_FOR_EACH_TERM on MSVC and add WTF_LAZY_HAS_REST to check whether
a macro was passed multiple arguments
* wtf/Platform.h: Force ENABLE_JIT=false on all 32-bit platforms
* wtf/Vector.h:
(WTF::minCapacity>::insertVector): Allow vectors with different overflow handlers to be passed to insertVector
2018-10-26 Geoffrey Garen <ggaren@apple.com>
HashMap should support selecting a random entry
https://bugs.webkit.org/show_bug.cgi?id=190814
Reviewed by Antti Koivisto.
* wtf/HashTable.h:
(WTF::HashTable::random):
(WTF::HashTable::random const): Draw a new random bucket any time we
have a miss, to avoid bias caused by lopsided tables.
2018-10-26 Antti Koivisto <antti@apple.com>
hashSet.remove(hashSet.random()) doesn't build
https://bugs.webkit.org/show_bug.cgi?id=190953
Reviewed by Chris Dumez.
* wtf/HashSet.h:
Remove non-const random(). HashSet only returns const iterators (it is immutable via iterator).
* wtf/HashTable.h:
(WTF::HashTable::random const):
Invoke const_iterator() by using static_cast<> instead of trying to do it directly.
2018-10-26 Alicia Boya García <aboya@igalia.com>
[MSE][WTF][Media] Invalid MediaTime should be falsy
https://bugs.webkit.org/show_bug.cgi?id=190893
Reviewed by Jer Noble.
This patch modifies the definition of MediaTime so that invalid times
are evaluated to false in the context of a boolean expression.
* wtf/MediaTime.cpp:
(WTF::MediaTime::operator! const):
(WTF::MediaTime::operator bool const):
2018-10-26 Keith Miller <keith_miller@apple.com>
Some internal projects include wtf headers and build with C++11
https://bugs.webkit.org/show_bug.cgi?id=190791
Reviewed by Alexey Proskuryakov.
C++11 doesn't support constexpr functions that contain
statements. This patch removes getLSBSet set from builds before
C++14 to avoid this for now.
* wtf/MathExtras.h:
(getLSBSet):
2018-10-25 Ross Kirsling <ross.kirsling@sony.com>
Cleanup: inline constexpr is redundant as constexpr implies inline
https://bugs.webkit.org/show_bug.cgi?id=190819
Reviewed by Mark Lam.
* wtf/Bitmap.h:
(WTF::WordType>::Bitmap):
* wtf/LEBDecoder.h:
(WTF::LEBDecoder::maxByteLength):
* wtf/MathExtras.h:
(defaultMinimumForClamp):
(defaultMaximumForClamp):
(clampToAccepting64):
(isLessThan):
(isLessThanEqual):
(isGreaterThan):
(isGreaterThanEqual):
(WTF::roundUpToPowerOfTwo):
(WTF::maskForSize):
* wtf/Optional.h:
* wtf/PtrTag.h:
(WTF::tagCodePtr):
(WTF::untagCodePtr):
(WTF::retagCodePtr):
(WTF::removeCodePtrTag):
* wtf/StdLibExtras.h:
(WTF::roundUpToMultipleOf):
* wtf/Variant.h:
(WTF::operator==):
(WTF::operator!=):
(WTF::operator>=):
(WTF::operator<=):
(WTF::operator>):
(WTF::operator<):
* wtf/text/StringImpl.h:
(WTF::StringImplShape::StringImplShape):
(WTF::StringImpl::StaticStringImpl::StaticStringImpl):
2018-10-25 Geoffrey Garen <ggaren@apple.com>
HashMap should support selecting a random entry
https://bugs.webkit.org/show_bug.cgi?id=190814
Reviewed by Antti Koivisto.
In some cases, remove(begin()) is not quite good enough as a random
eviction strategy. (See https://bugs.webkit.org/show_bug.cgi?id=190792.)
So, let's support real random eviction.
(And by "real" I mean "pseudo".)
* wtf/HashCountedSet.h:
* wtf/HashMap.h:
* wtf/HashSet.h:
* wtf/ListHashSet.h:
(WTF::ListHashSet::random):
(WTF::ListHashSet::random const):
* wtf/LoggingHashMap.h:
* wtf/LoggingHashSet.h: Plumb through the random() iterator.
* wtf/HashTable.h:
(WTF::HashTable::random):
(WTF::HashTable::random const): Implement the random() iterator.
makeIterator() already supports starting from any bucket, so this is
pretty easy.
In the subtle case where we select end(), we choose to wrap around and
return begin(). We expect that clients don't really think of the end()
bucket as being in the domain of the random search. Also, we don't want
to annoy clients who know their tables are non-empty with needless
checks for end().
* wtf/RandomNumber.cpp:
(WTF::weakRandomUint32):
* wtf/RandomNumber.h: Added a free function for weak random numbers so
that clients that want cheap random numbers aren't required to allocate
storage for a WeakRandom generator.
2018-10-24 Megan Gardner <megan_gardner@apple.com>
Turn on Conic Gradients
https://bugs.webkit.org/show_bug.cgi?id=190810
Reviewed by Tim Horton.
* wtf/FeatureDefines.h:
2018-10-24 Christopher Reid <chris.reid@sony.com>
[Win] Add function call name information to stack traces
https://bugs.webkit.org/show_bug.cgi?id=190761
Reviewed by Fujii Hironori.
Add symbol information to stack traces using dbghelp.dll
This library will use symbols files from these sources:
- The current working directory
- The directory containing the application's executable
- _NT_SYMBOL_PATH environment variable
- _NT_ALTERNATE_SYMBOL_PATH environment variable
This functionality is currently only enabled in debug mode since dbghelp is not threadsafe.
The DbgHelper class attempts to synchronize calls to dbghelp.dll but external code
can still attempt to call the library at the same time as WebKit.
* wtf/CMakeLists.txt:
* wtf/PlatformWin.cmake:
* wtf/StackTrace.cpp:
* wtf/win/DbgHelperWin.cpp: Added.
* wtf/win/DbgHelperWin.h: Added.
2018-10-22 Alexey Proskuryakov <ap@apple.com>
Really prevent PLATFORM(IOS) from being used
https://bugs.webkit.org/show_bug.cgi?id=190813
Reviewed by Tim Horton.
* wtf/Platform.h: This relies on -Wundef, which we have enabled.
2018-10-22 Chris Dumez <cdumez@apple.com>
Deque's contains() and findIf() should be const
https://bugs.webkit.org/show_bug.cgi?id=190796
Reviewed by Antti Koivisto.
Deque's contains() and findIf() should be const as they do not modify the container.
* wtf/Deque.h:
(WTF::inlineCapacity>::findIf):
(WTF::inlineCapacity>::findIf const):
(WTF::inlineCapacity>::contains const):
(WTF::inlineCapacity>::contains): Deleted.
2018-10-18 Alicia Boya García <aboya@igalia.com>
[Media] Use nanoseconds as MaximumTimeScale
https://bugs.webkit.org/show_bug.cgi?id=190631
1e9 is a much more useful timescale than the previous one 2^31-1.
Unlike 2^31-1, which is a prime number, nanosecond scale is pretty
common among some formats like WebM and frameworks like GStreamer
where base 10 timescale is common... and it's those big timescales the
ones that are usually scaled up to MaximumTimeScale.
Reviewed by Jer Noble.
* wtf/MediaTime.cpp:
2018-10-18 Alexey Proskuryakov <ap@apple.com>
Remove PLATFORM(IOS) for now
https://bugs.webkit.org/show_bug.cgi?id=190737
Reviewed by Tim Horton.
* wtf/Platform.h:
2018-10-18 Alexey Proskuryakov <ap@apple.com>
Switch from PLATFORM(IOS) to PLATFORM(IOS_FAMILY)
https://bugs.webkit.org/show_bug.cgi?id=190729
Reviewed by Tim Horton.
* wtf/Assertions.h:
* wtf/FeatureDefines.h:
* wtf/InlineASM.h:
* wtf/MemoryPressureHandler.cpp:
(WTF::thresholdForPolicy):
* wtf/Platform.h:
* wtf/cocoa/MemoryPressureHandlerCocoa.mm:
(WTF::MemoryPressureHandler::install):
(WTF::MemoryPressureHandler::respondToMemoryPressure):
* wtf/spi/cocoa/NSMapTableSPI.h:
* wtf/spi/darwin/XPCSPI.h:
* wtf/text/StringCommon.h:
* wtf/text/TextBreakIterator.cpp:
* wtf/text/TextBreakIterator.h:
* wtf/unicode/icu/CollatorICU.cpp:
(WTF::copyDefaultLocale):
2018-10-18 Alex Christensen <achristensen@webkit.org>
Clean up FrameLoader two-state enums
https://bugs.webkit.org/show_bug.cgi?id=190731
Reviewed by Chris Dumez.
* wtf/EnumTraits.h:
(WTF::isValidEnum):
2018-10-17 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r237208.
https://bugs.webkit.org/show_bug.cgi?id=190691
Caused the API test that was changed to failure continuously
(Requested by Truitt on #webkit).
Reverted changeset:
"[Media] Use nanoseconds as MaximumTimeScale"
https://bugs.webkit.org/show_bug.cgi?id=190631
https://trac.webkit.org/changeset/237208
2018-10-16 Alicia Boya García <aboya@igalia.com>
[Media] Use nanoseconds as MaximumTimeScale
https://bugs.webkit.org/show_bug.cgi?id=190631
1e9 is a much more useful timescale than the previous one 2^31-1.
Unlike 2^31-1, which is a prime number, nanosecond scale is pretty
common among some formats like WebM and frameworks like GStreamer
where base 10 timescale is common... and it's those big timescales the
ones that are usually scaled up to MaximumTimeScale.
Reviewed by Jer Noble.
* wtf/MediaTime.cpp:
2018-10-15 Keith Miller <keith_miller@apple.com>
Support arm64 CPUs with a 32-bit address space
https://bugs.webkit.org/show_bug.cgi?id=190273
Reviewed by Michael Saboff.
Use WTF_CPU_ADDRESS64/32 to decide if the system is running on arm64_32.
* wtf/MathExtras.h:
(getLSBSet):
* wtf/Platform.h:
2018-10-15 Timothy Hatcher <timothy@apple.com>
Add support for prefers-color-scheme media query
https://bugs.webkit.org/show_bug.cgi?id=190499
rdar://problem/45212025
Reviewed by Dean Jackson.
* wtf/FeatureDefines.h: Added ENABLE_DARK_MODE_CSS.
2018-10-15 Saam barati <sbarati@apple.com>
Emit fjcvtzs on ARM64E on Darwin
https://bugs.webkit.org/show_bug.cgi?id=184023
Reviewed by Yusuke Suzuki and Filip Pizlo.
* wtf/Platform.h:
2018-10-15 Alex Christensen <achristensen@webkit.org>
Use pragma once in WTF
https://bugs.webkit.org/show_bug.cgi?id=190527
Reviewed by Chris Dumez.
We also need to consistently include wtf headers from within wtf so we can build wtf without
symbol redefinition errors from including the copy in Source and the copy in the build directory.
* wtf/ASCIICType.h:
* wtf/Assertions.cpp:
* wtf/Assertions.h:
* wtf/Atomics.h:
* wtf/AutomaticThread.cpp:
* wtf/AutomaticThread.h:
* wtf/BackwardsGraph.h:
* wtf/Bag.h:
* wtf/BagToHashMap.h:
* wtf/BitVector.cpp:
* wtf/BitVector.h:
* wtf/Bitmap.h:
* wtf/BloomFilter.h:
* wtf/Box.h:
* wtf/BubbleSort.h:
* wtf/BumpPointerAllocator.h:
* wtf/ByteOrder.h:
* wtf/CPUTime.cpp:
* wtf/CallbackAggregator.h:
* wtf/CheckedArithmetic.h:
* wtf/CheckedBoolean.h:
* wtf/ClockType.cpp:
* wtf/ClockType.h:
* wtf/CommaPrinter.h:
* wtf/CompilationThread.cpp:
* wtf/CompilationThread.h:
* wtf/Compiler.h:
* wtf/ConcurrentPtrHashSet.cpp:
* wtf/ConcurrentVector.h:
* wtf/Condition.h:
* wtf/CountingLock.cpp:
* wtf/CrossThreadTaskHandler.cpp:
* wtf/CryptographicUtilities.cpp:
* wtf/CryptographicUtilities.h:
* wtf/CryptographicallyRandomNumber.cpp:
* wtf/CryptographicallyRandomNumber.h:
* wtf/CurrentTime.cpp:
* wtf/DataLog.cpp:
* wtf/DataLog.h:
* wtf/DateMath.cpp:
* wtf/DateMath.h:
* wtf/DecimalNumber.cpp:
* wtf/DecimalNumber.h:
* wtf/Deque.h:
* wtf/DisallowCType.h:
* wtf/Dominators.h:
* wtf/DoublyLinkedList.h:
* wtf/FastBitVector.cpp:
* wtf/FastMalloc.cpp:
* wtf/FastMalloc.h:
* wtf/FeatureDefines.h:
* wtf/FilePrintStream.cpp:
* wtf/FilePrintStream.h:
* wtf/FlipBytes.h:
* wtf/FunctionDispatcher.cpp:
* wtf/FunctionDispatcher.h:
* wtf/GetPtr.h:
* wtf/Gigacage.cpp:
* wtf/GlobalVersion.cpp:
* wtf/GraphNodeWorklist.h:
* wtf/GregorianDateTime.cpp:
* wtf/GregorianDateTime.h:
* wtf/HashFunctions.h:
* wtf/HashMap.h:
* wtf/HashMethod.h:
* wtf/HashSet.h:
* wtf/HashTable.cpp:
* wtf/HashTraits.h:
* wtf/Indenter.h:
* wtf/IndexSparseSet.h:
* wtf/InlineASM.h:
* wtf/Insertion.h:
* wtf/IteratorAdaptors.h:
* wtf/IteratorRange.h:
* wtf/JSONValues.cpp:
* wtf/JSValueMalloc.cpp:
* wtf/LEBDecoder.h:
* wtf/Language.cpp:
* wtf/ListDump.h:
* wtf/Lock.cpp:
* wtf/Lock.h:
* wtf/LockAlgorithm.h:
* wtf/LockedPrintStream.cpp:
* wtf/Locker.h:
* wtf/MD5.cpp:
* wtf/MD5.h:
* wtf/MainThread.cpp:
* wtf/MainThread.h:
* wtf/MallocPtr.h:
* wtf/MathExtras.h:
* wtf/MediaTime.cpp:
* wtf/MediaTime.h:
* wtf/MemoryPressureHandler.cpp:
* wtf/MessageQueue.h:
* wtf/MetaAllocator.cpp:
* wtf/MetaAllocator.h:
* wtf/MetaAllocatorHandle.h:
* wtf/MonotonicTime.cpp:
* wtf/MonotonicTime.h:
* wtf/NakedPtr.h:
* wtf/NoLock.h:
* wtf/NoTailCalls.h:
* wtf/Noncopyable.h:
* wtf/NumberOfCores.cpp:
* wtf/NumberOfCores.h:
* wtf/OSAllocator.h:
* wtf/OSAllocatorPosix.cpp:
* wtf/OSRandomSource.cpp:
* wtf/OSRandomSource.h:
* wtf/ObjcRuntimeExtras.h:
* wtf/OrderMaker.h:
* wtf/PackedIntVector.h:
* wtf/PageAllocation.h:
* wtf/PageBlock.cpp:
* wtf/PageBlock.h:
* wtf/PageReservation.h:
* wtf/ParallelHelperPool.cpp:
* wtf/ParallelHelperPool.h:
* wtf/ParallelJobs.h:
* wtf/ParallelJobsLibdispatch.h:
* wtf/ParallelVectorIterator.h:
* wtf/ParkingLot.cpp:
* wtf/ParkingLot.h:
* wtf/Platform.h:
* wtf/PointerComparison.h:
* wtf/Poisoned.cpp:
* wtf/PrintStream.cpp:
* wtf/PrintStream.h:
* wtf/ProcessID.h:
* wtf/ProcessPrivilege.cpp:
* wtf/RAMSize.cpp:
* wtf/RAMSize.h:
* wtf/RandomDevice.cpp:
* wtf/RandomNumber.cpp:
* wtf/RandomNumber.h:
* wtf/RandomNumberSeed.h:
* wtf/RangeSet.h:
* wtf/RawPointer.h:
* wtf/ReadWriteLock.cpp:
* wtf/RedBlackTree.h:
* wtf/Ref.h:
* wtf/RefCountedArray.h:
* wtf/RefCountedLeakCounter.cpp:
* wtf/RefCountedLeakCounter.h:
* wtf/RefCounter.h:
* wtf/RefPtr.h:
* wtf/RetainPtr.h:
* wtf/RunLoop.cpp:
* wtf/RunLoop.h:
* wtf/RunLoopTimer.h:
* wtf/RunLoopTimerCF.cpp:
* wtf/SHA1.cpp:
* wtf/SHA1.h:
* wtf/SaturatedArithmetic.h:
(saturatedSubtraction):
* wtf/SchedulePair.h:
* wtf/SchedulePairCF.cpp:
* wtf/SchedulePairMac.mm:
* wtf/ScopedLambda.h:
* wtf/Seconds.cpp:
* wtf/Seconds.h:
* wtf/SegmentedVector.h:
* wtf/SentinelLinkedList.h:
* wtf/SharedTask.h:
* wtf/SimpleStats.h:
* wtf/SingleRootGraph.h:
* wtf/SinglyLinkedList.h:
* wtf/SixCharacterHash.cpp:
* wtf/SixCharacterHash.h:
* wtf/SmallPtrSet.h:
* wtf/Spectrum.h:
* wtf/StackBounds.cpp:
* wtf/StackBounds.h:
* wtf/StackStats.cpp:
* wtf/StackStats.h:
* wtf/StackTrace.cpp:
* wtf/StdLibExtras.h:
* wtf/StreamBuffer.h:
* wtf/StringHashDumpContext.h:
* wtf/StringPrintStream.cpp:
* wtf/StringPrintStream.h:
* wtf/ThreadGroup.cpp:
* wtf/ThreadMessage.cpp:
* wtf/ThreadSpecific.h:
* wtf/Threading.cpp:
* wtf/Threading.h:
* wtf/ThreadingPrimitives.h:
* wtf/ThreadingPthreads.cpp:
* wtf/TimeWithDynamicClockType.cpp:
* wtf/TimeWithDynamicClockType.h:
* wtf/TimingScope.cpp:
* wtf/TinyLRUCache.h:
* wtf/TinyPtrSet.h:
* wtf/TriState.h:
* wtf/TypeCasts.h:
* wtf/UUID.cpp:
* wtf/UnionFind.h:
* wtf/VMTags.h:
* wtf/ValueCheck.h:
* wtf/Vector.h:
* wtf/VectorTraits.h:
* wtf/WallTime.cpp:
* wtf/WallTime.h:
* wtf/WeakPtr.h:
* wtf/WeakRandom.h:
* wtf/WordLock.cpp:
* wtf/WordLock.h:
* wtf/WorkQueue.cpp:
* wtf/WorkQueue.h:
* wtf/WorkerPool.cpp:
* wtf/cf/LanguageCF.cpp:
* wtf/cf/RunLoopCF.cpp:
* wtf/cocoa/Entitlements.mm:
* wtf/cocoa/MachSendRight.cpp:
* wtf/cocoa/MainThreadCocoa.mm:
* wtf/cocoa/MemoryFootprintCocoa.cpp:
* wtf/cocoa/WorkQueueCocoa.cpp:
* wtf/dtoa.cpp:
* wtf/dtoa.h:
* wtf/ios/WebCoreThread.cpp:
* wtf/ios/WebCoreThread.h:
* wtf/mac/AppKitCompatibilityDeclarations.h:
* wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
* wtf/mbmalloc.cpp:
* wtf/persistence/PersistentCoders.cpp:
* wtf/persistence/PersistentDecoder.cpp:
* wtf/persistence/PersistentEncoder.cpp:
* wtf/spi/cf/CFBundleSPI.h:
* wtf/spi/darwin/CommonCryptoSPI.h:
* wtf/text/ASCIIFastPath.h:
* wtf/text/ASCIILiteral.cpp:
* wtf/text/AtomicString.cpp:
* wtf/text/AtomicString.h:
* wtf/text/AtomicStringHash.h:
* wtf/text/AtomicStringImpl.cpp:
* wtf/text/AtomicStringImpl.h:
* wtf/text/AtomicStringTable.cpp:
* wtf/text/AtomicStringTable.h:
* wtf/text/Base64.cpp:
* wtf/text/CString.cpp:
* wtf/text/CString.h:
* wtf/text/ConversionMode.h:
* wtf/text/ExternalStringImpl.cpp:
* wtf/text/IntegerToStringConversion.h:
* wtf/text/LChar.h:
* wtf/text/LineEnding.cpp:
* wtf/text/StringBuffer.h:
* wtf/text/StringBuilder.cpp:
* wtf/text/StringBuilder.h:
* wtf/text/StringBuilderJSON.cpp:
* wtf/text/StringCommon.h:
* wtf/text/StringConcatenate.h:
* wtf/text/StringHash.h:
* wtf/text/StringImpl.cpp:
* wtf/text/StringImpl.h:
* wtf/text/StringOperators.h:
* wtf/text/StringView.cpp:
* wtf/text/StringView.h:
* wtf/text/SymbolImpl.cpp:
* wtf/text/SymbolRegistry.cpp:
* wtf/text/SymbolRegistry.h:
* wtf/text/TextBreakIterator.cpp:
* wtf/text/TextBreakIterator.h:
* wtf/text/TextBreakIteratorInternalICU.h:
* wtf/text/TextPosition.h:
* wtf/text/TextStream.cpp:
* wtf/text/UniquedStringImpl.h:
* wtf/text/WTFString.cpp:
* wtf/text/WTFString.h:
* wtf/text/cocoa/StringCocoa.mm:
* wtf/text/cocoa/StringViewCocoa.mm:
* wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp:
* wtf/text/icu/UTextProvider.cpp:
* wtf/text/icu/UTextProvider.h:
* wtf/text/icu/UTextProviderLatin1.cpp:
* wtf/text/icu/UTextProviderLatin1.h:
* wtf/text/icu/UTextProviderUTF16.cpp:
* wtf/text/icu/UTextProviderUTF16.h:
* wtf/threads/BinarySemaphore.cpp:
* wtf/threads/BinarySemaphore.h:
* wtf/threads/Signals.cpp:
* wtf/unicode/CharacterNames.h:
* wtf/unicode/Collator.h:
* wtf/unicode/CollatorDefault.cpp:
* wtf/unicode/UTF8.cpp:
* wtf/unicode/UTF8.h:
2018-10-12 Alex Christensen <achristensen@webkit.org>
Allow encoding of small enum classes
https://bugs.webkit.org/show_bug.cgi?id=190531
Reviewed by Tim Horton.
* wtf/Forward.h:
2018-10-11 Alexey Proskuryakov <ap@apple.com>
Add PLATFORM(IOS_FAMILY) and OS(IOS_FAMILY)
https://bugs.webkit.org/show_bug.cgi?id=190477
Reviewed by Tim Horton.
Currently, PLATFORM(IOS) and OS(IOS) are true when building for any
TARGET_OS_IPHONE target, which is quite confusing. Add a better named alternative,
as a first step towards mass replacing PLATFORM(IOS). Can't so it all at once
because of dependencies in other source repositories.
* wtf/Platform.h: Changed to the new name in this file though. Kept a few
instances that actually target iOS only, having a version check.
2018-10-11 Yusuke Suzuki <yusukesuzuki@slowstart.org>
Use currentStackPointer more
https://bugs.webkit.org/show_bug.cgi?id=190503
Reviewed by Saam Barati.
Use WTF::currentStackPointer more in WebKit to adopt ASAN detect_stack_use_after_return option.
* wtf/StackBounds.cpp:
(WTF::testStackDirection2):
(WTF::testStackDirection):
* wtf/ThreadingPthreads.cpp:
(WTF::Thread::signalHandlerSuspendResume):
(WTF::getApproximateStackPointer): Deleted.
2018-10-11 Ross Kirsling <ross.kirsling@sony.com>
[WTF] Semaphore.h conflicts with POSIX header
https://bugs.webkit.org/show_bug.cgi?id=190486
Reviewed by Yusuke Suzuki.
Rename Semaphore.h to WTFSemaphore.h to avoid conflict with POSIX semaphore.h on case-insensitive file systems.
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/WTFSemaphore.h: Renamed from wtf/Semaphore.h.
2018-10-10 Mark Lam <mark.lam@apple.com>
Changes towards allowing use of the ASAN detect_stack_use_after_return option.
https://bugs.webkit.org/show_bug.cgi?id=190405
<rdar://problem/45131464>
Reviewed by Michael Saboff.
Introduce WTF::currentStackPointer() which computes its caller's stack pointer value.
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/StackBounds.h:
(WTF::StackBounds::checkConsistency const):
* wtf/StackPointer.cpp: Added.
(WTF::currentStackPointer):
* wtf/StackPointer.h: Added.
2018-10-09 Mark Lam <mark.lam@apple.com>
StringTypeAdapter constructor is not properly enforcing String::MaxLength.
https://bugs.webkit.org/show_bug.cgi?id=190392
<rdar://problem/45116210>
Reviewed by Saam Barati.
Previously, the StringTypeAdapter constructor for a UChar* string was summing the
unsigned length of the source string without an overflow check. We now make that
length a size_t which removes this issue, and assert that it's within
String::MaxLength thereafter.
Also made the StringTypeAdapter constructor for a LChar* string behave in an
equivalent manner for consistency. In both cases, we'll crash in a RELEASE_ASSERT
if the source string length exceeds String::MaxLength.
* wtf/text/StringConcatenate.h:
2018-10-09 Mark Lam <mark.lam@apple.com>
Revert temporary asserts for debugging a mysterious ASAN bot crash.
https://bugs.webkit.org/show_bug.cgi?id=190396
Reviewed by Yusuke Suzuki.
* wtf/StackBounds.cpp:
(WTF::StackBounds::newThreadStackBounds):
* wtf/StackBounds.h:
(WTF::StackBounds::checkConsistency const):
2018-10-08 Aditya Keerthi <akeerthi@apple.com>
Make <input type=color> a runtime enabled (on-by-default) feature
https://bugs.webkit.org/show_bug.cgi?id=189162
Reviewed by Wenson Hsieh and Tim Horton.
* wtf/FeatureDefines.h:
2018-10-06 Mark Lam <mark.lam@apple.com>
Adding some temporary asserts with data logging to debug a mysterious ASAN bot crash.
https://bugs.webkit.org/show_bug.cgi?id=190334
<rdar://problem/45071303>
Reviewed by Yusuke Suzuki.
These assertions are needed because we can't reproduce the issue locally.
We'll remove these asserts after the needed data has been collected from the bot.
* wtf/StackBounds.cpp:
(WTF::StackBounds::newThreadStackBounds):
* wtf/StackBounds.h:
(WTF::StackBounds::checkConsistency const):
2018-10-07 Yusuke Suzuki <yusukesuzuki@slowstart.org>
Name Heap threads
https://bugs.webkit.org/show_bug.cgi?id=190337
Reviewed by Mark Lam.
Add a functionality naming threads of ParallelHelperPool.
* wtf/ParallelHelperPool.cpp:
(WTF::ParallelHelperPool::ParallelHelperPool):
* wtf/ParallelHelperPool.h:
2018-10-06 Mark Lam <mark.lam@apple.com>
Adding some temporary asserts to debug a mysterious ASAN bot crash.
https://bugs.webkit.org/show_bug.cgi?id=190331
Reviewed by Filip Pizlo.
These assertions are needed because we can't reproduce the issue locally.
We'll remove these asserts after the needed data has been collected from the bot.
* wtf/StackBounds.h:
(WTF::StackBounds::checkConsistency const):
2018-10-05 Yusuke Suzuki <yusukesuzuki@slowstart.org>
[JSC][Linux] Support Perf JITDump logging
https://bugs.webkit.org/show_bug.cgi?id=189893
Reviewed by Mark Lam.
* wtf/PageReservation.h:
(WTF::PageReservation::reserveAndCommitWithGuardPages):
2018-10-03 Dan Bernstein <mitz@apple.com>
WTF part of [Xcode] Update some build settings as recommended by Xcode 10
https://bugs.webkit.org/show_bug.cgi?id=190250
Reviewed by Alex Christensen.
* Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS,
and CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF.
* WTF.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.
* wtf/MathExtras.h:
(WTF::fastLog2): Addressed newly-enabled CLANG_WARN_COMMA by splitting some comma-separated
expressions into individual statements.
2018-10-03 Mark Lam <mark.lam@apple.com>
Make string MaxLength for all WTF and JS strings consistently equal to INT_MAX.
https://bugs.webkit.org/show_bug.cgi?id=190187
<rdar://problem/42512909>
Reviewed by Michael Saboff.
* wtf/text/StringConcatenate.h:
(WTF::tryMakeStringFromAdapters):
(WTF::sumWithOverflow): Deleted.
* wtf/text/StringImpl.h:
* wtf/text/WTFString.h:
2018-10-03 Michael Catanzaro <mcatanzaro@igalia.com>
-Wunused-variable in RenderLayer::updateScrollableAreaSet
https://bugs.webkit.org/show_bug.cgi?id=190200
Reviewed by Yusuke Suzuki.
Add a new UNUSED_VARIABLE() macro. It's the same as UNUSED_PARAM(), just named differently.
* wtf/Compiler.h:
2018-10-01 Dean Jackson <dino@apple.com>
[macOS] Switching to discrete GPU should be done in the UI process
https://bugs.webkit.org/show_bug.cgi?id=189361
<rdar://problem/43949622>
Reviewed by Simon Fraser.
Define GL_SILENCE_DEPRECATION to avoid deprecation warnings for OpenGL.
* wtf/Platform.h:
2018-10-02 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r236624 and r236671.
https://bugs.webkit.org/show_bug.cgi?id=190207
The change in r236624 introduced crashes on the bots
(Requested by ryanhaddad on #webkit).
Reverted changesets:
"Refactoring: eliminate raw pointer usage in Fullscreen code"
https://bugs.webkit.org/show_bug.cgi?id=188747
https://trac.webkit.org/changeset/236624
"Unify implementation in VideoFullscreenInterfaceAVKit"
https://bugs.webkit.org/show_bug.cgi?id=190091
https://trac.webkit.org/changeset/236671
2018-10-02 Caio Lima <ticaiolima@gmail.com>
[BigInt] BigInt.proptotype.toString is broken when radix is power of 2
https://bugs.webkit.org/show_bug.cgi?id=190033
Reviewed by Yusuke Suzuki.
* wtf/MathExtras.h:
(WTF::ctz32):
2018-10-01 Andy Estes <aestes@apple.com>
[watchOS] Adopt NSURLSessionCompanionProxyPreference
https://bugs.webkit.org/show_bug.cgi?id=190177
<rdar://problem/43402114>
Reviewed by Wenson Hsieh.
* wtf/FeatureDefines.h:
2018-10-01 Koby Boyango <koby.b@mce-sys.com>
[WTF][JSCONLY] Use MainThreadWin on Windows in the JSCOnly port
https://bugs.webkit.org/show_bug.cgi?id=190121
Reviewed by Yusuke Suzuki.
This fixes JSCOnly build on Windows after r236617.
* wtf/PlatformJSCOnly.cmake:
2018-10-01 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r236647.
https://bugs.webkit.org/show_bug.cgi?id=190124
Breaking test stress/big-int-to-string.js (Requested by
caiolima_ on #webkit).
Reverted changeset:
"[BigInt] BigInt.proptotype.toString is broken when radix is
power of 2"
https://bugs.webkit.org/show_bug.cgi?id=190033
https://trac.webkit.org/changeset/236647
2018-09-30 Caio Lima <ticaiolima@gmail.com>
[BigInt] BigInt.proptotype.toString is broken when radix is power of 2
https://bugs.webkit.org/show_bug.cgi?id=190033
Reviewed by Yusuke Suzuki.
* wtf/MathExtras.h:
(WTF::ctz32):
2018-09-28 Jer Noble <jer.noble@apple.com>
Refactoring: eliminate raw pointer usage in Fullscreen code
https://bugs.webkit.org/show_bug.cgi?id=188747
<rdar://problem/43541164>
Reviewed by Alex Christensen.
* WTF.xcodeproj/project.pbxproj:
* wtf/WeakPtrContainer.h: Added.
2018-09-28 Yusuke Suzuki <yusukesuzuki@slowstart.org>
[WTF] Make isMainThread more reliable
https://bugs.webkit.org/show_bug.cgi?id=189880
Reviewed by Mark Lam.
isMainThread() relied on Thread::current(). This API becomes broken in Windows
when the Thread is about to be destroyed since TLS is already cleared. This causes
a bug since `isMainThread()` is called in Thread::didExit in Windows.
This patch makes this `isMainThread` more reliable in all the platforms. In Windows,
we use `Thread::currentID()` instead of `Thread::current()` since `Thread::currentID`
uses Win32 GetCurrentThreadId directly. In the other system, we use `pthread_main_np`
or `pthread_self` instead.
We also move `holdLock` code inside `if (shouldRemoveThreadFromThreadGroup())`. If
the other thread takes a mutex and destroyed, this `holdLock` waits forever. This problem
only happens in Windows since Windows calls TLS destructor for the main thread.
* WTF.xcodeproj/project.pbxproj:
* wtf/MainThread.cpp:
(WTF::initializeMainThread):
(): Deleted.
(WTF::isMainThread): Deleted.
(WTF::isMainThreadIfInitialized): Deleted.
* wtf/Platform.h:
* wtf/PlatformMac.cmake:
* wtf/Threading.cpp:
(WTF::Thread::didExit):
* wtf/cocoa/MainThreadCocoa.mm: Renamed from Source/WTF/wtf/mac/MainThreadMac.mm.
* wtf/generic/MainThreadGeneric.cpp:
(WTF::initializeMainThreadPlatform):
(WTF::isMainThread):
(WTF::isMainThreadIfInitialized):
* wtf/win/MainThreadWin.cpp:
(WTF::initializeMainThreadPlatform):
(WTF::isMainThread):
(WTF::isMainThreadIfInitialized):
2018-09-28 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r236605.
https://bugs.webkit.org/show_bug.cgi?id=190087
caused three API test timeouts (Requested by jernoble on
#webkit).
Reverted changeset:
"Refactoring: eliminate raw pointer usage in Fullscreen code"
https://bugs.webkit.org/show_bug.cgi?id=188747
https://trac.webkit.org/changeset/236605
2018-09-28 Brian Burg <bburg@apple.com>
Replace recently added line comments in Compiler.h
https://bugs.webkit.org/show_bug.cgi?id=190062
<rdar://problem/44838618>
Reviewed by Joseph Pecoraro.
This breaks some Apple-internal tooling. For now, work around it by
changing the comment style. On the other side, the issue will be fixed
more permanently by adopting the approach from r230213.
* wtf/Compiler.h: Use multiline comments.
2018-09-28 Jer Noble <jer.noble@apple.com>
Refactoring: eliminate raw pointer usage in Fullscreen code
https://bugs.webkit.org/show_bug.cgi?id=188747
<rdar://problem/43541164>
Reviewed by Alex Christensen.
* WTF.xcodeproj/project.pbxproj:
* wtf/WeakPtrContainer.h: Added.
2018-09-28 Koby Boyango <koby.b@mce.systems>
[WTF] Add ExternalStringImpl, a StringImpl for user controlled buffers
https://bugs.webkit.org/show_bug.cgi?id=189991
Reviewed by Yusuke Suzuki.
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/text/ExternalStringImpl.cpp: Added.
* wtf/text/ExternalStringImpl.h: Added.
* wtf/text/StringImpl.cpp:
* wtf/text/StringImpl.h:
2018-09-27 Saam barati <sbarati@apple.com>
Verify the contents of AssemblerBuffer on arm64e
https://bugs.webkit.org/show_bug.cgi?id=190057
<rdar://problem/38916630>
Reviewed by Mark Lam.
* wtf/PtrTag.h:
(WTF::tagInt):
2018-09-27 Jer Noble <jer.noble@apple.com>
MediaPlayer should have mediaPlayerWaitingForKeyChanged() / bool waitingForKey() accessor
https://bugs.webkit.org/show_bug.cgi?id=189951
Reviewed by Eric Carlson.
Templated functions should take r-value references, as they have perfect type deduction for
all parameter types; references, l-value references, and r-value references in template function
parameters have special type deduction semantics.
See: <https://en.cppreference.com/w/cpp/language/reference#Forwarding_references>
Previously, const reference parameters would be copied when passed into anyOf(), and containers
of Ref<> would generate compile errors when passed into anyOf, as they cannot be copied. Now,
with r-value reference types in template parameters, a const reference is mapped to a const reference,
a non-const reference is mapped to a non-const reference, and a r-value reference is mapped to
an r-value reference.
* wtf/Algorithms.h:
(WTF::forEach):
(WTF::anyOf):
(WTF::allOf):
2018-09-25 John Wilander <wilander@apple.com>
Change from HAVE(CFNETWORK_STORAGE_PARTITIONING) to ENABLE(RESOURCE_LOAD_STATISTICS)
https://bugs.webkit.org/show_bug.cgi?id=189959
<rdar://problem/44767642>
Reviewed by Chris Dumez.
* wtf/Platform.h:
Enables RESOURCE_LOAD_STATISTICS for Cocoa platforms.
2018-09-24 Fujii Hironori <Hironori.Fujii@sony.com>
Rename WTF_COMPILER_GCC_OR_CLANG to WTF_COMPILER_GCC_COMPATIBLE
https://bugs.webkit.org/show_bug.cgi?id=189733
Reviewed by Michael Catanzaro.
Clang for Windows build enables WTF_COMPILER_CLANG and
WTF_COMPILER_MSVC, but disables WTF_COMPILER_GCC_OR_CLANG. It is
strange WTF_COMPILER_GCC_OR_CLANG is not enabled even though
WTF_COMPILER_CLANG is enabled. However, Clang for Windows imitates
MSVC, and codes for COMPILER(GCC_OR_CLANG) are for non MSVC. At
least at the moment, it is not feasible to define
WTF_COMPILER_GCC_OR_CLANG for Clang for Windows.
To solve the issue, this change renames WTF_COMPILER_GCC_OR_CLANG
to WTF_COMPILER_GCC_COMPATIBLE.
As an exception, I'd like to use IGNORE_WARNINGS_* macros even in
Clang for Windows builds.
* wtf/Assertions.cpp: Replaced COMPILER(GCC_OR_CLANG) with COMPILER(GCC_COMPATIBLE).
* wtf/Assertions.h: Ditto.
* wtf/Atomics.h: Ditto.
* wtf/CheckedArithmetic.h: Ditto.
* wtf/FastMalloc.h: Ditto.
* wtf/MathExtras.h: Ditto.
* wtf/Platform.h: Ditto.
* wtf/StdLibExtras.h: Ditto.
* wtf/Vector.h: Ditto.
* wtf/text/ASCIIFastPath.h: Ditto.
* wtf/Compiler.h: Ditto. Replaced "COMPILER(GCC_OR_CLANG)" with "COMPILER(GCC) || COMPILER(CLANG)" of IGNORE_WARNINGS_* macros.
2018-09-21 Yusuke Suzuki <yusukesuzuki@slowstart.org>
[JSC] Enable LLInt ASM interpreter on X64 and ARM64 in non JIT configuration
https://bugs.webkit.org/show_bug.cgi?id=189778
Reviewed by Keith Miller.
This patch adds ENABLE(C_LOOP) which indicates we use CLoop as the interpreter.
Previously, we used !ENABLE(JIT) for this configuration. But now, we have
a build configuration that has LLInt ASM interpreter (not CLoop) and !ENABLE(JIT).
We enable LLInt ASM interpreter for non JIT environment in X86_64 and ARM64 architectures.
And we enable ENABLE(ASSEMBLER) for non JIT environment since it offers machine register
information which is used for LLInt and SamplingProfiler.
* wtf/Platform.h:
2018-09-21 Keith Miller <keith_miller@apple.com>
Add Promise SPI
https://bugs.webkit.org/show_bug.cgi?id=189809
Reviewed by Saam Barati.
Fix issue where creating a JSContextRef off the main thread before
creating initializing the main thread would cause an assertion
failure.
* wtf/MainThread.cpp:
(WTF::isMainThreadIfInitialized):
* wtf/MainThread.h:
* wtf/mac/MainThreadMac.mm:
(WTF::isMainThreadIfInitialized):
* wtf/text/cf/StringImplCF.cpp:
(WTF::StringImpl::createCFString):
2018-09-21 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r236359.
Broke the Windows build.
Reverted changeset:
"Add Promise SPI"
https://bugs.webkit.org/show_bug.cgi?id=189809
https://trac.webkit.org/changeset/236359
2018-09-21 Keith Miller <keith_miller@apple.com>
Add Promise SPI
https://bugs.webkit.org/show_bug.cgi?id=189809
Reviewed by Saam Barati.
Fix issue where creating a JSContextRef off the main thread before
creating initializing the main thread would cause an assertion
failure.
* wtf/MainThread.cpp:
(WTF::isMainThreadIfInitialized):
* wtf/MainThread.h:
* wtf/mac/MainThreadMac.mm:
(WTF::isMainThreadIfInitialized):
* wtf/text/cf/StringImplCF.cpp:
(WTF::StringImpl::createCFString):
2018-09-20 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][Clang] UNUSED_PARAM(this) causes compilation error of "cannot take the address of an rvalue of type"
https://bugs.webkit.org/show_bug.cgi?id=189732
Reviewed by Per Arne Vollan.
Clang for Windows can't compile the MSVC workaround of
UNUSED_PARAM which has been introduced for Windows CE and Visual
Studio 10. I think it's safe just to remove it.
* wtf/Compiler.h: Removed the code for COMPILER(MSVC).
2018-09-20 Alex Christensen <achristensen@webkit.org>
Unreviewed, rolling out r235976.
Broke ARM
Reverted changeset:
"Use a Variant instead of a union in CSSSelector"
https://bugs.webkit.org/show_bug.cgi?id=188559
https://trac.webkit.org/changeset/235976
2018-09-17 Yusuke Suzuki <utatane.tea@gmail.com>
[WTF] Use Semaphore and BinarySemaphore instead of dispatch_semaphore_t
https://bugs.webkit.org/show_bug.cgi?id=185339
Reviewed by Mark Lam.
This patch adds WTF::Semaphore, which is based on WTF::Lock and WTF::Condition.
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/Semaphore.h: Added.
(WTF::Semaphore::Semaphore):
(WTF::Semaphore::signal):
(WTF::Semaphore::waitUntil):
(WTF::Semaphore::waitFor):
(WTF::Semaphore::wait):
* wtf/generic/WorkQueueGeneric.cpp:
(WorkQueue::platformInitialize):
* wtf/threads/BinarySemaphore.cpp:
(WTF::BinarySemaphore::waitUntil):
(WTF::BinarySemaphore::wait): Deleted.
* wtf/threads/BinarySemaphore.h:
(WTF::BinarySemaphore::waitFor):
(WTF::BinarySemaphore::wait):
Align the names of the functions to WTF::Condition.
Add BinarySemaphore::wait(), which is the same to waitUntil(WallTime::infinity()).
2018-09-17 Jer Noble <jer.noble@apple.com>
Add support for HEVC codec types in Media Capabilities
https://bugs.webkit.org/show_bug.cgi?id=189565
Reviewed by Eric Carlson.
Extract the toIntegralType template into its own header.
* wtf/CMakeLists.txt:
* wtf/text/StringConversion.h: Added.
(isCharacterAllowedInBase):
(toIntegralType):
* wtf/text/WTFString.cpp:
2018-09-17 Jer Noble <jer.noble@apple.com>
Enable USE_MEDIAREMOTE on iOS
https://bugs.webkit.org/show_bug.cgi?id=189096
Reviewed by Eric Carlson.
* wtf/Platform.h:
2018-09-17 Frederic Wang <fwang@igalia.com>
Build error in ImageBufferCG when compiled with IOSurfacePool
https://bugs.webkit.org/show_bug.cgi?id=189579
Reviewed by Tim Horton.
IOSurface.h might be included with different value of IOSURFACE_CANVAS_BACKING_STORE, causing
compilation errors when files in the same unified source do not agree on the definition.
This patch moves the definition of IOSURFACE_CANVAS_BACKING_STORE from ImageBufferDataCG.h
to Platform.h so that IOSURFACE_CANVAS_BACKING_STORE is set to the same value in all files.
Finally some minors changes to explicitly declare/define ImageBuffer are performed in order
to prevent future issues with Unified build rotating.
* wtf/Platform.h: Move definition from ImageBufferDataCG.h.
2018-09-14 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r235990.
Introduced TestWebKitAPI.NowPlayingTest timeouts on iOS
Reverted changeset:
"Enable USE_MEDIAREMOTE on iOS"
https://bugs.webkit.org/show_bug.cgi?id=189096
https://trac.webkit.org/changeset/235990
2018-09-13 Jer Noble <jer.noble@apple.com>
Enable USE_MEDIAREMOTE on iOS
https://bugs.webkit.org/show_bug.cgi?id=189096
Reviewed by Eric Carlson.
* wtf/Platform.h:
2018-09-13 Alex Christensen <achristensen@webkit.org>
Use a Variant instead of a union in CSSSelector
https://bugs.webkit.org/show_bug.cgi?id=188559
Reviewed by Antti Koivisto.
* wtf/Variant.h:
Add packing macros to make it so Variant-containing structures don't always have 7 bytes of padding per Variant.
2018-09-12 Guillaume Emont <guijemont@igalia.com>
Add IGNORE_WARNING_.* macros
https://bugs.webkit.org/show_bug.cgi?id=188996
Reviewed by Michael Catanzaro.
* wtf/Assertions.cpp:
* wtf/Assertions.h:
* wtf/Compiler.h:
* wtf/MD5.cpp:
(WTF::MD5::MD5):
(WTF::MD5::addBytes):
(WTF::MD5::checksum):
* wtf/PrintStream.cpp:
(WTF::PrintStream::printfVariableFormat):
* wtf/SHA1.cpp:
(WTF::SHA1::SHA1):
(WTF::SHA1::addBytes):
(WTF::SHA1::computeHash):
* wtf/ThreadingPthreads.cpp:
* wtf/Vector.h:
(WTF::VectorBuffer::endOfBuffer):
* wtf/text/WTFString.cpp:
(WTF::createWithFormatAndArguments):
== Rolled over to ChangeLog-2018-09-11 ==