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