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