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