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