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