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