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