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