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