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