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