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