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