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