0dfcf22d53d5cfaeefa5558983384da377dd16a8
[WebKit-https.git] / Source / WTF / ChangeLog
1 2018-12-20  Tadeu Zagallo  <tzagallo@apple.com>
2
3         Consistently use MaxLength for all WTF strings
4         https://bugs.webkit.org/show_bug.cgi?id=192853
5         <rdar://problem/45726906>
6
7         Reviewed by Mark Lam.
8
9         MaxLength was introduced to be INT_MAX for WTF::String and StringImpl,
10         but all the assertions were still done using UINT_MAX. Change it to
11         use MaxLength for all checks.
12
13         * wtf/text/StringImpl.cpp:
14         (WTF::StringImpl::createUninitializedInternalNonEmpty):
15         (WTF::StringImpl::reallocateInternal):
16         (WTF::StringImpl::create):
17         (WTF::StringImpl::convertToLowercaseWithoutLocale):
18         (WTF::StringImpl::convertToUppercaseWithoutLocale):
19         (WTF::StringImpl::convertToLowercaseWithLocale):
20         (WTF::StringImpl::convertToUppercaseWithLocale):
21         (WTF::StringImpl::foldCase):
22         (WTF::StringImpl::find):
23         (WTF::StringImpl::replace):
24         (WTF::StringImpl::utf8ForCharacters):
25         (WTF::StringImpl::tryGetUtf8ForRange const):
26         * wtf/text/StringImpl.h:
27         (WTF::lengthOfNullTerminatedString):
28         (WTF::StringImpl::tryCreateUninitialized):
29         (WTF::StringImpl::adopt):
30         (WTF::StringImpl::maxInternalLength):
31         * wtf/text/WTFString.cpp:
32         (WTF::String::append):
33         (WTF::String::insert):
34         (WTF::String::fromUTF8):
35         * wtf/text/WTFString.h:
36         (WTF::String::reverseFind const):
37
38 2018-12-19  Chris Dumez  <cdumez@apple.com>
39
40         wtf/Optional.h: move-constructor and move-assignment operator should disengage the value being moved from
41         https://bugs.webkit.org/show_bug.cgi?id=192728
42         <rdar://problem/46746779>
43
44         Reviewed by Geoff Garen.
45
46         Update optional's move-constructor and move-assignment operator to disengage the value being moved from.
47         Rename to optional to Optional, make_optional() to makeOptional(), and move class from std to WTF namespace.
48
49         Based on patch by David Kilzer.
50
51         * wtf/*:
52
53 2018-12-19  Eric Carlson  <eric.carlson@apple.com>
54
55         [MediaStream] Force system camera/microphone TCC prompt if necessary
56         https://bugs.webkit.org/show_bug.cgi?id=192820
57         <rdar://problem/42680098>
58
59         Reviewed by Jer Noble.
60
61         * wtf/Platform.h: Define HAVE_AUTHORIZATION_STATUS_FOR_MEDIA_TYPE.
62
63 2018-12-17  Chris Fleizach  <cfleizach@apple.com>
64
65         Some builds are broken after r239262
66         https://bugs.webkit.org/show_bug.cgi?id=192777
67
68         Reviewed by Simon Fraser.
69
70         * wtf/Platform.h:
71
72 2018-12-17  Daniel Bates  <dabates@apple.com>
73
74         Support concatenating StringView with other string types
75         https://bugs.webkit.org/show_bug.cgi?id=177566
76
77         Reviewed by Darin Adler.
78
79         Add operator+ overloads to StringOperators.h to support concatenating a StringView with
80         other string types (e.g. String). This lets a person write more naturally looking code:
81
82         stringView + string
83
84         Instead of:
85
86         makeString(stringView, string)
87
88         * wtf/text/StringOperators.h:
89         (WTF::operator+): Added various operator+ overloads.
90
91 2018-12-17  Commit Queue  <commit-queue@webkit.org>
92
93         Unreviewed, rolling out r239265 and r239274.
94         https://bugs.webkit.org/show_bug.cgi?id=192765
95
96         unorm_normalize is deprecated, and broke an internal build
97         (Requested by Truitt on #webkit).
98
99         Reverted changesets:
100
101         "[GTK][WPE] Need a function to convert internal URI to display
102         ("pretty") URI"
103         https://bugs.webkit.org/show_bug.cgi?id=174816
104         https://trac.webkit.org/changeset/239265
105
106         "Fix the Apple Internal Mac build with a newer SDK"
107         https://trac.webkit.org/changeset/239274
108
109 2018-12-17  Daniel Bates  <dabates@apple.com>
110
111         Fix the Apple Internal Mac build with a newer SDK
112
113         * wtf/URLHelpers.cpp:
114         (WTF::URLHelpers::userVisibleURL):
115
116 2018-12-17  Matt Lewis  <jlewis3@apple.com>
117
118         Unreviewed, rolling out r239254.
119
120         This broke the Windows 10 Debug build
121
122         Reverted changeset:
123
124         "Replace many uses of String::format with more type-safe
125         alternatives"
126         https://bugs.webkit.org/show_bug.cgi?id=192742
127         https://trac.webkit.org/changeset/239254
128
129 2018-12-17  Ms2ger  <Ms2ger@igalia.com>
130
131         [GTK][WPE] Need a function to convert internal URI to display ("pretty") URI
132         https://bugs.webkit.org/show_bug.cgi?id=174816
133
134         Reviewed by Michael Catanzaro.
135
136         Translate userVisibleString and dependent code into platform-neutral C++
137         in wtf/URLHelpers.{h,cpp}.
138
139         * WTF.xcodeproj/project.pbxproj:
140         * wtf/CMakeLists.txt:
141         * wtf/URLHelpers.cpp: Added.
142         (WTF::URLHelpers::loadIDNScriptWhiteList):
143         (WTF::URLHelpers::isArmenianLookalikeCharacter):
144         (WTF::URLHelpers::isArmenianScriptCharacter):
145         (WTF::URLHelpers::isASCIIDigitOrValidHostCharacter):
146         (WTF::URLHelpers::isLookalikeCharacter):
147         (WTF::URLHelpers::whiteListIDNScript):
148         (WTF::URLHelpers::initializeDefaultIDNScriptWhiteList):
149         (WTF::URLHelpers::allCharactersInIDNScriptWhiteList):
150         (WTF::URLHelpers::isSecondLevelDomainNameAllowedByTLDRules):
151         (WTF::URLHelpers::isRussianDomainNameCharacter):
152         (WTF::URLHelpers::allCharactersAllowedByTLDRules):
153         (WTF::URLHelpers::mapHostName):
154         (WTF::URLHelpers::collectRangesThatNeedMapping):
155         (WTF::URLHelpers::applyHostNameFunctionToMailToURLString):
156         (WTF::URLHelpers::applyHostNameFunctionToURLString):
157         (WTF::URLHelpers::mapHostNames):
158         (WTF::URLHelpers::createStringWithEscapedUnsafeCharacters):
159         (WTF::URLHelpers::userVisibleURL):
160         * wtf/URLHelpers.h: Added.
161         * wtf/cocoa/NSURLExtras.mm:
162         (WTF::URLHelpers::loadIDNScriptWhiteList):
163         (WTF::decodePercentEscapes):
164         (WTF::decodeHostName):
165         (WTF::encodeHostName):
166         (WTF::URLWithUserTypedString):
167         (WTF::userVisibleString):
168
169 2018-12-15  Darin Adler  <darin@apple.com>
170
171         Use warning-ignoring macros more consistently and simply
172         https://bugs.webkit.org/show_bug.cgi?id=192743
173
174         Reviewed by Mark Lam.
175
176         * wtf/Assertions.h: Use IGNORE_WARNINGS_BEGIN rather than
177         IGNORE_CLANG_WARNINGS_BEGIN since we don't need special handling for
178         non-clang compilers, in part since the code is already inside
179         #if COMPILER(CLANG), but also because it would be harmless to ignore this
180         warning on non-clang; we should almost never use IGNORE_CLANG_WARNINGS_BEGIN.
181
182 2018-12-15  Darin Adler  <darin@apple.com>
183
184         Replace many uses of String::format with more type-safe alternatives
185         https://bugs.webkit.org/show_bug.cgi?id=192742
186
187         Reviewed by Mark Lam.
188
189         * wtf/WorkQueue.cpp:
190         (WTF::WorkQueue::concurrentApply): Use makeString.
191
192         * wtf/dtoa.cpp:
193         (WTF::dtoa): Use sprintf instead of String::format in the comments,
194         since these functions have nothing to do with WTF::String.
195
196 2018-12-14  Darin Adler  <darin@apple.com>
197
198         Verify size is valid in USE_SYSTEM_MALLOC version of tryAllocateZeroedVirtualPages
199         https://bugs.webkit.org/show_bug.cgi?id=192738
200         rdar://problem/37502342
201
202         Reviewed by Mark Lam.
203
204         * wtf/Gigacage.cpp:
205         (Gigacage::tryAllocateZeroedVirtualPages): Added a RELEASE_ASSERT just
206         like the one in tryLargeZeroedMemalignVirtual in bmalloc.
207
208 2018-12-14  David Kilzer  <ddkilzer@apple.com>
209
210         clang-tidy: Fix unnecessary copy of AtomicString each time one is logged
211         <https://webkit.org/b/192710>
212         <rdar://problem/46738962>
213
214         Reviewed by Eric Carlson.
215
216         * wtf/Logger.h:
217         (WTF::LogArgument::toString): Make argument a const reference to
218         avoid the copy.
219
220 2018-12-14  Zan Dobersek  <zdobersek@igalia.com>
221
222         [GLib] RunLoop::dispatchAfter() GSource requires microsecond precision
223         https://bugs.webkit.org/show_bug.cgi?id=192696
224
225         Reviewed by Michael Catanzaro.
226
227         The GSource we set up in GLib's RunLoop::dispatchAfter() implementation
228         should support microsecond-precision delays. Such delays are common in
229         JSC's Watchdog implementation and missing support for them has been
230         causing test failures in the `testapi` program as well as some JSC
231         tests that depend on the termination determination functionality of the
232         JSC::Watchdog class.
233
234         RunLoop::dispatchAfter() is changed to spawn a raw GSource that uses the
235         existing GSourceFuncs implementation used elsewhere in GLib's RunLoop.
236         The GSource's ready time is set manually, now with the necessary
237         microsecond precision.
238
239         * wtf/glib/RunLoopGLib.cpp:
240         (WTF::RunLoop::dispatchAfter):
241
242 2018-12-13  Saam Barati  <sbarati@apple.com>
243
244         The JSC shell should listen for memory pressure events and respond to them
245         https://bugs.webkit.org/show_bug.cgi?id=192647
246
247         Reviewed by Keith Miller.
248
249         * wtf/MemoryPressureHandler.cpp:
250         (WTF::MemoryPressureHandler::MemoryPressureHandler):
251         (WTF::MemoryPressureHandler::setDispatchQueue):
252         Make it so that we can customize which dispatch queue memory pressure
253         events get handled on.
254
255         * wtf/MemoryPressureHandler.h:
256         (WTF::MemoryPressureHandler::setShouldLogMemoryMemoryPressureEvents):
257         Make it so that we can disable logging that happens on each memory
258         pressure event.
259
260         * wtf/cocoa/MemoryPressureHandlerCocoa.mm:
261         (WTF::MemoryPressureHandler::install):
262         (WTF::MemoryPressureHandler::uninstall):
263         (WTF::MemoryPressureHandler::holdOff):
264
265 2018-12-13  David Kilzer  <ddkilzer@apple.com>
266
267         clang-tidy: Fix unnecessary parameter copies in ParallelHelperPool.cpp
268         <https://webkit.org/b/192666>
269         <rdar://problem/46697952>
270
271         Reviewed by Alex Christensen.
272
273         * wtf/ParallelHelperPool.cpp:
274         (WTF::ParallelHelperClient::ParallelHelperClient): Use rvalue
275         reference and WTFMove().
276         (WTF::ParallelHelperClient::setTask): Ditto.
277         (WTF::ParallelHelperClient::runTaskInParallel): Ditto.
278         (WTF::ParallelHelperClient::runTask): Use const reference.
279         * wtf/ParallelHelperPool.h: Update declarations to match
280         implementations.
281
282 2018-12-12  Alex Christensen  <achristensen@webkit.org>
283
284         Implement safe browsing in WebKit on WatchOS
285         https://bugs.webkit.org/show_bug.cgi?id=192641
286         <rdar://problem/46376188>
287
288         Reviewed by Geoff Garen.
289
290         * wtf/Platform.h:
291         WatchOS has safe browsing, too!
292
293 2018-12-11  Fujii Hironori  <Hironori.Fujii@sony.com>
294
295         [Win][Clang] Fix compilation warnings of WTF
296         https://bugs.webkit.org/show_bug.cgi?id=192583
297
298         Reviewed by Alex Christensen.
299
300         clang-cl reports the following warnings.
301
302         > [92/206] Building CXX object Source\WTF\wtf\CMakeFiles\WTF.dir\StackBounds.cpp.obj
303         > ..\..\Source\WTF\wtf\StackBounds.cpp(163,48):  warning: missing field 'AllocationBase' initializer [-Wmissing-field-initializers]
304         >     MEMORY_BASIC_INFORMATION stackOrigin = { 0 };
305         >                                                ^
306         > 1 warning generated.
307         > [160/206] Building CXX object Source\WTF\wtf\CMakeFiles\WTF.dir\win\RunLoopWin.cpp.obj
308         > ..\..\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]
309         > static const LPWSTR kRunLoopMessageWindowClassName = L"RunLoopMessageWindow";
310         >                                                      ^
311         > ..\..\Source\WTF\wtf\win\RunLoopWin.cpp(86,32):  warning: missing field 'lpfnWndProc' initializer [-Wmissing-field-initializers]
312         >     WNDCLASS windowClass = { 0 };
313         >                                ^
314         > 2 warnings generated.
315         > [175/206] Building CXX object Source\WTF\wtf\CMakeFiles\WTF.dir\DateMath.cpp.obj
316         > ..\..\Source\WTF\wtf\DateMath.cpp(125,20):  warning: unused function 'getLocalTime' [-Wunused-function]
317         > static inline void getLocalTime(const time_t* localTime, struct tm* localTM)
318         >                    ^
319         > 1 warning generated.
320
321         * wtf/DateMath.cpp:
322         (WTF::getLocalTime): Defined only if used.
323         * wtf/StackBounds.cpp:
324         (WTF::StackBounds::currentThreadStackBoundsInternal): Initialize stackOrigin with '{ }'.
325         * wtf/win/RunLoopWin.cpp: Change the type of kRunLoopMessageWindowClassName to LPCWSTR.
326         (WTF::RunLoop::registerRunLoopMessageWindowClass): Initialize windowClass with '{ }'.
327
328 2018-12-11  Andy Estes  <aestes@apple.com>
329
330         Introduce makeBlockPtr for lambdas
331         https://bugs.webkit.org/show_bug.cgi?id=192594
332
333         Reviewed by Alex Christensen.
334
335         BlockPtr<...>::fromCallable is cumbersome because it requires repeating the callable's
336         signature as a class template argument. This patch introduces an overload of makeBlockPtr
337         that deduces the correct BlockPtr instantiation from a lambda's operator() signature.
338
339         * wtf/BlockPtr.h:
340         (WTF::makeBlockPtr):
341
342         Adopted makeBlockPtr.
343
344         * wtf/cocoa/WorkQueueCocoa.cpp:
345         (WTF::WorkQueue::dispatch):
346         (WTF::WorkQueue::dispatchAfter):
347         (WTF::WorkQueue::concurrentApply):
348
349 2018-12-10  Don Olmstead  <don.olmstead@sony.com>
350
351         Move ENABLE_RESOURCE_LOAD_STATISTICS to FeatureDefines.xcconfig
352         https://bugs.webkit.org/show_bug.cgi?id=192573
353
354         Reviewed by Simon Fraser.
355
356         Remove ENABLE_RESOURCE_LOAD_STATISTICS from Platform.h and instead rely
357         on it being set in FeatureDefines.xcconfig.
358
359         * wtf/Platform.h:
360
361 2018-12-10  Alexey Proskuryakov  <ap@apple.com>
362
363         Move ENABLE_SEC_ITEM_SHIM out of WebKit's config.h
364         https://bugs.webkit.org/show_bug.cgi?id=192428
365
366         Reviewed by Tim Horton.
367
368         * wtf/Platform.h:
369
370 2018-12-10  Alexey Proskuryakov  <ap@apple.com>
371
372         Move more macros out of WebKit's config.h
373         https://bugs.webkit.org/show_bug.cgi?id=192430
374
375         Reviewed by Tim Horton.
376
377         * wtf/Platform.h:
378
379 2018-12-09  Yusuke Suzuki  <yusukesuzuki@slowstart.org>
380
381         Unreviewed, fix build failure on GCC 8.2, part 2
382
383         Add RefCountedArray::assign, and use it instead of operator= internally.
384         We should have operator=(const RefCountedArray&) since it will be automatically generated
385         if we do not have correct implementation here.
386
387         * wtf/RefCountedArray.h:
388         (WTF::RefCountedArray::operator=):
389         (WTF::RefCountedArray::assign):
390
391 2018-12-09  Yusuke Suzuki  <yusukesuzuki@slowstart.org>
392
393         Unreviewed, fix build failure on GCC 8.2
394
395         We remove operator=<PtrTraits> call since it is not necessary.
396         This is a workaround. It seems that GCC 8.2 fails to parse this specialization.
397
398         * wtf/RefCountedArray.h:
399
400 2018-12-08  Darin Adler  <darin@apple.com>
401
402         Fix stray-semicolon warning seen with a new version of clang in Xcode
403         https://bugs.webkit.org/show_bug.cgi?id=192534
404
405         Reviewed by Alexey Proskuryakov.
406
407         * wtf/Lock.h: Removed an unneeded semicolon.
408
409 2018-12-08  Adrian Perez de Castro  <aperez@igalia.com>
410
411         [WTF] Debug build fails due conflicting abort() method
412         https://bugs.webkit.org/show_bug.cgi?id=192491
413
414         Reviewed by Michael Catanzaro.
415
416         * wtf/Assertions.h: Use namespaced std::abort() insted of plain abort() to avoid clashes
417         inside classes which have an ::abort() method, but only when __cplusplus is defined to
418         allow inclusion of the header in plain C sources.
419
420 2018-12-07  Andy Estes  <aestes@apple.com>
421
422         [Cocoa] Add optional variants of SOFT_LINK_CLASS_FOR_SOURCE
423         https://bugs.webkit.org/show_bug.cgi?id=192498
424
425         Reviewed by Tim Horton.
426
427         Added SOFT_LINK_CLASS_FOR_SOURCE_OPTIONAL and SOFT_LINK_CLASS_FOR_SOURCE_OPTIONAL_WITH_EXPORT,
428         which behave like their non-optional variants but do not require their classes to exist.
429
430         * wtf/cocoa/SoftLinking.h:
431
432 2018-12-06  Alexey Proskuryakov  <ap@apple.com>
433
434         Move USE_NEW_THEME out of WebCore's config.h
435         https://bugs.webkit.org/show_bug.cgi?id=192426
436
437         Reviewed by Tim Horton.
438
439         * wtf/Platform.h:
440
441 2018-12-04  Carlos Garcia Campos  <cgarcia@igalia.com>
442
443         [SOUP] Move URLSoup back to WebCore after r238771
444         https://bugs.webkit.org/show_bug.cgi?id=192306
445
446         Reviewed by Michael Catanzaro.
447
448         In r238771 URL was moved from WebCore to WTF, including the soup implementation. Unfortunately that added
449         libsoup as a new dependency of libjavascriptcoregtk.
450
451         * wtf/PlatformGTK.cmake:
452         * wtf/PlatformWPE.cmake:
453         * wtf/URL.h:
454         * wtf/glib/URLGLib.cpp: Copied from Source/WTF/wtf/glib/URLSoup.cpp.
455
456 2018-12-03  Don Olmstead  <don.olmstead@sony.com>
457
458         Fix some unused parameter warnings
459         https://bugs.webkit.org/show_bug.cgi?id=192336
460
461         Reviewed by Fujii Hironori.
462
463         * wtf/StackTrace.cpp:
464         (WTFGetBacktrace):
465         (WTF::StackTrace::demangle):
466         * wtf/generic/MemoryPressureHandlerGeneric.cpp:
467         (WTF::MemoryPressureHandler::holdOff):
468         (WTF::MemoryPressureHandler::respondToMemoryPressure):
469
470 2018-12-01  Alexey Proskuryakov  <ap@apple.com>
471
472         Modernize version check for _suppressedAutoAddedHTTPHeaders
473         https://bugs.webkit.org/show_bug.cgi?id=192175
474
475         Reviewed by Tim Horton.
476
477         * wtf/Platform.h:
478
479 2018-11-30  Alex Christensen  <achristensen@webkit.org>
480
481         Fix Windows build after r238771
482         https://bugs.webkit.org/show_bug.cgi?id=190234
483
484         * wtf/URLParser.h:
485         Just make defaultPortForProtocol public so we don't have to worry about DLL linkage.
486
487 2018-11-30  Alex Christensen  <achristensen@webkit.org>
488
489         Move URL from WebCore to WTF
490         https://bugs.webkit.org/show_bug.cgi?id=190234
491
492         Reviewed by Keith Miller.
493
494         * WTF.xcodeproj/project.pbxproj:
495         * wtf/CMakeLists.txt:
496         * wtf/Forward.h:
497         * wtf/PlatformGTK.cmake:
498         * wtf/PlatformMac.cmake:
499         * wtf/PlatformWPE.cmake:
500         * wtf/PlatformWin.cmake:
501         * wtf/URL.cpp: Renamed from Source/WebCore/platform/URL.cpp.
502         (WTF::URL::protocolIs):
503         * wtf/URL.h: Renamed from Source/WebCore/platform/URL.h.
504         * wtf/URLHash.h: Renamed from Source/WebCore/platform/URLHash.h.
505         (WTF::URLHash::hash):
506         (WTF::URLHash::equal):
507         * wtf/URLParser.cpp: Renamed from Source/WebCore/platform/URLParser.cpp.
508         (WTF::URLParser::isInUserInfoEncodeSet):
509         (WTF::URLParser::parseAuthority):
510         * wtf/URLParser.h: Renamed from Source/WebCore/platform/URLParser.h.
511         (WTF::URLParser::URLParser):
512         (WTF::URLParser::result):
513         * wtf/cf/CFURLExtras.cpp: Renamed from Source/WebCore/platform/cf/CFURLExtras.cpp.
514         * wtf/cf/CFURLExtras.h: Renamed from Source/WebCore/platform/cf/CFURLExtras.h.
515         * wtf/cf/URLCF.cpp: Renamed from Source/WebCore/platform/cf/URLCF.cpp.
516         * wtf/cocoa/NSURLExtras.h: Copied from Source/WebCore/loader/archive/ArchiveResourceCollection.h.
517         * wtf/cocoa/NSURLExtras.mm: Copied from Source/WebCore/platform/mac/WebCoreNSURLExtras.mm.
518         (WTF::isArmenianLookalikeCharacter):
519         (WTF::isArmenianScriptCharacter):
520         (WTF::isASCIIDigitOrValidHostCharacter):
521         (WTF::isLookalikeCharacter):
522         (WTF::whiteListIDNScript):
523         (WTF::readIDNScriptWhiteListFile):
524         (WTF::allCharactersInIDNScriptWhiteList):
525         (WTF::isSecondLevelDomainNameAllowedByTLDRules):
526         (WTF::isRussianDomainNameCharacter):
527         (WTF::allCharactersAllowedByTLDRules):
528         (WTF::mapHostNameWithRange):
529         (WTF::hostNameNeedsDecodingWithRange):
530         (WTF::hostNameNeedsEncodingWithRange):
531         (WTF::decodeHostNameWithRange):
532         (WTF::encodeHostNameWithRange):
533         (WTF::decodeHostName):
534         (WTF::encodeHostName):
535         (WTF::collectRangesThatNeedMapping):
536         (WTF::collectRangesThatNeedEncoding):
537         (WTF::collectRangesThatNeedDecoding):
538         (WTF::applyHostNameFunctionToMailToURLString):
539         (WTF::applyHostNameFunctionToURLString):
540         (WTF::mapHostNames):
541         (WTF::stringByTrimmingWhitespace):
542         (WTF::URLByTruncatingOneCharacterBeforeComponent):
543         (WTF::URLByRemovingResourceSpecifier):
544         (WTF::URLWithData):
545         (WTF::dataWithUserTypedString):
546         (WTF::URLWithUserTypedString):
547         (WTF::URLWithUserTypedStringDeprecated):
548         (WTF::hasQuestionMarkOnlyQueryString):
549         (WTF::dataForURLComponentType):
550         (WTF::URLByRemovingComponentAndSubsequentCharacter):
551         (WTF::URLByRemovingUserInfo):
552         (WTF::originalURLData):
553         (WTF::createStringWithEscapedUnsafeCharacters):
554         (WTF::userVisibleString):
555         (WTF::isUserVisibleURL):
556         (WTF::rangeOfURLScheme):
557         (WTF::looksLikeAbsoluteURL):
558         * wtf/cocoa/URLCocoa.mm: Renamed from Source/WebCore/platform/mac/URLMac.mm.
559         (WTF::URL::URL):
560         (WTF::URL::createCFURL const):
561         * wtf/glib/GUniquePtrSoup.h: Renamed from Source/WebCore/platform/network/soup/GUniquePtrSoup.h.
562         * wtf/glib/URLSoup.cpp: Renamed from Source/WebCore/platform/soup/URLSoup.cpp.
563
564 2018-11-30  Alexey Proskuryakov  <ap@apple.com>
565
566         Move USE_CFNETWORK_IGNORE_HSTS to its proper place
567         https://bugs.webkit.org/show_bug.cgi?id=192173
568
569         Reviewed by Tim Horton.
570
571         * wtf/Platform.h: Also renamed it to better match other version checks.
572
573 2018-11-29  Alexey Proskuryakov  <ap@apple.com>
574
575         Modernize the check for kCFURLRequestContentDecoderSkipURLCheck existence
576         https://bugs.webkit.org/show_bug.cgi?id=192041
577
578         Reviewed by Tim Horton.
579
580         * wtf/Platform.h:
581
582 2018-11-28  Mark Lam  <mark.lam@apple.com>
583
584         ENABLE_SEPARATED_WX_HEAP needs to be defined in Platform.h.
585         https://bugs.webkit.org/show_bug.cgi?id=192110
586         <rdar://problem/46317746>
587
588         Reviewed by Saam Barati.
589
590         Contrary my previous claim in r238564, ENABLE_SEPARATED_WX_HEAP needs to be
591         defined in Platform.h because it is also needed in WebCore for the CSS JIT.  Also
592         contrary to my previous claim, ENABLE(FAST_JIT_PERMISSIONS) is defined for WebCore
593         (and other projects) as well as JSC.  Hence, there's no reason why
594         ENABLE_SEPARATED_WX_HEAP cannot be defined in Platform.h.
595
596         * wtf/Platform.h:
597
598 2018-11-28  Keith Rollin  <krollin@apple.com>
599
600         Update generate-unified-source-bundles.rb to generate .xcfilelist files
601         https://bugs.webkit.org/show_bug.cgi?id=192029
602         <rdar://problem/46285918>
603
604         Reviewed by Alex Christensen.
605
606         Update generate-unified-source-bundles.rb to generate output for
607         .xcfilelist files. These files are used to indicate the sets of input
608         and output files to Run Script build phases in Xcode. By invoking
609         generate-unified-source-bundles.rb with -generate-xcfilelists, the
610         script generates these .xcfilelist files. These .xcfilelist files can
611         then be used to specify the inputs and outputs of the Generate Unified
612         Sources build phases.
613
614         * Scripts/generate-unified-source-bundles.rb:
615
616 2018-11-28  Alexey Proskuryakov  <ap@apple.com>
617
618         Remove another OS version check from NetworkDataTaskCocoa.mm
619         https://bugs.webkit.org/show_bug.cgi?id=192046
620
621         Reviewed by Alex Christensen.
622
623         * wtf/Platform.h:
624
625 2018-11-28  Alexey Proskuryakov  <ap@apple.com>
626
627         Modernize version checks for same site cookie support
628         https://bugs.webkit.org/show_bug.cgi?id=192054
629
630         Reviewed by Tim Horton.
631
632         * wtf/Platform.h:
633
634 2018-11-27  Alexey Proskuryakov  <ap@apple.com>
635
636         Modernize the check for async _saveCookies existence
637         https://bugs.webkit.org/show_bug.cgi?id=191987
638
639         Reviewed by Dean Jackson.
640
641         * wtf/Platform.h: Added a specific macro for this. Not changing the behavior here,
642         although it seems very likely that we want to do the same on other iOS family OSes.
643
644 2018-11-26  Fujii Hironori  <Hironori.Fujii@sony.com>
645
646         [Win][Clang] SOFT_LINK reports warning: implicit conversion between pointer-to-function and pointer-to-object is a Microsoft extension [-Wmicrosoft-cast]
647         https://bugs.webkit.org/show_bug.cgi?id=191960
648
649         Reviewed by Alex Christensen.
650
651         * wtf/win/SoftLinking.h: Do reinterpret_cast<void*> a function
652         pointer argument of EncodePointer. Changed the type of stored
653         function pointer returned by EncodePointer.
654
655 2018-11-26  Sam Weinig  <sam@webkit.org>
656
657         Streamline ListHashSet use in floating object code
658         https://bugs.webkit.org/show_bug.cgi?id=191957
659
660         Reviewed by Alex Christensen.
661
662         * wtf/ListHashSet.h:
663         Reverses the order of the template arguments for the find() and contains()
664         overload that allow specifying a hash translator to allow the compiler to
665         deduce type T. This simplifies call sites and matches other WTF containers.
666
667 2018-11-25  Michael Catanzaro  <mcatanzaro@igalia.com>
668
669         CRASH() should call abort() except on Darwin and in developer builds
670         https://bugs.webkit.org/show_bug.cgi?id=184408
671
672         Reviewed by Daniel Bates.
673
674         CRASH() should call abort() except on Darwin and in developer builds, as discussed on
675         webkit-dev. This should be slightly nicer than dereferencing 0xbadbeef.
676
677         On Darwin, CRASH() uses a breakpoint trap, which seems to corrupt the stack on Linux, so we
678         can't do that.
679
680         Continue to call WTFCrash() in developer mode, and make no changes to WTFCrash(), since it
681         is reportedly useful in nightmare scenarios where core dumps are unavailable.
682
683         We also have to define CRASH_UNDER_CONSTEXPR_CONTEXT(). It's a bit odd that it's possible to
684         use a non-constexpr function here, but it works. Currently this macro uses WTFCrash(), which
685         is also non-constexpr.
686
687         * wtf/Assertions.h:
688
689 2018-11-25  Michael Catanzaro  <mcatanzaro@igalia.com>
690
691         Unreviewed, rolling out r238469.
692
693         Broke the build
694
695         Reverted changeset:
696
697         "CRASH() should call abort() except on Darwin and in developer
698         builds"
699         https://bugs.webkit.org/show_bug.cgi?id=184408
700         https://trac.webkit.org/changeset/238469
701
702 2018-11-24  Andy Estes  <aestes@apple.com>
703
704         [Cocoa] SOFT_LINK_CLASS_FOR_{HEADER,SOURCE} should generate a more concise getter function
705         https://bugs.webkit.org/show_bug.cgi?id=191899
706
707         Reviewed by Dean Jackson.
708
709         Currently, SOFT_LINK_CLASS_FOR_HEADER declares a class getter function that includes the
710         framework name. For example, NSView would have a class getter named
711         namespace::get_AppKit_NSViewClass().
712
713         Including the framework name in the getter is unnecessary. Objective-C classes already exist
714         in a global namespace, so there is no need to disambiguate class names by framework. This
715         patch elides the framework name from the getter function. For example, NSView would now have
716         a getter named namespace::getNSViewClass().
717
718         * wtf/cocoa/SoftLinking.h:
719
720 2018-11-24  Michael Catanzaro  <mcatanzaro@igalia.com>
721
722         CRASH() should call abort() except on Darwin and in developer builds
723         https://bugs.webkit.org/show_bug.cgi?id=184408
724
725         Reviewed by Daniel Bates.
726
727         CRASH() should call abort() except on Darwin and in developer builds, as discussed on
728         webkit-dev. This should be slightly nicer than dereferencing 0xbadbeef.
729
730         On Darwin, CRASH() uses a breakpoint trap, which seems to corrupt the stack on Linux, so we
731         can't do that.
732
733         Continue to call WTFCrash() in developer mode, and make no changes to WTFCrash(), since it
734         is reportedly useful in nightmare scenarios where core dumps are unavailable.
735
736         * wtf/Assertions.h:
737
738 2018-11-23  Sam Weinig  <sam@webkit.org>
739
740         Add raw pointer overloads to ListHashSet via SmartPtr specialized functions
741         https://bugs.webkit.org/show_bug.cgi?id=191936
742
743         Reviewed by Zalan Bujtas.
744
745         Adds overloads for find, contains, insertBefore and remove that take raw pointers
746         when the value type V of a ListHashSet is true for the predicate IsSmartPtr<V>::value.
747         This brings the interface to ListHashSet closer inline with HashSet, HashMap and HashCountedSet
748         which already have this functionality. Like in the other collections, this is especially
749         useful when using std::unique_ptr<> as the value, since there would be no way to pass it
750         to these functions. One difference between this set of overloads is the inclusion of insertBefore,
751         which is unique to ListHashSet. As would be expected, this specialization only changes the first
752         parameter, the one that needs to be found, to support a raw pointer.  
753
754         * wtf/ListHashSet.h:
755         (WTF::U>::find):
756         (WTF::U>::find const):
757         (WTF::U>::contains const):
758         (WTF::U>::insertBefore):
759         (WTF::U>::remove):
760
761 2018-11-21  Yusuke Suzuki  <yusukesuzuki@slowstart.org>
762
763         [JSC] Drop ARM_TRADITIONAL support in LLInt, baseline JIT, and DFG
764         https://bugs.webkit.org/show_bug.cgi?id=191675
765
766         Reviewed by Mark Lam.
767
768         * wtf/InlineASM.h:
769         * wtf/Platform.h:
770
771 2018-11-21  Andy Estes  <aestes@apple.com>
772
773         [Cocoa] Create a soft-linking file for PassKit
774         https://bugs.webkit.org/show_bug.cgi?id=191875
775         <rdar://problem/46203215>
776
777         Reviewed by Myles Maxfield.
778
779         * wtf/Platform.h: Defined USE_PASSKIT.
780         * wtf/cocoa/SoftLinking.h: Added _WITH_EXPORT variants of SOFT_LINK_FRAMEWORK_FOR_SOURCE,
781         SOFT_LINK_PRIVATE_FRAMEWORK_FOR_SOURCE, SOFT_LINK_CLASS_FOR_SOURCE,
782         SOFT_LINK_FUNCTION_FOR_SOURCE, and SOFT_LINK_CONSTANT_FOR_SOURCE.
783
784 2018-11-21  Dominik Infuehr  <dinfuehr@igalia.com>
785
786         Enable JIT on ARM/Linux
787         https://bugs.webkit.org/show_bug.cgi?id=191548
788
789         Reviewed by Yusuke Suzuki.
790
791         Enable JIT by default on ARMv7/Linux after it was disabled with
792         recent bytcode format change.
793
794         * wtf/Platform.h:
795
796 2018-11-14  Keith Rollin  <krollin@apple.com>
797
798         Fix #end vs. #endif typo.
799         https://bugs.webkit.org/show_bug.cgi?id=191668
800         <rdar://problem/46081704>
801
802         Reviewed by Alexey Proskuryakov.
803
804         Source/WebCore/SourcesCocoa.txt had a #end that should have been a
805         #endif. Fix this, an add a check to generate-unified-source-bundles.rb
806         to detect similar typos.
807
808         * Scripts/generate-unified-source-bundles.rb:
809
810 2018-11-12  Mark Lam  <mark.lam@apple.com>
811
812         Add OOM detection to StringPrototype's substituteBackreferences().
813         https://bugs.webkit.org/show_bug.cgi?id=191563
814         <rdar://problem/45720428>
815
816         Reviewed by Saam Barati.
817
818         Enhanced StringBuilder::toString() to skip the shrinkToFit(), reifyString(), and
819         the hasOverflowed() check if m_string is not null.  When m_string is not null,
820         the StringBuilder either only has a single String in m_string (with m_buffer being 
821         null), or reifyString() has already been called (resulting in a non-null m_string
822         with a possibly non-null m_buffer).
823
824         We can skip the overflow check because:
825         1. if the StringBuilder only has a single String, then there cannot be an overflow.
826         2. if reifyString() has already been called, then the hasOverflowed() checked has
827            already been done because every code path that calls reifyString() first does
828            the hasOverflowed() check.
829
830         We can skip shrinkToFit() because it only applies to m_buffer.
831         1. if the StringBuilder only has a single String, then there's no m_buffer to shrink.
832         2. if reifyString() has already been called, then we either came down
833            a. the toString() path with a null m_string previously, where we would have
834               already called shrinkToFit() before reifyString(), or
835            b. the toStringPreserveCapacity() path where we don't want to shrinkToFit().
836
837         We can skip reifyString() because:
838         1. if the StringBuilder only has a single String, then the string is already reified.
839         2. if reifyString() has been already called, then the string is already reified.
840
841         Note that if m_string is the null string and m_buffer is null, reifyString() will
842         replace it with the empty string.  For this reason, we cannot solely check for
843         !m_buffer because we need to reify the null string into the empty string.
844
845         Note also that if m_string is null and m_buffer is non-null, reifyString() will
846         create a String and set m_string to it.  However, m_buffer remains non-null.
847         For this reason, we cannot assert !m_buffer alone when m_string is non-null.
848         We add a m_isReified flag (only when assertions are enabled) to track the reified
849         case where both m_buffer and m_string are non-null.
850
851         * wtf/text/StringBuilder.cpp:
852         (WTF::StringBuilder::reifyString const):
853         * wtf/text/StringBuilder.h:
854         (WTF::StringBuilder::toString):
855
856 2018-11-10  Benjamin Poulain  <benjamin@webkit.org>
857
858         Fix a fixme: rename wtfObjcMsgSend to wtfObjCMsgSend
859         https://bugs.webkit.org/show_bug.cgi?id=191492
860
861         Reviewed by Alex Christensen.
862
863         Because renaming ObjcRuntimeExtras.h to ObjCRuntimeExtras.h only changes
864         the cases, some systems have issues with applying this patch.
865
866         To work around the problem, the change is made is two patches, first rename to
867         WTFObjCRuntimeExtras.h, then back to ObjCRuntimeExtras.h.
868
869         * WTF.xcodeproj/project.pbxproj:
870         * wtf/CMakeLists.txt:
871         * wtf/WTFObjCRuntimeExtras.h: Renamed from Source/WTF/wtf/ObjcRuntimeExtras.h.
872         (wtfObjCMsgSend):
873
874 2018-11-09  Keith Miller  <keith_miller@apple.com>
875
876         LLInt VectorSizeOffset should be based on offset extraction
877         https://bugs.webkit.org/show_bug.cgi?id=191468
878
879         Reviewed by Yusuke Suzuki.
880
881         Make things friends with LLIntOffsetsExtractor.
882
883         * wtf/RefCountedArray.h:
884         * wtf/Vector.h:
885
886 2018-11-09  Jim Mason  <jmason@ibinx.com>
887
888         [WTF] Changes in bug 188867 break non-Linux Unix builds
889         https://bugs.webkit.org/show_bug.cgi?id=191380
890
891         The intention of 188867 was to split out platform-specific
892         heap query/release code.  Any unsupported platform
893         would use a generic, no-op stub.  However, wtf/PlatformGTK.cmake
894         ended up sending all non-Linux platforms through the Linux
895         implementation, which breaks the build for those platforms.
896         This includes any user of the GTK target which is not Linux,
897         such as the *BSDs, Solaris, etc.
898
899         Reviewed by Yusuke Suzuki.
900
901         * wtf/PlatformGTK.cmake: Updated to include Linux-specific
902         code only for Linux; all other platforms use the generic stub.
903
904 2018-11-06  Geoffrey Garen  <ggaren@apple.com>
905
906         Removed mbmalloc target from WTF
907         https://bugs.webkit.org/show_bug.cgi?id=191313
908
909         Reviewed by Saam Barati.
910
911         For benchmarking, WTF::fastMalloc is no longer meaningfully different
912         from bmalloc. (And bmalloc has its own mbmalloc target.)
913
914         * Configurations/mbmalloc.xcconfig: Removed.
915         * WTF.xcodeproj/project.pbxproj:
916         * wtf/mbmalloc.cpp: Removed.
917
918 2018-11-08  Alexey Proskuryakov  <ap@apple.com>
919
920         Re-add PLATFORM(IOS), now with the strict meaning
921         https://bugs.webkit.org/show_bug.cgi?id=191281
922
923         Reviewed by Tim Horton.
924
925         * wtf/Platform.h: No change in behavior. Some of the macros look a bit weird
926         when expanded, it might be that the values are incorrect for some flavors of iOS family.
927
928 2018-11-08  Dean Jackson  <dino@apple.com>
929
930         Add a String literal that returns a String
931         https://bugs.webkit.org/show_bug.cgi?id=191425
932         <rdar://problem/45914556>
933
934         Reviewed by Sam Weinig.
935
936         Add a new String literal, _str, that will return a String type.
937         This is useful when ""_s won't work, such as for things that
938         don't take an ASCIILiteral directly e.g. ExceptionOr<String>
939         or Variants.
940
941         * wtf/text/WTFString.h:
942         (WTF::StringLiterals::operator _str): Added.
943
944 2018-11-06  Justin Fan  <justin_fan@apple.com>
945
946         [WebGPU] Experimental prototype for WebGPURenderPipeline and WebGPUSwapChain
947         https://bugs.webkit.org/show_bug.cgi?id=191291
948
949         Reviewed by Myles Maxfield.
950
951         Properly disable WEBGPU on all non-Metal platforms for now.
952
953         * wtf/Platform.h:
954
955 2018-11-05  Myles C. Maxfield  <mmaxfield@apple.com>
956
957         Cache glyph paths and share underline skipping code between all the ports
958         https://bugs.webkit.org/show_bug.cgi?id=191239
959
960         Reviewed by Alex Christensen.
961
962         Remove CSS3_TEXT_DECORATION_SKIP_INK. It's now interoperable and part of the Web Platform.
963
964         * wtf/Platform.h:
965
966 2018-11-05  Dominik Infuehr  <dinfuehr@igalia.com>
967
968         Enable LLInt on ARMv7/Linux
969         https://bugs.webkit.org/show_bug.cgi?id=191190
970
971         Reviewed by Yusuke Suzuki.
972
973         After enabling the new bytecode format in r237547, C_LOOP was
974         forced on all 32-bit platforms. Now enable LLInt again on
975         ARMv7-Thumb2/Linux by default.
976
977         * wtf/Platform.h:
978
979 2018-11-04  Fujii Hironori  <Hironori.Fujii@sony.com>
980
981         [Win] Use C++14, not C++17
982         https://bugs.webkit.org/show_bug.cgi?id=191101
983
984         Reviewed by Alex Christensen.
985
986         * wtf/StdLibExtras.h: Use _MSVC_LANG to check C++ language version
987         instead of _MSC_FULL_VER.
988
989 2018-11-02  Justin Fan  <justin_fan@apple.com>
990
991         [WebGPU] Experimental prototype for MSL shaders
992         https://bugs.webkit.org/show_bug.cgi?id=191084
993
994         Reviewed by Dean Jackson.
995
996         Disabling WebGPU on non-Cocoa platforms and iOS Simulator.
997
998         * wtf/Platform.h:
999
1000 2018-11-01  Jiewen Tan  <jiewen_tan@apple.com>
1001
1002         Replace CommonRandom SPI with API
1003         https://bugs.webkit.org/show_bug.cgi?id=191178
1004         <rdar://problem/45722391>
1005
1006         Reviewed by Brent Fulgham.
1007
1008         * WTF.xcodeproj/project.pbxproj:
1009         * wtf/CMakeLists.txt:
1010         * wtf/RandomDevice.cpp:
1011         (WTF::RandomDevice::cryptographicallyRandomValues):
1012         * wtf/spi/darwin/CommonCryptoSPI.h: Removed.
1013
1014 2018-11-01  Fujii Hironori  <Hironori.Fujii@sony.com>
1015
1016         Rename <wtf/unicode/UTF8.h> to <wtf/unicode/UTF8Conversion.h> in order to avoid conflicting with ICU's unicode/utf8.h
1017         https://bugs.webkit.org/show_bug.cgi?id=189693
1018
1019         Reviewed by Yusuke Suzuki.
1020
1021         * WTF.xcodeproj/project.pbxproj: Replaced unicode/UTF8.{cpp,h} with unicode/UTF8Conversion.{cpp,h}.
1022         * wtf/CMakeLists.txt: Ditto.
1023         * wtf/text/AtomicStringImpl.cpp: Replaced <wtf/unicode/UTF8.h> with <wtf/unicode/UTF8Conversion.h>.
1024         * wtf/text/StringImpl.cpp: Ditto.
1025         * wtf/text/StringView.cpp: Ditto.
1026         * wtf/text/WTFString.cpp: Ditto.
1027         * wtf/unicode/UTF8Conversion.cpp: Renamed from Source/WTF/wtf/unicode/UTF8.cpp.
1028         * wtf/unicode/UTF8Conversion.h: Renamed from Source/WTF/wtf/unicode/UTF8.h.
1029
1030 2018-10-30  Don Olmstead  <don.olmstead@sony.com>
1031
1032         [PlayStation] Enable JavaScriptCore
1033         https://bugs.webkit.org/show_bug.cgi?id=191072
1034
1035         Reviewed by Brent Fulgham.
1036
1037         Add platform files for the PlayStation port.
1038
1039         * wtf/PlatformPlayStation.cmake: Added.
1040
1041 2018-10-30  David Kilzer  <ddkilzer@apple.com>
1042
1043         XSLTProcessor should limit max transform depth
1044         <https://webkit.org/b/191075>
1045         <rdar://problem/45531453>
1046
1047         Reviewed by Alex Christensen.
1048
1049         * wtf/cocoa/SoftLinking.h:
1050         (SOFT_LINK_VARIABLE_FOR_HEADER):
1051         (SOFT_LINK_VARIABLE_FOR_SOURCE):
1052         - Add macros for non-constant global variables.
1053
1054 2018-10-30  Alexey Proskuryakov  <ap@apple.com>
1055
1056         Clean up some obsolete MAX_ALLOWED macros
1057         https://bugs.webkit.org/show_bug.cgi?id=190916
1058
1059         Reviewed by Tim Horton.
1060
1061         * WTF.xcodeproj/project.pbxproj:
1062         * wtf/PlatformMac.cmake:
1063         * wtf/spi/cocoa/NSMapTableSPI.h: Removed. This was only needed for old SDKs.
1064
1065 2018-10-29  Mark Lam  <mark.lam@apple.com>
1066
1067         Correctly detect string overflow when using the 'Function' constructor.
1068         https://bugs.webkit.org/show_bug.cgi?id=184883
1069         <rdar://problem/36320331>
1070
1071         Reviewed by Saam Barati.
1072
1073         1. Enhanced StringBuilder so that it supports 2 modes of behavior:
1074            a. StringBuilder::OverflowHandler::CrashOnOverflow.
1075            b. StringBuilder::OverflowHandler::RecordOverflow.
1076
1077            CrashOnOverflow will crash the moment an overflow or failure to allocate
1078            memory is detected.
1079
1080            RecordOverflow will make StringBuilder::hasOverflowed() return true when an
1081            overflow or failure to allocate memory is detected.  However, if the user
1082            invokes toString(), toStringPreserveCapacity(), toAtomicString(), length(),
1083            capacity(), isEmpty(), characters8(), or characters16(), then the StringBuilder
1084            will crash regardless because these methods can only meaningfully do their
1085            work and return a result if and only if the builder has not overflowed.
1086
1087            By default, the StringBuilder crashes on overflow (the old behavior) unless it
1088            is explicitly constructed with the StringBuilder::OverflowHandler::RecordOverflow
1089            enum.
1090
1091            Design note:
1092
1093            The StringBuilder can only be put in 1 of the 2 modes at the time of
1094            construction.  This means that we could have implemented it as a template
1095            that is parameterized on an OverflowHandler class (like CheckedArithmetic)
1096            instead of using a runtime check in the ConditionalCrashOnOverflow handler.
1097
1098            However, I was not able to get clang to export the explicitly instantiated
1099            instances (despite the methods having being decorated with WTF_EXPORT_PRIVATE).
1100            Since the StringBuilder is a transient object (not stored for a long time on
1101            the heap), and the runtime check of the boolean is not that costly compared
1102            to other work that StringBuilder routinely does (e.g. memcpy), using the
1103            new ConditionalCrashOnOverflow (which does a runtime check to determine to
1104            crash or not on overflow) is fine.
1105
1106            When clang is able to export explicitly instantiated template methods, we can
1107            templatize StringBuilder and do away with ConditionalCrashOnOverflow.
1108            See https://bugs.webkit.org/show_bug.cgi?id=191050.
1109
1110         To support the above, we also did:
1111
1112         2. Enhanced all StringBuilder append and buffer allocation methods to be able to
1113            fail without crashing.  This also meant that ...
1114
1115         3. Added tryReallocate() support to StringImpl.  tryRealloc() was added to
1116            FastMalloc, and bmalloc (and related peers) to enable this.
1117
1118         4. Added ConditionalCrashOnOverflow, which can choose at runtime whether to behave
1119            like CrashOnOverflow or RecordOverflow.
1120
1121         * wtf/CheckedArithmetic.h:
1122         (WTF::ConditionalCrashOnOverflow::overflowed):
1123         (WTF::ConditionalCrashOnOverflow::shouldCrashOnOverflow const):
1124         (WTF::ConditionalCrashOnOverflow::setShouldCrashOnOverflow):
1125         (WTF::ConditionalCrashOnOverflow::hasOverflowed const):
1126         (WTF::ConditionalCrashOnOverflow::clearOverflow):
1127         (WTF::ConditionalCrashOnOverflow::crash):
1128         (WTF::RecordOverflow::overflowed):
1129         (WTF::Checked::unsafeGet const):
1130         * wtf/FastMalloc.cpp:
1131         (WTF::tryFastRealloc):
1132         * wtf/FastMalloc.h:
1133         * wtf/text/StringBuilder.cpp:
1134         (WTF::expandedCapacity):
1135         (WTF::StringBuilder::reifyString const):
1136         (WTF::StringBuilder::resize):
1137         (WTF::StringBuilder::allocateBuffer):
1138         (WTF::StringBuilder::allocateBufferUpConvert):
1139         (WTF::StringBuilder::reallocateBuffer<LChar>):
1140         (WTF::StringBuilder::reallocateBuffer<UChar>):
1141         (WTF::StringBuilder::reserveCapacity):
1142         (WTF::StringBuilder::appendUninitialized):
1143         (WTF::StringBuilder::appendUninitializedSlow):
1144         (WTF::StringBuilder::append):
1145         (WTF::StringBuilder::canShrink const):
1146         (WTF::StringBuilder::shrinkToFit):
1147         * wtf/text/StringBuilder.h:
1148         (WTF::StringBuilder::StringBuilder):
1149         (WTF::StringBuilder::didOverflow):
1150         (WTF::StringBuilder::hasOverflowed const):
1151         (WTF::StringBuilder::crashesOnOverflow const):
1152         (WTF::StringBuilder::append):
1153         (WTF::StringBuilder::toString):
1154         (WTF::StringBuilder::toStringPreserveCapacity const):
1155         (WTF::StringBuilder::toAtomicString const):
1156         (WTF::StringBuilder::length const):
1157         (WTF::StringBuilder::capacity const):
1158         (WTF::StringBuilder::operator[] const):
1159         (WTF::StringBuilder::swap):
1160         (WTF::StringBuilder::getBufferCharacters<UChar>):
1161         * wtf/text/StringBuilderJSON.cpp:
1162         (WTF::StringBuilder::appendQuotedJSONString):
1163         * wtf/text/StringImpl.cpp:
1164         (WTF::StringImpl::reallocateInternal):
1165         (WTF::StringImpl::reallocate):
1166         (WTF::StringImpl::tryReallocate):
1167         * wtf/text/StringImpl.h:
1168
1169 2018-10-29  Tim Horton  <timothy_horton@apple.com>
1170
1171         Modernize WebKit nibs and lprojs for localization's sake
1172         https://bugs.webkit.org/show_bug.cgi?id=190911
1173         <rdar://problem/45349466>
1174
1175         Reviewed by Dan Bernstein.
1176
1177         * WTF.xcodeproj/project.pbxproj:
1178         English->en
1179
1180 2018-10-29  Tadeu Zagallo  <tzagallo@apple.com>
1181
1182         New bytecode format for JSC
1183         https://bugs.webkit.org/show_bug.cgi?id=187373
1184         <rdar://problem/44186758>
1185
1186         Reviewed by Filip Pizlo.
1187
1188         * wtf/Forward.h: Fix WTF_LAZY_FOR_EACH_TERM on MSVC and add WTF_LAZY_HAS_REST to check whether
1189         a macro was passed multiple arguments
1190         * wtf/Platform.h: Force ENABLE_JIT=false on all 32-bit platforms
1191         * wtf/Vector.h:
1192         (WTF::minCapacity>::insertVector): Allow vectors with different overflow handlers to be passed to insertVector
1193
1194 2018-10-28  Geoffrey Garen  <ggaren@apple.com>
1195
1196         HashMap should support selecting a random entry
1197         https://bugs.webkit.org/show_bug.cgi?id=190814
1198
1199         Reviewed by Ryosuke Niwa.
1200
1201         * wtf/HashTable.h:
1202         (WTF::HashTable::random):
1203         (WTF::HashTable::random const): Merge the empty and deleted checks, and
1204         use more idiomatic addressing.
1205
1206 2018-10-26  Commit Queue  <commit-queue@webkit.org>
1207
1208         Unreviewed, rolling out r237479 and r237484.
1209         https://bugs.webkit.org/show_bug.cgi?id=190978
1210
1211         broke JSC on iOS (Requested by tadeuzagallo on #webkit).
1212
1213         Reverted changesets:
1214
1215         "New bytecode format for JSC"
1216         https://bugs.webkit.org/show_bug.cgi?id=187373
1217         https://trac.webkit.org/changeset/237479
1218
1219         "Gardening: Build fix after r237479."
1220         https://bugs.webkit.org/show_bug.cgi?id=187373
1221         https://trac.webkit.org/changeset/237484
1222
1223 2018-10-26  Tadeu Zagallo  <tzagallo@apple.com>
1224
1225         New bytecode format for JSC
1226         https://bugs.webkit.org/show_bug.cgi?id=187373
1227         <rdar://problem/44186758>
1228
1229         Reviewed by Filip Pizlo.
1230
1231         * wtf/Forward.h: Fix WTF_LAZY_FOR_EACH_TERM on MSVC and add WTF_LAZY_HAS_REST to check whether
1232         a macro was passed multiple arguments
1233         * wtf/Platform.h: Force ENABLE_JIT=false on all 32-bit platforms
1234         * wtf/Vector.h:
1235         (WTF::minCapacity>::insertVector): Allow vectors with different overflow handlers to be passed to insertVector
1236
1237 2018-10-26  Geoffrey Garen  <ggaren@apple.com>
1238
1239         HashMap should support selecting a random entry
1240         https://bugs.webkit.org/show_bug.cgi?id=190814
1241
1242         Reviewed by Antti Koivisto.
1243
1244         * wtf/HashTable.h:
1245         (WTF::HashTable::random):
1246         (WTF::HashTable::random const): Draw a new random bucket any time we
1247         have a miss, to avoid bias caused by lopsided tables.
1248
1249 2018-10-26  Antti Koivisto  <antti@apple.com>
1250
1251         hashSet.remove(hashSet.random()) doesn't build
1252         https://bugs.webkit.org/show_bug.cgi?id=190953
1253
1254         Reviewed by Chris Dumez.
1255
1256         * wtf/HashSet.h:
1257
1258         Remove non-const random(). HashSet only returns const iterators (it is immutable via iterator).
1259
1260         * wtf/HashTable.h:
1261         (WTF::HashTable::random const):
1262
1263         Invoke const_iterator() by using static_cast<> instead of trying to do it directly.
1264
1265 2018-10-26  Alicia Boya García  <aboya@igalia.com>
1266
1267         [MSE][WTF][Media] Invalid MediaTime should be falsy
1268         https://bugs.webkit.org/show_bug.cgi?id=190893
1269
1270         Reviewed by Jer Noble.
1271
1272         This patch modifies the definition of MediaTime so that invalid times
1273         are evaluated to false in the context of a boolean expression.
1274
1275         * wtf/MediaTime.cpp:
1276         (WTF::MediaTime::operator! const):
1277         (WTF::MediaTime::operator bool const):
1278
1279 2018-10-26  Keith Miller  <keith_miller@apple.com>
1280
1281         Some internal projects include wtf headers and build with C++11
1282         https://bugs.webkit.org/show_bug.cgi?id=190791
1283
1284         Reviewed by Alexey Proskuryakov.
1285
1286         C++11 doesn't support constexpr functions that contain
1287         statements. This patch removes getLSBSet set from builds before
1288         C++14 to avoid this for now.
1289
1290         * wtf/MathExtras.h:
1291         (getLSBSet):
1292
1293 2018-10-25  Ross Kirsling  <ross.kirsling@sony.com>
1294
1295         Cleanup: inline constexpr is redundant as constexpr implies inline
1296         https://bugs.webkit.org/show_bug.cgi?id=190819
1297
1298         Reviewed by Mark Lam.
1299
1300         * wtf/Bitmap.h:
1301         (WTF::WordType>::Bitmap):
1302         * wtf/LEBDecoder.h:
1303         (WTF::LEBDecoder::maxByteLength):
1304         * wtf/MathExtras.h:
1305         (defaultMinimumForClamp):
1306         (defaultMaximumForClamp):
1307         (clampToAccepting64):
1308         (isLessThan):
1309         (isLessThanEqual):
1310         (isGreaterThan):
1311         (isGreaterThanEqual):
1312         (WTF::roundUpToPowerOfTwo):
1313         (WTF::maskForSize):
1314         * wtf/Optional.h:
1315         * wtf/PtrTag.h:
1316         (WTF::tagCodePtr):
1317         (WTF::untagCodePtr):
1318         (WTF::retagCodePtr):
1319         (WTF::removeCodePtrTag):
1320         * wtf/StdLibExtras.h:
1321         (WTF::roundUpToMultipleOf):
1322         * wtf/Variant.h:
1323         (WTF::operator==):
1324         (WTF::operator!=):
1325         (WTF::operator>=):
1326         (WTF::operator<=):
1327         (WTF::operator>):
1328         (WTF::operator<):
1329         * wtf/text/StringImpl.h:
1330         (WTF::StringImplShape::StringImplShape):
1331         (WTF::StringImpl::StaticStringImpl::StaticStringImpl):
1332
1333 2018-10-25  Geoffrey Garen  <ggaren@apple.com>
1334
1335         HashMap should support selecting a random entry
1336         https://bugs.webkit.org/show_bug.cgi?id=190814
1337
1338         Reviewed by Antti Koivisto.
1339
1340         In some cases, remove(begin()) is not quite good enough as a random
1341         eviction strategy. (See https://bugs.webkit.org/show_bug.cgi?id=190792.)
1342         So, let's support real random eviction.
1343
1344         (And by "real" I mean "pseudo".)
1345
1346         * wtf/HashCountedSet.h:
1347         * wtf/HashMap.h:
1348         * wtf/HashSet.h:
1349         * wtf/ListHashSet.h:
1350         (WTF::ListHashSet::random):
1351         (WTF::ListHashSet::random const):
1352         * wtf/LoggingHashMap.h:
1353         * wtf/LoggingHashSet.h: Plumb through the random() iterator.
1354
1355         * wtf/HashTable.h:
1356         (WTF::HashTable::random):
1357         (WTF::HashTable::random const): Implement the random() iterator.
1358         makeIterator() already supports starting from any bucket, so this is
1359         pretty easy.
1360
1361         In the subtle case where we select end(), we choose to wrap around and
1362         return begin(). We expect that clients don't really think of the end()
1363         bucket as being in the domain of the random search. Also, we don't want
1364         to annoy clients who know their tables are non-empty with needless
1365         checks for end().
1366
1367         * wtf/RandomNumber.cpp:
1368         (WTF::weakRandomUint32):
1369         * wtf/RandomNumber.h: Added a free function for weak random numbers so
1370         that clients that want cheap random numbers aren't required to allocate
1371         storage for a WeakRandom generator.
1372
1373 2018-10-24  Megan Gardner  <megan_gardner@apple.com>
1374
1375         Turn on Conic Gradients
1376         https://bugs.webkit.org/show_bug.cgi?id=190810
1377
1378         Reviewed by Tim Horton.
1379
1380         * wtf/FeatureDefines.h:
1381
1382 2018-10-24  Christopher Reid  <chris.reid@sony.com>
1383
1384         [Win] Add function call name information to stack traces
1385         https://bugs.webkit.org/show_bug.cgi?id=190761
1386
1387         Reviewed by Fujii Hironori.
1388
1389         Add symbol information to stack traces using dbghelp.dll
1390         This library will use symbols files from these sources:
1391             - The current working directory
1392             - The directory containing the application's executable
1393             - _NT_SYMBOL_PATH environment variable
1394             - _NT_ALTERNATE_SYMBOL_PATH environment variable
1395
1396         This functionality is currently only enabled in debug mode since dbghelp is not threadsafe.
1397         The DbgHelper class attempts to synchronize calls to dbghelp.dll but external code
1398         can still attempt to call the library at the same time as WebKit.
1399
1400         * wtf/CMakeLists.txt:
1401         * wtf/PlatformWin.cmake:
1402         * wtf/StackTrace.cpp:
1403         * wtf/win/DbgHelperWin.cpp: Added.
1404         * wtf/win/DbgHelperWin.h: Added.
1405
1406 2018-10-22  Alexey Proskuryakov  <ap@apple.com>
1407
1408         Really prevent PLATFORM(IOS) from being used
1409         https://bugs.webkit.org/show_bug.cgi?id=190813
1410
1411         Reviewed by Tim Horton.
1412
1413         * wtf/Platform.h: This relies on -Wundef, which we have enabled.
1414
1415 2018-10-22  Chris Dumez  <cdumez@apple.com>
1416
1417         Deque's contains() and findIf() should be const
1418         https://bugs.webkit.org/show_bug.cgi?id=190796
1419
1420         Reviewed by Antti Koivisto.
1421
1422         Deque's contains() and findIf() should be const as they do not modify the container.
1423
1424         * wtf/Deque.h:
1425         (WTF::inlineCapacity>::findIf):
1426         (WTF::inlineCapacity>::findIf const):
1427         (WTF::inlineCapacity>::contains const):
1428         (WTF::inlineCapacity>::contains): Deleted.
1429
1430 2018-10-18  Alicia Boya García  <aboya@igalia.com>
1431
1432         [Media] Use nanoseconds as MaximumTimeScale
1433         https://bugs.webkit.org/show_bug.cgi?id=190631
1434
1435         1e9 is a much more useful timescale than the previous one 2^31-1.
1436         Unlike 2^31-1, which is a prime number, nanosecond scale is pretty
1437         common among some formats like WebM and frameworks like GStreamer
1438         where base 10 timescale is common... and it's those big timescales the
1439         ones that are usually scaled up to MaximumTimeScale.
1440
1441         Reviewed by Jer Noble.
1442
1443         * wtf/MediaTime.cpp:
1444
1445 2018-10-18  Alexey Proskuryakov  <ap@apple.com>
1446
1447         Remove PLATFORM(IOS) for now
1448         https://bugs.webkit.org/show_bug.cgi?id=190737
1449
1450         Reviewed by Tim Horton.
1451
1452         * wtf/Platform.h:
1453
1454 2018-10-18  Alexey Proskuryakov  <ap@apple.com>
1455
1456         Switch from PLATFORM(IOS) to PLATFORM(IOS_FAMILY)
1457         https://bugs.webkit.org/show_bug.cgi?id=190729
1458
1459         Reviewed by Tim Horton.
1460
1461         * wtf/Assertions.h:
1462         * wtf/FeatureDefines.h:
1463         * wtf/InlineASM.h:
1464         * wtf/MemoryPressureHandler.cpp:
1465         (WTF::thresholdForPolicy):
1466         * wtf/Platform.h:
1467         * wtf/cocoa/MemoryPressureHandlerCocoa.mm:
1468         (WTF::MemoryPressureHandler::install):
1469         (WTF::MemoryPressureHandler::respondToMemoryPressure):
1470         * wtf/spi/cocoa/NSMapTableSPI.h:
1471         * wtf/spi/darwin/XPCSPI.h:
1472         * wtf/text/StringCommon.h:
1473         * wtf/text/TextBreakIterator.cpp:
1474         * wtf/text/TextBreakIterator.h:
1475         * wtf/unicode/icu/CollatorICU.cpp:
1476         (WTF::copyDefaultLocale):
1477
1478 2018-10-18  Alex Christensen  <achristensen@webkit.org>
1479
1480         Clean up FrameLoader two-state enums
1481         https://bugs.webkit.org/show_bug.cgi?id=190731
1482
1483         Reviewed by Chris Dumez.
1484
1485         * wtf/EnumTraits.h:
1486         (WTF::isValidEnum):
1487
1488 2018-10-17  Commit Queue  <commit-queue@webkit.org>
1489
1490         Unreviewed, rolling out r237208.
1491         https://bugs.webkit.org/show_bug.cgi?id=190691
1492
1493         Caused the API test that was changed to failure continuously
1494         (Requested by Truitt on #webkit).
1495
1496         Reverted changeset:
1497
1498         "[Media] Use nanoseconds as MaximumTimeScale"
1499         https://bugs.webkit.org/show_bug.cgi?id=190631
1500         https://trac.webkit.org/changeset/237208
1501
1502 2018-10-16  Alicia Boya García  <aboya@igalia.com>
1503
1504         [Media] Use nanoseconds as MaximumTimeScale
1505         https://bugs.webkit.org/show_bug.cgi?id=190631
1506
1507         1e9 is a much more useful timescale than the previous one 2^31-1.
1508         Unlike 2^31-1, which is a prime number, nanosecond scale is pretty
1509         common among some formats like WebM and frameworks like GStreamer
1510         where base 10 timescale is common... and it's those big timescales the
1511         ones that are usually scaled up to MaximumTimeScale.
1512
1513         Reviewed by Jer Noble.
1514
1515         * wtf/MediaTime.cpp:
1516
1517 2018-10-15  Keith Miller  <keith_miller@apple.com>
1518
1519         Support arm64 CPUs with a 32-bit address space
1520         https://bugs.webkit.org/show_bug.cgi?id=190273
1521
1522         Reviewed by Michael Saboff.
1523
1524         Use WTF_CPU_ADDRESS64/32 to decide if the system is running on arm64_32.
1525
1526         * wtf/MathExtras.h:
1527         (getLSBSet):
1528         * wtf/Platform.h:
1529
1530 2018-10-15  Timothy Hatcher  <timothy@apple.com>
1531
1532         Add support for prefers-color-scheme media query
1533         https://bugs.webkit.org/show_bug.cgi?id=190499
1534         rdar://problem/45212025
1535
1536         Reviewed by Dean Jackson.
1537
1538         * wtf/FeatureDefines.h: Added ENABLE_DARK_MODE_CSS.
1539
1540 2018-10-15  Saam barati  <sbarati@apple.com>
1541
1542         Emit fjcvtzs on ARM64E on Darwin
1543         https://bugs.webkit.org/show_bug.cgi?id=184023
1544
1545         Reviewed by Yusuke Suzuki and Filip Pizlo.
1546
1547         * wtf/Platform.h:
1548
1549 2018-10-15  Alex Christensen  <achristensen@webkit.org>
1550
1551         Use pragma once in WTF
1552         https://bugs.webkit.org/show_bug.cgi?id=190527
1553
1554         Reviewed by Chris Dumez.
1555
1556         We also need to consistently include wtf headers from within wtf so we can build wtf without
1557         symbol redefinition errors from including the copy in Source and the copy in the build directory.
1558
1559         * wtf/ASCIICType.h:
1560         * wtf/Assertions.cpp:
1561         * wtf/Assertions.h:
1562         * wtf/Atomics.h:
1563         * wtf/AutomaticThread.cpp:
1564         * wtf/AutomaticThread.h:
1565         * wtf/BackwardsGraph.h:
1566         * wtf/Bag.h:
1567         * wtf/BagToHashMap.h:
1568         * wtf/BitVector.cpp:
1569         * wtf/BitVector.h:
1570         * wtf/Bitmap.h:
1571         * wtf/BloomFilter.h:
1572         * wtf/Box.h:
1573         * wtf/BubbleSort.h:
1574         * wtf/BumpPointerAllocator.h:
1575         * wtf/ByteOrder.h:
1576         * wtf/CPUTime.cpp:
1577         * wtf/CallbackAggregator.h:
1578         * wtf/CheckedArithmetic.h:
1579         * wtf/CheckedBoolean.h:
1580         * wtf/ClockType.cpp:
1581         * wtf/ClockType.h:
1582         * wtf/CommaPrinter.h:
1583         * wtf/CompilationThread.cpp:
1584         * wtf/CompilationThread.h:
1585         * wtf/Compiler.h:
1586         * wtf/ConcurrentPtrHashSet.cpp:
1587         * wtf/ConcurrentVector.h:
1588         * wtf/Condition.h:
1589         * wtf/CountingLock.cpp:
1590         * wtf/CrossThreadTaskHandler.cpp:
1591         * wtf/CryptographicUtilities.cpp:
1592         * wtf/CryptographicUtilities.h:
1593         * wtf/CryptographicallyRandomNumber.cpp:
1594         * wtf/CryptographicallyRandomNumber.h:
1595         * wtf/CurrentTime.cpp:
1596         * wtf/DataLog.cpp:
1597         * wtf/DataLog.h:
1598         * wtf/DateMath.cpp:
1599         * wtf/DateMath.h:
1600         * wtf/DecimalNumber.cpp:
1601         * wtf/DecimalNumber.h:
1602         * wtf/Deque.h:
1603         * wtf/DisallowCType.h:
1604         * wtf/Dominators.h:
1605         * wtf/DoublyLinkedList.h:
1606         * wtf/FastBitVector.cpp:
1607         * wtf/FastMalloc.cpp:
1608         * wtf/FastMalloc.h:
1609         * wtf/FeatureDefines.h:
1610         * wtf/FilePrintStream.cpp:
1611         * wtf/FilePrintStream.h:
1612         * wtf/FlipBytes.h:
1613         * wtf/FunctionDispatcher.cpp:
1614         * wtf/FunctionDispatcher.h:
1615         * wtf/GetPtr.h:
1616         * wtf/Gigacage.cpp:
1617         * wtf/GlobalVersion.cpp:
1618         * wtf/GraphNodeWorklist.h:
1619         * wtf/GregorianDateTime.cpp:
1620         * wtf/GregorianDateTime.h:
1621         * wtf/HashFunctions.h:
1622         * wtf/HashMap.h:
1623         * wtf/HashMethod.h:
1624         * wtf/HashSet.h:
1625         * wtf/HashTable.cpp:
1626         * wtf/HashTraits.h:
1627         * wtf/Indenter.h:
1628         * wtf/IndexSparseSet.h:
1629         * wtf/InlineASM.h:
1630         * wtf/Insertion.h:
1631         * wtf/IteratorAdaptors.h:
1632         * wtf/IteratorRange.h:
1633         * wtf/JSONValues.cpp:
1634         * wtf/JSValueMalloc.cpp:
1635         * wtf/LEBDecoder.h:
1636         * wtf/Language.cpp:
1637         * wtf/ListDump.h:
1638         * wtf/Lock.cpp:
1639         * wtf/Lock.h:
1640         * wtf/LockAlgorithm.h:
1641         * wtf/LockedPrintStream.cpp:
1642         * wtf/Locker.h:
1643         * wtf/MD5.cpp:
1644         * wtf/MD5.h:
1645         * wtf/MainThread.cpp:
1646         * wtf/MainThread.h:
1647         * wtf/MallocPtr.h:
1648         * wtf/MathExtras.h:
1649         * wtf/MediaTime.cpp:
1650         * wtf/MediaTime.h:
1651         * wtf/MemoryPressureHandler.cpp:
1652         * wtf/MessageQueue.h:
1653         * wtf/MetaAllocator.cpp:
1654         * wtf/MetaAllocator.h:
1655         * wtf/MetaAllocatorHandle.h:
1656         * wtf/MonotonicTime.cpp:
1657         * wtf/MonotonicTime.h:
1658         * wtf/NakedPtr.h:
1659         * wtf/NoLock.h:
1660         * wtf/NoTailCalls.h:
1661         * wtf/Noncopyable.h:
1662         * wtf/NumberOfCores.cpp:
1663         * wtf/NumberOfCores.h:
1664         * wtf/OSAllocator.h:
1665         * wtf/OSAllocatorPosix.cpp:
1666         * wtf/OSRandomSource.cpp:
1667         * wtf/OSRandomSource.h:
1668         * wtf/ObjcRuntimeExtras.h:
1669         * wtf/OrderMaker.h:
1670         * wtf/PackedIntVector.h:
1671         * wtf/PageAllocation.h:
1672         * wtf/PageBlock.cpp:
1673         * wtf/PageBlock.h:
1674         * wtf/PageReservation.h:
1675         * wtf/ParallelHelperPool.cpp:
1676         * wtf/ParallelHelperPool.h:
1677         * wtf/ParallelJobs.h:
1678         * wtf/ParallelJobsLibdispatch.h:
1679         * wtf/ParallelVectorIterator.h:
1680         * wtf/ParkingLot.cpp:
1681         * wtf/ParkingLot.h:
1682         * wtf/Platform.h:
1683         * wtf/PointerComparison.h:
1684         * wtf/Poisoned.cpp:
1685         * wtf/PrintStream.cpp:
1686         * wtf/PrintStream.h:
1687         * wtf/ProcessID.h:
1688         * wtf/ProcessPrivilege.cpp:
1689         * wtf/RAMSize.cpp:
1690         * wtf/RAMSize.h:
1691         * wtf/RandomDevice.cpp:
1692         * wtf/RandomNumber.cpp:
1693         * wtf/RandomNumber.h:
1694         * wtf/RandomNumberSeed.h:
1695         * wtf/RangeSet.h:
1696         * wtf/RawPointer.h:
1697         * wtf/ReadWriteLock.cpp:
1698         * wtf/RedBlackTree.h:
1699         * wtf/Ref.h:
1700         * wtf/RefCountedArray.h:
1701         * wtf/RefCountedLeakCounter.cpp:
1702         * wtf/RefCountedLeakCounter.h:
1703         * wtf/RefCounter.h:
1704         * wtf/RefPtr.h:
1705         * wtf/RetainPtr.h:
1706         * wtf/RunLoop.cpp:
1707         * wtf/RunLoop.h:
1708         * wtf/RunLoopTimer.h:
1709         * wtf/RunLoopTimerCF.cpp:
1710         * wtf/SHA1.cpp:
1711         * wtf/SHA1.h:
1712         * wtf/SaturatedArithmetic.h:
1713         (saturatedSubtraction):
1714         * wtf/SchedulePair.h:
1715         * wtf/SchedulePairCF.cpp:
1716         * wtf/SchedulePairMac.mm:
1717         * wtf/ScopedLambda.h:
1718         * wtf/Seconds.cpp:
1719         * wtf/Seconds.h:
1720         * wtf/SegmentedVector.h:
1721         * wtf/SentinelLinkedList.h:
1722         * wtf/SharedTask.h:
1723         * wtf/SimpleStats.h:
1724         * wtf/SingleRootGraph.h:
1725         * wtf/SinglyLinkedList.h:
1726         * wtf/SixCharacterHash.cpp:
1727         * wtf/SixCharacterHash.h:
1728         * wtf/SmallPtrSet.h:
1729         * wtf/Spectrum.h:
1730         * wtf/StackBounds.cpp:
1731         * wtf/StackBounds.h:
1732         * wtf/StackStats.cpp:
1733         * wtf/StackStats.h:
1734         * wtf/StackTrace.cpp:
1735         * wtf/StdLibExtras.h:
1736         * wtf/StreamBuffer.h:
1737         * wtf/StringHashDumpContext.h:
1738         * wtf/StringPrintStream.cpp:
1739         * wtf/StringPrintStream.h:
1740         * wtf/ThreadGroup.cpp:
1741         * wtf/ThreadMessage.cpp:
1742         * wtf/ThreadSpecific.h:
1743         * wtf/Threading.cpp:
1744         * wtf/Threading.h:
1745         * wtf/ThreadingPrimitives.h:
1746         * wtf/ThreadingPthreads.cpp:
1747         * wtf/TimeWithDynamicClockType.cpp:
1748         * wtf/TimeWithDynamicClockType.h:
1749         * wtf/TimingScope.cpp:
1750         * wtf/TinyLRUCache.h:
1751         * wtf/TinyPtrSet.h:
1752         * wtf/TriState.h:
1753         * wtf/TypeCasts.h:
1754         * wtf/UUID.cpp:
1755         * wtf/UnionFind.h:
1756         * wtf/VMTags.h:
1757         * wtf/ValueCheck.h:
1758         * wtf/Vector.h:
1759         * wtf/VectorTraits.h:
1760         * wtf/WallTime.cpp:
1761         * wtf/WallTime.h:
1762         * wtf/WeakPtr.h:
1763         * wtf/WeakRandom.h:
1764         * wtf/WordLock.cpp:
1765         * wtf/WordLock.h:
1766         * wtf/WorkQueue.cpp:
1767         * wtf/WorkQueue.h:
1768         * wtf/WorkerPool.cpp:
1769         * wtf/cf/LanguageCF.cpp:
1770         * wtf/cf/RunLoopCF.cpp:
1771         * wtf/cocoa/Entitlements.mm:
1772         * wtf/cocoa/MachSendRight.cpp:
1773         * wtf/cocoa/MainThreadCocoa.mm:
1774         * wtf/cocoa/MemoryFootprintCocoa.cpp:
1775         * wtf/cocoa/WorkQueueCocoa.cpp:
1776         * wtf/dtoa.cpp:
1777         * wtf/dtoa.h:
1778         * wtf/ios/WebCoreThread.cpp:
1779         * wtf/ios/WebCoreThread.h:
1780         * wtf/mac/AppKitCompatibilityDeclarations.h:
1781         * wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
1782         * wtf/mbmalloc.cpp:
1783         * wtf/persistence/PersistentCoders.cpp:
1784         * wtf/persistence/PersistentDecoder.cpp:
1785         * wtf/persistence/PersistentEncoder.cpp:
1786         * wtf/spi/cf/CFBundleSPI.h:
1787         * wtf/spi/darwin/CommonCryptoSPI.h:
1788         * wtf/text/ASCIIFastPath.h:
1789         * wtf/text/ASCIILiteral.cpp:
1790         * wtf/text/AtomicString.cpp:
1791         * wtf/text/AtomicString.h:
1792         * wtf/text/AtomicStringHash.h:
1793         * wtf/text/AtomicStringImpl.cpp:
1794         * wtf/text/AtomicStringImpl.h:
1795         * wtf/text/AtomicStringTable.cpp:
1796         * wtf/text/AtomicStringTable.h:
1797         * wtf/text/Base64.cpp:
1798         * wtf/text/CString.cpp:
1799         * wtf/text/CString.h:
1800         * wtf/text/ConversionMode.h:
1801         * wtf/text/ExternalStringImpl.cpp:
1802         * wtf/text/IntegerToStringConversion.h:
1803         * wtf/text/LChar.h:
1804         * wtf/text/LineEnding.cpp:
1805         * wtf/text/StringBuffer.h:
1806         * wtf/text/StringBuilder.cpp:
1807         * wtf/text/StringBuilder.h:
1808         * wtf/text/StringBuilderJSON.cpp:
1809         * wtf/text/StringCommon.h:
1810         * wtf/text/StringConcatenate.h:
1811         * wtf/text/StringHash.h:
1812         * wtf/text/StringImpl.cpp:
1813         * wtf/text/StringImpl.h:
1814         * wtf/text/StringOperators.h:
1815         * wtf/text/StringView.cpp:
1816         * wtf/text/StringView.h:
1817         * wtf/text/SymbolImpl.cpp:
1818         * wtf/text/SymbolRegistry.cpp:
1819         * wtf/text/SymbolRegistry.h:
1820         * wtf/text/TextBreakIterator.cpp:
1821         * wtf/text/TextBreakIterator.h:
1822         * wtf/text/TextBreakIteratorInternalICU.h:
1823         * wtf/text/TextPosition.h:
1824         * wtf/text/TextStream.cpp:
1825         * wtf/text/UniquedStringImpl.h:
1826         * wtf/text/WTFString.cpp:
1827         * wtf/text/WTFString.h:
1828         * wtf/text/cocoa/StringCocoa.mm:
1829         * wtf/text/cocoa/StringViewCocoa.mm:
1830         * wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp:
1831         * wtf/text/icu/UTextProvider.cpp:
1832         * wtf/text/icu/UTextProvider.h:
1833         * wtf/text/icu/UTextProviderLatin1.cpp:
1834         * wtf/text/icu/UTextProviderLatin1.h:
1835         * wtf/text/icu/UTextProviderUTF16.cpp:
1836         * wtf/text/icu/UTextProviderUTF16.h:
1837         * wtf/threads/BinarySemaphore.cpp:
1838         * wtf/threads/BinarySemaphore.h:
1839         * wtf/threads/Signals.cpp:
1840         * wtf/unicode/CharacterNames.h:
1841         * wtf/unicode/Collator.h:
1842         * wtf/unicode/CollatorDefault.cpp:
1843         * wtf/unicode/UTF8.cpp:
1844         * wtf/unicode/UTF8.h:
1845
1846 2018-10-12  Alex Christensen  <achristensen@webkit.org>
1847
1848         Allow encoding of small enum classes
1849         https://bugs.webkit.org/show_bug.cgi?id=190531
1850
1851         Reviewed by Tim Horton.
1852
1853         * wtf/Forward.h:
1854
1855 2018-10-11  Alexey Proskuryakov  <ap@apple.com>
1856
1857         Add PLATFORM(IOS_FAMILY) and OS(IOS_FAMILY)
1858         https://bugs.webkit.org/show_bug.cgi?id=190477
1859
1860         Reviewed by Tim Horton.
1861
1862         Currently, PLATFORM(IOS) and OS(IOS) are true when building for any
1863         TARGET_OS_IPHONE target, which is quite confusing. Add a better named alternative,
1864         as a first step towards mass replacing PLATFORM(IOS). Can't so it all at once
1865         because of dependencies in other source repositories.
1866
1867         * wtf/Platform.h: Changed to the new name in this file though. Kept a few
1868         instances that actually target iOS only, having a version check.
1869
1870 2018-10-11  Yusuke Suzuki  <yusukesuzuki@slowstart.org>
1871
1872         Use currentStackPointer more
1873         https://bugs.webkit.org/show_bug.cgi?id=190503
1874
1875         Reviewed by Saam Barati.
1876
1877         Use WTF::currentStackPointer more in WebKit to adopt ASAN detect_stack_use_after_return option.
1878
1879         * wtf/StackBounds.cpp:
1880         (WTF::testStackDirection2):
1881         (WTF::testStackDirection):
1882         * wtf/ThreadingPthreads.cpp:
1883         (WTF::Thread::signalHandlerSuspendResume):
1884         (WTF::getApproximateStackPointer): Deleted.
1885
1886 2018-10-11  Ross Kirsling  <ross.kirsling@sony.com>
1887
1888         [WTF] Semaphore.h conflicts with POSIX header
1889         https://bugs.webkit.org/show_bug.cgi?id=190486
1890
1891         Reviewed by Yusuke Suzuki.
1892
1893         Rename Semaphore.h to WTFSemaphore.h to avoid conflict with POSIX semaphore.h on case-insensitive file systems.
1894
1895         * WTF.xcodeproj/project.pbxproj:
1896         * wtf/CMakeLists.txt:
1897         * wtf/WTFSemaphore.h: Renamed from wtf/Semaphore.h.
1898
1899 2018-10-10  Mark Lam  <mark.lam@apple.com>
1900
1901         Changes towards allowing use of the ASAN detect_stack_use_after_return option.
1902         https://bugs.webkit.org/show_bug.cgi?id=190405
1903         <rdar://problem/45131464>
1904
1905         Reviewed by Michael Saboff.
1906
1907         Introduce WTF::currentStackPointer() which computes its caller's stack pointer value.
1908
1909         * WTF.xcodeproj/project.pbxproj:
1910         * wtf/CMakeLists.txt:
1911         * wtf/StackBounds.h:
1912         (WTF::StackBounds::checkConsistency const):
1913         * wtf/StackPointer.cpp: Added.
1914         (WTF::currentStackPointer):
1915         * wtf/StackPointer.h: Added.
1916
1917 2018-10-09  Mark Lam  <mark.lam@apple.com>
1918
1919         StringTypeAdapter constructor is not properly enforcing String::MaxLength.
1920         https://bugs.webkit.org/show_bug.cgi?id=190392
1921         <rdar://problem/45116210>
1922
1923         Reviewed by Saam Barati.
1924
1925         Previously, the StringTypeAdapter constructor for a UChar* string was summing the
1926         unsigned length of the source string without an overflow check.  We now make that
1927         length a size_t which removes this issue, and assert that it's within
1928         String::MaxLength thereafter.
1929
1930         Also made the StringTypeAdapter constructor for a LChar* string behave in an
1931         equivalent manner for consistency.  In both cases, we'll crash in a RELEASE_ASSERT
1932         if the source string length exceeds String::MaxLength.
1933
1934         * wtf/text/StringConcatenate.h:
1935
1936 2018-10-09  Mark Lam  <mark.lam@apple.com>
1937
1938         Revert temporary asserts for debugging a mysterious ASAN bot crash.
1939         https://bugs.webkit.org/show_bug.cgi?id=190396
1940
1941         Reviewed by Yusuke Suzuki.
1942
1943         * wtf/StackBounds.cpp:
1944         (WTF::StackBounds::newThreadStackBounds):
1945         * wtf/StackBounds.h:
1946         (WTF::StackBounds::checkConsistency const):
1947
1948 2018-10-08  Aditya Keerthi  <akeerthi@apple.com>
1949
1950         Make <input type=color> a runtime enabled (on-by-default) feature
1951         https://bugs.webkit.org/show_bug.cgi?id=189162
1952
1953         Reviewed by Wenson Hsieh and Tim Horton.
1954
1955         * wtf/FeatureDefines.h:
1956
1957 2018-10-06  Mark Lam  <mark.lam@apple.com>
1958
1959         Adding some temporary asserts with data logging to debug a mysterious ASAN bot crash.
1960         https://bugs.webkit.org/show_bug.cgi?id=190334
1961         <rdar://problem/45071303>
1962
1963         Reviewed by Yusuke Suzuki.
1964
1965         These assertions are needed because we can't reproduce the issue locally.
1966         We'll remove these asserts after the needed data has been collected from the bot.
1967
1968         * wtf/StackBounds.cpp:
1969         (WTF::StackBounds::newThreadStackBounds):
1970         * wtf/StackBounds.h:
1971         (WTF::StackBounds::checkConsistency const):
1972
1973 2018-10-07  Yusuke Suzuki  <yusukesuzuki@slowstart.org>
1974
1975         Name Heap threads
1976         https://bugs.webkit.org/show_bug.cgi?id=190337
1977
1978         Reviewed by Mark Lam.
1979
1980         Add a functionality naming threads of ParallelHelperPool.
1981
1982         * wtf/ParallelHelperPool.cpp:
1983         (WTF::ParallelHelperPool::ParallelHelperPool):
1984         * wtf/ParallelHelperPool.h:
1985
1986 2018-10-06  Mark Lam  <mark.lam@apple.com>
1987
1988         Adding some temporary asserts to debug a mysterious ASAN bot crash.
1989         https://bugs.webkit.org/show_bug.cgi?id=190331
1990
1991         Reviewed by Filip Pizlo.
1992
1993         These assertions are needed because we can't reproduce the issue locally.
1994         We'll remove these asserts after the needed data has been collected from the bot.
1995
1996         * wtf/StackBounds.h:
1997         (WTF::StackBounds::checkConsistency const):
1998
1999 2018-10-05  Yusuke Suzuki  <yusukesuzuki@slowstart.org>
2000
2001         [JSC][Linux] Support Perf JITDump logging
2002         https://bugs.webkit.org/show_bug.cgi?id=189893
2003
2004         Reviewed by Mark Lam.
2005
2006         * wtf/PageReservation.h:
2007         (WTF::PageReservation::reserveAndCommitWithGuardPages):
2008
2009 2018-10-03  Dan Bernstein  <mitz@apple.com>
2010
2011         WTF part of [Xcode] Update some build settings as recommended by Xcode 10
2012         https://bugs.webkit.org/show_bug.cgi?id=190250
2013
2014         Reviewed by Alex Christensen.
2015
2016         * Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS,
2017           and CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF.
2018
2019         * WTF.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.
2020
2021         * wtf/MathExtras.h:
2022         (WTF::fastLog2): Addressed newly-enabled CLANG_WARN_COMMA by splitting some comma-separated
2023           expressions into individual statements.
2024
2025 2018-10-03  Mark Lam  <mark.lam@apple.com>
2026
2027         Make string MaxLength for all WTF and JS strings consistently equal to INT_MAX.
2028         https://bugs.webkit.org/show_bug.cgi?id=190187
2029         <rdar://problem/42512909>
2030
2031         Reviewed by Michael Saboff.
2032
2033         * wtf/text/StringConcatenate.h:
2034         (WTF::tryMakeStringFromAdapters):
2035         (WTF::sumWithOverflow): Deleted.
2036         * wtf/text/StringImpl.h:
2037         * wtf/text/WTFString.h:
2038
2039 2018-10-03  Michael Catanzaro  <mcatanzaro@igalia.com>
2040
2041         -Wunused-variable in RenderLayer::updateScrollableAreaSet
2042         https://bugs.webkit.org/show_bug.cgi?id=190200
2043
2044         Reviewed by Yusuke Suzuki.
2045
2046         Add a new UNUSED_VARIABLE() macro. It's the same as UNUSED_PARAM(), just named differently.
2047
2048         * wtf/Compiler.h:
2049
2050 2018-10-01  Dean Jackson  <dino@apple.com>
2051
2052         [macOS] Switching to discrete GPU should be done in the UI process
2053         https://bugs.webkit.org/show_bug.cgi?id=189361
2054         <rdar://problem/43949622>
2055
2056         Reviewed by Simon Fraser.
2057
2058         Define GL_SILENCE_DEPRECATION to avoid deprecation warnings for OpenGL.
2059
2060         * wtf/Platform.h:
2061
2062 2018-10-02  Commit Queue  <commit-queue@webkit.org>
2063
2064         Unreviewed, rolling out r236624 and r236671.
2065         https://bugs.webkit.org/show_bug.cgi?id=190207
2066
2067         The change in r236624 introduced crashes on the bots
2068         (Requested by ryanhaddad on #webkit).
2069
2070         Reverted changesets:
2071
2072         "Refactoring: eliminate raw pointer usage in Fullscreen code"
2073         https://bugs.webkit.org/show_bug.cgi?id=188747
2074         https://trac.webkit.org/changeset/236624
2075
2076         "Unify implementation in VideoFullscreenInterfaceAVKit"
2077         https://bugs.webkit.org/show_bug.cgi?id=190091
2078         https://trac.webkit.org/changeset/236671
2079
2080 2018-10-02  Caio Lima  <ticaiolima@gmail.com>
2081
2082         [BigInt] BigInt.proptotype.toString is broken when radix is power of 2
2083         https://bugs.webkit.org/show_bug.cgi?id=190033
2084
2085         Reviewed by Yusuke Suzuki.
2086
2087         * wtf/MathExtras.h:
2088         (WTF::ctz32):
2089
2090 2018-10-01  Andy Estes  <aestes@apple.com>
2091
2092         [watchOS] Adopt NSURLSessionCompanionProxyPreference
2093         https://bugs.webkit.org/show_bug.cgi?id=190177
2094         <rdar://problem/43402114>
2095
2096         Reviewed by Wenson Hsieh.
2097
2098         * wtf/FeatureDefines.h:
2099
2100 2018-10-01  Koby Boyango  <koby.b@mce-sys.com>
2101
2102         [WTF][JSCONLY] Use MainThreadWin on Windows in the JSCOnly port
2103         https://bugs.webkit.org/show_bug.cgi?id=190121
2104
2105         Reviewed by Yusuke Suzuki.
2106
2107         This fixes JSCOnly build on Windows after r236617.
2108
2109         * wtf/PlatformJSCOnly.cmake:
2110
2111 2018-10-01  Commit Queue  <commit-queue@webkit.org>
2112
2113         Unreviewed, rolling out r236647.
2114         https://bugs.webkit.org/show_bug.cgi?id=190124
2115
2116         Breaking test stress/big-int-to-string.js (Requested by
2117         caiolima_ on #webkit).
2118
2119         Reverted changeset:
2120
2121         "[BigInt] BigInt.proptotype.toString is broken when radix is
2122         power of 2"
2123         https://bugs.webkit.org/show_bug.cgi?id=190033
2124         https://trac.webkit.org/changeset/236647
2125
2126 2018-09-30  Caio Lima  <ticaiolima@gmail.com>
2127
2128         [BigInt] BigInt.proptotype.toString is broken when radix is power of 2
2129         https://bugs.webkit.org/show_bug.cgi?id=190033
2130
2131         Reviewed by Yusuke Suzuki.
2132
2133         * wtf/MathExtras.h:
2134         (WTF::ctz32):
2135
2136 2018-09-28  Jer Noble  <jer.noble@apple.com>
2137
2138         Refactoring: eliminate raw pointer usage in Fullscreen code
2139         https://bugs.webkit.org/show_bug.cgi?id=188747
2140         <rdar://problem/43541164>
2141
2142         Reviewed by Alex Christensen.
2143
2144         * WTF.xcodeproj/project.pbxproj:
2145         * wtf/WeakPtrContainer.h: Added.
2146
2147 2018-09-28  Yusuke Suzuki  <yusukesuzuki@slowstart.org>
2148
2149         [WTF] Make isMainThread more reliable
2150         https://bugs.webkit.org/show_bug.cgi?id=189880
2151
2152         Reviewed by Mark Lam.
2153
2154         isMainThread() relied on Thread::current(). This API becomes broken in Windows
2155         when the Thread is about to be destroyed since TLS is already cleared. This causes
2156         a bug since `isMainThread()` is called in Thread::didExit in Windows.
2157
2158         This patch makes this `isMainThread` more reliable in all the platforms. In Windows,
2159         we use `Thread::currentID()` instead of `Thread::current()` since `Thread::currentID`
2160         uses Win32 GetCurrentThreadId directly. In the other system, we use `pthread_main_np`
2161         or `pthread_self` instead.
2162
2163         We also move `holdLock` code inside `if (shouldRemoveThreadFromThreadGroup())`. If
2164         the other thread takes a mutex and destroyed, this `holdLock` waits forever. This problem
2165         only happens in Windows since Windows calls TLS destructor for the main thread.
2166
2167         * WTF.xcodeproj/project.pbxproj:
2168         * wtf/MainThread.cpp:
2169         (WTF::initializeMainThread):
2170         (): Deleted.
2171         (WTF::isMainThread): Deleted.
2172         (WTF::isMainThreadIfInitialized): Deleted.
2173         * wtf/Platform.h:
2174         * wtf/PlatformMac.cmake:
2175         * wtf/Threading.cpp:
2176         (WTF::Thread::didExit):
2177         * wtf/cocoa/MainThreadCocoa.mm: Renamed from Source/WTF/wtf/mac/MainThreadMac.mm.
2178         * wtf/generic/MainThreadGeneric.cpp:
2179         (WTF::initializeMainThreadPlatform):
2180         (WTF::isMainThread):
2181         (WTF::isMainThreadIfInitialized):
2182         * wtf/win/MainThreadWin.cpp:
2183         (WTF::initializeMainThreadPlatform):
2184         (WTF::isMainThread):
2185         (WTF::isMainThreadIfInitialized):
2186
2187 2018-09-28  Commit Queue  <commit-queue@webkit.org>
2188
2189         Unreviewed, rolling out r236605.
2190         https://bugs.webkit.org/show_bug.cgi?id=190087
2191
2192         caused three API test timeouts (Requested by jernoble on
2193         #webkit).
2194
2195         Reverted changeset:
2196
2197         "Refactoring: eliminate raw pointer usage in Fullscreen code"
2198         https://bugs.webkit.org/show_bug.cgi?id=188747
2199         https://trac.webkit.org/changeset/236605
2200
2201 2018-09-28  Brian Burg  <bburg@apple.com>
2202
2203         Replace recently added line comments in Compiler.h
2204         https://bugs.webkit.org/show_bug.cgi?id=190062
2205         <rdar://problem/44838618>
2206
2207         Reviewed by Joseph Pecoraro.
2208
2209         This breaks some Apple-internal tooling. For now, work around it by
2210         changing the comment style. On the other side, the issue will be fixed
2211         more permanently by adopting the approach from r230213.
2212
2213         * wtf/Compiler.h: Use multiline comments.
2214
2215 2018-09-28  Jer Noble  <jer.noble@apple.com>
2216
2217         Refactoring: eliminate raw pointer usage in Fullscreen code
2218         https://bugs.webkit.org/show_bug.cgi?id=188747
2219         <rdar://problem/43541164>
2220
2221         Reviewed by Alex Christensen.
2222
2223         * WTF.xcodeproj/project.pbxproj:
2224         * wtf/WeakPtrContainer.h: Added.
2225
2226 2018-09-28  Koby Boyango  <koby.b@mce.systems>
2227
2228         [WTF] Add ExternalStringImpl, a StringImpl for user controlled buffers
2229         https://bugs.webkit.org/show_bug.cgi?id=189991
2230
2231         Reviewed by Yusuke Suzuki.
2232
2233         * WTF.xcodeproj/project.pbxproj:
2234         * wtf/CMakeLists.txt:
2235         * wtf/text/ExternalStringImpl.cpp: Added.
2236         * wtf/text/ExternalStringImpl.h: Added.
2237         * wtf/text/StringImpl.cpp:
2238         * wtf/text/StringImpl.h:
2239
2240 2018-09-27  Saam barati  <sbarati@apple.com>
2241
2242         Verify the contents of AssemblerBuffer on arm64e
2243         https://bugs.webkit.org/show_bug.cgi?id=190057
2244         <rdar://problem/38916630>
2245
2246         Reviewed by Mark Lam.
2247
2248         * wtf/PtrTag.h:
2249         (WTF::tagInt):
2250
2251 2018-09-27  Jer Noble  <jer.noble@apple.com>
2252
2253         MediaPlayer should have mediaPlayerWaitingForKeyChanged() / bool waitingForKey() accessor
2254         https://bugs.webkit.org/show_bug.cgi?id=189951
2255
2256         Reviewed by Eric Carlson.
2257
2258         Templated functions should take r-value references, as they have perfect type deduction for
2259         all parameter types; references, l-value references, and r-value references in template function
2260         parameters have special type deduction semantics.
2261         See: <https://en.cppreference.com/w/cpp/language/reference#Forwarding_references>
2262
2263         Previously, const reference parameters would be copied when passed into anyOf(), and containers
2264         of Ref<> would generate compile errors when passed into anyOf, as they cannot be copied. Now,
2265         with r-value reference types in template parameters, a const reference is mapped to a const reference,
2266         a non-const reference is mapped to a non-const reference, and a r-value reference is mapped to
2267         an r-value reference.
2268
2269         * wtf/Algorithms.h:
2270         (WTF::forEach):
2271         (WTF::anyOf):
2272         (WTF::allOf):
2273
2274 2018-09-25  John Wilander  <wilander@apple.com>
2275
2276         Change from HAVE(CFNETWORK_STORAGE_PARTITIONING) to ENABLE(RESOURCE_LOAD_STATISTICS)
2277         https://bugs.webkit.org/show_bug.cgi?id=189959
2278         <rdar://problem/44767642>
2279
2280         Reviewed by Chris Dumez.
2281
2282         * wtf/Platform.h:
2283             Enables RESOURCE_LOAD_STATISTICS for Cocoa platforms.
2284
2285 2018-09-24  Fujii Hironori  <Hironori.Fujii@sony.com>
2286
2287         Rename WTF_COMPILER_GCC_OR_CLANG to WTF_COMPILER_GCC_COMPATIBLE
2288         https://bugs.webkit.org/show_bug.cgi?id=189733
2289
2290         Reviewed by Michael Catanzaro.
2291
2292         Clang for Windows build enables WTF_COMPILER_CLANG and
2293         WTF_COMPILER_MSVC, but disables WTF_COMPILER_GCC_OR_CLANG. It is
2294         strange WTF_COMPILER_GCC_OR_CLANG is not enabled even though
2295         WTF_COMPILER_CLANG is enabled. However, Clang for Windows imitates
2296         MSVC, and codes for COMPILER(GCC_OR_CLANG) are for non MSVC. At
2297         least at the moment, it is not feasible to define
2298         WTF_COMPILER_GCC_OR_CLANG for Clang for Windows.
2299
2300         To solve the issue, this change renames WTF_COMPILER_GCC_OR_CLANG
2301         to WTF_COMPILER_GCC_COMPATIBLE.
2302
2303         As an exception, I'd like to use IGNORE_WARNINGS_* macros even in
2304         Clang for Windows builds.
2305
2306         * wtf/Assertions.cpp: Replaced COMPILER(GCC_OR_CLANG) with COMPILER(GCC_COMPATIBLE).
2307         * wtf/Assertions.h: Ditto.
2308         * wtf/Atomics.h: Ditto.
2309         * wtf/CheckedArithmetic.h: Ditto.
2310         * wtf/FastMalloc.h: Ditto.
2311         * wtf/MathExtras.h: Ditto.
2312         * wtf/Platform.h: Ditto.
2313         * wtf/StdLibExtras.h: Ditto.
2314         * wtf/Vector.h: Ditto.
2315         * wtf/text/ASCIIFastPath.h: Ditto.
2316         * wtf/Compiler.h:  Ditto. Replaced "COMPILER(GCC_OR_CLANG)" with "COMPILER(GCC) || COMPILER(CLANG)" of IGNORE_WARNINGS_* macros.
2317
2318 2018-09-21  Yusuke Suzuki  <yusukesuzuki@slowstart.org>
2319
2320         [JSC] Enable LLInt ASM interpreter on X64 and ARM64 in non JIT configuration
2321         https://bugs.webkit.org/show_bug.cgi?id=189778
2322
2323         Reviewed by Keith Miller.
2324
2325         This patch adds ENABLE(C_LOOP) which indicates we use CLoop as the interpreter.
2326         Previously, we used !ENABLE(JIT) for this configuration. But now, we have
2327         a build configuration that has LLInt ASM interpreter (not CLoop) and !ENABLE(JIT).
2328
2329         We enable LLInt ASM interpreter for non JIT environment in X86_64 and ARM64 architectures.
2330         And we enable ENABLE(ASSEMBLER) for non JIT environment since it offers machine register
2331         information which is used for LLInt and SamplingProfiler.
2332
2333         * wtf/Platform.h:
2334
2335 2018-09-21  Keith Miller  <keith_miller@apple.com>
2336
2337         Add Promise SPI
2338         https://bugs.webkit.org/show_bug.cgi?id=189809
2339
2340         Reviewed by Saam Barati.
2341
2342         Fix issue where creating a JSContextRef off the main thread before
2343         creating initializing the main thread would cause an assertion
2344         failure.
2345
2346         * wtf/MainThread.cpp:
2347         (WTF::isMainThreadIfInitialized):
2348         * wtf/MainThread.h:
2349         * wtf/mac/MainThreadMac.mm:
2350         (WTF::isMainThreadIfInitialized):
2351         * wtf/text/cf/StringImplCF.cpp:
2352         (WTF::StringImpl::createCFString):
2353
2354 2018-09-21  Ryan Haddad  <ryanhaddad@apple.com>
2355
2356         Unreviewed, rolling out r236359.
2357
2358         Broke the Windows build.
2359
2360         Reverted changeset:
2361
2362         "Add Promise SPI"
2363         https://bugs.webkit.org/show_bug.cgi?id=189809
2364         https://trac.webkit.org/changeset/236359
2365
2366 2018-09-21  Keith Miller  <keith_miller@apple.com>
2367
2368         Add Promise SPI
2369         https://bugs.webkit.org/show_bug.cgi?id=189809
2370
2371         Reviewed by Saam Barati.
2372
2373         Fix issue where creating a JSContextRef off the main thread before
2374         creating initializing the main thread would cause an assertion
2375         failure.
2376
2377         * wtf/MainThread.cpp:
2378         (WTF::isMainThreadIfInitialized):
2379         * wtf/MainThread.h:
2380         * wtf/mac/MainThreadMac.mm:
2381         (WTF::isMainThreadIfInitialized):
2382         * wtf/text/cf/StringImplCF.cpp:
2383         (WTF::StringImpl::createCFString):
2384
2385 2018-09-20  Fujii Hironori  <Hironori.Fujii@sony.com>
2386
2387         [Win][Clang] UNUSED_PARAM(this) causes compilation error of "cannot take the address of an rvalue of type"
2388         https://bugs.webkit.org/show_bug.cgi?id=189732
2389
2390         Reviewed by Per Arne Vollan.
2391
2392         Clang for Windows can't compile the MSVC workaround of
2393         UNUSED_PARAM which has been introduced for Windows CE and Visual
2394         Studio 10. I think it's safe just to remove it.
2395
2396         * wtf/Compiler.h: Removed the code for COMPILER(MSVC).
2397
2398 2018-09-20  Alex Christensen  <achristensen@webkit.org>
2399
2400         Unreviewed, rolling out r235976.
2401
2402         Broke ARM
2403
2404         Reverted changeset:
2405
2406         "Use a Variant instead of a union in CSSSelector"
2407         https://bugs.webkit.org/show_bug.cgi?id=188559
2408         https://trac.webkit.org/changeset/235976
2409
2410 2018-09-17  Yusuke Suzuki  <utatane.tea@gmail.com>
2411
2412         [WTF] Use Semaphore and BinarySemaphore instead of dispatch_semaphore_t
2413         https://bugs.webkit.org/show_bug.cgi?id=185339
2414
2415         Reviewed by Mark Lam.
2416
2417         This patch adds WTF::Semaphore, which is based on WTF::Lock and WTF::Condition.
2418
2419         * WTF.xcodeproj/project.pbxproj:
2420         * wtf/CMakeLists.txt:
2421         * wtf/Semaphore.h: Added.
2422         (WTF::Semaphore::Semaphore):
2423         (WTF::Semaphore::signal):
2424         (WTF::Semaphore::waitUntil):
2425         (WTF::Semaphore::waitFor):
2426         (WTF::Semaphore::wait):
2427         * wtf/generic/WorkQueueGeneric.cpp:
2428         (WorkQueue::platformInitialize):
2429         * wtf/threads/BinarySemaphore.cpp:
2430         (WTF::BinarySemaphore::waitUntil):
2431         (WTF::BinarySemaphore::wait): Deleted.
2432         * wtf/threads/BinarySemaphore.h:
2433         (WTF::BinarySemaphore::waitFor):
2434         (WTF::BinarySemaphore::wait):
2435         Align the names of the functions to WTF::Condition.
2436         Add BinarySemaphore::wait(), which is the same to waitUntil(WallTime::infinity()).
2437
2438 2018-09-17  Jer Noble  <jer.noble@apple.com>
2439
2440         Add support for HEVC codec types in Media Capabilities
2441         https://bugs.webkit.org/show_bug.cgi?id=189565
2442
2443         Reviewed by Eric Carlson.
2444
2445         Extract the toIntegralType template into its own header.
2446
2447         * wtf/CMakeLists.txt:
2448         * wtf/text/StringConversion.h: Added.
2449         (isCharacterAllowedInBase):
2450         (toIntegralType):
2451         * wtf/text/WTFString.cpp:
2452
2453 2018-09-17  Jer Noble  <jer.noble@apple.com>
2454
2455         Enable USE_MEDIAREMOTE on iOS
2456         https://bugs.webkit.org/show_bug.cgi?id=189096
2457
2458         Reviewed by Eric Carlson.
2459
2460         * wtf/Platform.h:
2461
2462 2018-09-17  Frederic Wang  <fwang@igalia.com>
2463
2464         Build error in ImageBufferCG when compiled with IOSurfacePool
2465         https://bugs.webkit.org/show_bug.cgi?id=189579
2466
2467         Reviewed by Tim Horton.
2468
2469         IOSurface.h might be included with different value of IOSURFACE_CANVAS_BACKING_STORE, causing
2470         compilation errors when files in the same unified source do not agree on the definition.
2471         This patch moves the definition of IOSURFACE_CANVAS_BACKING_STORE from ImageBufferDataCG.h
2472         to Platform.h so that IOSURFACE_CANVAS_BACKING_STORE is set to the same value in all files.
2473         Finally some minors changes to explicitly declare/define ImageBuffer are performed in order
2474         to prevent future issues with Unified build rotating.
2475
2476         * wtf/Platform.h: Move definition from ImageBufferDataCG.h.
2477
2478 2018-09-14  Ryan Haddad  <ryanhaddad@apple.com>
2479
2480         Unreviewed, rolling out r235990.
2481
2482         Introduced TestWebKitAPI.NowPlayingTest timeouts on iOS
2483
2484         Reverted changeset:
2485
2486         "Enable USE_MEDIAREMOTE on iOS"
2487         https://bugs.webkit.org/show_bug.cgi?id=189096
2488         https://trac.webkit.org/changeset/235990
2489
2490 2018-09-13  Jer Noble  <jer.noble@apple.com>
2491
2492         Enable USE_MEDIAREMOTE on iOS
2493         https://bugs.webkit.org/show_bug.cgi?id=189096
2494
2495         Reviewed by Eric Carlson.
2496
2497         * wtf/Platform.h:
2498
2499 2018-09-13  Alex Christensen  <achristensen@webkit.org>
2500
2501         Use a Variant instead of a union in CSSSelector
2502         https://bugs.webkit.org/show_bug.cgi?id=188559
2503
2504         Reviewed by Antti Koivisto.
2505
2506         * wtf/Variant.h:
2507         Add packing macros to make it so Variant-containing structures don't always have 7 bytes of padding per Variant.
2508
2509 2018-09-12  Guillaume Emont  <guijemont@igalia.com>
2510
2511         Add IGNORE_WARNING_.* macros
2512         https://bugs.webkit.org/show_bug.cgi?id=188996
2513
2514         Reviewed by Michael Catanzaro.
2515
2516         * wtf/Assertions.cpp:
2517         * wtf/Assertions.h:
2518         * wtf/Compiler.h:
2519         * wtf/MD5.cpp:
2520         (WTF::MD5::MD5):
2521         (WTF::MD5::addBytes):
2522         (WTF::MD5::checksum):
2523         * wtf/PrintStream.cpp:
2524         (WTF::PrintStream::printfVariableFormat):
2525         * wtf/SHA1.cpp:
2526         (WTF::SHA1::SHA1):
2527         (WTF::SHA1::addBytes):
2528         (WTF::SHA1::computeHash):
2529         * wtf/ThreadingPthreads.cpp:
2530         * wtf/Vector.h:
2531         (WTF::VectorBuffer::endOfBuffer):
2532         * wtf/text/WTFString.cpp:
2533         (WTF::createWithFormatAndArguments):
2534
2535 == Rolled over to ChangeLog-2018-09-11 ==