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