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