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