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