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