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