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