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