[GTK] API test /webkit/WebKitWebView/usermedia-enumeratedevices-permission-check...
[WebKit-https.git] / Source / WTF / ChangeLog
1 2020-09-18  Don Olmstead  <don.olmstead@sony.com>
2
3         [WebGPU] Add ENABLE(WHLSL_COMPILER) guard
4         https://bugs.webkit.org/show_bug.cgi?id=216713
5
6         Reviewed by Myles C. Maxfield.
7
8         Adds a default for ENABLE_WHLSL_COMPILER on Cocoa platforms.
9
10         * wtf/PlatformEnable.h:
11         * wtf/PlatformEnableCocoa.h:
12
13 2020-09-17  Devin Rousso  <drousso@apple.com>
14
15         Web Inspector: REGRESSION(r266885): fix open source build
16         https://bugs.webkit.org/show_bug.cgi?id=216675
17
18         Reviewed by Timothy Hatcher.
19
20         Add back methods used by `WebInspector.framework`.
21
22         * wtf/JSONValues.h:
23         * wtf/JSONValues.cpp:
24         (WTF::JSONImpl::Value::asDouble const): Added.
25         (WTF::JSONImpl::Value::asInteger const): Added.
26         (WTF::JSONImpl::Value::asString const): Added.
27         (WTF::JSONImpl::ObjectBase::getBoolean const): Added.
28         (WTF::JSONImpl::ObjectBase::getString const): Added.
29         (WTF::JSONImpl::ObjectBase::getObject const): Added.
30         (WTF::JSONImpl::ObjectBase::getArray const): Added.
31         (WTF::JSONImpl::ObjectBase::getValue const): Added.
32
33 2020-09-16  Stephan Szabo  <stephan.szabo@sony.com>
34
35         Remove ENABLE_METER_ELEMENT
36         https://bugs.webkit.org/show_bug.cgi?id=216582
37
38         Reviewed by Fujii Hironori.
39
40         With PlayStation finally planning to turn this on,
41         no ports had this disabled, so remove the enable flag.
42
43         * wtf/PlatformEnable.h:
44
45 2020-09-16  Alex Christensen  <achristensen@webkit.org>
46
47         Remove unneeded HAVE_FOUNDATION_WITH_SAVE_COOKIES_WITH_COMPLETION_HANDLER
48         https://bugs.webkit.org/show_bug.cgi?id=216572
49
50         Reviewed by Youenn Fablet.
51
52         * wtf/PlatformHave.h:
53
54 2020-09-15  David Kilzer  <ddkilzer@apple.com>
55
56         WebKit should support building with clang ThreadSanitizer enabled
57         <https://webkit.org/b/216318>
58         <rdar://problem/31615729>
59
60         Reviewed by Darin Adler.
61
62         This patch doesn't attempt to resolve every potential false
63         positive, but makes it easy to build WebKit with TSan enabled.
64
65         * WTF.xcodeproj/project.pbxproj:
66         * wtf/CMakeLists.txt:
67         - Add ThreadSanitizerSupport.h to the project.
68
69         * wtf/Compiler.h:
70         - Define TSAN_ENABLED and SUPPRESS_TSAN macros.
71
72         * wtf/Locker.h:
73         (WTF::Locker::~Locker):
74         (WTF::Locker::unlockEarly):
75         (WTF::Locker::operator=):
76         (WTF::Locker::lock):
77         - Instrument lock/unlock methods for ThreadSanitizer.
78
79         * wtf/ThreadSanitizerSupport.h: Add.
80         (AnnotateHappensBefore):
81         (AnnotateHappensAfter):
82         - Declare TSan runtime functions needed to annotate WTF::Locker.
83         (TSAN_ANNOTATE_HAPPENS_BEFORE):
84         (TSAN_ANNOTATE_HAPPENS_AFTER):
85         - Define macros used to call TSan runtime functions if TSan is
86           enabled.
87
88 2020-09-15  Myles C. Maxfield  <mmaxfield@apple.com>
89
90         [macOS Big Sur] CGFontRenderingGetFontSmoothingDisabled() is no longer useful
91         https://bugs.webkit.org/show_bug.cgi?id=216588
92         <rdar://problem/68657748>
93
94         Reviewed by Simon Fraser.
95
96         We can eliminate WebKit's use of it to eventually phase it out entirely.
97
98         * wtf/PlatformHave.h:
99
100 2020-09-12  Simon Fraser  <simon.fraser@apple.com>
101
102         Convert TextStream::FormattingFlags to an OptionSet<>
103         https://bugs.webkit.org/show_bug.cgi?id=216443
104
105         Reviewed by Darin Adler.
106
107         Use an OptionSet<> for FormattingFlags.
108
109         * wtf/text/TextStream.h:
110         (WTF::TextStream::TextStream):
111         (WTF::TextStream::formattingFlags const):
112         (WTF::TextStream::setFormattingFlags):
113         (WTF::TextStream::hasFormattingFlag const):
114
115 2020-09-11  Yusuke Suzuki  <ysuzuki@apple.com>
116
117         [JSC] Canonicalize "true" unicode extension type value to ""
118         https://bugs.webkit.org/show_bug.cgi?id=216224
119
120         Reviewed by Ross Kirsling.
121
122         * wtf/text/StringView.h:
123         (WTF::StringView::characterAt const):
124         (WTF::StringView::operator[] const):
125
126 2020-09-11  Myles C. Maxfield  <mmaxfield@apple.com>
127
128         [Cocoa] Migrate CoreText-specific code from ***Cocoa.mm to ***CoreText.cpp
129         https://bugs.webkit.org/show_bug.cgi?id=216400
130
131         Reviewed by Tim Horton.
132
133         * wtf/PlatformUse.h:
134
135 2020-09-11  Kate Cheney  <katherine_cheney@apple.com>
136
137         Followup to Bug 215027: address comments to improve APP_BOUND_DOMAINS macro use
138         https://bugs.webkit.org/show_bug.cgi?id=216373
139         <rdar://problem/68645704>
140
141         Reviewed by Darin Adler.
142
143         Remove unnecessary default. All enable flags are off by default.
144
145         * wtf/PlatformEnable.h:
146
147 2020-09-10  Ben Nham  <nham@apple.com>
148
149         Disable hardware JPEG decoding on x86 Mac
150         https://bugs.webkit.org/show_bug.cgi?id=216377
151
152         Reviewed by Geoff Garen.
153
154         Add macros to disable HW JPEG decoding on x86 Macs and indicate the presence of a new MediaToolbox SPI.
155         (The latter is to prevent unnecessary dlopen/dlsym calls since we soft-link MediaToolbox.)
156
157         * wtf/PlatformEnableCocoa.h:
158         * wtf/PlatformHave.h:
159
160 2020-09-10  Devin Rousso  <drousso@apple.com>
161
162         Web Inspector: modernize generated backend protocol code
163         https://bugs.webkit.org/show_bug.cgi?id=216302
164         <rdar://problem/68547649>
165
166         Reviewed by Brian Burg.
167
168         * wtf/JSONValues.h:
169         (WTF::JSONImpl::ObjectBase::setValue):
170         (WTF::JSONImpl::ObjectBase::setObject):
171         (WTF::JSONImpl::ObjectBase::setArray):
172         (WTF::JSONImpl::ArrayBase::pushValue):
173         (WTF::JSONImpl::ArrayBase::pushObject):
174         (WTF::JSONImpl::ArrayBase::pushArray):
175         (WTF::JSONImpl::ArrayOf::ArrayOf): Deleted.
176         (WTF::JSONImpl::ArrayOf::castedArray): Deleted.
177         (WTF::JSONImpl::ArrayOf::addItem): Deleted.
178         (WTF::JSONImpl::ArrayOf::create): Deleted.
179         * wtf/JSONValues.cpp:
180         (WTF::JSONImpl::Value::asValue):
181         (WTF::JSONImpl::Value::asObject):
182         (WTF::JSONImpl::Value::asArray):
183         (WTF::JSONImpl::Value::parseJSON):
184         (WTF::JSONImpl::Value::asBoolean const):
185         (WTF::JSONImpl::Value::asDouble const):
186         (WTF::JSONImpl::Value::asInteger const):
187         (WTF::JSONImpl::Value::asString const):
188         (WTF::JSONImpl::ObjectBase::asObject):
189         (WTF::JSONImpl::ObjectBase::memoryCost const):
190         (WTF::JSONImpl::ObjectBase::getBoolean const):
191         (WTF::JSONImpl::ObjectBase::getDouble const):
192         (WTF::JSONImpl::ObjectBase::getInteger const):
193         (WTF::JSONImpl::ObjectBase::getString const):
194         (WTF::JSONImpl::ObjectBase::getObject const):
195         (WTF::JSONImpl::ObjectBase::getArray const):
196         (WTF::JSONImpl::ObjectBase::getValue const):
197         (WTF::JSONImpl::ObjectBase::ObjectBase):
198         (WTF::JSONImpl::ArrayBase::asArray):
199         (WTF::JSONImpl::ArrayBase::writeJSON const):
200         (WTF::JSONImpl::ArrayBase::ArrayBase):
201         (WTF::JSONImpl::ArrayBase::get const):
202         (WTF::JSONImpl::ArrayBase::memoryCost const):
203         (WTF::JSONImpl::ObjectBase::openAccessors): Deleted.
204         Use `Ref&&` wherever possible and `Optional` instead of an out parameter for `get*`/`as*`
205         so that values can be more easily manipulated and can be confidently assumed to exist.
206         Remove unused overloads and allow subclasses to call `as*` instead of `openAccessors` as
207         they're effectively the same thing.
208
209 2020-09-10  Jer Noble  <jer.noble@apple.com>
210
211         [Cocoa] PERF: Don't instantiate AVPlayer-based audio decoders or renderers if an element is initially muted.
212         https://bugs.webkit.org/show_bug.cgi?id=216299
213
214         Reviewed by Eric Carlson.
215
216         * wtf/PlatformHave.h:
217
218 2020-09-10  Tim Horton  <timothy_horton@apple.com>
219
220         Upstream additional linked-on-or-after version checks
221         https://bugs.webkit.org/show_bug.cgi?id=216365
222
223         Reviewed by Sam Weinig.
224
225         * wtf/spi/darwin/dyldSPI.h:
226
227 2020-09-10  Kate Cheney  <katherine_cheney@apple.com>
228
229         Clean up App-Bound Domains code to only compile for iOS with its own macro
230         https://bugs.webkit.org/show_bug.cgi?id=215027
231         <rdar://problem/63688232>
232
233         Reviewed by Darin Adler.
234
235         Define a new APP_BOUND_DOMAINS preprocessor macro to more aptly gate
236         App Bound Domains behavior.
237
238         * wtf/PlatformEnable.h:
239         * wtf/PlatformEnableCocoa.h:
240
241 2020-09-10  Said Abou-Hallawa  <sabouhallawa@apple.com>
242
243         [CG] REGRESSION (Big Sur): A GIF image with a finite loopCount loops an extra cycle
244         https://bugs.webkit.org/show_bug.cgi?id=216018
245         <rdar://problem/68304035>
246
247         Reviewed by Tim Horton.
248
249         Add a new macro for the new accurate behavior of CGImageSource.
250
251         Unrelated change: Fix the conditions for enabling the WebP images.
252
253         * wtf/PlatformHave.h:
254
255 2020-09-09  Ryosuke Niwa  <rniwa@webkit.org>
256
257         Simplify OptionSet::set
258         https://bugs.webkit.org/show_bug.cgi?id=216335
259
260         Reviewed by Said Abou-Hallawa.
261
262         Simplified the implementation of OptionSet::set since we've verified that both clang and gcc
263         generate comparable code in x86_64 and clang does the same for arm64.
264
265         * wtf/OptionSet.h:
266         (WTF::OptionSet::set):
267
268 2020-09-09  Wenson Hsieh  <wenson_hsieh@apple.com>
269
270         Text copied and pasted from Mac Catalyst apps appears larger than expected
271         https://bugs.webkit.org/show_bug.cgi?id=215971
272         <rdar://problem/65768907>
273
274         Reviewed by Tim Horton.
275
276         Add a new flag to guard the presence of `_UIApplicationCatalystUserInterfaceIdiom`,
277         `_UIApplicationCatalystScaleFactor`, and `_UIApplicationCatalystRequestViewServiceIdiomAndScaleFactor`.
278
279         * wtf/PlatformHave.h:
280
281 2020-09-08  Ryosuke Niwa  <rniwa@webkit.org>
282
283         Node flags should be an OptionSet
284         https://bugs.webkit.org/show_bug.cgi?id=216305
285
286         Reviewed by Antti Koivisto.
287
288         * wtf/OptionSet.h:
289         (WTF::OptionSet::set): Added.
290
291 2020-09-06  Ryosuke Niwa  <rniwa@webkit.org>
292
293         Make CompactUniquePtrTuple actually work with subclassing and custom deleter
294         https://bugs.webkit.org/show_bug.cgi?id=216225
295
296         Reviewed by Darin Adler.
297
298         Fixed bugs in CompactUniquePtrTuple which prevented subclassing and custom deleter to work.
299
300         * wtf/CompactPointerTuple.h:
301         (WTF::CompactPointerTuple::CompactPointerTuple): Added move constructor with implicit cast
302         of a convertible pointer type.
303         * wtf/CompactUniquePtrTuple.h:
304         (WTF::makeCompactUniquePtr): Added the missing deleter from the return type.
305         (WTF::CompactUniquePtrTuple::CompactUniquePtrTuple): Allow Deleter to be different if it's
306         the default deleter in the move constructor so that CompactUniquePtrTuple<U, Type> could be
307         moved to CompactUniquePtrTuple<T, Type> if U is convertible to T without having to specify
308         the same deleter (std::default_delete<U> is not same as std::default_delete<T> but allow it).
309         (WTF::CompactUniquePtrTuple::operator=): Ditto.
310         (WTF::CompactUniquePtrTuple::setPointer): Ditto from std::unique_ptr.
311         (WTF::CompactUniquePtrTuple): Friend declare all other specializations of CompactUniquePtrTuple
312         so that the above fixes work.
313
314 2020-09-06  Myles C. Maxfield  <mmaxfield@apple.com>
315
316         [iOS] attachmentActionFont() Needs to use kCTFontSymbolicTrait: @(kCTFontTraitTightLeading | kCTFontTraitEmphasized) to get the short emphasized footnote font
317         https://bugs.webkit.org/show_bug.cgi?id=215707
318         <rdar://problem/63930892>
319
320         Reviewed by Darin Adler.
321
322         * wtf/PlatformHave.h:
323
324 2020-09-06  Myles C. Maxfield  <mmaxfield@apple.com>
325
326         CTFontGetPhysicalSymbolicTraits() is faster than CTFontCopyPhysicalFont()/CTFontGetSymbolicTraits()
327         https://bugs.webkit.org/show_bug.cgi?id=215685
328
329         Reviewed by Darin Adler.
330
331         * wtf/PlatformHave.h:
332
333 2020-09-06  Darin Adler  <darin@apple.com>
334
335         TextCodec refinements
336         https://bugs.webkit.org/show_bug.cgi?id=216219
337
338         Reviewed by Sam Weinig.
339
340         * wtf/unicode/CharacterNames.h: Use constexpr instead of just const.
341         Added byteOrderMark, synonym for zeroWidthNoBreakSpace.
342
343 2020-09-05  Myles C. Maxfield  <mmaxfield@apple.com>
344
345         [Cocoa] USE(PLATFORM_SYSTEM_FALLBACK_LIST) is true on all Cocoa platforms, so there's no need to consult it in Cocoa-specific files
346         https://bugs.webkit.org/show_bug.cgi?id=215684
347
348         Reviewed by Darin Adler.
349
350         * wtf/PlatformUse.h:
351
352 2020-09-05  Myles C. Maxfield  <mmaxfield@apple.com>
353
354         [Cocoa] CTFontIsSystemUIFont() is faster than CTFontDescriptorIsSystemUIFont()/CTFontCopyFontDescriptor()
355         https://bugs.webkit.org/show_bug.cgi?id=215687
356
357         Reviewed by Darin Adler.
358
359         * wtf/PlatformHave.h:
360
361 2020-09-05  Myles C. Maxfield  <mmaxfield@apple.com>
362
363         [Cocoa] Migrate off SPI in Font::platformWidthForGlyph()
364         https://bugs.webkit.org/show_bug.cgi?id=215670
365
366         Reviewed by Zalan Bujtas.
367
368         * wtf/PlatformUse.h:
369
370 2020-09-04  Alex Christensen  <achristensen@webkit.org>
371
372         Move PDF heads-up display to UI process on macOS
373         https://bugs.webkit.org/show_bug.cgi?id=215780
374         <rdar://problem/58715847>
375
376         Reviewed by Tim Horton.
377
378         * wtf/PlatformHave.h:
379
380 2020-09-03  Ryosuke Niwa  <rniwa@webkit.org>
381
382         GTK+ build fix attempt after r266573.
383
384         * wtf/CompactUniquePtrTuple.h:
385
386 2020-09-02  Ryosuke Niwa  <rniwa@webkit.org>
387
388         Add CompactUniquePtrTuple
389         https://bugs.webkit.org/show_bug.cgi?id=215936
390
391         Reviewed by Darin Adler.
392
393         Added a new template class, CompactUniquePtrTuple, which stores a pointer and up to 16-bits of
394         a POD type using CompactPointerTuple.
395
396         * WTF.xcodeproj/project.pbxproj:
397         * wtf/CMakeLists.txt:
398         * wtf/CompactUniquePtrTuple.h: Added.
399         (WTF::makeCompactUniquePtr): Added. Like makeUnique, creates an object of the specified type
400         and returns CompactUniquePtrTuple.
401         (WTF::CompactUniquePtrTuple): Added.
402         (WTF::CompactUniquePtrTuple::CompactUniquePtrTuple): Move constructor.
403         (WTF::CompactUniquePtrTuple::~CompactUniquePtrTuple):
404         (WTF::CompactUniquePtrTuple::operator=):
405         (WTF::CompactUniquePtrTuple::pointer):
406         (WTF::CompactUniquePtrTuple::moveToUniquePtr): Clears this pointer and returns unique_ptr.
407         (WTF::CompactUniquePtrTuple::setPointer): Like CompactPointerTuple sets the pointer component
408         of this tuple, freeing the old object if there is already one stored.
409         (WTF::CompactUniquePtrTuple::type):
410         (WTF::CompactUniquePtrTuple::setType):
411         (WTF::CompactUniquePtrTuple::CompactUniquePtrTuple): Constructor which takes unique_ptr&&.
412         (WTF::CompactUniquePtrTuple::deletePointer):
413
414 2020-09-02  Ryosuke Niwa  <rniwa@webkit.org>
415
416         Add a variant of map which filters items to Vector.h
417         https://bugs.webkit.org/show_bug.cgi?id=215879
418
419         Reviewed by Darin Adler and Yusuke Suzuki.
420
421         This patch adds WTF::compactMap, which calls a function on each item in an iterable object like WTF::map
422         but also filters the returned value. The mapped function may return Optional<T> or RefPtr<T>. The value
423         is kept in the result if the returned value is not WTF::nullopt in the case of Optional<T> and not null
424         in the case of RefPtr<T>. The result will be either Vector<T> for Optional<T> or else Vector<Ref<T>>.
425
426         * wtf/Vector.h:
427         (WTF::CompactMapTraits:): Added. Traits to have a different behavior
428         (WTF::CompactMapTraits<Optional<T>>::hasValue): Added.
429         (WTF::CompactMapTraits<Optional<T>>::extractValue): Added.
430         (WTF::CompactMapTraits<RefPtr<T>>::hasValue): Added.
431         (WTF::CompactMapTraits<RefPtr<T>>::extractValue): Added.
432         (WTF::CompactMap): Added. The helper to use WTFMove on the argument to the mapped function if possible.
433         (WTF::compactMap): Added.
434
435 2020-09-02  Said Abou-Hallawa  <sabouhallawa@apple.com>
436
437         Unreviewed, reverting r266449.
438
439         Underlying frameworks do not work correctly for loopCount >=
440         1.
441
442         Reverted changeset:
443
444         "[CG] REGRESSION (Big Sur): A GIF image with a finite
445         loopCount loops an extra cycle"
446         https://bugs.webkit.org/show_bug.cgi?id=216018
447         https://trac.webkit.org/changeset/266449
448
449 2020-09-01  Said Abou-Hallawa  <sabouhallawa@apple.com>
450
451         [CG] REGRESSION (Big Sur): A GIF image with a finite loopCount loops an extra cycle
452         https://bugs.webkit.org/show_bug.cgi?id=216018
453         <rdar://problem/66660579>
454
455         Reviewed by Tim Horton.
456
457         Add a new macro for the new accurate behavior of CGImageSource.
458
459         Unrelated change: Fix the conditions for enabling the WebP images.
460
461         * wtf/PlatformHave.h:
462
463 2020-08-31  Mark Lam  <mark.lam@apple.com>
464
465         Remove some PtrTag debugging code from release builds.
466         https://bugs.webkit.org/show_bug.cgi?id=216025
467         <rdar://problem/68098263>
468
469         Reviewed by Saam Barati.
470
471         Converted uses of PtrTagAction::ReleaseAssert to PtrTagAction::DebugAssert.
472         These assertions serve a purpose during development (hence, PtrTagAction::DebugAssert),
473         but is no longer needed for release builds.  Previously, we use these assertions
474         to verify that pointers are tagged correctly in release build.  Clang takes care
475         of that automatically now.
476
477         Also removed PtrTag name lookup debugging utility from release builds.
478
479         * wtf/PtrTag.cpp:
480         * wtf/PtrTag.h:
481         (WTF::untagCodePtr):
482         (WTF::retagCodePtrImpl):
483         (WTF::assertIsCFunctionPtr):
484         (WTF::assertIsNotTagged):
485         (WTF::assertIsTagged):
486         (WTF::assertIsTaggedWith):
487
488 2020-09-01  Alex Christensen  <achristensen@webkit.org>
489
490         Update URL fragment percent encode set
491         https://bugs.webkit.org/show_bug.cgi?id=216022
492
493         Reviewed by Youenn Fablet.
494
495         It now matches the behavior of Chrome and Firefox, as well as the spec at
496         https://url.spec.whatwg.org/#fragment-percent-encode-set
497
498         * wtf/URLParser.cpp:
499         (WTF::isInFragmentEncodeSet):
500         (WTF::URLParser::parse):
501
502 2020-09-01  Alex Christensen  <achristensen@webkit.org>
503
504         Align Big5 decoding with spec, Chrome, and Firefox
505         https://bugs.webkit.org/show_bug.cgi?id=216016
506
507         Reviewed by Darin Adler.
508
509         * wtf/text/CodePointIterator.h:
510
511 2020-09-01  Carlos Garcia Campos  <cgarcia@igalia.com>
512
513         [Linux] Web Inspector: show per thread cpu usage
514         https://bugs.webkit.org/show_bug.cgi?id=215883
515
516         Reviewed by Adrian Perez de Castro.
517
518         Add API to get the thread ID in Linux platform.
519
520         * wtf/Threading.cpp:
521         (WTF::Thread::initializeInThread):
522         * wtf/Threading.h:
523         (WTF::Thread::id const):
524         * wtf/ThreadingPrimitives.h:
525         * wtf/posix/ThreadingPOSIX.cpp:
526         (WTF::Thread::currentID):
527
528 2020-08-31  Alex Christensen  <achristensen@webkit.org>
529
530         Make Big5 encoder conform to the specification and behavior of Chrome and Firefox
531         https://bugs.webkit.org/show_bug.cgi?id=215983
532
533         Reviewed by Darin Adler.
534
535         * WTF.xcodeproj/project.pbxproj:
536         * wtf/CMakeLists.txt:
537         * wtf/URLParser.cpp:
538         (WTF::CodePointIterator::CodePointIterator): Deleted.
539         (WTF::CodePointIterator::operator== const): Deleted.
540         (WTF::CodePointIterator::operator!= const): Deleted.
541         (WTF::CodePointIterator::atEnd const): Deleted.
542         (WTF::CodePointIterator::codeUnitsSince const): Deleted.
543         (WTF::CodePointIterator<LChar>::operator const): Deleted.
544         (WTF::CodePointIterator<LChar>::operator): Deleted.
545         (WTF::CodePointIterator<UChar>::operator const): Deleted.
546         (WTF::CodePointIterator<UChar>::operator): Deleted.
547         * wtf/text/CodePointIterator.h: Added.
548         (WTF::CodePointIterator::CodePointIterator):
549         (WTF::CodePointIterator::operator== const):
550         (WTF::CodePointIterator::operator!= const):
551         (WTF::CodePointIterator::atEnd const):
552         (WTF::CodePointIterator::codeUnitsSince const):
553         (WTF::CodePointIterator<LChar>::operator const):
554         (WTF::CodePointIterator<LChar>::operator):
555         (WTF::CodePointIterator<UChar>::operator const):
556         (WTF::CodePointIterator<UChar>::operator):
557
558 2020-08-30  Jim Mason  <jmason@ibinx.com>
559
560         [GTK] REGRESSION(r150392) insufficient space allocation results in heap corruption
561         https://bugs.webkit.org/show_bug.cgi?id=215976
562
563         Reviewed by Carlos Garcia Campos.
564
565         * wtf/glib/RunLoopGLib.cpp:
566         (WTF::RunLoop::TimerBase::TimerBase):
567
568 2020-08-27  Stephan Szabo  <stephan.szabo@sony.com>
569
570         [PlayStation] Build fix due to memmem not always being available.
571         https://bugs.webkit.org/show_bug.cgi?id=215893
572
573         Unreviewed build fix
574
575         * wtf/PlatformHave.h: Don't always HAVE_MEMMEM on playstation
576
577 2020-08-27  Carlos Garcia Campos  <cgarcia@igalia.com>
578
579         [GTK] Include the run loop source name in frame rendering timeline
580         https://bugs.webkit.org/show_bug.cgi?id=215847
581
582         Reviewed by Adrian Perez de Castro.
583
584         Pass the run loop source name to the observer.
585
586         * wtf/RunLoop.h:
587         * wtf/glib/RunLoopGLib.cpp:
588         (WTF::RunLoop::RunLoop):
589         (WTF::RunLoop::notify):
590
591 2020-08-26  Alexey Shvayka  <shvaikalesh@gmail.com>
592
593         Use jsTypeofIsObject() in DFG AI and operationTypeOfIsObject()
594         https://bugs.webkit.org/show_bug.cgi?id=144457
595
596         Reviewed by Saam Barati.
597
598         * wtf/TriState.h:
599         (WTF::invert):
600
601 2020-08-25  Ryosuke Niwa  <rniwa@webkit.org>
602
603         HashMap<Ref<T>>::take should return RefPtr<T>
604         https://bugs.webkit.org/show_bug.cgi?id=215830
605
606         Reviewed by Darin Adler.
607
608         Updated the hash traits for Ref<T> to make HashMap<Ref<T>> and HashSet<Ref<T>>
609         return RefPtr<T> instad of Optional<Ref<T>>.
610
611         * wtf/HashTraits.h:
612         (WTF::RefHashTraits::take):
613
614 2020-08-25  Per Arne Vollan  <pvollan@apple.com>
615
616         [Win] Assert failure under RunLoop::RunLoop
617         https://bugs.webkit.org/show_bug.cgi?id=215812
618
619         Reviewed by Brent Fulgham.
620
621         The assert 'ASSERT(::IsWindow(m_runLoopMessageWindow))' under RunLoop::RunLoop will fail if the JSC API JSGlobalContextCreate*()
622         is being called by a client before WTF::initializeMainThread() has been called. The assertion fails because the method
623         RunLoop::registerRunLoopMessageWindowClass() has not been called yet, since it is only called when initializing the main thread.
624         This patch addresses this issue by making sure the window class has been registered before being referenced in RunLoop::RunLoopl
625         The method call is also removed from the main thread initialization, since the window class is only used in RunLoop::RunLoop,
626         making it sufficient to only be registered there. Also change the debug assert to a release assert, so we can catch similar
627         issues in release builds.
628
629         * wtf/win/MainThreadWin.cpp:
630         (WTF::initializeMainThreadPlatform):
631         * wtf/win/RunLoopWin.cpp:
632         (WTF::RunLoop::registerRunLoopMessageWindowClass):
633         (WTF::RunLoop::RunLoop):
634
635 2020-08-24  Carlos Garcia Campos  <cgarcia@igalia.com>
636
637         [GTK] Implement rendering frames timeline panel for GTK+ port
638         https://bugs.webkit.org/show_bug.cgi?id=150392
639         <rdar://problem/23200510>
640
641         Reviewed by Brian Burg.
642
643         Add API to observe RunLoop events for GLib event loop implementation.
644
645         * wtf/RunLoop.h:
646         * wtf/glib/RunLoopGLib.cpp:
647         (WTF::RunLoop::RunLoop): Use RunLoopSource struct and initialize the RunLoop.
648         (WTF::RunLoop::observe): Add the given observer to the set.
649         (WTF::RunLoop::notify): Notife observers of the given event.
650         (WTF::RunLoop::TimerBase::TimerBase): Use RunLoopSource struct and initialize the RunLoop.
651
652 2020-08-24  Alex Christensen  <achristensen@webkit.org>
653
654         Implement Request/Response consuming as FormData
655         https://bugs.webkit.org/show_bug.cgi?id=215671
656
657         Reviewed by Darin Adler.
658
659         In order to be compatible with other browsers, we need a verson of String::fromUTF8 that
660         uses U8_NEXT_OR_FFFD instead of U8_NEXT, but changing that across the board will break other things.
661         Leave everything else as it is, use templates and constexpr to not add any branches, but add
662         String::fromUTF8ReplacingInvalidSequences to allow me to make our FormData consuming compatible with other browsers.
663
664         * wtf/text/WTFString.cpp:
665         (WTF::fromUTF8Helper):
666         (WTF::String::fromUTF8):
667         (WTF::String::fromUTF8ReplacingInvalidSequences):
668         * wtf/text/WTFString.h:
669         * wtf/unicode/UTF8Conversion.cpp:
670         (WTF::Unicode::convertUTF8ToUTF16Impl):
671         (WTF::Unicode::convertUTF8ToUTF16):
672         (WTF::Unicode::convertUTF8ToUTF16ReplacingInvalidSequences):
673         * wtf/unicode/UTF8Conversion.h:
674
675 2020-08-24  Alex Christensen  <achristensen@webkit.org>
676
677         Make _WKWebsiteDataStoreConfiguration SPI for HSTS storage to replace _WKProcessPoolConfiguration.hstsStorageDirectory
678         https://bugs.webkit.org/show_bug.cgi?id=213048
679
680         Reviewed by Youenn Fablet.
681
682         * wtf/PlatformHave.h:
683
684 2020-08-22  Yusuke Suzuki  <ysuzuki@apple.com>
685
686         [JSC] Add Intl.Segmenter
687         https://bugs.webkit.org/show_bug.cgi?id=213638
688
689         Reviewed by Ross Kirsling.
690
691         * wtf/text/WTFString.cpp:
692         (WTF::String::charactersWithoutNullTermination const):
693         (WTF::String::charactersWithNullTermination const):
694         * wtf/text/WTFString.h:
695
696 2020-08-18  Simon Fraser  <simon.fraser@apple.com>
697
698         Turn off wheel event regions until we need them
699         https://bugs.webkit.org/show_bug.cgi?id=215586
700
701         Reviewed by Darin Adler.
702         
703         Leave ENABLE_WHEEL_EVENT_REGIONS off because it's currently unused, and adds extra
704         region building overhead on macOS.
705
706         * wtf/PlatformEnableCocoa.h:
707
708 2020-08-17  Fujii Hironori  <Hironori.Fujii@sony.com>
709
710         [WTF] HashTable<Ref<K>, V>::HashTable(const HashTable& other) can't compile
711         https://bugs.webkit.org/show_bug.cgi?id=215550
712
713         Reviewed by Darin Adler.
714
715         Even though the copy constructor takes a const HashTable
716         reference, RefHashTraits::assignToEmpty takes non-const Ref<P>. It
717         seems that RefHashTraits::assignToEmpty and
718         Ref::assignToHashTableEmptyValue are unnecessary. Just remove them.
719
720         * wtf/HashTraits.h:
721         (WTF::RefHashTraits::assignToEmpty): Deleted.
722         * wtf/Ref.h:
723         (WTF::Ref::assignToHashTableEmptyValue): Deleted.
724
725 2020-08-17  Youenn Fablet  <youenn@apple.com>
726
727         Bump HAVE_NSURLSESSION_WEBSOCKET requirement to BigSur for MacOS
728         https://bugs.webkit.org/show_bug.cgi?id=215517
729
730         Reviewed by Alex Christensen.
731
732         Catalina NSURLSession WebSocket is missing some features we need.
733         Bump it to Big Sur.
734
735         * wtf/PlatformHave.h:
736
737 2020-08-15  Yusuke Suzuki  <ysuzuki@apple.com>
738
739         Use std::call_once + LazyNeverDestroyed to initialize complex data structures
740         https://bugs.webkit.org/show_bug.cgi?id=215535
741         <rdar://problem/66774266>
742
743         Reviewed by Mark Lam.
744
745         NeverDestroyed<> is not thread-safe in Darwin build since it is not using C++11 thread-safe static variable semantics.
746         This patch uses LazyNeverDestroyed and call_once to initialize complex data structures so that we can ensure they are
747         initialized atomically.
748
749         We also move some of `singleton` definitions from headers to cpp files. This is important since this ensures that singleton
750         is only one instance which is generated in one translation unit.
751
752         * WTF.xcodeproj/project.pbxproj:
753         * wtf/CMakeLists.txt:
754         * wtf/FastMalloc.cpp:
755         (WTF::MallocCallTracker::singleton):
756         * wtf/Language.cpp:
757         (WTF::observerMap):
758         (WTF::preferredLanguagesOverride):
759         * wtf/Logger.cpp:
760         (WTF::Logger::observers):
761         * wtf/Logger.h:
762         (WTF::Logger::observerLock):
763         (WTF::Logger::observers): Deleted.
764         * wtf/MemoryPressureHandler.cpp:
765         (WTF::MemoryPressureHandler::singleton):
766         * wtf/MemoryPressureHandler.h:
767         * wtf/RunLoop.cpp:
768         (WTF::RunLoop::current):
769         * wtf/Threading.cpp:
770         (WTF::Thread::initializeInThread):
771         * wtf/URL.cpp:
772         (WTF::aboutBlankURL):
773         (WTF::aboutSrcDocURL):
774         * wtf/cf/LanguageCF.cpp:
775         (WTF::preferredLanguages):
776         * wtf/cocoa/NSURLExtras.mm:
777         (WTF::rangeOfURLScheme):
778         * wtf/text/LineBreakIteratorPoolICU.cpp: Copied from Source/WTF/wtf/Logger.cpp.
779         (WTF::LineBreakIteratorPool::sharedPool):
780         * wtf/text/LineBreakIteratorPoolICU.h:
781         (WTF::LineBreakIteratorPool::sharedPool): Deleted.
782         * wtf/text/StringView.cpp:
783         * wtf/text/TextBreakIterator.cpp:
784         (WTF::TextBreakIteratorCache::singleton):
785         * wtf/text/TextBreakIterator.h:
786         (WTF::TextBreakIteratorCache::singleton): Deleted.
787         * wtf/threads/Signals.cpp:
788         (WTF::activeThreads):
789
790 2020-08-11  Wenson Hsieh  <wenson_hsieh@apple.com>
791
792         Text input autocorrect="off" attribute ignored on Mac
793         https://bugs.webkit.org/show_bug.cgi?id=151019
794         <rdar://problem/65061700>
795
796         Reviewed by Simon Fraser.
797
798         * wtf/PlatformEnableCocoa.h: Turn the feature on for macOS.
799
800 2020-08-10  Myles C. Maxfield  <mmaxfield@apple.com>
801
802         [Cocoa] Migrate from CTFontTransformGlyphsWithLanguage() to CTFontShapeGlyphs()
803         https://bugs.webkit.org/show_bug.cgi?id=215059
804
805         Reviewed by Darin Adler.
806
807         * wtf/PlatformUse.h: Rename CTFONTTRANSFORMGLYPHSWITHLANGUAGE to CTFONTSHAPEGLYPHS,
808         because that's the new function.
809
810 2020-08-09  Ben Nham  <nham@apple.com>
811
812         Preload graphics drivers in Mac WebProcess
813         https://bugs.webkit.org/show_bug.cgi?id=215183
814
815         Reviewed by Darin Adler.
816
817         Enable GPU driver preheating in versions of the OS that might not have the drivers in the dyld
818         shared cache due to size restrictions.
819
820         * wtf/PlatformEnableCocoa.h:
821
822 2020-08-09  Commit Queue  <commit-queue@webkit.org>
823
824         Unreviewed, reverting r263195, r263252, and r265394.
825         https://bugs.webkit.org/show_bug.cgi?id=215312
826
827         Revert all related GC Bitmap changes because some of perf is
828         not fully recovered
829
830         Reverted changesets:
831
832         "Replace JSC::FreeList linked list with a Bitmap."
833         https://bugs.webkit.org/show_bug.cgi?id=213071
834         https://trac.webkit.org/changeset/263195
835
836         "Unify Bitmap math loops in
837         MarkedBlock::Handle::specializedSweep()."
838         https://bugs.webkit.org/show_bug.cgi?id=213345
839         https://trac.webkit.org/changeset/263252
840
841         "[JSC] Disable ENABLE_BITMAP_FREELIST"
842         https://bugs.webkit.org/show_bug.cgi?id=215285
843         https://trac.webkit.org/changeset/265394
844
845 2020-08-08  Joonghun Park  <jh718.park@samsung.com>
846
847         [WTF] Remove the build warning since r265344.
848         https://bugs.webkit.org/show_bug.cgi?id=215269
849
850         warning: parameter ‘integer’ set but not used [-Wunused-but-set-parameter]
851
852         * wtf/text/IntegerToStringConversion.h:
853         (WTF::lengthOfIntegerAsString):
854
855 2020-08-07  John Wilander  <wilander@apple.com>
856
857         Experimental: Cap the expiry of persistent cookies set in 3rd-party CNAME cloaked HTTP responses
858         https://bugs.webkit.org/show_bug.cgi?id=215201
859         <rdar://problem/57454633>
860
861         Reviewed by Brent Fulgham. Also reviewed and commented on by Chris Dumez, Jiten Mehta, Sam Weinig, and Alex Christensen.
862
863         This change defines HAVE_CFNETWORK_CNAME_AND_COOKIE_TRANSFORM_SPI.
864
865         * wtf/PlatformHave.h:
866
867 2020-08-07  Saam Barati  <sbarati@apple.com>
868
869         Use thread_switch instead of switch_pri to drop priority to zero for 1ms instead of 10
870         https://bugs.webkit.org/show_bug.cgi?id=215248
871
872         Reviewed by Yusuke Suzuki.
873
874         This seems to be a slight JetStream2 and Speedometer2 speedup. In the
875         range of 0%-0.75%, depending on device.
876
877         * wtf/posix/ThreadingPOSIX.cpp:
878         (WTF::Thread::yield):
879
880 2020-08-07  Robin Morisset  <rmorisset@apple.com>
881
882         Fix inequality in newly added assertion
883         https://bugs.webkit.org/show_bug.cgi?id=215272
884
885         Reviewed by Alexey Proskuryakov.
886
887         No new tests, as it was caught by our testing infrastructure (not sure why it only got caught after landing).
888
889         * wtf/IndexSparseSet.h:
890         (WTF::OverflowHandler>::validate):
891
892 2020-08-07  Robin Morisset  <rmorisset@apple.com>
893
894         IndexSparseSet::sort() should update m_map
895         https://bugs.webkit.org/show_bug.cgi?id=215100
896
897         Reviewed by Yusuke Suzuki and Mark Lam.
898
899         IndexSparseSet is made of two fields: m_values and m_map, and the two must be kept in sync.
900         But its sort routine currently only sorts m_values.
901         This might be related to a random crash that seems to occasionally occur in the vicinity of this code in the wild (rdar://problem/64594569)
902
903         I added a validation routine, that I run in the tests that I added to TestWTF.
904         I verified, and without the fix, the validation routine fails after the sorting.
905
906         I also fixed remove() which was wrong on non-trivial types (thanks to Mark for catching this other bug).
907
908         * wtf/IndexSparseSet.h:
909         (WTF::OverflowHandler>::remove):
910         (WTF::OverflowHandler>::sort):
911         (WTF::OverflowHandler>::validate):
912
913 2020-08-07  Youenn Fablet  <youenn@apple.com>
914
915         Introduce a Vector::isolatedCopy() &&
916         https://bugs.webkit.org/show_bug.cgi?id=215160
917
918         Reviewed by Alex Christensen.
919
920         By introducing an isolatedCopy() &&, we remove the need to allocate a vector buffer.
921         This can make a Vector<String>::isolatedCopy() allocate no memory at all in cases like RegistrationDatabase::schedulePushChanges.
922
923         * wtf/Vector.h:
924         (WTF::Malloc>::isolatedCopy const):
925         (WTF::Malloc>::isolatedCopy):
926
927 2020-08-06  David Kilzer  <ddkilzer@apple.com>
928
929         WTF::makeString() should handle enum values
930         <https://webkit.org/b/214906>
931
932         Reviewed by Sam Weinig.
933
934         * wtf/text/IntegerToStringConversion.h:
935         (WTF::numberToStringSigned):
936         - Drive-by fix to change std::make_unsigned<>::type to
937           std::make_unsigned_t<>.
938         (WTF::writeNumberToBufferImpl): Delete.
939         (WTF::writeIntegerToBufferImpl):
940         - Rename from WTF::writeNumberToBufferImpl().
941         (WTF::writeNumberToBufferSigned): Delete.
942         (WTF::writeNumberToBufferUnsigned): Delete.
943         (WTF::writeIntegerToBuffer):
944         - Replace WTF::writeNumberToBufferSigned() and
945           WTF::writeNumberToBufferUnsigned() with a single function that
946           uses constexpr checks to let the compiler eliminate code.  Had
947           to use if/else if/else construct to help the compiler
948           eliminate unused cases.
949         (WTF::lengthOfNumberAsStringImpl): Delete.
950         (WTF::lengthOfIntegerAsStringImpl):
951         - Rename from WTF::lengthOfNumberAsStringImpl().
952         (WTF::lengthOfNumberAsStringSigned): Delete.
953         (WTF::lengthOfNumberAsStringUnsigned): Delete.
954         (WTF::lengthOfIntegerAsString):
955         - Replace WTF::lengthOfNumberAsStringSigned() and
956           WTF::lengthOfNumberAsStringUnsigned() with a single function
957           that uses constexpr checks to let the compiler eliminate code.
958           Had to use if/else if/else construct to help the compiler
959           eliminate unused cases.
960
961         * wtf/text/StringConcatenateNumbers.h:
962         (WTF::StringTypeAdapter<SignedInt, ...>): Deleted.
963         (WTF::StringTypeAdapter<UnignedInt, ...>): Deleted.
964         (WTF::StringTypeAdapter<Integer, ...>):
965         - Combine signed/unsigned templated classes into a single class
966           now that WTF::lengthOfIntegerAsString() and
967           WTF::writeIntegerToBuffer() are templated.
968         (WTF::StringTypeAdapter<Enum, ...>):
969         - Add support for enum types to WTF::makeString().  This also
970           takes advantage of templated WTF::lengthOfIntegerAsString()
971           and WTF::writeIntegerToBuffer() functions since enum types may
972           be either signed or unsigned.
973
974 2020-08-05  Tim Horton  <timothy_horton@apple.com>
975
976         Remove all references to non-existent 10.16
977         https://bugs.webkit.org/show_bug.cgi?id=215202
978
979         Reviewed by Wenson Hsieh.
980
981         * Configurations/Base.xcconfig:
982         * Configurations/DebugRelease.xcconfig:
983         * wtf/PlatformEnableCocoa.h:
984         * wtf/PlatformHave.h:
985         * wtf/PlatformUse.h:
986
987 2020-08-04  Yusuke Suzuki  <ysuzuki@apple.com>
988
989         [JSC] Use LazyNeverDestroyed & std::call_once for complex singletons
990         https://bugs.webkit.org/show_bug.cgi?id=215153
991         <rdar://problem/65718983>
992
993         Reviewed by Mark Lam.
994
995         Add lock's bits in crash information to investigate if this speculative fix does not work.
996
997         * wtf/LockAlgorithmInlines.h:
998         (WTF::Hooks>::lockSlow):
999         (WTF::Hooks>::unlockSlow):
1000
1001 2020-08-04  Keith Miller  <keith_miller@apple.com>
1002
1003         CheckpointSideState shoud play nicely with StackOverflowException unwinding.
1004         https://bugs.webkit.org/show_bug.cgi?id=215114
1005
1006         Reviewed by Saam Barati.
1007
1008         Add a helper so we can have soft stack bounds.
1009
1010         * wtf/StackBounds.h:
1011         (WTF::StackBounds::withSoftOrigin const):
1012
1013 2020-08-04  Fujii Hironori  <Hironori.Fujii@sony.com>
1014
1015         [MSVC] wtf/Optional.h: error C2280: 'WTF::constexpr_storage_t<T> &WTF::constexpr_storage_t<T>::operator =(const WTF::constexpr_storage_t<T> &)': attempting to reference a deleted function
1016         https://bugs.webkit.org/show_bug.cgi?id=215003
1017
1018         Reviewed by Yusuke Suzuki.
1019
1020         Microsoft reported the upcoming MSVC can't compile
1021         Optional<std::pair<JSC::SamplingProfiler::StackFrame::CodeLocation,JSC::CodeBlock *>>.
1022
1023         > wtf/Optional.h(419,39): error C2280: 'WTF::constexpr_storage_t<T> &WTF::constexpr_storage_t<T>::operator =(const WTF::constexpr_storage_t<T> &)': attempting to reference a deleted function
1024
1025         They suggests using std::is_trivially_copy_assignable_v in
1026         Optional ctor instead of std::is_trivially_copyable_v.
1027
1028         * wtf/Optional.h:
1029         (WTF::Optional::Optional): Replaced std::is_trivially_copyable_v with std::is_trivially_copy_assignable_v.
1030
1031 2020-08-04  Alex Christensen  <achristensen@webkit.org>
1032
1033         about: scheme URL constants should be backed by StaticStringImpl
1034         https://bugs.webkit.org/show_bug.cgi?id=215113
1035
1036         Reviewed by Darin Adler.
1037
1038         * wtf/URL.cpp:
1039         (WTF::aboutBlankURL):
1040         (WTF::aboutSrcDocURL):
1041
1042 2020-08-03  Wenson Hsieh  <wenson_hsieh@apple.com>
1043
1044         Remove the ENABLE_DATA_INTERACTION feature flag
1045         https://bugs.webkit.org/show_bug.cgi?id=215091
1046
1047         Reviewed by Megan Gardner.
1048
1049         * wtf/PlatformEnable.h:
1050         * wtf/PlatformEnableCocoa.h:
1051
1052 2020-08-01  Commit Queue  <commit-queue@webkit.org>
1053
1054         Unreviewed, reverting r265097, r265113, and r265122.
1055         https://bugs.webkit.org/show_bug.cgi?id=215065
1056
1057         Broke AppleSilicon Big Sur
1058
1059         Reverted changesets:
1060
1061         "Strip pointers instead of authing for byteOffset to not allow
1062         for a possible way to guess data pac"
1063         https://bugs.webkit.org/show_bug.cgi?id=214952
1064         https://trac.webkit.org/changeset/265097
1065
1066         "Compute number of PAC bits from what the OS says its address
1067         space is"
1068         https://bugs.webkit.org/show_bug.cgi?id=214986
1069         https://trac.webkit.org/changeset/265113
1070
1071         "Remove UB from nonPACBitsMask computation"
1072         https://bugs.webkit.org/show_bug.cgi?id=214996
1073         https://trac.webkit.org/changeset/265122
1074
1075 2020-07-30  Simon Fraser  <simon.fraser@apple.com>
1076
1077         Have TimingScope track the max event duration
1078         https://bugs.webkit.org/show_bug.cgi?id=215006
1079
1080         Reviewed by Tim Horton.
1081
1082         Have TimingScope track and print the longest event, as well as the count and
1083         mean duration.
1084
1085         * wtf/TimingScope.cpp:
1086         (WTF::TimingScope::scopeDidEnd):
1087
1088 2020-07-30  Keith Miller  <keith_miller@apple.com>
1089
1090         Remove UB from nonPACBitsMask computation
1091         https://bugs.webkit.org/show_bug.cgi?id=214996
1092
1093         Reviewed by Tadeu Zagallo.
1094
1095         For non-ARM64E we now set numberOfPACBits to zero, which was causing UB in our computation of the nonPACBitsMask.
1096
1097         * wtf/CagedPtr.h:
1098
1099 2020-07-30  Jer Noble  <jer.noble@apple.com>
1100
1101         [Cocoa] Adopt -[AVContentKeyRequest willOutputBeObscuredDueToInsufficientExternalProtectionForDisplays:]
1102         https://bugs.webkit.org/show_bug.cgi?id=214659
1103         <rdar://problem/63555006>
1104
1105         Reviewed by Darin Adler.
1106         
1107         Add a new Observer template class. This allows classes to provide support for listeners without requiring
1108         those listeners to subclass from a pure-virtual (and CanMakeWeakPtr capable) client class. Instead, clients
1109         can just create one of these Observer objects, and pass a WeakPtr to that observer to the notifying object.
1110         When the client object destroys the observer, it is automatically unregistered when the observing object
1111         uses a WeakHashSet.
1112
1113         * WTF.xcodeproj/project.pbxproj:
1114         * wtf/CMakeLists.txt:
1115         * wtf/Observer.h: Added.
1116         (WTF::Observer<Out):
1117
1118 2020-07-30  Keith Miller  <keith_miller@apple.com>
1119
1120         Compute number of PAC bits from what the OS says its address space is
1121         https://bugs.webkit.org/show_bug.cgi?id=214986
1122
1123         Reviewed by Saam Barati.
1124
1125         * wtf/CagedPtr.h:
1126         * wtf/PtrTag.h:
1127
1128 2020-07-29  Fujii Hironori  <Hironori.Fujii@sony.com>
1129
1130         [Win Debug] Unreviewed build fix
1131
1132         > JavaScriptCore/runtime/JSArrayBufferView.cpp(51): error C2660: 'Gigacage::isEnabled': function does not take 0 arguments
1133
1134         * wtf/Gigacage.h:
1135         (Gigacage::isEnabled): Added isEnabled taking no argument which was adeed to bmalloc in r249556 (Bug 201521).
1136
1137 2020-07-29  Don Olmstead  <don.olmstead@sony.com>
1138
1139         Remove USE(ZLIB)
1140         https://bugs.webkit.org/show_bug.cgi?id=214929
1141
1142         Reviewed by Darin Adler.
1143
1144         Remove setting a default value of USE_ZLIB.
1145
1146         * wtf/PlatformUse.h:
1147
1148 2020-07-28  Karl Rackler  <rackler@apple.com>
1149
1150         Unreviewed, reverting r264955.
1151
1152         Reverting because this commit may have caused issues with
1153         tests.
1154
1155         Reverted changeset:
1156
1157         "WebCoreResourceHandleAsOperationQueueDelegate can use
1158         RunLoop::dispatch"
1159         https://bugs.webkit.org/show_bug.cgi?id=214771
1160         https://trac.webkit.org/changeset/264955
1161
1162 2020-07-27  Geoffrey Garen  <ggaren@apple.com>
1163
1164         WebCoreResourceHandleAsOperationQueueDelegate can use RunLoop::dispatch
1165         https://bugs.webkit.org/show_bug.cgi?id=214771
1166
1167         Reviewed by Darin Adler.
1168
1169         * wtf/cf/RunLoopCF.cpp:
1170         (WTF::RunLoop::dispatch): Migrated the optimization from
1171         WebCoreResourceHandleAsOperationQueueDelegate. All Cocoa WebViews begin
1172         life with a single SchedulePair scheduled in kCFRunLoopCommonModes, so
1173         this optimization is the common case.
1174
1175         (Note that I did not copy the kCFRunLoopDefaultMode clause from
1176         the WebCoreResourceHandleAsOperationQueueDelegate optimization. That's
1177         because it's not the common case, and also because it's not correct to
1178         do a vanilla disptach() in the case of kCFRunLoopDefaultMode because a
1179         vanilla dispatch() would use kCFRunLoopCommonModes.)
1180
1181 2020-07-27  Yusuke Suzuki  <ysuzuki@apple.com>
1182
1183         [JSC] Disable BIGINT32 optimization temporarily because of SP2 / JS2 regression
1184         https://bugs.webkit.org/show_bug.cgi?id=214776
1185
1186         Reviewed by Darin Adler.
1187
1188         We disable BIGINT32 optimization because it causes 1% regression in JetStream2 and Speedometer2.
1189         We should enable it after we fix the cause of regression.
1190
1191         * wtf/PlatformUse.h:
1192
1193 2020-07-27  Carlos Garcia Campos  <cgarcia@igalia.com>
1194
1195         [WPE][GTK] Add API to support "Privacy Report"
1196         https://bugs.webkit.org/show_bug.cgi?id=213493
1197
1198         Reviewed by Adrian Perez de Castro.
1199
1200         Add support for using GRefPtr with GDateTime.
1201
1202         * wtf/glib/GRefPtr.cpp:
1203         (WTF::refGPtr):
1204         (WTF::derefGPtr):
1205         * wtf/glib/GRefPtr.h:
1206
1207 2020-07-23  Keith Miller  <keith_miller@apple.com>
1208
1209         iOS simulator does not support WebAssembly
1210         https://bugs.webkit.org/show_bug.cgi?id=191064
1211
1212         Reviewed by Yusuke Suzuki.
1213
1214         Now that it seems we can JIT in the Simulator we should enable
1215         WebAssembly there. This just means enabling FTL/B3 so WASM gets
1216         enabled.
1217
1218         * wtf/PlatformEnable.h:
1219         * wtf/PlatformEnableCocoa.h:
1220
1221 2020-07-23  Aditya Keerthi  <akeerthi@apple.com>
1222
1223         [macOS] Datalist dropdown scrollbar position does not match visible region
1224         https://bugs.webkit.org/show_bug.cgi?id=214656
1225
1226         Reviewed by Wenson Hsieh.
1227
1228         * wtf/PlatformHave.h: Define HAVE_NSTABLEVIEWSTYLE.
1229
1230 2020-07-23  Brady Eidson  <beidson@apple.com>
1231
1232         Add Gamepad tests that exercise the native frameworks
1233         <rdar://problem/65343674> and https://bugs.webkit.org/show_bug.cgi?id=214188
1234
1235         Reviewed by Tim Horton.
1236
1237         * wtf/PlatformHave.h:
1238
1239 2020-07-23  Commit Queue  <commit-queue@webkit.org>
1240
1241         Unreviewed, reverting r264745.
1242         https://bugs.webkit.org/show_bug.cgi?id=214681
1243
1244         Broke 3 web-platform-tests on iOS
1245
1246         Reverted changeset:
1247
1248         "iOS simulator does not support WebAssembly"
1249         https://bugs.webkit.org/show_bug.cgi?id=191064
1250         https://trac.webkit.org/changeset/264745
1251
1252 2020-07-22  Jer Noble  <jer.noble@apple.com>
1253
1254         [Cocoa] Add feature flag for WebM & VP9
1255         https://bugs.webkit.org/show_bug.cgi?id=214672
1256         <rdar://problem/65959506>
1257
1258         Reviewed by Beth Dakin.
1259
1260         * wtf/PlatformEnableCocoa.h:
1261
1262 2020-07-22  Conrad Shultz  <conrad_shultz@apple.com>
1263
1264         Update macOS Version macros
1265         https://bugs.webkit.org/show_bug.cgi?id=214653
1266
1267         Reviewed by Tim Horton.
1268
1269         * Configurations/Base.xcconfig:
1270         * Configurations/DebugRelease.xcconfig:
1271         * wtf/PlatformHave.h:
1272
1273 2020-07-22  Keith Miller  <keith_miller@apple.com>
1274
1275         iOS simulator does not support WebAssembly
1276         https://bugs.webkit.org/show_bug.cgi?id=191064
1277
1278         Reviewed by Yusuke Suzuki.
1279
1280         Now that it seems we can JIT in the Simulator we should enable
1281         WebAssembly there. This just means enabling FTL/B3 so WASM gets
1282         enabled.
1283
1284         * wtf/PlatformEnable.h:
1285         * wtf/PlatformEnableCocoa.h:
1286
1287 2020-07-22  Geoffrey Garen  <ggaren@apple.com>
1288
1289         WTF::Function adoption should be explicit instead of implicit
1290         https://bugs.webkit.org/show_bug.cgi?id=214654
1291
1292         Reviewed by Darin Adler.
1293
1294         * wtf/Function.h:
1295         (WTF::Function<Out):
1296         (WTF::adoptImpl): Added an adopt function for Functions and made the
1297         adopting constructor private.
1298
1299         * wtf/cf/RunLoopCF.cpp:
1300         (WTF::RunLoop::dispatch): Use new adopt function.
1301
1302 2020-07-22  Jer Noble  <jer.noble@apple.com>
1303
1304         Unreviewed build fix after r264710; add a HAVE_AVPLAYER_VIDEORANGEOVERRIDE guard.
1305
1306         * wtf/PlatformHave.h:
1307
1308 2020-07-22  Geoffrey Garen  <ggaren@apple.com>
1309
1310         JSRunLoopTimer should use WTF::RunLoop rather than custom CF code
1311         https://bugs.webkit.org/show_bug.cgi?id=214102
1312
1313         Unreviewed, re-landing r264242 with crash fixed.
1314
1315         To support JSC using external locking around a RunLoop timer, we needed
1316         to avoid modifying unsynchronized timer state while firing.
1317
1318         * wtf/cf/RunLoopCF.cpp:
1319         (WTF::RunLoop::TimerBase::start):
1320
1321 2020-07-21  Eric Carlson  <eric.carlson@apple.com>
1322
1323         Use AVRoutePickerView when available for choosing AirPlay devices
1324         https://bugs.webkit.org/show_bug.cgi?id=213497
1325         <rdar://problem/58610662>
1326
1327         Reviewed by Jer Noble.
1328
1329         * wtf/PlatformHave.h: Define HAVE_AVROUTEPICKERVIEW.
1330
1331 2020-07-20  Yusuke Suzuki  <ysuzuki@apple.com>
1332
1333         [ECMA-402] Implement Intl.DisplayNames
1334         https://bugs.webkit.org/show_bug.cgi?id=209779
1335
1336         Reviewed by Ross Kirsling.
1337
1338         * wtf/text/StringView.h:
1339
1340 2020-07-20  Adrian Perez de Castro  <aperez@igalia.com>
1341
1342         Non unified build fixes, midsummer 2020 edition
1343         https://bugs.webkit.org/show_bug.cgi?id=213616
1344
1345         Unreviewed build fix.
1346
1347         * wtf/text/StringParsingBuffer.h: Add missing inclusion of wtf/text/StringView.h,
1348         and removed other now-unneeded header inclusions.
1349
1350 2020-07-19  Geoffrey Garen  <ggaren@apple.com>
1351
1352         There should be only one RunLoop Timer class
1353         https://bugs.webkit.org/show_bug.cgi?id=214340
1354
1355         Reviewed by Darin Adler.
1356
1357         RunLoop::Timer wins. RunLoopTimer loses.
1358
1359         * WTF.xcodeproj/project.pbxproj:
1360         * wtf/CMakeLists.txt:
1361         * wtf/PlatformHave.h:
1362         * wtf/PlatformMac.cmake: Remove RunLoopTimer.
1363
1364         * wtf/RunLoop.cpp:
1365         (WTF::RunLoop::dispatchAfter): While we're here. let's make dispatchAfter
1366         available on all platforms. We had cross-platform code, but it was
1367         factored to be needlessly platform-specific.
1368
1369         * wtf/RunLoop.h: Added a version of dispatch() that accepts a
1370         SchedulePairHashSet for Cocoa. Removed some indirection from timer
1371         stuff, since it was confusing me. Consistently named all time intervals
1372         "interval".
1373
1374         * wtf/RunLoopTimer.h: Removed.
1375
1376         * wtf/cf/RunLoopCF.cpp:
1377         (WTF::createTimer): Factored out a helper function for dispatch() to use.
1378         (WTF::RunLoop::dispatch): This function is the meat of the patch. It's
1379         the only unique functionality that RunLoopTimer used to provide.
1380         (WTF::RunLoop::TimerBase::start): Adopted helper function.
1381         (WTF::RunLoop::runForDuration): Deleted.
1382         (WTF::RunLoop::TimerBase::timerFired): Deleted.
1383
1384         * wtf/cf/RunLoopTimerCF.cpp: Removed.
1385
1386         * wtf/generic/RunLoopGeneric.cpp:
1387         (WTF::RunLoop::dispatchAfter): Deleted. Now cross-platform.
1388
1389         * wtf/glib/RunLoopGLib.cpp:
1390         (WTF::RunLoop::TimerBase::updateReadyTime):
1391         (WTF::RunLoop::TimerBase::start):
1392         (WTF::RunLoop::TimerBase::stop):
1393         (WTF::DispatchAfterContext::DispatchAfterContext): Deleted.
1394         (WTF::DispatchAfterContext::dispatch): Deleted.
1395         (WTF::RunLoop::dispatchAfter): Deleted. Now cross-platform.
1396
1397         * wtf/win/RunLoopWin.cpp:
1398         (WTF::RunLoop::TimerBase::start):
1399         (WTF::RunLoop::dispatchAfter): Deleted. Now cross-platform.
1400
1401 2020-07-17  Sam Weinig  <weinig@apple.com>
1402
1403         Remove final vestigates of SimpleColor
1404         https://bugs.webkit.org/show_bug.cgi?id=214439
1405
1406         Reviewed by Simon Fraser.
1407
1408         * wtf/KeyValuePair.h:
1409         (WTF::KeyValuePair::KeyValuePair):
1410         Add overload of constructor that is not a template function to aid deduction
1411         when using std::initializer_lists to contruct a HashMap.
1412
1413 2020-07-17  Fujii Hironori  <Hironori.Fujii@sony.com>
1414
1415         Don't include <wtf/text/WTFString.h> in SVGParserUtilities.h
1416         https://bugs.webkit.org/show_bug.cgi?id=214320
1417
1418         Reviewed by Darin Adler.
1419
1420         * wtf/Forward.h: Added foward declarations for template specializations of DefaultHash.
1421
1422 2020-07-17  Keith Miller  <keith_miller@apple.com>
1423
1424         Fix 32-bit debug watchos build
1425         https://bugs.webkit.org/show_bug.cgi?id=214480
1426
1427         Reviewed by Michael Saboff.
1428
1429         subtracting pointers produces a ptrdiff_t but on 32-bit that's the same
1430         as an int. Since we were comparing that to an unsigned that triggered
1431         the signed comparison warning, which broke the build.
1432
1433         * wtf/text/StringParsingBuffer.h:
1434
1435 2020-07-17  Truitt Savell  <tsavell@apple.com>
1436
1437         Unreviewed, reverting r264482.
1438
1439         Part of an attempted fix for the build
1440
1441         Reverted changeset:
1442
1443         "Use AVRoutePickerView when available for choosing AirPlay
1444         devices"
1445         https://bugs.webkit.org/show_bug.cgi?id=213497
1446         https://trac.webkit.org/changeset/264482
1447
1448 2020-07-16  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1449
1450         Rename createBoxPtr into adoptBoxPtr
1451         https://bugs.webkit.org/show_bug.cgi?id=214171
1452
1453         Reviewed by Darin Adler.
1454
1455         * wtf/BoxPtr.h:
1456         (WTF::adoptInBoxPtr):
1457
1458 2020-07-16  Per Arne Vollan  <pvollan@apple.com>
1459
1460         XPC connection should be suspended before setting target queue
1461         https://bugs.webkit.org/show_bug.cgi?id=214427
1462
1463         Reviewed by Darin Adler.
1464
1465         Declare function to suspend XPC connection.
1466
1467         * wtf/spi/darwin/XPCSPI.h:
1468
1469 2020-07-16  Fujii Hironori  <Hironori.Fujii@sony.com>
1470
1471         [WTF] Remove the unnecessary inner class DefaultHash<T>::Hash
1472         https://bugs.webkit.org/show_bug.cgi?id=214389
1473
1474         Reviewed by Darin Adler.
1475
1476         DefaultHash<T> doesn't need to have a inner struct Hash. This can
1477         be a problem for forward declarations (Bug 214320 Comment 5).
1478
1479         * wtf/BitVector.h:
1480         * wtf/Forward.h:
1481         * wtf/HashFunctions.h:
1482         (WTF::PairHash::hash):
1483         (WTF::PairHash::equal):
1484         (WTF::TupleHash::hash):
1485         (WTF::TupleHash::equal):
1486         * wtf/ListHashSet.h:
1487         * wtf/LoggingHashMap.h:
1488         * wtf/LoggingHashSet.h:
1489         * wtf/MetaAllocatorPtr.h:
1490         * wtf/ObjectIdentifier.h:
1491         * wtf/OptionSetHash.h:
1492         (WTF::DefaultHash<OptionSet<T>>::hash):
1493         (WTF::DefaultHash<OptionSet<T>>::equal):
1494         (WTF::DefaultHash<OptionSet<T>>::Hash::hash): Deleted.
1495         (WTF::DefaultHash<OptionSet<T>>::Hash::equal): Deleted.
1496         * wtf/Packed.h:
1497         * wtf/RetainPtr.h:
1498         * wtf/StackShot.h:
1499         * wtf/URLHash.h:
1500         * wtf/VectorHash.h:
1501         (WTF::VectorHash::hash):
1502         * wtf/text/AtomString.h:
1503         * wtf/text/AtomStringHash.h:
1504         * wtf/text/CString.h:
1505         * wtf/text/StringHash.h:
1506         * wtf/text/StringImpl.h:
1507         * wtf/text/SymbolRegistry.h:
1508         (WTF::DefaultHash<SymbolRegistryKey>::hash):
1509         (WTF::DefaultHash<SymbolRegistryKey>::equal):
1510         (WTF::DefaultHash<SymbolRegistryKey>::Hash::hash): Deleted.
1511         (WTF::DefaultHash<SymbolRegistryKey>::Hash::equal): Deleted.
1512         * wtf/text/WTFString.h:
1513
1514 2020-07-16  Eric Carlson  <eric.carlson@apple.com>
1515
1516         Use AVRoutePickerView when available for choosing AirPlay devices
1517         https://bugs.webkit.org/show_bug.cgi?id=213497
1518         <rdar://problem/58610662>
1519
1520         Unreviewed build fix.
1521
1522         * wtf/PlatformHave.h: Define HAVE_AVROUTEPICKERVIEW.
1523
1524 2020-07-16  Jonathan Bedard  <jbedard@apple.com>
1525
1526         [Big Sur] De-duplicate SPI
1527         https://bugs.webkit.org/show_bug.cgi?id=214415
1528         <rdar://problem/65678060>
1529
1530         Reviewed by Darin Adler.
1531
1532         * wtf/PlatformHave.h:
1533
1534 2020-07-16  Jonathan Bedard  <jbedard@apple.com>
1535
1536         [Big Sur] Build on Seed 1
1537         https://bugs.webkit.org/show_bug.cgi?id=214396
1538         <rdar://problem/65644762>
1539
1540         Reviewed by Tim Horton.
1541
1542         * wtf/PlatformHave.h: Add HAVE(LARGE_CONTROL_SIZE).
1543
1544 2020-07-15  Saagar Jha  <saagar@saagarjha.com>
1545
1546         Add some missing boilerplate to help fix build on macOS Big Sur
1547         https://bugs.webkit.org/show_bug.cgi?id=214338
1548
1549         Reviewed by Darin Adler.
1550
1551         * wtf/PlatformHave.h: Add HAVE_LARGE_CONTROL_SIZE and enable it on Big Sur.
1552
1553 2020-07-15  Darin Adler  <darin@apple.com>
1554
1555         Remove a few more uses of the terms black/white list
1556         https://bugs.webkit.org/show_bug.cgi?id=214371
1557
1558         Reviewed by Alex Christensen.
1559
1560         * wtf/URLHelpers.cpp:
1561         (WTF::URLHelpers::loadIDNAllowedScriptList): Renamed.
1562         (WTF::URLHelpers::isLookalikeCharacter): Renamed.
1563         (WTF::URLHelpers::addScriptToIDNAllowedScriptList): Renamed.
1564         (WTF::URLHelpers::initializeDefaultIDNAllowedScriptList): Renamed.
1565         (WTF::URLHelpers::allCharactersInAllowedIDNScriptList): Renamed.
1566         (WTF::URLHelpers::mapHostName): Updated for name changes.
1567         * wtf/URLHelpers.h: Renamed things.
1568
1569         * wtf/cocoa/NSURLExtras.mm:
1570         (WTF::readIDNAllowedScriptListFile): Renamed.
1571         (WTF::URLHelpers::loadIDNAllowedScriptList): Renamed. Also use a modern for
1572         loop to simplify the code.
1573
1574 2020-07-15  Jim Mason  <jmason@ibinx.com>
1575
1576         [WTF] Fix PackedAlignedPtr for X86_64 canonical addresses
1577         https://bugs.webkit.org/show_bug.cgi?id=214142
1578
1579         Reviewed by Mark Lam
1580
1581         * wtf/Packed.h:
1582         (WTF::PackedAlignedPtr::get const):
1583         (WTF::PackedAlignedPtr::set):
1584
1585 2020-07-15  Brady Eidson  <beidson@apple.com>
1586
1587         Resolve race between IOHIDManager and GameController framework.
1588         <rdar://problem/65554490> and https://bugs.webkit.org/show_bug.cgi?id=214245
1589
1590         Reviewed by Tim Horton.
1591
1592         * wtf/PlatformHave.h:
1593
1594 2020-07-14  Alex Christensen  <achristensen@webkit.org>
1595
1596         REGRESSION(r262341) URL::createCFURL should produce a CFURL that uses UTF-8 to decode its percent-encoded sequences
1597         https://bugs.webkit.org/show_bug.cgi?id=214314
1598         <rdar://problem/65079249>
1599
1600         Reviewed by Darin Adler.
1601
1602         r262341 made it so we usually pass kCFStringEncodingISOLatin1 into CFURLCreateAbsoluteURLWithBytes when creating a CFURLRef from a WTF::URL.
1603         This is correct for the interpretation of the bytes to create a CFStringRef, and that is a change we want to make.
1604         The encoding, however, is also stored with the CFURL and used later when interpreting percent-encoded sequences.
1605         We want to use kCFStringEncodingUTF8 to make the interpretation of percent-encoded sequences the same as it used to be.
1606         To avoid making a separate CString most of the time, use characters8() only for ASCII-only URLs, where UTF-8 and Latin1 are the same.
1607         For all other URLs, we have to make a CString containing the UTF-8 representation of the string to get the percent-encoded sequences interpreted the same.
1608
1609         * wtf/cf/URLCF.cpp:
1610         (WTF::URL::createCFURL const):
1611         * wtf/cocoa/URLCocoa.mm:
1612         (WTF::URL::createCFURL const):
1613
1614 2020-07-14  Jer Noble  <jer.noble@apple.com>
1615
1616         Add support for parsing VP-style codec strings.
1617         https://bugs.webkit.org/show_bug.cgi?id=214270
1618         <rdar://problem/65500048>
1619
1620         Reviewed by Eric Carlson.
1621
1622         Add a variant of toIntegralType<> which returns an Optional. Since no existing callers of the
1623         original toIntegralType fail to pass in the optional bool* parameter, make that parameter
1624         non-optional, as it causes a conflict with the new Optional-returning version.
1625
1626         * wtf/text/StringToIntegerConversion.h:
1627         (WTF::toIntegralType):
1628
1629 2020-07-13  Keith Miller  <keith_miller@apple.com>
1630
1631         Clean up SourceProvider and add caller relative load script to jsc.cpp
1632         https://bugs.webkit.org/show_bug.cgi?id=214205
1633
1634         Reviewed by Yusuke Suzuki.
1635
1636         Using a URL as a boolean in a conditional should be a compile
1637         error.  Currently, it "works" because it actually calls `operator
1638         NSURL*()`... which is likely NOT what you wanted. Until we decide
1639         what it means to have a URL in a conditional it will be a compile
1640         error.
1641
1642         * wtf/URL.cpp:
1643         (WTF::URL::fileSystemPath const):
1644         * wtf/URL.h:
1645
1646 2020-07-12  Yusuke Suzuki  <ysuzuki@apple.com>
1647
1648         [JSC] String.protoytpe.toLocaleLowerCase's availableLocales HashSet is inefficient
1649         https://bugs.webkit.org/show_bug.cgi?id=213158
1650
1651         Reviewed by Darin Adler.
1652
1653         Add characterAt method to ASCIILiteral.
1654
1655         * wtf/text/ASCIILiteral.h:
1656
1657 2020-07-12  Darin Adler  <darin@apple.com>
1658
1659         Some further streamlining of Gradient handling code
1660         https://bugs.webkit.org/show_bug.cgi?id=214239
1661
1662         Reviewed by Sam Weinig.
1663
1664         * wtf/Vector.h: Added an overload for insert analogous to the ones we already have
1665         for append and uncheckedAppend, helpful for type deduction.
1666
1667 2020-07-12  Said Abou-Hallawa  <sabouhallawa@apple.com>
1668
1669         [macOS]: A HEIF image, selected from the OpenPanel, should be converted to an accepted MIME type
1670         https://bugs.webkit.org/show_bug.cgi?id=213347
1671         <rdar://problem/57258464>
1672
1673         Reviewed by Darin Adler.
1674
1675         Allow a suffix to be included in the temporary file name. The goal is to
1676         make it possible to create temporary image files with valid extensions.
1677
1678         * wtf/FileSystem.h:
1679         (WTF::FileSystemImpl::openTemporaryFile):
1680         * wtf/cocoa/FileSystemCocoa.mm:
1681         (WTF::FileSystemImpl::openTemporaryFile):
1682         * wtf/glib/FileSystemGlib.cpp:
1683         (WTF::FileSystemImpl::openTemporaryFile):
1684         * wtf/posix/FileSystemPOSIX.cpp:
1685         (WTF::FileSystemImpl::openTemporaryFile):
1686         * wtf/win/FileSystemWin.cpp:
1687         (WTF::FileSystemImpl::openTemporaryFile):
1688
1689 2020-07-12  Rob Buis  <rbuis@igalia.com>
1690
1691         Improve IPv6 detection when setting host/hostname
1692         https://bugs.webkit.org/show_bug.cgi?id=214218
1693
1694         Reviewed by Darin Adler.
1695
1696         * wtf/URL.cpp:
1697         (WTF::URL::setHost): do not bail out if ':' was found but we start
1698         with a '[', since the host may be IPv6.
1699         (WTF::URL::setHostAndPort): multiple colons are acceptable only in case of IPv6.
1700
1701 2020-07-11  Sam Weinig  <weinig@apple.com> and Yusuke Suzuki  <ysuzuki@apple.com>
1702
1703         Relanding "Make hasher work with tuple-like classes"
1704         https://bugs.webkit.org/show_bug.cgi?id=214224
1705
1706         Reviewed by Darin Adler.
1707
1708         The original patch broke the internal build. And reverting patch (r264274) broke the build too.
1709         This patch relands r264270 with `constexpr` => `inline constexpr` template variable fix.
1710
1711         * wtf/Hasher.h:
1712         (WTF::add):
1713         (WTF::addTupleLikeHelper):
1714         (WTF::TypeCheckHelper<decltype): Deleted.
1715         (WTF::addTupleHelper): Deleted.
1716         Add support for tuple-like classes. These are classes that:
1717         - Have defined specializations of std::tuple_size<> and std::tuple_element<>.
1718         - And have either a member function named get<> or there exists a function get<>()
1719           that takes the class as argument that can be looked up via ADL.
1720
1721         To avoid abiguity when hashing std::array, the add() overload enabled for containers
1722         with a begin member functions also now checks that the container is not tuple-like.
1723         The std::pair overload is no longer needed as it will use the tuple-like one now.
1724
1725         * wtf/OptionSet.h:
1726         * wtf/StdLibExtras.h:
1727         Move is_type_complete_v<> from OptionSet.h to StdLibExtras.h and rename to
1728         adhere to WebKit style as IsTypeComplete<>.
1729
1730 2020-07-11  Commit Queue  <commit-queue@webkit.org>
1731
1732         Unreviewed, reverting r264270.
1733         https://bugs.webkit.org/show_bug.cgi?id=214228
1734
1735         Broke the build
1736
1737         Reverted changeset:
1738
1739         "Make hasher work with tuple-like classes"
1740         https://bugs.webkit.org/show_bug.cgi?id=214224
1741         https://trac.webkit.org/changeset/264270
1742
1743 2020-07-11  Darin Adler  <darin@apple.com>
1744
1745         Remove live ranges from AccessibilityObject.h, AccessibilityObjectInterface.h, AccessibilityRenderObject.h, AXIsolatedObject.h
1746         https://bugs.webkit.org/show_bug.cgi?id=214215
1747
1748         Reviewed by Sam Weinig.
1749
1750         * wtf/cocoa/VectorCocoa.h: Added a new makeVector that takes a function.
1751         Also updated createNSArray to use std::invoke.
1752
1753 2020-07-11  Sam Weinig  <weinig@apple.com>
1754
1755         Make hasher work with tuple-like classes
1756         https://bugs.webkit.org/show_bug.cgi?id=214224
1757
1758         Reviewed by Darin Adler.
1759
1760         * wtf/Hasher.h:
1761         (WTF::add):
1762         (WTF::addTupleLikeHelper):
1763         (WTF::TypeCheckHelper<decltype): Deleted.
1764         (WTF::addTupleHelper): Deleted.
1765         Add support for tuple-like classes. These are classes that:
1766         - Have defined specializations of std::tuple_size<> and std::tuple_element<>.
1767         - And have either a member function named get<> or there exists a function get<>()
1768           that takes the class as argument that can be looked up via ADL.
1769
1770         To avoid abiguity when hashing std::array, the add() overload enabled for containers
1771         with a begin member functions also now checks that the container is not tuple-like.
1772         The std::pair overload is no longer needed as it will use the tuple-like one now.
1773
1774         * wtf/OptionSet.h:
1775         * wtf/StdLibExtras.h:
1776         Move is_type_complete_v<> from OptionSet.h to StdLibExtras.h and rename to
1777         adhere to WebKit style as IsTypeComplete<>.
1778
1779 2020-07-10  Brady Eidson  <beidson@apple.com>
1780
1781         GameController.framework gamepads should support Home buttons.
1782         <rdar://problem/63500696> and https://bugs.webkit.org/show_bug.cgi?id=212933
1783
1784         Reviewed by Tim Horton.
1785
1786         * wtf/PlatformHave.h:
1787
1788 2020-07-10  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1789
1790         [GStreamer][EME][OpenCDM] Implement OpenCDM support
1791         https://bugs.webkit.org/show_bug.cgi?id=213550
1792
1793         Reviewed by Philippe Normand.
1794
1795         * wtf/PlatformEnable.h: Disable OPENCDM by default.
1796
1797 2020-07-09  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1798
1799         Simplify BoxPtr::create
1800         https://bugs.webkit.org/show_bug.cgi?id=214144
1801
1802         Reviewed by Darin Adler.
1803
1804         * wtf/BoxPtr.h:
1805         (WTF::createBoxPtr): Use the alias instead of the unrolled type.
1806
1807 2020-07-09  Per Arne Vollan  <pvollan@apple.com>
1808
1809         [Cocoa] Update Launch Services database in the WebContent process from the Network process
1810         https://bugs.webkit.org/show_bug.cgi?id=213794
1811
1812         Reviewed by Brent Fulgham.
1813
1814         Added HAVE define for determining if the class LSDatabaseContext is present.
1815
1816         * wtf/PlatformHave.h:
1817
1818 2020-07-09  Commit Queue  <commit-queue@webkit.org>
1819
1820         Unreviewed, reverting r264148.
1821         https://bugs.webkit.org/show_bug.cgi?id=214136
1822
1823         Introduced layout test failures
1824
1825         Reverted changeset:
1826
1827         "[Cocoa] Update Launch Services database in the WebContent
1828         process from the Network process"
1829         https://bugs.webkit.org/show_bug.cgi?id=213794
1830         https://trac.webkit.org/changeset/264148
1831
1832 2020-07-09  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1833
1834         [WTF] Implement new BoxPtr alias
1835         https://bugs.webkit.org/show_bug.cgi?id=212379
1836
1837         Reviewed by Darin Adler.
1838
1839         Added BoxPtr.h that includes BoxPtr<T> as alias of
1840         Box<std::unique_ptr<T>>. We discussed about this class on bugzilla
1841         and we agreed on this alias being the best idea. Apart from the
1842         alias I'm adding a couple of helpers like a create function and
1843         the operator== and operator!=.
1844
1845         Tests: BoxPtr API tests added.
1846
1847         * WTF.xcodeproj/project.pbxproj:
1848         * wtf/BoxPtr.h: Added.
1849         (WTF::createBoxPtr):
1850         (WTF::operator==):
1851         (WTF::operator!=):
1852         * wtf/CMakeLists.txt:
1853
1854 2020-07-08  Per Arne Vollan  <pvollan@apple.com>
1855
1856         [Cocoa] Update Launch Services database in the WebContent process from the Network process
1857         https://bugs.webkit.org/show_bug.cgi?id=213794
1858
1859         Reviewed by Brent Fulgham.
1860
1861         Added HAVE define for determining if the class LSDatabaseContext is present.
1862
1863         * wtf/PlatformHave.h:
1864
1865 2020-07-08  Per Arne Vollan  <pvollan@apple.com>
1866
1867         [Cocoa] Make it possible to establish direct XPC connections between WebKit processes
1868         https://bugs.webkit.org/show_bug.cgi?id=214079
1869
1870         Reviewed by Brent Fulgham.
1871
1872         Declare function to create a xpc endpoint, as well as a function to create a connection from an endpoint.
1873
1874         * wtf/spi/darwin/XPCSPI.h:
1875
1876 2020-07-08  Geoffrey Garen  <ggaren@apple.com>
1877
1878         dyld: Symbol not found: __ZN3WTF19initializeThreadingEv - webkit MacOSX
1879         https://bugs.webkit.org/show_bug.cgi?id=214034
1880
1881         Reviewed by Mark Lam.
1882
1883         * wtf/Threading.cpp:
1884         (WTF::initializeThreading): Export the old symbol name for compatibility.
1885
1886 2020-07-07  Carlos Garcia Campos  <cgarcia@igalia.com>
1887
1888         [GTK] WebProcess hangs when browsing GitHub
1889         https://bugs.webkit.org/show_bug.cgi?id=213970
1890
1891         Reviewed by Sergio Villar Senin.
1892
1893         Use a lower priority for LayerFlushTimer and DisplayRefreshMonitorTimer. We were using a very high priority for
1894         drawing with the idea of keeping a good rendering performance without being affected by other timers. The
1895         problem is that animations can be controlled by timers, so we need to ensure that MainThreadSharedTimer has
1896         higher priority than drawing.
1897
1898         * wtf/glib/RunLoopSourcePriority.h: Use 110 for LayerFlushTimer and DisplayRefreshMonitorTimer.
1899
1900 2020-07-06  Geoffrey Garen  <ggaren@apple.com>
1901
1902         callOnMainThread should use the same queue as RunLoop::dispatch
1903         https://bugs.webkit.org/show_bug.cgi?id=213830
1904
1905         Reviewed by Brady Eidson.
1906
1907         This should reduce flakiness in scheduled tasks.
1908
1909         There's no need to keep a separate queue anymore since both APIs have
1910         the same semantics now.
1911
1912         * wtf/MainThread.cpp:
1913         (WTF::callOnMainThread):
1914         (WTF::functionQueue): Deleted.
1915         (WTF::dispatchFunctionsFromMainThread): Deleted.
1916         * wtf/MainThread.h:
1917         * wtf/cocoa/MainThreadCocoa.mm:
1918         (WTF::scheduleDispatchFunctionsOnMainThread): Deleted.
1919         * wtf/generic/MainThreadGeneric.cpp:
1920         (WTF::scheduleDispatchFunctionsOnMainThread): Deleted.
1921         * wtf/win/MainThreadWin.cpp:
1922         (WTF::scheduleDispatchFunctionsOnMainThread): Deleted.
1923
1924 2020-07-06  Michael Catanzaro  <mcatanzaro@gnome.org>
1925
1926         Spams system logs with "Current memory footprint: 10 MB"
1927         https://bugs.webkit.org/show_bug.cgi?id=213991
1928
1929         Reviewed by Darin Adler.
1930
1931         This particular log statement is too much spam in the system journal, since it prints
1932         continuously under normal operating conditions. Let's limit it only to Apple platforms,
1933         which have had RELEASE_LOG() for a long time and where this is presumably expected.
1934
1935         * wtf/MemoryPressureHandler.cpp:
1936         (WTF::MemoryPressureHandler::measurementTimerFired):
1937
1938 2020-07-06  Sam Weinig  <weinig@apple.com>
1939
1940         Compile-time enable (but leave disabled at runtime by default) date/time input types on macOS to allow testing of cross platform (e.g. DOM) aspects of the controls
1941         https://bugs.webkit.org/show_bug.cgi?id=213949
1942
1943         Reviewed by Darin Adler.
1944
1945         * wtf/PlatformEnableCocoa.h:
1946         Enable building date/time input types on all Cocoa ports. 
1947
1948 2020-07-06  Geoffrey Garen  <ggaren@apple.com>
1949
1950         RunLoop::dispatch should only call wakeUp when needed
1951         https://bugs.webkit.org/show_bug.cgi?id=213705
1952
1953         Reviewed by Brady Eidson.
1954
1955         RunLoop::wakeUp is super expensive (at least on Darwin platforms). Back
1956         when IndexedDB used RunLoop::dispatch, RunLoop::wakeUp accounted for 15%
1957         of all database lookup time.
1958
1959         We can reduce the cost a bit by only scheduling a wakeUp when the queue
1960         is empty.
1961
1962         * wtf/RunLoop.cpp:
1963         (WTF::RunLoop::performWork): Take all the functions out of the pending
1964         queue before we start executing them; that way, we can tell if a new
1965         function has been added to the pending queue since we enetered
1966         performWork.
1967
1968         (WTF::RunLoop::dispatch): Only call wakeUp if we need to.
1969
1970         * wtf/RunLoop.h:
1971
1972 2020-07-04  Darin Adler  <darin@apple.com>
1973
1974         [Cocoa] Add almost everything from FeatureDefines.xcconfig to PlatformEnableCocoa.h
1975         https://bugs.webkit.org/show_bug.cgi?id=213964
1976
1977         Reviewed by Sam Weinig.
1978
1979         Added logic that matches what FeatureDefines.xcconfig does for everything
1980         except for ENABLE_EXPERIMENTAL_FEATURES.
1981
1982         Changed format so we mostly list platforms where we do not want to enable
1983         a certain feature; also order it pretty consistently macOS, iOS, Mac Catalyst,
1984         watchOS, then tvOS. This format highlights possible mistakes when not enabling
1985         a feature on some platforms in an easier to understand way.
1986
1987         * wtf/PlatformEnableCocoa.h:
1988         (ENABLE_AIRPLAY_PICKER): List platforms that do *not* enable this.
1989         (ENABLE_APPLE_PAY): All except Mac Catalyst, watchOS, tvOS.
1990         Not sure why disabled in Mac Catalyst, but replicates FeatureDefines.xcconfig.
1991         (ENABLE_APPLE_PAY_REMOTE_UI): List platforms that do *not* enable this.
1992         (ENABLE_AUTOCAPITALIZE): List platforms that do *not* enable this.
1993         (ENABLE_AUTOCORRECT): List platforms that do *not* enable this.
1994         (ENABLE_CONTENT_FILTERING): All except older watchOS simulator and tvOS.
1995         (ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER): Re-sorted this.
1996         (ENABLE_CSS_CONIC_GRADIENTS): All except older macOS and tvOS. The tvOS
1997         exception seems questionable, so added a FIXME.
1998         (ENABLE_DARK_MODE_CSS): All except watchOS and tvOS.
1999         (ENABLE_DATA_INTERACTION): All except macOS, watchOS, and tvOS.
2000         (ENABLE_DATA_DETECTION): All except Mac Catalyst, watchOS, and tvOS.
2001         (ENABLE_EDITABLE_REGION): Only iOS.
2002         (ENABLE_ENCRYPTED_MEDIA): All except older macOS and Mac Catalyst.
2003         (ENABLE_FULLSCREEN_API): All except Mac Catalyst, watchOS, and tvOS.
2004         (ENABLE_FULL_KEYBOARD_ACCESS): All except Mac Catalyst, watchOS, and tvOS.
2005         (ENABLE_GAMEPAD): All except watchOS.
2006         (ENABLE_INPUT_TYPE_DATE): All except macOS, Mac Catalyst, and tvOS.
2007         (ENABLE_INPUT_TYPE_DATETIMELOCAL): Ditto.
2008         (ENABLE_INPUT_TYPE_MONTH): Ditto.
2009         (ENABLE_INPUT_TYPE_TIME): Ditto.
2010         (ENABLE_INPUT_TYPE_WEEK): Ditto.
2011         (ENABLE_MEDIA_CAPTURE): All except macOS.
2012         (ENABLE_MEDIA_SOURCE): All except Mac Catalyst, watchOS, tvOS, and
2013         all simulators.
2014         (ENABLE_MEDIA_STREAM): All except Mac Catalyst, watchOS, and tvOS.
2015         (ENABLE_NAVIGATOR_STANDALONE): All iOS family. (Considered writing as
2016         all except macOS, but left like this to match some .cpp code for now.)
2017         (ENABLE_OVERFLOW_SCROLLING_TOUCH): All iOS family.
2018         (ENABLE_PICTURE_IN_PICTURE_API): All except Mac Catalyst, watchOS, and tvOS.
2019         (ENABLE_SPEECH_SYNTHESIS): All except Mac Catalyst.
2020         (ENABLE_REVEAL): All except older macOS, watchOS, and tvOS.
2021         (ENABLE_SIGILL_CRASH_ANALYZER): All except macOS and watchOS.
2022         (ENABLE_TAKE_UNBOUNDED_NETWORKING_ASSERTION): All except macOS, watchOS, and tvOS.
2023         (ENABLE_VIDEO_PRESENTATION_MODE): All except simulators and tvOS.
2024         (ENABLE_WEBGPU): All except older macOS, Mac Catalyst, and simulators.
2025         (ENABLE_WEB_API_STATISTICS): Re-sorted this.
2026         (ENABLE_WEB_AUTHN): All except Mac Catalyst, watchOS, and tvOS.
2027         (ENABLE_WEB_RTC): All except Mac Catalyst, watchOS, and tvOS.
2028
2029 2020-07-04  Darin Adler  <darin@apple.com>
2030
2031         [Cocoa] Remove all features from FeatureDefines.xcconfig that are already mentioned in PlatformEnableCocoa.h
2032         https://bugs.webkit.org/show_bug.cgi?id=213962
2033
2034         Reviewed by Sam Weinig.
2035
2036         * wtf/PlatformEnableCocoa.h:
2037         (ENABLE_DRAG_SUPPORT): Before, this was enabled for iOS, iOS simulator, and Mac Catalyst in the
2038         FeatureDefines.xcconfig file, but then disabled for any other iOS family platform here, then enabled
2039         by default in PlatformEnable.h, which covered Mac. Instead, disable here only for watchOS and tvOS,
2040         which gives the same result in a more straightforward way.
2041         (ENABLE_GEOLOCATION): Before, this was enabled for iOS, iOS simulator, Mac Catalyst, and Mac in the
2042         FeatureDefines.xcconfig file, then enabled for any other iOS family platform here. Instead, just
2043         enable here for all Cocoa platforms, which gives the same result in a more straightforward way.
2044
2045 2020-07-03  Darin Adler  <darin@apple.com>
2046
2047         Make generate-unified-sources.sh not depend on features being listed in FEATURE_DEFINES environment variable
2048         https://bugs.webkit.org/show_bug.cgi?id=212420
2049
2050         Reviewed by Don Olmstead.
2051
2052         * Scripts/generate-unified-source-bundles.rb: Removed the --feature-flags
2053         command line option along with the code that implements it.
2054
2055 2020-07-03  Sam Weinig  <weinig@apple.com>
2056
2057         Remove support for ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE
2058         https://bugs.webkit.org/show_bug.cgi?id=213932
2059
2060         Reviewed by Darin Adler.
2061
2062         Removes support for non-standard <input type="datetime">, currently being 
2063         guarded by the macro ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE. This macro, was
2064         added back in 2013 as a temporary measure to support some engines who shipped
2065         support for <input type="datetime">. It is currently not enabled for any
2066         ports so now seems like as good a time as any to remove it.
2067
2068         * wtf/PlatformEnable.h:
2069
2070 2020-07-03  Sam Weinig  <weinig@apple.com>
2071
2072         Add "-Wliteral-conversion" warning to Xcode based builds and fix the issues it finds
2073         https://bugs.webkit.org/show_bug.cgi?id=213931
2074
2075         Reviewed by Darin Adler.
2076
2077         * Configurations/Base.xcconfig:
2078         Add -Wliteral-conversion.
2079
2080 2020-07-03  Commit Queue  <commit-queue@webkit.org>
2081
2082         Unreviewed, reverting r263882.
2083         https://bugs.webkit.org/show_bug.cgi?id=213933
2084
2085         Broke the build
2086
2087         Reverted changeset:
2088
2089         "Make _WKWebsiteDataStoreConfiguration SPI for HSTS storage to
2090         replace _WKProcessPoolConfiguration.hstsStorageDirectory"
2091         https://bugs.webkit.org/show_bug.cgi?id=213048
2092         https://trac.webkit.org/changeset/263882
2093
2094 2020-07-02  Alex Christensen  <achristensen@webkit.org>
2095
2096         Make _WKWebsiteDataStoreConfiguration SPI for HSTS storage to replace _WKProcessPoolConfiguration.hstsStorageDirectory
2097         https://bugs.webkit.org/show_bug.cgi?id=213048
2098
2099         Reviewed by Youenn Fablet.
2100
2101         * wtf/PlatformHave.h:
2102
2103 2020-07-02  Alex Christensen  <achristensen@webkit.org>
2104
2105         Add testing infrastructure and SPI declaration for HTTP/2 ping
2106         https://bugs.webkit.org/show_bug.cgi?id=213913
2107
2108         Reviewed by Jer Noble.
2109
2110         This is work towards rdar://problem/64495827
2111
2112         * wtf/PlatformHave.h:
2113
2114 2020-07-01  Tim Horton  <timothy_horton@apple.com>
2115
2116         Upstream application accent color support
2117         https://bugs.webkit.org/show_bug.cgi?id=213859
2118
2119         Reviewed by Wenson Hsieh.
2120
2121         * wtf/PlatformHave.h:
2122
2123 2020-07-01  Alexey Shvayka  <shvaikalesh@gmail.com>
2124
2125         Use more efficient makeString() instead of StringBuilder
2126         https://bugs.webkit.org/show_bug.cgi?id=213708
2127
2128         Reviewed by Sam Weinig.
2129
2130         Introduces StringTypeAdapter<std::tuple> overload, which enables using
2131         makeString() instead of StringBuilder in more cases.
2132
2133         * wtf/text/StringConcatenate.h:
2134         (WTF::StringTypeAdapter<std::tuple<StringTypes...>, void>): Added.
2135
2136 2020-06-30  Geoffrey Garen  <ggaren@apple.com>
2137
2138         [Cocoa] [GTK] RunLoop::Timer::isActive() is incorrect for timers while they are firing
2139         https://bugs.webkit.org/show_bug.cgi?id=213771
2140
2141         Reviewed by Darin Adler.
2142
2143         I noticed this because it triggered an assertion failure in
2144         BackgroundProcessResponsivenessTimer::scheduleNextResponsivenessCheck().
2145
2146         In WebKit timer parlance "isActive()" means "will fire again", so a
2147         one-shot timer should report inactive right when it fires. Otherwise,
2148         there's no way to check if it needs to be rescheduled.
2149
2150         * wtf/cf/RunLoopCF.cpp:
2151         (WTF::RunLoop::TimerBase::timerFired): For one-shot timers, stop our
2152         timer before it fires, so that we know it is not active.
2153
2154         * wtf/glib/RunLoopGLib.cpp:
2155         (WTF::RunLoop::TimerBase::TimerBase): For repeating timers, reschedule
2156         our timer before it fires, so that we know it is active.
2157
2158 2020-06-30  Mark Lam  <mark.lam@apple.com>
2159
2160         Add handling for a case of OOME in CSSTokenizer and CSSParser.
2161         https://bugs.webkit.org/show_bug.cgi?id=213702
2162         <rdar://problem/64808889>
2163
2164         Reviewed by Darin Adler.
2165
2166         1. Added FailureAction so that we can parameterize how we want to handle failures.
2167            In this patch, we're only using this for allocation failures, but we could
2168            technically apply this to other types of failures as well.
2169
2170         2. Apply FailureAction to many methods in Vector (and its super classes) so that
2171            we can start de-duplicating code.  Previously, we were always duplicating code
2172            just to have a "try" version of the same method that reports the failure to
2173            allocate instead of crashing.  We can now parameterize all these methods on a
2174            FailureAction template parameter instead, and avoid the code duplication.
2175            This patch also reverses some of the existing code duplication.
2176
2177         * WTF.xcodeproj/project.pbxproj:
2178         * wtf/CMakeLists.txt:
2179         * wtf/FailureAction.h: Added.
2180         * wtf/Vector.h:
2181         (WTF::VectorBufferBase::allocateBuffer):
2182         (WTF::VectorBufferBase::tryAllocateBuffer):
2183         (WTF::VectorBuffer::allocateBuffer):
2184         (WTF::VectorBuffer::tryAllocateBuffer):
2185         (WTF::Vector::reserveCapacity):
2186         (WTF::Vector::tryReserveCapacity):
2187         (WTF::Vector::reserveInitialCapacity):
2188         (WTF::Vector::tryReserveInitialCapacity):
2189         (WTF::Vector::append):
2190         (WTF::Vector::tryAppend):
2191         (WTF::Vector::constructAndAppend):
2192         (WTF::Vector::tryConstructAndAppend):
2193         (WTF::Vector::expandCapacity):
2194         (WTF::Vector::resize):
2195         (WTF::Vector::grow):
2196         (WTF::Vector::reserveCapacity):
2197         (WTF::Vector::reserveInitialCapacity):
2198         (WTF::Vector::append):
2199         (WTF::Vector::constructAndAppend):
2200         (WTF::Vector::appendSlowCase):
2201         (WTF::Vector::constructAndAppendSlowCase):
2202         (WTF::Vector::appendVector):
2203         (WTF::Vector::insert):
2204         (WTF::Vector::tryExpandCapacity): Deleted.
2205         (WTF::Vector::tryReserveCapacity): Deleted.
2206         (WTF::Vector::tryAppend): Deleted.
2207         (WTF::Vector::tryConstructAndAppend): Deleted.
2208         (WTF::Vector::tryConstructAndAppendSlowCase): Deleted.
2209
2210 2020-06-30  Peng Liu  <peng.liu6@apple.com>
2211
2212         Enable the support of FULLSCREEN_API in WebKitTestRunner
2213         https://bugs.webkit.org/show_bug.cgi?id=213774
2214
2215         Reviewed by Youenn Fablet.
2216
2217         Replace the definition of ENABLE_FULLSCREEN_API in FeatureDefines.xcconfig with
2218         the one in PlatformEnableCocoa.h. We have to do that because WebKitTestRunner
2219         does not have a FeatureDefines.xcconfig but it uses "ENABLE(FULLSCREEN_API)"
2220         to conditionally compile code to test the element fullscreen API.
2221         WebKitTestRunner can use the macro defined in PlatformEnableCocoa.h.
2222
2223         * wtf/PlatformEnableCocoa.h:
2224
2225 2020-06-30  Alex Christensen  <achristensen@webkit.org>
2226
2227         Remove WTF::MD5
2228         https://bugs.webkit.org/show_bug.cgi?id=213766
2229
2230         Reviewed by Youenn Fablet.
2231
2232         It was only used for CURL's cache file name generation.
2233         If you want to use a broken hash function, use SHA1.
2234
2235         * WTF.xcodeproj/project.pbxproj:
2236         * wtf/CMakeLists.txt:
2237         * wtf/MD5.cpp: Removed.
2238         * wtf/MD5.h: Removed.
2239
2240 2020-06-30  Andy Estes  <aestes@apple.com>
2241
2242         [Xcode] Enable the "My Mac (Mac Catalyst)" destination in WebKit Xcode projects
2243         https://bugs.webkit.org/show_bug.cgi?id=213740
2244
2245         Reviewed by Darin Adler.
2246
2247         * Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this
2248         project supports building for Mac Catalyst.
2249
2250 2020-06-30  Commit Queue  <commit-queue@webkit.org>
2251
2252         Unreviewed, reverting r263724.
2253         https://bugs.webkit.org/show_bug.cgi?id=213781
2254
2255
2256         Reverted changeset:
2257
2258         "Make _WKWebsiteDataStoreConfiguration SPI for HSTS storage to
2259         replace _WKProcessPoolConfiguration.hstsStorageDirectory"
2260         https://bugs.webkit.org/show_bug.cgi?id=213048
2261         https://trac.webkit.org/changeset/263724
2262
2263 2020-06-29  Geoffrey Garen  <ggaren@apple.com>
2264
2265         Unreviewed, rolling out an accidental change from r263723.
2266
2267         * wtf/cf/RunLoopCF.cpp:
2268         (WTF::RunLoop::TimerBase::timerFired):
2269
2270 2020-06-29  Alex Christensen  <achristensen@webkit.org>
2271
2272         Make _WKWebsiteDataStoreConfiguration SPI for HSTS storage to replace _WKProcessPoolConfiguration.hstsStorageDirectory
2273         https://bugs.webkit.org/show_bug.cgi?id=213048
2274
2275         Reviewed by Youenn Fablet.
2276
2277         * wtf/PlatformHave.h:
2278
2279 2020-06-29  Geoffrey Garen  <ggaren@apple.com>
2280
2281         [GTK] [Win] Build callOnMainThread on WTF::RunLoop rather than on a timer
2282         https://bugs.webkit.org/show_bug.cgi?id=213694
2283
2284         Reviewed by Carlos Garcia Campos.
2285
2286         As of https://bugs.webkit.org/show_bug.cgi?id=213063, Darwin platforms
2287         use the RunLoop. Let's match them for consistency, and to delete some
2288         code.
2289
2290         * wtf/generic/MainThreadGeneric.cpp:
2291         (WTF::scheduleDispatchFunctionsOnMainThread):
2292         (WTF::MainThreadDispatcher::MainThreadDispatcher): Deleted.
2293         (WTF::MainThreadDispatcher::schedule): Deleted.
2294         (WTF::MainThreadDispatcher::fired): Deleted.
2295         * wtf/glib/RunLoopSourcePriority.h:
2296         * wtf/win/MainThreadWin.cpp:
2297         (WTF::initializeMainThreadPlatform):
2298         (WTF::scheduleDispatchFunctionsOnMainThread):
2299         (WTF::ThreadingWindowWndProc): Deleted.
2300
2301 2020-06-29  Guowei Yang  <guowei_yang@apple.com>
2302
2303         Adding Experimental Feature Flags for CoreImage backed SVG/CSS Filters
2304         https://bugs.webkit.org/show_bug.cgi?id=213578
2305
2306         Reviewed by Darin Adler, Simon Fraser, Myles C. Maxfield.
2307
2308         Preparing to implement CoreImage backed filter rendering
2309         Needs Compiler guards and experimental feature guard.
2310
2311         * wtf/PlatformEnableCocoa.h: Added definition of a feature flag, 
2312           ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER
2313         * wtf/PlatformUse.h:  Added compiler guard #define USE_CORE_IMAGE 1
2314           to indicate whether CoreImage code is visible to the compiler
2315
2316 2020-06-29  Tetsuharu Ohzeki  <tetsuharu.ohzeki@gmail.com>
2317
2318         Remove ENABLE_STREAMS_API compilation flag
2319         https://bugs.webkit.org/show_bug.cgi?id=213728
2320
2321         Reviewed by Sam Weinig.
2322
2323         * wtf/PlatformEnable.h:
2324
2325 2020-06-29  Yusuke Suzuki  <ysuzuki@apple.com>
2326
2327         [WTF] Add more StringView / ASCIILiteral helper functions and add ICUDeleter
2328         https://bugs.webkit.org/show_bug.cgi?id=209774
2329
2330         Reviewed by Ross Kirsling and Darin Adler.
2331
2332         Add ICUDeleter for cleaner ICU object deletion.
2333         Add ICU::majorVersion and ICU::minorVersion to switch the skeleton string in Intl.NumberFormat.
2334         Add more features for ASCIILiteral.
2335
2336         This patch is part of https://bugs.webkit.org/show_bug.cgi?id=209774. I land it separately from
2337         Intl.NumberFormat change to unlock the further Intl implementations using ICUDeleter.
2338
2339         * WTF.xcodeproj/project.pbxproj:
2340         * wtf/CMakeLists.txt:
2341         * wtf/text/ASCIILiteral.h:
2342         * wtf/text/StringView.cpp:
2343         (WTF::codePointCompare):
2344         * wtf/text/StringView.h:
2345         (WTF::StringView::StringView):
2346         * wtf/unicode/icu/ICUHelpers.cpp: Copied from Source/WTF/wtf/text/ASCIILiteral.h.
2347         (WTF::ICU::version):
2348         (WTF::ICU::majorVersion):
2349         (WTF::ICU::minorVersion):
2350         * wtf/unicode/icu/ICUHelpers.h:
2351         (WTF::ICUDeleter::operator()):
2352
2353 2020-06-28  Geoffrey Garen  <ggaren@apple.com>
2354
2355         Rename initializeThreading to initialize
2356         https://bugs.webkit.org/show_bug.cgi?id=213674
2357
2358         Reviewed by Mark Lam.
2359
2360         Reasons:
2361
2362         (1) You need to call it even if you don't use threads.
2363
2364         (2) It initializes things unrelated to threads (like the PRNG).
2365
2366         (3) People seem to get confused about the relationship between
2367         initializeThreading() and initializeMainThread(), and sometimes think
2368         initializeThreading() is a superset. The opposite is true! I think the
2369         confusion may come from "threading" being read as "all threading".
2370
2371         Some filenames still use the legacy name. We can fix that in post.
2372
2373         * benchmarks/ConditionSpeedTest.cpp:
2374         (main):
2375         * benchmarks/HashSetDFGReplay.cpp:
2376         (main):
2377         * benchmarks/LockFairnessTest.cpp:
2378         (main):
2379         * benchmarks/LockSpeedTest.cpp:
2380         (main):
2381         * wtf/MainThread.cpp:
2382         (WTF::initializeMainThread):
2383         * wtf/Threading.cpp:
2384         (WTF::Thread::create):
2385         (WTF::initialize):
2386         (WTF::initializeThreading): Deleted.
2387         * wtf/Threading.h:
2388         (WTF::Thread::current):
2389
2390 2020-06-27  Sam Weinig  <weinig@apple.com>
2391
2392         Improve assertions in StringParsingBuffer 
2393         https://bugs.webkit.org/show_bug.cgi?id=213633
2394
2395         Reviewed by Darin Adler.
2396
2397         * wtf/text/StringParsingBuffer.h:
2398         Address additional feedback and improve the assertions by making them more
2399         clear and avoid potential overflows.
2400
2401 2020-06-26  Geoffrey Garen  <ggaren@apple.com>
2402
2403         Re-land r262863
2404         https://bugs.webkit.org/show_bug.cgi?id=213654
2405
2406         Reviewed by Tadeu Zagallo.
2407
2408         r263575 should fix the crash we saw.
2409
2410         * wtf/cocoa/MainThreadCocoa.mm:
2411         (WTF::initializeMainThreadPlatform):
2412         (WTF::scheduleDispatchFunctionsOnMainThread):
2413         (-[JSWTFMainThreadCaller call]): Deleted.
2414
2415 2020-06-26  Geoffrey Garen  <ggaren@apple.com>
2416
2417         Initializing the main thread should initialize the main run loop
2418         https://bugs.webkit.org/show_bug.cgi?id=213637
2419
2420         Reviewed by Anders Carlsson.
2421
2422         Previously, some code initialized one, some the other, and some both;
2423         and some code tried to initialize more than once; and some code tried
2424         to initialize in ways that would crash but luckily got pre-empted by
2425         other code that had already initialized.
2426
2427         In addition to general confusion, this setup made it subtly high stakes
2428         to call certain functions, like callOnMainThread or
2429         RunLoop::main().dispatch(), because they might crash if the right
2430         initialization had not been performed.
2431
2432         Let's fix that.
2433
2434         * wtf/MainThread.cpp:
2435         (WTF::initializeMainThread): Removed defunct comment about
2436         initializeMainThreadToProcessMainThread. Shrank scope of initializeKey.
2437         * wtf/RunLoop.cpp:
2438         (WTF::RunLoop::initializeMain): Don't call initializeMainThread anymore
2439         because it calls us now. No need for a store fence since we run on the
2440         main thread and we don't store anything.
2441         (WTF::RunLoop::initializeWeb): Upgrade to RELEASE_ASSERT.
2442         * wtf/RunLoop.h: Removed incorrect comment. (Fascinating to wonder when
2443         it became incorrect.)
2444
2445 2020-06-25  Sam Weinig  <weinig@apple.com>
2446
2447         Add a new templated string type to help write more idiomatic parsing code
2448         https://bugs.webkit.org/show_bug.cgi?id=213588
2449
2450         Reviewed by Darin Adler.
2451         
2452         Introduce StringParsingBuffer<CharType>, a new class in the String class family
2453         designed to be used by parsing code. It's designed to be used with the helper
2454         function, readCharactersForParsing, and for the user to write the parsing code
2455         in a way that will work for both latin1 and UTF-16 inputs. Most usage will likely
2456         follow something like the following form
2457         
2458         {
2459             ...
2460             auto parsedResult = readCharactersForParsing(stringishObjectToParse, [](auto parsingBuffer) {
2461                 while (parsingBuffer.hasCharactersRemaining()) {
2462                     if (*parsingBuffer == foo) {
2463                         ...
2464                     }
2465                 }
2466
2467                 ...
2468
2469                 return parsedResult
2470             });
2471             ...
2472         }
2473
2474         API tests added.
2475
2476         * WTF.xcodeproj/project.pbxproj:
2477         * wtf/CMakeLists.txt:
2478         Add StringParsingBuffer.h
2479
2480         * wtf/Forward.h:
2481         Forward declare StringParsingBuffer.
2482
2483         * wtf/text/StringParsingBuffer.h: 
2484         Added.
2485
2486 2020-06-25  Tadeu Zagallo  <tzagallo@apple.com>
2487
2488         WTF::callOnMainThread should not require the main runloop to be initialized
2489         https://bugs.webkit.org/show_bug.cgi?id=213612
2490         <rdar://problem/64446028>
2491
2492         Reviewed by Yusuke Suzuki.
2493
2494         When using JavaScriptCore as a framework, the WTF main runloop is never initialized. However,
2495         the inspector uses CFString wrappers, which use `callOnMainThread` when deallocating the
2496         underlying string. For now, we bring back the old `JSWTFMainThreadCaller` to ensure we have
2497         a way of dispatching to the main thread, even when the main runloop hasn't been initialized.
2498
2499         * wtf/RunLoop.cpp:
2500         (WTF::RunLoop::mainIfExists):
2501         * wtf/RunLoop.h:
2502         * wtf/cocoa/MainThreadCocoa.mm:
2503         (-[JSWTFMainThreadCaller call]):
2504         (WTF::initializeMainThreadPlatform):
2505         (WTF::scheduleDispatchFunctionsOnMainThread):
2506
2507 2020-06-24  Umar Iqbal  <uiqbal@apple.com>
2508
2509         We should resurrect the older patch that collects some statistics of web API calls
2510         https://bugs.webkit.org/show_bug.cgi?id=213319
2511
2512         Reviewed by Brent Fulgham.
2513
2514         + Enabled ENABLE_WEB_API_STATISTICS flag
2515         
2516         * wtf/PlatformEnableCocoa.h:
2517
2518 2020-06-24  Geoffrey Garen  <ggaren@apple.com>
2519
2520         Removed the 50ms rescheduling timeout from callOnMainThread
2521         https://bugs.webkit.org/show_bug.cgi?id=213560
2522
2523         Reviewed by Anders Carlsson.
2524
2525         This is a step toward making the engine less flaky by unifying
2526         callOnMainThread with RunLoop::dispatch.
2527
2528         The timeout was added in r40888 to avoid a hang under heavy postMessage
2529         load. A few reasons this isn’t the right approach anymore:
2530
2531         (1) postMessage has migrated to EventLoop, which does its own
2532         scheduling.
2533
2534         (2) postMessage does not use the application process RunLoop in Modern
2535         WebKit.
2536
2537         (3) Delay is not a sufficient solution to a messaging hang — because
2538         you’ll just OOM crash instead. The original author noted this problem
2539         in bug 23705 but never resolved it; and we rediscovered it in r233111.
2540
2541         I verified manually that the r40888 version of
2542         fast/workers/worker-timeout.html does not hang.
2543
2544         * wtf/MainThread.cpp:
2545         (WTF::dispatchFunctionsFromMainThread):
2546
2547 2020-06-23  Geoffrey Garen  <ggaren@apple.com>
2548
2549         Remove WTF::setMainThreadCallbacksPaused
2550         https://bugs.webkit.org/show_bug.cgi?id=213112
2551
2552         Reviewed by Tim Horton.
2553
2554         setMainThreadCallbacksPaused pauses all uses of callOnMainThread. That
2555         has too many side-effects. For example, you can scroll, but you can't
2556         paint any large images (since they do async image decoding).
2557
2558         Meanwhile, setMainThreadCallbacksPaused doesn't pause RunLoop::dispatch.
2559         So, other things don't get paused.
2560
2561         Let's just rely on suspending the ScriptExecutionContext and document
2562         event queue. That should suspend JavaScript-visible stuff without
2563         suspending engine-critical stuff.
2564
2565         * wtf/MainThread.cpp:
2566         (WTF::dispatchFunctionsFromMainThread):
2567         (WTF::setMainThreadCallbacksPaused): Deleted.
2568         * wtf/MainThread.h:
2569
2570 2020-06-23  Chris Dumez  <cdumez@apple.com>
2571
2572         Remove a lot of unnecessary calls to Ref::copyRef()
2573         https://bugs.webkit.org/show_bug.cgi?id=213533
2574
2575         Reviewed by Darin Adler.
2576
2577         Remove a lot of unnecessary calls to Ref::copyRef() now that Ref is copyable.
2578
2579         * wtf/glib/SocketConnection.cpp:
2580         (WTF::SocketConnection::waitForSocketWritability):
2581
2582 2020-06-23  Saam Barati  <sbarati@apple.com>
2583
2584         Remove WKkIsTranslated once our bots are updated to the needed SDK
2585         https://bugs.webkit.org/show_bug.cgi?id=213489
2586
2587         Reviewed by Tim Horton.
2588
2589         We can use the "sysctl.proc_translated" sysctl instead.
2590
2591         * WTF.xcodeproj/project.pbxproj:
2592         * wtf/TranslatedProcess.cpp: Added.
2593         (WTF::isX86BinaryRunningOnARM):
2594         * wtf/TranslatedProcess.h:
2595         (WTF::isX86BinaryRunningOnARM):
2596
2597 2020-06-23  Mark Lam  <mark.lam@apple.com>
2598
2599         Handle string overflow in DFG graph dump while validating AI.
2600         https://bugs.webkit.org/show_bug.cgi?id=213524
2601         <rdar://problem/64635620>
2602
2603         Reviewed by Saam Barati.
2604
2605         * wtf/StringPrintStream.cpp:
2606         (WTF::StringPrintStream::tryToString):
2607         * wtf/StringPrintStream.h:
2608
2609 2020-06-22  Saam Barati  <sbarati@apple.com>
2610
2611         Allow building JavaScriptCore Mac+arm64 in public SDK build
2612         https://bugs.webkit.org/show_bug.cgi?id=213472
2613
2614         Reviewed by Sam Weinig.
2615
2616         * wtf/PlatformEnable.h:
2617         * wtf/PlatformEnableCocoa.h:
2618         * wtf/PlatformHave.h:
2619
2620 2020-06-22  Timothy Horton  <timothy_horton@apple.com>
2621
2622         Fix the build
2623
2624         * wtf/TranslatedProcess.h:
2625         (WTF::isX86BinaryRunningOnARM):
2626
2627 2020-06-22  Tim Horton  <timothy_horton@apple.com>
2628
2629         Disable the JS JIT when running in a translated process
2630         https://bugs.webkit.org/show_bug.cgi?id=213478
2631
2632         Reviewed by Saam Barati.
2633
2634         * wtf/PlatformHave.h:
2635         * wtf/TranslatedProcess.h: Added.
2636         * WTF.xcodeproj/project.pbxproj:
2637         * wtf/CMakeLists.txt:
2638         Add a helper function that can be used to determine that the current process
2639         is being translated; currently the only case is an x86_64 process running on arm64e.
2640
2641 2020-06-22  Tim Horton  <timothy_horton@apple.com>
2642
2643         Update macOS version macros
2644         https://bugs.webkit.org/show_bug.cgi?id=213484
2645
2646         Reviewed by Alexey Proskuryakov.
2647
2648         * Configurations/Base.xcconfig:
2649         * Configurations/DebugRelease.xcconfig:
2650
2651 2020-06-22  Geoffrey Garen  <ggaren@apple.com>
2652
2653         Unreviewed, re-landing r262904.
2654
2655         r263223 should fix the test flakiness we saw.
2656
2657         Re-landed changeset:
2658
2659         "[Cocoa] Build callOnMainThread on WTF::RunLoop rather than on
2660         a timer"
2661         https://bugs.webkit.org/show_bug.cgi?id=213063
2662         https://trac.webkit.org/changeset/262904
2663
2664 2020-06-21  Yusuke Suzuki  <ysuzuki@apple.com>
2665
2666         [WTF] Ensure ASCIILiteral is ASCII characters at compile time
2667         https://bugs.webkit.org/show_bug.cgi?id=213449
2668
2669         Reviewed by Ross Kirsling.
2670
2671         The purpose of ASCIILiteral is ensure that this is compile-time (do not need to consider about ownership) ASCII characters.
2672         By using `isASCII` and `ASSERT_UNDER_CONSTEXPR_CONTEXT`, we can make sure that this C string does not include non ASCII characters.
2673         For example,
2674
2675             auto globalVariable = "ラーメン (Ramen in Japanese)"_s;
2676
2677         becomes compile error.
2678
2679         * wtf/ASCIICType.h:
2680         (WTF::isASCII):
2681         * wtf/text/ASCIILiteral.h:
2682         (WTF::StringLiterals::operator _s):
2683
2684 2020-06-21  Yusuke Suzuki  <ysuzuki@apple.com>
2685
2686         [WTF] URL should support dataLog
2687         https://bugs.webkit.org/show_bug.cgi?id=213450
2688
2689         Reviewed by Mark Lam.
2690
2691         Add URL::dump(PrintStream&) to support `dataLog(url)` which is extremely useful for WTF / JSC developers.
2692
2693         * wtf/URL.cpp:
2694         (WTF::URL::dump const):
2695         * wtf/URL.h:
2696
2697 2020-06-19  Yusuke Suzuki  <ysuzuki@apple.com>
2698
2699         [JSC] Check Gigacage usage before launching VM
2700         https://bugs.webkit.org/show_bug.cgi?id=213410
2701
2702         Reviewed by Mark Lam.
2703
2704         * wtf/Gigacage.h:
2705         (Gigacage::footprint):
2706         (Gigacage::maxSize):
2707         (Gigacage::size):
2708
2709 2020-06-19  Truitt Savell  <tsavell@apple.com>
2710
2711         Unreviewed, reverting r263223.
2712
2713         Broke compositing/video/video-border-radius-clipping.html on
2714         Mac release wk1
2715
2716         Reverted changeset:
2717
2718         "Unreviewed, re-landing r262904."
2719         https://bugs.webkit.org/show_bug.cgi?id=213063
2720         https://trac.webkit.org/changeset/263223
2721
2722 2020-06-19  Michael Catanzaro  <mcatanzaro@gnome.org>
2723
2724         -Wsign-compare in isValidOptionSet
2725         https://bugs.webkit.org/show_bug.cgi?id=213383
2726
2727         Reviewed by Darin Adler.
2728
2729         The OptionSet's StorageType is always unsigned, even if the enum's underlying value is not.
2730         Match this in isValidOptionSet to avoid -Wsign-compare during validity checking.
2731
2732         * wtf/OptionSet.h:
2733         (WTF::isValidOptionSet):
2734
2735 2020-06-19  Myles C. Maxfield  <mmaxfield@apple.com>
2736
2737         [Cocoa] Unify "font:" CSS shorthand values between macOS and iOS family
2738         https://bugs.webkit.org/show_bug.cgi?id=213332
2739         <rdar://problem/64479189>
2740
2741         Reviewed by Tim Horton and Darin Adler.
2742
2743         All Cocoa platforms support kCTUIFontTextStyleTitle0 and kCTUIFontTextStyleTitle4.
2744
2745         * wtf/PlatformHave.h:
2746
2747 2020-06-18  Mark Lam  <mark.lam@apple.com>
2748
2749         Unify Bitmap math loops in MarkedBlock::Handle::specializedSweep().
2750         https://bugs.webkit.org/show_bug.cgi?id=213345
2751
2752         Reviewed by Robin Morisset and Saam Barati.
2753
2754         1. Removed Bitmap::words.  Use Bitmap::numberOfWords instead.
2755         2. Removed Bitmap::wordSize.  Use Bitmap::bitsInWord instead.
2756         3. Added a new Bitmap::words() method which returns the address of the underlying
2757            bitmap storage as a Bitmap::Word*.  This enables clients to do direct bit
2758            manipulation on the Bitmap words if needed.
2759
2760         * wtf/Bitmap.h:
2761         (WTF::WordType>::get const):
2762         (WTF::WordType>::set):
2763         (WTF::WordType>::testAndSet):
2764         (WTF::WordType>::testAndClear):
2765         (WTF::WordType>::concurrentTestAndSet):
2766         (WTF::WordType>::concurrentTestAndClear):
2767         (WTF::WordType>::clear):
2768         (WTF::WordType>::invert):
2769         (WTF::WordType>::nextPossiblyUnset const):
2770         (WTF::WordType>::count const):
2771         (WTF::WordType>::isEmpty const):
2772         (WTF::WordType>::isFull const):
2773         (WTF::WordType>::merge):
2774         (WTF::WordType>::filter):
2775         (WTF::WordType>::exclude):
2776         (WTF::WordType>::concurrentFilter):
2777         (WTF::WordType>::subsumes const):
2778         (WTF::WordType>::forEachSetBit const):
2779         (WTF::WordType>::findBit const):
2780         (WTF::WordType>::mergeAndClear):
2781         (WTF::WordType>::setAndClear):
2782         (WTF::WordType>::setEachNthBit):
2783         (WTF::= const):
2784         (WTF::=):
2785         (WTF::WordType>::hash const):
2786
2787 2020-06-18  Geoffrey Garen  <ggaren@apple.com>
2788
2789         Unreviewed, re-landing r262904.
2790
2791         r263219 and r263175 should fix the test flakiness we saw.
2792
2793         Re-landed changeset:
2794
2795         "[Cocoa] Build callOnMainThread on WTF::RunLoop rather than on
2796         a timer"
2797         https://bugs.webkit.org/show_bug.cgi?id=213063
2798         https://trac.webkit.org/changeset/262904
2799
2800 2020-06-18  David Kilzer  <ddkilzer@apple.com>
2801
2802         [IPC hardening] OptionSet<> values should be validated
2803         <https://webkit.org/b/213199>
2804         <rdar://problem/64369963>
2805
2806         Reviewed by Anders Carlsson.
2807
2808         * wtf/OptionSet.h:
2809         (WTF::isValidOptionSet): Add.
2810
2811 2020-06-17  Mark Lam  <mark.lam@apple.com>
2812
2813         Replace JSC::FreeList linked list with a Bitmap.
2814         https://bugs.webkit.org/show_bug.cgi?id=213071
2815
2816         Reviewed by Filip Pizlo.
2817
2818         1. Use countOfBits<> template to compute the number of bits.
2819         2. Introduce log2() and log2Constexpr() utility functions.
2820         3. Make Bitmap<>::forEachSetBit() a little bit more efficient: we don't need to
2821            keep iterating if the bitmap word is already empty of bits.
2822
2823         * wtf/Bitmap.h:
2824         (WTF::WordType>::forEachSetBit const):
2825         * wtf/MathExtras.h:
2826         (WTF::clzConstexpr):
2827         (WTF::clz):
2828         (WTF::ctzConstexpr):
2829         (WTF::ctz):
2830         (WTF::getMSBSet):
2831         (WTF::getMSBSetConstexpr):
2832         (WTF::log2):
2833         (WTF::log2Constexpr):
2834
2835 2020-06-17  David Kilzer  <ddkilzer@apple.com>
2836
2837         Replace OptionSetTraits/OptionSetValues with EnumTraits/EnumValues
2838         <https://webkit.org/b/213264>
2839
2840         Reviewed by Brent Fulgham.
2841
2842         * wtf/OptionSet.h:
2843         (WTF::isValidOptionSetEnum):
2844         (WTF::maskRawValue):
2845         - Replace OptionSetTraits<>/OptionSetValues<> with
2846           EnumTraits<>/EnumValues<>.
2847
2848 2020-06-08  Andy Estes  <aestes@apple.com>
2849
2850         [Apple Pay] Enable layout tests on more platforms
2851         https://bugs.webkit.org/show_bug.cgi?id=212955
2852         <rdar://problem/64174156>
2853
2854         Reviewed by Alex Christensen.
2855
2856         * wtf/PlatformEnableCocoa.h: Removed ENABLE_APPLE_PAY_INSTALLMENT_IDENTIFIERS,
2857         ENABLE_APPLE_PAY_INSTALLMENT_ITEMS, ENABLE_APPLE_PAY_SESSION_V8,
2858         ENABLE_APPLE_PAY_SESSION_V9, and ENABLE_APPLE_PAY_SESSION_V10.
2859         * wtf/PlatformHave.h: Removed HAVE_PASSKIT_INSTALLMENT_IDENTIFIERS and corrected iOS version
2860         checks for HAVE_PASSKIT_INSTALLMENTS.
2861
2862 2020-06-16  Michael Catanzaro  <mcatanzaro@gnome.org>
2863
2864         Fix build with !HAVE(MACHINE_CONTEXT)
2865         https://bugs.webkit.org/show_bug.cgi?id=213223
2866         <rdar://problem/64390209>
2867
2868         Reviewed by Yusuke Suzuki.
2869
2870         In r263074, I messed up and broke the build with !HAVE(MACHINE_CONTEXT). Even though the
2871         sole purpose of that commit was to fix !HAVE(MACHINE_CONTEXT), I must have somehow messed up
2872         when testing my change.
2873
2874         Anyway, we can just create an empty PlatformRegisters object when HAVE(MACHINE_CONTEXT) is
2875         false. At first, I was worried that passing an empty PlatformRegisters could be open to
2876         misuse, but it's actually hard to misuse it because the only sensible thing you can do with
2877         it is pass it to MachineContext, and you can't use MachineContext outside
2878         HAVE(MACHINE_CONTEXT), so we should be good.
2879
2880         * wtf/threads/Signals.cpp:
2881         (WTF::jscSignalHandler):
2882
2883 2020-06-16  Chris Dumez  <cdumez@apple.com>
2884
2885         Stop calling userPreferredLanguages() in the UIProcess
2886         https://bugs.webkit.org/show_bug.cgi?id=213214
2887         <rdar://problem/64317593>
2888
2889         Reviewed by Per Arne Vollan.
2890
2891         Export WTF::languageDidChange() so we can call it from WebKit2.
2892
2893         * wtf/Language.h:
2894
2895 2020-06-16  Mark Lam  <mark.lam@apple.com>
2896
2897         Add SIGABRT handler for non OS(DARWIN) builds to the jsc shell with the -s option.
2898         https://bugs.webkit.org/show_bug.cgi?id=213200
2899
2900         Reviewed by Michael Catanzaro.
2901
2902         * wtf/threads/Signals.h:
2903         (WTF::toSystemSignal):
2904         (WTF::fromSystemSignal):
2905
2906 2020-06-15  Michael Catanzaro  <mcatanzaro@gnome.org>
2907
2908         WTF signal machinery is guarded by #if USE(PTHREADS) && HAVE(MACHINE_CONTEXT) but does not use pthreads or machine context
2909         https://bugs.webkit.org/show_bug.cgi?id=213223
2910
2911         Reviewed by Mark Lam.
2912
2913         Use #if OS(UNIX) instead.
2914
2915         * wtf/WTFConfig.h:
2916         * wtf/threads/Signals.cpp:
2917         * wtf/threads/Signals.h:
2918
2919 2020-06-15  Keith Miller  <keith_miller@apple.com>
2920
2921         REGRESSION (r263045): TestWTF.Signals.SignalsWorkOnExit crashing
2922         https://bugs.webkit.org/show_bug.cgi?id=213211
2923
2924         Reviewed by Mark Lam.
2925
2926         Don't call toMachMask on Signal::Usr as mach doesn't support user exceptions.
2927
2928         * wtf/threads/Signals.cpp:
2929         (WTF::SignalHandlers::add):
2930
2931 2020-06-15  Michael Catanzaro  <mcatanzaro@gnome.org>
2932
2933         Consistently use WTF_ATTRIBUTE_PRINTF in Assertions.[cpp,h]
2934         https://bugs.webkit.org/show_bug.cgi?id=213204
2935
2936         Reviewed by Darin Adler.
2937
2938         Use WTF_ATTRIBUTE_PRINTF for all functions taking a printf format specifier. The first
2939         argument should be the position of the format string itself (starting from 1), and the
2940         second argument should be the position of the ... parameter pack, or 0 for functions that
2941         take a va_list.
2942
2943         * wtf/Assertions.cpp:
2944         * wtf/Assertions.h:
2945
2946 2020-06-15  Keith Miller  <keith_miller@apple.com>
2947
2948         Unreviewed, build fix for build without mach exceptions.
2949
2950         * wtf/threads/Signals.cpp:
2951         (WTF::SignalHandlers::add):
2952         (WTF::addSignalHandler):
2953
2954 2020-06-15  Keith Miller  <keith_miller@apple.com>
2955
2956         Signal handlers should have a two phase installation.
2957         https://bugs.webkit.org/show_bug.cgi?id=213160
2958
2959         Reviewed by Mark Lam.
2960
2961         LLDB does not like it when we single step while there are mach exception
2962         handlers installed because LLDB suspends all the non-active threads.
2963         With Mach exception handlers installed, the OS will send a mach message
2964         to our exception handler port, which is different than the active thread.
2965         When this happens, the combination of LLDB and the process JSC is in effectively
2966         deadlock.
2967
2968         Under our new approach, we go back to only telling the OS we care about
2969         these exceptions late but lock down the function pointers early. This way
2970         processes that benefit from our exception handler code are easier to debug.
2971
2972         * wtf/threads/Signals.cpp:
2973         (WTF::addSignalHandler):
2974         (WTF::activateSignalHandlersFor):
2975         (WTF::installSignalHandler): Deleted.
2976         * wtf/threads/Signals.h:
2977
2978 2020-06-15  Per Arne Vollan  <pvollan@apple.com>
2979
2980         Pack bytes a little tighter in MemoryPressureHandler
2981         https://bugs.webkit.org/show_bug.cgi?id=200392
2982
2983         Reviewed by Yusuke Suzuki.
2984
2985         Save a tiny bit of memory by packing member variables tighter in MemoryPressureHandler.
2986
2987         * wtf/MemoryPressureHandler.h:
2988
2989 2020-06-12  Keith Miller  <keith_miller@apple.com>
2990
2991         Tests expecting a crash should use a signal handler in the JSC CLI process
2992         https://bugs.webkit.org/show_bug.cgi?id=212479
2993
2994         Reviewed by Yusuke Suzuki.
2995
2996         Add signals for floating point exceptions and breakpoints. There's a
2997         note for breakpoints that explains how using them in the same process
2998         as lldb will cause badness. Fortunately, the only place I plan on using
2999         the breakpoint handler is to check for tests where crashing is expected.
3000
3001         * wtf/threads/Signals.cpp:
3002         (WTF::fromMachException):
3003         (WTF::toMachMask):
3004         * wtf/threads/Signals.h:
3005         (WTF::toSystemSignal):
3006         (WTF::fromSystemSignal):
3007
3008 2020-06-12  Jason Lawrence  <lawrence.j@apple.com>
3009
3010         Unreviewed, reverting r262904.
3011
3012         This commit broke a test on Mac wk1 Debug.
3013
3014         Reverted changeset:
3015
3016         "[Cocoa] Build callOnMainThread on WTF::RunLoop rather than on
3017         a timer"
3018         https://bugs.webkit.org/show_bug.cgi?id=213063
3019         https://trac.webkit.org/changeset/262904
3020
3021 2020-06-12  Adrian Perez de Castro  <aperez@igalia.com>
3022
3023         Build is broken with EVENT_LOOP_TYPE=GLib
3024         https://bugs.webkit.org/show_bug.cgi?id=212987
3025
3026         Reviewed by Konstantin Tokarev.
3027
3028         * wtf/CurrentTime.cpp: Make sure that <time.h> is included to get clock_gettime() and
3029         friends defined when USE_GLIB is disabled.
3030         * wtf/PlatformJSCOnly.cmake: Use FileSystemGLib instead of FileSystemPOSIX when
3031         EVENT_LOOP_TYPE=GLib is set, add missing sources needed when ENABLE_REMOTE_INSPECTOR
3032         is set.
3033         * wtf/glib/RunLoopSourcePriority.h: Use the same list of priorities for WPE and JSCOnly.
3034
3035 2020-06-11  Alex Christensen  <achristensen@webkit.org>
3036
3037         Re-enable download resume tests
3038         https://bugs.webkit.org/show_bug.cgi?id=213098
3039         <rdar://problem/63512518>
3040
3041         Reviewed by Geoffrey Garen.
3042
3043         Workaround is no longer needed because underlying bug has been fixed.
3044
3045         * wtf/PlatformHave.h:
3046
3047 2020-06-11  Jonathan Bedard  <jbedard@apple.com>
3048
3049         WebKit: Make UIGestureRecognizer build for watchOS and tvOS
3050         https://bugs.webkit.org/show_bug.cgi?id=213038
3051         <rdar://problem/64217654>
3052
3053         Reviewed by Tim Horton.
3054
3055         * wtf/PlatformHave.h: Enable HAVE(UI_GESTURE_RECOGNIZER_MODIFIER_FLAGS) for watchOS and tvOS.
3056
3057 2020-06-11  David Kilzer  <ddkilzer@apple.com>
3058
3059         [IPC] Adopt enum class for DragSourceAction
3060         <https://webkit.org/b/212885>
3061         <rdar://problem/64094134>
3062
3063         Reviewed by Darin Adler.
3064
3065         * wtf/OptionSet.h:
3066         (WTF::OptionSet::hasExactlyOneBitSet const): Add.
3067         - Move here from WebCore::ExactlyOneBitSet() in
3068           Source/WebCore/page/EventHandler.cpp.
3069         (WTF::OptionSet::toSingleValue const): Add.
3070         - Use hasExactlyOneBitSet() to determine whether exactly one
3071           enum bitmask value can be returned.
3072
3073 2020-06-11  Geoffrey Garen  <ggaren@apple.com>
3074
3075         [Cocoa] Build callOnMainThread on WTF::RunLoop rather than on a timer
3076         https://bugs.webkit.org/show_bug.cgi?id=213063
3077
3078         Reviewed by Anders Carlsson.
3079
3080         Always use the RunLoop API for main thread tasks.
3081
3082         Previously, callOnMainThread sometimes scheduled a timer and sometimes
3083         used the RunLoop. (Ironically, the timer behavior was added in r55816
3084         with the intention to establish a single point of execution. Now, it has
3085         the opposite effect.)
3086
3087         I picked the RunLoop API rather than the timer API because it moves us
3088         closer to universally applying the RunLoop speedup in
3089         https://bugs.webkit.org/show_bug.cgi?id=202874. Also, it avoids
3090         allocating a timer, which can be expensive.
3091
3092         * wtf/cocoa/MainThreadCocoa.mm:
3093         (WTF::scheduleDispatchFunctionsOnMainThread): The webIfExists() check
3094         is a superset of the isWebThread() check, so we can just remove the
3095         isWebThread() check when scheduling tasks to the web thread.
3096         (WTF::timerFired): Deleted.
3097         (WTF::postTimer): Deleted.
3098
3099 2020-06-10  Geoffrey Garen  <ggaren@apple.com>
3100
3101         Some style improvements to main thread code
3102         https://bugs.webkit.org/show_bug.cgi?id=213051
3103
3104         Reviewed by Darin Adler.
3105
3106         * wtf/RunLoop.cpp:
3107         (WTF::RunLoop::initializeMain): Renamed initializeMainRunLoop => initializeMain
3108         to match the getter's name.
3109         (WTF::RunLoop::initializeWeb): Samesies.
3110         (WTF::RunLoop::webIfExists): Added an IfExists accessor for use in
3111         scheduleDispatchFunctionsOnMainThread().
3112         (WTF::RunLoop::initializeMainRunLoop): Deleted.
3113         (WTF::RunLoop::initializeWebRunLoop): Deleted.
3114
3115         * wtf/RunLoop.h:
3116
3117         * wtf/cocoa/MainThreadCocoa.mm:
3118         (WTF::scheduleDispatchFunctionsOnMainThread): Use RunLoop::webIfExists()
3119         to check for the web thread run loop, since that's more explicit than
3120         checking a pthread variable.
3121
3122         (WTF::isWebThread): Renamed mainThreadPthread => webThreadPthread because
3123         it's the web thread. Changed style on globals to "s_" for consistency.
3124         Removed mainThreadNSThread because it was unused.
3125         (WTF::initializeApplicationUIThread):
3126         (WTF::initializeWebThread):
3127         (WTF::canCurrentThreadAccessThreadLocalData):
3128
3129 2020-06-10  Geoffrey Garen  <ggaren@apple.com>
3130
3131         [Cocoa] Build callOnMainThread on WTF::RunLoop rather than on NSObject methods
3132         https://bugs.webkit.org/show_bug.cgi?id=213043
3133
3134         Reviewed by Simon Fraser.
3135
3136         Original patch by Sihui Liu.
3137
3138         From https://bugs.webkit.org/show_bug.cgi?id=202874, this is the subset
3139         of Sihui's patch that unifies some of RunLoop and callOnMainThread.
3140
3141         My goal is to simplify the code, and shrink the diff when testing
3142         CFRunLoopSource1 in the future.
3143
3144         * wtf/RunLoop.cpp:
3145         (WTF::RunLoop::initializeWebRunLoop):
3146         (WTF::RunLoop::web):
3147         * wtf/RunLoop.h:
3148         * wtf/cocoa/MainThreadCocoa.mm:
3149         (WTF::initializeMainThreadPlatform):
3150         (WTF::scheduleDispatchFunctionsOnMainThread):
3151         (WTF::initializeWebThread):
3152         (-[JSWTFMainThreadCaller call]): Deleted.
3153
3154 2020-06-10  Jer Noble  <jer.noble@apple.com>
3155
3156         Catalyst WebKit apps continue to play audio after quitting
3157         https://bugs.webkit.org/show_bug.cgi?id=212981
3158         <rdar://problem/57089471>
3159
3160         Reviewed by Chris Dumez.
3161
3162         Add the ability to call copyToVector() on a WeakHashSet. This requires two changes:
3163         - A template specialization that returns a Vector<WeakPtr<T>> from copyToVector()
3164         - A template specialization that calls calculateSize() rather than size() on the object
3165           being iterated upon.
3166
3167         * wtf/WeakHashSet.h:
3168         (WTF::copyToVector):
3169
3170 2020-06-09  Tim Horton  <timothy_horton@apple.com>
3171
3172         Use os_log instead of asl_log
3173         https://bugs.webkit.org/show_bug.cgi?id=213001
3174
3175         Reviewed by Saam Barati.
3176
3177         * WTF.xcodeproj/project.pbxproj:
3178         * wtf/Assertions.cpp:
3179
3180 2020-06-09  Chris Dumez  <cdumez@apple.com>
3181
3182         Use bridge cast in String(NSString *) constructor
3183         https://bugs.webkit.org/show_bug.cgi?id=212989
3184
3185         Reviewed by Darin Adler.
3186
3187         Use bridge cast in String(NSString *) constructor instead of a reinterpret_cast as this
3188         is the preferred way of converting a NS Type to a CF one.
3189
3190         * wtf/text/cocoa/StringCocoa.mm:
3191         (WTF::String::String):
3192
3193 2020-06-09  Per Arne Vollan  <pvollan@apple.com>
3194
3195         All platforms should enable CFPrefs read only mode in the WebContent process
3196         https://bugs.webkit.org/show_bug.cgi?id=212910
3197
3198         Reviewed by Tim Horton.
3199
3200         In https://bugs.webkit.org/show_bug.cgi?id=212411, CFPrefs read only mode was adopted, but not all platforms were included.
3201
3202         * wtf/PlatformHave.h:
3203
3204 2020-06-09  Wenson Hsieh  <wenson_hsieh@apple.com>
3205
3206         REGRESSION (r260820): [macCatalyst] Web process crashes when uploading a file
3207         https://bugs.webkit.org/show_bug.cgi?id=212976
3208         <rdar://problem/64033186>
3209
3210         Reviewed by Tim Horton.
3211
3212         Add `HAVE(FRONTBOARD_SYSTEM_APP_SERVICES)`.
3213
3214         * wtf/PlatformHave.h:
3215
3216 2020-06-08  Chris Fleizach  <cfleizach@apple.com>
3217
3218         HAVE(ACCESSIBILITY_BUNDLES_PATH) is defined in terms of PLATFORM(IOS_FAMILY) but only checks the version of __IPHONE_OS_VERSION_MIN_REQUIRED
3219         https://bugs.webkit.org/show_bug.cgi?id=212704
3220         <rdar://problem/63931340>
3221
3222         Reviewed by Darin Adler.
3223
3224         Ensure that this works for all iOS familes.
3225
3226         * wtf/PlatformHave.h:
3227
3228 2020-06-08  Per Arne Vollan  <pvollan@apple.com>
3229
3230         [Cocoa] Adopt read-only mode for preferences in the WebContent process
3231         https://bugs.webkit.org/show_bug.cgi?id=212411
3232
3233         Reviewed by Darin Adler.
3234
3235         Change name of HAVE define to match SPI name.
3236
3237         * wtf/PlatformHave.h:
3238
3239 2020-06-08  Andy Estes  <aestes@apple.com>
3240
3241         [Apple Pay] Remove -respondsToSelector: check before calling -[PKPaymentRequest setBoundInterfaceIdentifier:]
3242         https://bugs.webkit.org/show_bug.cgi?id=212884
3243         <rdar://problem/64090963>
3244
3245         Reviewed by Youenn Fablet.
3246
3247         * wtf/PlatformHave.h: On macOS, HAVE_PASSKIT_BOUND_INTERFACE_IDENTIFIER should be defined
3248         starting in Catalina.
3249
3250 2020-06-08  Andy Estes  <aestes@apple.com>
3251
3252         [Apple Pay] Remove ENABLE_APPLE_PAY_SETUP, ENABLE_APPLE_PAY_SESSION_V7, and HAVE_PASSKIT_PAYMENT_SETUP
3253         https://bugs.webkit.org/show_bug.cgi?id=212883
3254         <rdar://problem/64090763>
3255
3256         Reviewed by Youenn Fablet.
3257
3258         These macros evaluate to true whenever ENABLE(APPLE_PAY) is true on platforms supported by
3259         trunk WebKit, so we can either remove them or replace them with ENABLE(APPLE_PAY).
3260
3261         * wtf/PlatformEnableCocoa.h:
3262         * wtf/PlatformHave.h:
3263
3264 2020-06-08  youenn fablet  <youenn@apple.com>
3265
3266         [Cocoa] Use AVAssetWriterDelegate to implement MediaRecorder
3267         https://bugs.webkit.org/show_bug.cgi?id=206582
3268
3269         Reviewed by Eric Carlson.
3270
3271         * wtf/PlatformHave.h:
3272
3273 2020-06-07  Andy Estes  <aestes@apple.com>
3274
3275         [Apple Pay] HAVE(PAYMENT_METHOD_BILLING_ADDRESS) should be true on iOS
3276         https://bugs.webkit.org/show_bug.cgi?id=212877
3277         <rdar://problem/64080998>
3278
3279         Reviewed by Sam Weinig.
3280
3281         * wtf/PlatformHave.h:
3282
3283 2020-06-07  Philippe Normand  <pnormand@igalia.com>
3284
3285         Remove ENABLE_VIDEO_TRACK ifdef guards
3286         https://bugs.webkit.org/show_bug.cgi?id=212568
3287
3288         Reviewed by Youenn Fablet.
3289
3290         * wtf/PlatformEnable.h: Remove ENABLE_VIDEO_TRACK, which is now enabled by
3291         default under the ENABLE_VIDEO guard.
3292         * wtf/PlatformEnableCocoa.h: Ditto.
3293
3294 2020-06-06  David Kilzer  <ddkilzer@apple.com>
3295
3296         Use OptionSet<DragOperation> for mask values
3297         <https://webkit.org/b/212605>
3298
3299         Reviewed by Darin Adler.
3300
3301         * wtf/OptionSet.h:
3302         (WTF::OptionSet::OptionSet):
3303         - Add constructor for OptionSet(Optional).
3304
3305 2020-06-05  Ryan Haddad  <ryanhaddad@apple.com>
3306
3307         Unreviewed, reverting r262619, r262625, and r262641.
3308
3309         Caused mediarecorder layout test crashes.
3310
3311         Reverted changesets:
3312
3313         "[Cocoa] Use AVAssetWriterDelegate to implement MediaRecorder"
3314         https://bugs.webkit.org/show_bug.cgi?id=206582
3315         https://trac.webkit.org/changeset/262619
3316
3317         "[Cocoa] Use AVAssetWriterDelegate to implement MediaRecorder"
3318         https://bugs.webkit.org/show_bug.cgi?id=206582
3319         https://trac.webkit.org/changeset/262625
3320
3321         "Unreviewed, silence deprecation warning to fix build with
3322         latest SDK."
3323         https://trac.webkit.org/changeset/262641
3324
3325 2020-06-05  Per Arne Vollan  <pvollan@apple.com>
3326
3327         [Cocoa] Adopt read-only mode for preferences in the WebContent process
3328         https://bugs.webkit.org/show_bug.cgi?id=212411
3329
3330         Reviewed by Darin Adler.
3331
3332         Create HAVE define indicating support for read-only preference SPI.
3333
3334         * wtf/PlatformHave.h:
3335
3336 2020-06-05  youenn fablet  <youenn@apple.com>
3337
3338         [Cocoa] Use AVAssetWriterDelegate to implement MediaRecorder
3339         https://bugs.webkit.org/show_bug.cgi?id=206582
3340
3341         Reviewed by Eric Carlson.
3342
3343         * wtf/PlatformHave.h:
3344
3345 2020-06-04  Jonathan Bedard  <jbedard@apple.com>
3346
3347         WTF: Exclude MachExceptions.defs from all embedded builds
3348         https://bugs.webkit.org/show_bug.cgi?id=212796
3349
3350         Reviewed by Alexey Proskuryakov.
3351
3352         * Configurations/WTF.xcconfig:
3353
3354 2020-06-04  Wenson Hsieh  <wenson_hsieh@apple.com>
3355
3356         [macOS] Add a way to override the contact AutoFill button image
3357         https://bugs.webkit.org/show_bug.cgi?id=212775
3358         <rdar://problem/60381452>
3359
3360         Reviewed by Tim Horton.
3361
3362         Rename `SYSTEM_ATTACHMENT_PLACEHOLDER_ICON` to `ALTERNATE_ICONS`.
3363
3364         * wtf/PlatformHave.h:
3365
3366 2020-06-04  Jacob Uphoff  <jacob_uphoff@apple.com>
3367
3368         Unreviewed, reverting r262546.
3369
3370         This commit caused internal build failures
3371
3372         Reverted changeset:
3373
3374         "[Cocoa] Adopt read-only mode for preferences in the
3375         WebContent process"
3376         https://bugs.webkit.org/show_bug.cgi?id=212411
3377         https://trac.webkit.org/changeset/262546
3378
3379 2020-06-04  Per Arne Vollan  <pvollan@apple.com>
3380
3381         [Cocoa] Adopt read-only mode for preferences in the WebContent process
3382         https://bugs.webkit.org/show_bug.cgi?id=212411
3383
3384         Reviewed by Darin Adler.
3385
3386         Create HAVE define indicating support for read-only preference SPI.
3387
3388         * wtf/PlatformHave.h:
3389
3390 2020-06-04  Tim Horton  <timothy_horton@apple.com>
3391
3392         Work around broken system version macro
3393         https://bugs.webkit.org/show_bug.cgi?id=212726
3394
3395         Reviewed by Dan Bernstein.
3396
3397         * Configurations/DebugRelease.xcconfig:
3398
3399 2020-06-04  Andy Estes  <aestes@apple.com>
3400
3401         [watchOS] Re-enable content filtering in the simulator build
3402         https://bugs.webkit.org/show_bug.cgi?id=212711
3403         <rdar://problem/63938350>
3404
3405         Reviewed by Wenson Hsieh.
3406
3407         * wtf/PlatformHave.h:
3408
3409 2020-06-03  Andy Estes  <aestes@apple.com>
3410
3411         [Apple Pay] Add new values for -apple-pay-button-type
3412         https://bugs.webkit.org/show_bug.cgi?id=212684
3413         <rdar://problem/63908535>
3414
3415         Reviewed by Anders Carlsson.
3416
3417         * wtf/PlatformEnableCocoa.h:
3418
3419 2020-06-01  Simon Fraser  <simon.fraser@apple.com>
3420
3421         Add ENABLE(WHEEL_EVENT_REGIONS), enabled on macOS which is the only platform that needs wheel event regions for scrolling thread hit-testing
3422         https://bugs.webkit.org/show_bug.cgi?id=212620
3423
3424         Reviewed by Tim Horton.
3425
3426         Surround code related to wheel event regions with ENABLE(WHEEL_EVENT_REGIONS).
3427
3428         Eventually we'll use this same code for touch event regions, and when we do, we
3429         can rejigger the #ifdefs.
3430
3431         * wtf/PlatformEnable.h:
3432         * wtf/PlatformEnableCocoa.h:
3433
3434 2020-06-02  Mark Lam  <mark.lam@apple.com>
3435
3436         Change Gigacage::Config to use storage in WebConfig::g_config instead of its own.
3437         https://bugs.webkit.org/show_bug.cgi?id=212585
3438         <rdar://problem/63812487>
3439
3440         Reviewed by Yusuke Suzuki.
3441
3442         We now think of the various Config records as being allocated from parts of a
3443         WebConfig::g_config buffer.  WTF::Config will manage the mechanics of freezing
3444         that buffer.  And the JSC VM is still the determiner of if/when to freeze the
3445         buffer, and it will do this at the end of the construction of the very first
3446         VM instance (as before).
3447
3448         Gigacage::Config reserves space in WebConfig::g_config.
3449         WTF::Config will honor that reservation and place itself after that.
3450         JSC::Config will continue to place itself at WTF::Config::spaceForExtensions.
3451
3452         The upside of this approach this is that we can now share the same memory page
3453         for all the Configs, and can freeze them in one go.
3454
3455         The downside is that g_gigacageConfig, g_wtfConfig, and g_jscConfig now have to
3456         be macros.  This results in some weirdness e.g. they are no longer qualified by
3457         namespaces: referring to WTF::g_wtfConfig is now incorrect.
3458
3459         * wtf/Gigacage.h:
3460         (Gigacage::disablingPrimitiveGigacageIsForbidden):
3461         (Gigacage::isDisablingPrimitiveGigacageForbidden): Deleted.
3462         (Gigacage::isPrimitiveGigacagePermanentlyEnabled): Deleted.
3463         (Gigacage::canPrimitiveGigacageBeDisabled): Deleted.
3464         * wtf/WTFConfig.cpp:
3465         (WTF::Config::permanentlyFreeze):
3466         * wtf/WTFConfig.h:
3467         (): Deleted.
3468
3469 2020-06-01  Simon Fraser  <simon.fraser@apple.com>
3470
3471         Add ENABLE(TOUCH_ACTION_REGIONS) to wrap code that's only relevant for platforms that consult touch-action for event handling
3472         https://bugs.webkit.org/show_bug.cgi?id=212572
3473
3474         Reviewed by Andy Estes.
3475
3476         * wtf/PlatformEnable.h:
3477         * wtf/PlatformEnableCocoa.h:
3478
3479 2020-05-31  Mark Lam  <mark.lam@apple.com>
3480
3481         Change JSC::Config to use storage in WTF::Config instead of its own.
3482         https://bugs.webkit.org/show_bug.cgi?id=212575
3483         <rdar://problem/63796584>
3484
3485         Reviewed by Yusuke Suzuki.
3486
3487         * wtf/WTFConfig.h:
3488
3489 2020-05-30  Mark Lam  <mark.lam@apple.com>
3490
3491         Rename Signal::BadAccess to Signal::AccessFault.
3492         https://bugs.webkit.org/show_bug.cgi?id=212577
3493
3494         Reviewed by Yusuke Suzuki.
3495
3496         This is needed because GTK port's X11 has a #define for BadAccess (in include/X11/X.h):
3497
3498             #define BadAccess     10    /* depending on context:
3499                                          - key/button already grabbed
3500                                          - attempt to free an illegal 
3501                                            cmap entry 
3502                                          - attempt to store into a read-only 
3503                                            color map entry.
3504                                          - attempt to modify the access control
3505                                            list from other than the local host.
3506                                          */
3507
3508         As a result, this would break the GTK build when wtf/Signals.h is #include'd.
3509
3510         * wtf/threads/Signals.cpp:
3511         (WTF::fromMachException):
3512         (WTF::toMachMask):
3513         (WTF::jscSignalHandler):
3514         * wtf/threads/Signals.h:
3515         (WTF::toSystemSignal):
3516         (WTF::fromSystemSignal):
3517
3518 2020-05-29  Alex Christensen  <achristensen@webkit.org>
3519
3520         Use correct encoding when converting a WTF::URL to CFURLRef
3521         https://bugs.webkit.org/show_bug.cgi?id=212486
3522
3523         Reviewed by Darin Adler.
3524
3525         * wtf/cf/CFURLExtras.cpp:
3526         (WTF::createCFURLFromBuffer):
3527         * wtf/cf/CFURLExtras.h:
3528         * wtf/cf/URLCF.cpp:
3529         (WTF::URL::createCFURL const):
3530         * wtf/cocoa/URLCocoa.mm:
3531         (WTF::URL::createCFURL const):
3532
3533 2020-05-29  Brent Fulgham  <bfulgham@apple.com>
3534
3535         [Cocoa] Improve logging quality for non-ephemeral sessions
3536         https://bugs.webkit.org/show_bug.cgi?id=212551
3537         <rdar://problem/62461099>
3538
3539         Reviewed by David Kilzer.
3540
3541         * wtf/PlatformHave.h: Add new feature check for CFNetwork convenience setter.
3542
3543 2020-05-29  Wenson Hsieh  <wenson_hsieh@apple.com>
3544
3545         REGRESSION (r261812): editing/async-clipboard/clipboard-item-get-type-basic.html is flaky
3546         https://bugs.webkit.org/show_bug.cgi?id=212281
3547         <rdar://problem/63554912>
3548
3549         Reviewed by Tim Horton.
3550
3551         Add a new `HAVE()` define.
3552
3553         * wtf/PlatformHave.h:
3554
3555 2020-05-27  Keith Miller  <keith_miller@apple.com>
3556
3557         for-of should check the iterable is a JSArray for FastArray in DFG iterator_open
3558         https://bugs.webkit.org/show_bug.cgi?id=212383
3559
3560         Reviewed by Saam Barati.
3561
3562         Optional should be able to copy/move constructor itself as long as <T> is
3563         trivially copyable. This lets us copy Optionals into const globals without
3564         global constructors.
3565
3566         * wtf/Optional.h:
3567         (WTF::Optional::Optional):
3568         (WTF::Optional::__NOEXCEPT_):
3569
3570 2020-05-27  Noam Rosenthal  <noam@webkit.org>
3571
3572         Implement AccessKeyLabel attribute.
3573         https://bugs.webkit.org/show_bug.cgi?id=72715
3574
3575         Reviewed by Darin Adler.
3576
3577         Added character names for upArrow/option, as they're needed for accessKeyLabel.
3578
3579         * wtf/unicode/CharacterNames.h:
3580
3581 2020-05-27  Saam Barati  <sbarati@apple.com>
3582
3583         Improve comments about OS/PLATFORM(IOS) and friends
3584         https://bugs.webkit.org/show_bug.cgi?id=212438
3585
3586         Reviewed by Tim Horton.
3587
3588         * wtf/PlatformLegacy.h:
3589         * wtf/PlatformOS.h:
3590
3591 2020-05-27  David Kilzer  <ddkilzer@apple.com>
3592
3593         Add OptionSetTraits<> and use with WebCore::DragDestinationAction
3594         <https://webkit.org/b/212397>
3595
3596         Reviewed by Alex Christensen.
3597
3598         Add OptionSetTraits<> (similar to EnumTraits<>) to define all
3599         valid values for a given enum type.  This allows us to use that
3600         bitmask with OptionSet<>::fromRaw() to clear undefined bits, and
3601         to validate enum values used with the OptionSet<> constructors.
3602
3603         Note that the extra validation possible with OptionSetTraits<>
3604         is enabled based on the existence of that type using the new
3605         WTF::is_type_complete_v<> type trait.  Other OptionSet<> enums
3606         fall back to the original validation checks.
3607
3608         Finally, typename <T> is changed to <E> for OptionSet<> to
3609         emphasize that it's an enum typename.
3610
3611         * wtf/OptionSet.h:
3612         (WTF::is_type_complete_v): Add.
3613         (WTF::OptionSetTraits): Add.
3614         (WTF::OptionSetValues): Add.
3615         (WTF::OptionSetValueChecker): Add.
3616         (WTF::isValidOptionSetEnum): Add.
3617         (WTF::maskRawValue): Add.
3618         (WTF::OptionSet::Iterator::operator* const):
3619         (WTF::OptionSet::fromRaw):
3620         (WTF::OptionSet::OptionSet):
3621         (WTF::OptionSet::contains const):
3622
3623 2020-05-27  Michael Catanzaro  <mcatanzaro@gnome.org>
3624
3625         -Wdeprecated-copy caused by Bitmap copy assignment operator
3626         https://bugs.webkit.org/show_bug.cgi?id=212421
3627
3628         Reviewed by Mark Lam.
3629
3630         This copy assignment operator is not needed, and causes warnings because we do not have a
3631         corresponding copy constructor. We could add a copy constructor, but it's easiest to just
3632         remove the copy assignment operator.
3633
3634         * wtf/Bitmap.h:
3635
3636 2020-05-26  Darin Adler  <darin@apple.com>
3637
3638         Sort PlatformEnableCocoa.h and add definitions for the simple cases from FeatureDefines.xcconfig
3639         https://bugs.webkit.org/show_bug.cgi?id=212389
3640
3641         Reviewed by Anders Carlsson.
3642
3643         Added more PlatformEnableCocoa.h; allowing us to later remove things from
3644         FeatureDefines.xcconfig (patch forthcoming).
3645
3646         * wtf/PlatformEnableCocoa.h: Added definitions from FeatureDefines.xcconfig that
3647         were simple, and that differ from the defaults in PlatformEnable.h. That includes
3648         3D_TRANSFORMS, ACCESSIBILITY_ISOLATED_TREE (macOS >= 10.6), APPLICATION_MANIFEST,
3649         ASYNC_SCROLLING, ATTACHMENT_ELEMENT, AVF_CAPTIONS, CACHE_PARTITIONING,
3650         CSS_COMPOSITING, CSS_PAINTING_API, CSS_SCROLL_SNAP, CSS_SELECTORS_LEVEL4,
3651         CSS_TRAILING_WORD, CSS_TYPED_OM, DATACUE_VALUE, DATALIST_ELEMENT, FILTERS_LEVEL_2,
3652         GPU_PROCESS, INDEXED_DATABASE, INDEXED_DATABASE_IN_WORKERS, INSPECTOR_TELEMETRY,
3653         INTERSECTION_OBSERVER, LAYOUT_FORMATTING_CONTEXT, LEGACY_CSS_VENDOR_PREFIXES,
3654         LEGACY_CUSTOM_PROTOCOL_MANAGER, MEDIA_CONTROLS_SCRIPT, MEMORY_SAMPLER,
3655         MOUSE_CURSOR_SCALE (macOS), NETWORK_CACHE_SPECULATIVE_REVALIDATION,
3656         NETWORK_CACHE_STALE_WHILE_REVALIDATE, NOTIFICATIONS (macOS), PDFKIT_PLUGIN (macOS),
3657         PERIODIC_MEMORY_MONITOR (macOS), PUBLIC_SUFFIX_LIST, RESIZE_OBSERVER,
3658         RESOURCE_LOAD_STATISTICS, RUBBER_BANDING (macOS), SANDBOX_EXTENSIONS,
3659         SERVER_PRECONNECT, SERVICE_CONTROLS (macOS), SHAREABLE_RESOURCE,
3660         TELEPHONE_NUMBER_DETECTION, TEXT_AUTOSIZING, USERSELECT_ALL, USER_MESSAGE_HANDLERS,
3661         VARIATION_FONTS, VIDEO, VIDEO_USES_ELEMENT_FULLSCREEN (macOS),
3662         WEBDRIVER_KEYBOARD_INTERACTIONS, WEBDRIVER_MOUSE_INTERACTIONS (macOS),
3663         WEBGL, WEBGL2, WEB_AUDIO, WEB_CRYPTO, and WIRELESS_PLAYBACK_TARGET. Sorted and
3664         merged all the existing settings.
3665
3666 2020-05-26  Alex Christensen  <achristensen@webkit.org>
3667
3668         UTF-8 encode strings of invalid URLs when converting WTF::URL to NSURL instead of truncating the UTF-16 encoding
3669         https://bugs.webkit.org/show_bug.cgi?id=212393
3670         <rdar://problem/63095503>
3671
3672         Reviewed by Tim Horton.
3673
3674         This only changes behavior in code that is marked as UNLIKELY because it can only be reached by invalid unicode URLs,
3675         but it can be reached and should behave in a reasonable manner in those cases.  This makes Safari behave more similarly
3676         to Firefox in this case instead of doing something similar to no other browser.
3677
3678         * wtf/URL.cpp:
3679         (WTF::copyASCII): Deleted.
3680         (WTF::URL::copyToBuffer const): Deleted.
3681         * wtf/URL.h:
3682         * wtf/cf/URLCF.cpp:
3683         (WTF::URL::createCFURL const):
3684         * wtf/cocoa/URLCocoa.mm:
3685         (WTF::URL::createCFURL const):
3686
3687 2020-05-26  Yoshiaki JITSUKAWA  <yoshiaki.jitsukawa@sony.com>
3688
3689         [PlayStation] Disable LLINT_EMBEDDED_OPCODE_ID
3690         https://bugs.webkit.org/show_bug.cgi?id=212387
3691
3692         Reviewed by Don Olmstead.
3693
3694         * wtf/CMakeLists.txt:
3695         * wtf/PlatformEnable.h:
3696         * wtf/PlatformEnablePlayStation.h: Added.
3697
3698 2020-05-26  Mark Lam  <mark.lam@apple.com>
3699
3700         Enhance Bitmap::setEachNthBit() to also take an end index.
3701         https://bugs.webkit.org/show_bug.cgi?id=212386
3702         <rdar://problem/63643324>
3703
3704         Reviewed by Robin Morisset.
3705
3706         Previously, it was only taking the n interval, and the start index.
3707         Also fixed isEmpty() and isFull() to return a bool instead of size_t.
3708
3709         * wtf/Bitmap.h:
3710         (WTF::WordType>::isEmpty const):
3711         (WTF::WordType>::isFull const):
3712         (WTF::WordType>::setEachNthBit):
3713
3714 2020-05-26  Don Olmstead  <don.olmstead@sony.com>
3715
3716         [CMake] Add static analyzers
3717         https://bugs.webkit.org/show_bug.cgi?id=212280
3718
3719         Reviewed by David Kilzer.
3720
3721         Export headers from Plaform.h so include-what-you-use does not suggest they be
3722         included directly. The headers being exported will #error when included outside of
3723         Platform.h
3724
3725         * wtf/Platform.h:
3726
3727 2020-05-25  Alex Christensen  <achristensen@webkit.org>
3728
3729         Expose more network metrics to WebCoreNSURLSession
3730         https://bugs.webkit.org/show_bug.cgi?id=212359
3731         <rdar://problem/62909440>
3732
3733         Reviewed by Darin Adler.
3734
3735         * wtf/PlatformHave.h:
3736
3737 2020-05-22  David Kilzer  <ddkilzer@apple.com>
3738
3739         WTF::isValidEnum() has a typo in static_assert making it a tautological comparison
3740         <https://webkit.org/b/212290>
3741
3742         Reviewed by Yusuke Suzuki.
3743
3744         * wtf/EnumTraits.h:
3745         (WTF::isValidEnum): Use sizeof(std::underlying_type_t<E>)
3746         instead of std::underlying_type_t<E>() to fix the bug.
3747
3748 2020-05-22  Chris Dumez  <cdumez@apple.com>
3749
3750         RELEASE_ASSERT() that InitializeWebKit2() is getting called on the main thread
3751         https://bugs.webkit.org/show_bug.cgi?id=212283
3752
3753         Reviewed by Alex Christensen.
3754
3755         * wtf/spi/darwin/dyldSPI.h:
3756
3757 2020-05-22  Andy Estes  <aestes@apple.com>
3758
3759         [Apple Pay] Add new ApplePayInstallmentConfiguration members
3760         https://bugs.webkit.org/show_bug.cgi?id=212160
3761         <rdar://problem/60703650>
3762
3763         Reviewed by Alex Christensen.
3764
3765         * wtf/PlatformEnableCocoa.h: Defined ENABLE_APPLE_PAY_INSTALLMENT_IDENTIFIERS.
3766
3767 2020-05-21  Robin Morisset  <rmorisset@apple.com>
3768
3769         Various compile-time boolean flags could/should be marked constexpr
3770         https://bugs.webkit.org/show_bug.cgi?id=212244
3771
3772         Reviewed by Mark Lam.
3773
3774         * wtf/ParkingLot.cpp:
3775
3776 2020-05-20  Mark Lam  <mark.lam@apple.com>
3777
3778         Add more Bitmap methods.
3779         https://bugs.webkit.org/show_bug.cgi?id=212190
3780         <rdar://problem/63481333>
3781
3782         Reviewed by Robin Morisset.
3783
3784         Specifically,
3785             setEachNthBit - sets every Nth bit starting at a specified start bit
3786             operator=     - assignment
3787             operator|=    - bit or and assignment
3788             operator&=    - bit and and assignment
3789             operator^=    - bit xor and assignment
3790
3791         * wtf/Bitmap.h:
3792
3793 2020-05-21  Yoshiaki Jitsukawa  <yoshiaki.jitsukawa@sony.com>
3794
3795         [PlayStation] Add minimal WKView API to enable TestWebKitAPI
3796         https://bugs.webkit.org/show_bug.cgi?id=211868
3797
3798         Reviewed by Alex Christensen.
3799
3800         Enable TestWebKitAPI
3801
3802         * wtf/PlatformPlayStation.cmake:
3803         Link libc as a system library.
3804
3805 2020-05-21  Wenson Hsieh  <wenson_hsieh@apple.com>
3806
3807         Unreviewed, fix the iOS 13.4 build after r261978
3808
3809         Add a `HAVE()` macro to guard usages of _UIHoverEventRespondable.
3810
3811         * wtf/PlatformHave.h:
3812
3813 2020-05-20  Simon Fraser  <simon.fraser@apple.com>
3814
3815         [macOS] Scrolling synchronization part 1: Have the scrolling thread wait half a frame for the main thread to complete the rendering update
3816         https://bugs.webkit.org/show_bug.cgi?id=212168
3817
3818         Reviewed by Tim Horton.
3819
3820         Some new trace points for scrolling thread activity.
3821
3822         * wtf/SystemTracing.h:
3823
3824 2020-05-20  Tim Horton  <timothy_horton@apple.com>
3825
3826         WKMouseGestureRecognizer should be implemented without using UIKit internals
3827         https://bugs.webkit.org/show_bug.cgi?id=212173
3828         <rdar://problem/61163726>
3829
3830         Reviewed by Wenson Hsieh.
3831
3832         * wtf/PlatformHave.h:
3833
3834 2020-05-20  Alex Christensen  <achristensen@webkit.org>
3835
3836         Remove implicit URL->String conversion operators
3837         https://bugs.webkit.org/show_bug.cgi?id=211033
3838
3839         Reviewed by Darin Adler.
3840
3841         These operators have been the cause of many subtle bugs related to type inference that are hard to see in the code,
3842         as well as performance bugs where we unnecessarily re-parse parsed URLs.
3843         After my recent cleanup this was easier than I thought it would be.
3844
3845         * wtf/URL.h:
3846         (WTF::URL::operator const String& const): Deleted.
3847         (WTF::URL::operator StringView const): Deleted.
3848         (WTF::URL::operator NSString * const): Deleted.
3849
3850 2020-05-20  Antoine Quint  <graouts@apple.com>
3851
3852         [Web Animations] Animation engine should not wake up every tick for steps timing functions
3853         https://bugs.webkit.org/show_bug.cgi?id=212103
3854         <rdar://problem/62737868>
3855
3856         Reviewed by Simon Fraser.
3857
3858         Allow Seconds to be divided or multiplied by a double with operands in any order.
3859
3860         * wtf/Seconds.h:
3861         (WTF::operator*):
3862         (WTF::operator/):
3863
3864 2020-05-20  Youenn Fablet  <youenn@apple.com>
3865
3866         [Mac] Use preferedPixelBufferFormat for AVVideoCaptureSource
3867         https://bugs.webkit.org/show_bug.cgi?id=212071
3868
3869         Reviewed by Eric Carlson.
3870
3871         * wtf/PlatformHave.h:
3872         Add HAVE_DISPLAY_LAYER_BIPLANAR_SUPPORT macro.
3873
3874 2020-05-19  Adrian Perez de Castro  <aperez@igalia.com>
3875
3876         WTF::LockedPrintStream should be final
3877         https://bugs.webkit.org/show_bug.cgi?id=212107
3878
3879         Reviewed by Darin Adler.
3880
3881         * wtf/LockedPrintStream.h: Make class WTF::LockedPrintStream final.
3882
3883 2020-05-19  Mark Lam  <mark.lam@apple.com>
3884
3885         Put PtrTagLookup data structures in Configs for freezing.
3886         https://bugs.webkit.org/show_bug.cgi?id=212089
3887         <rdar://problem/63401487>
3888
3889         Reviewed by Robin Morisset.
3890
3891         * wtf/PtrTag.cpp:
3892         (WTF::tagForPtr):
3893         (WTF::ptrTagName):
3894         (WTF::registerPtrTagLookup):
3895         * wtf/PtrTag.h:
3896         (WTF::PtrTagLookup::initialize):
3897         * wtf/WTFConfig.h:
3898
3899 2020-05-19  Mark Lam  <mark.lam@apple.com>
3900
3901         Remove unnecessary debug logging from release builds.
3902         https://bugs.webkit.org/show_bug.cgi?id=212084
3903         <rdar://problem/63398704>
3904
3905         Reviewed by Saam Barati.
3906
3907         * wtf/PtrTag.h:
3908
3909 2020-05-18  Andy Estes  <aestes@apple.com>
3910
3911         http/tests/ssl/applepay/ApplePayInstallmentConfiguration.https.html fails in public SDK builds
3912         https://bugs.webkit.org/show_bug.cgi?id=212000
3913         <rdar://problem/63323082>
3914
3915         Reviewed by Youenn Fablet.
3916
3917         * wtf/PlatformEnableCocoa.h:
3918         * wtf/PlatformHave.h:
3919
3920 2020-05-18  Mark Lam  <mark.lam@apple.com>
3921
3922         Implement a faster findBitInWord() using the hardware ctz instruction.
3923         https://bugs.webkit.org/show_bug.cgi?id=212032
3924         <rdar://problem/63348086>
3925
3926         Reviewed by Saam Barati.
3927
3928         Based on local microbenchmarking, both ARM64 and X86_64 shows a speed up of
3929         28% - 95% faster than the loop.
3930
3931         The largest perf regressions for ctz vs the loop, are when finding 1 in a mostly
3932         set word or finding 0 in a mostly cleared word. For example, on X86_64:
3933             Find 1 in 0xffffffffffffffff: using loop 8.67 ms, using ctz 6.07 ms, delta 30.0%
3934             Find 0 in 0x8000000000000000: using loop 9.01 ms, using ctz 6.54 ms, delta 28.1%
3935
3936         The largest perf progressions for ctz vs the loop, are the opposite: finding 1 in
3937         a mostly cleared word, or finding a 0 in a mostly set word. For example, on X86_64:
3938             Find 1 in 0x8000000000000000: using loop 91.4 ms, using ctz 6.48 ms, delta 92.9%
3939             Find 0 in 0xffffffffffffffff: using loop 91.7 ms, using ctz 6.95 ms, delta 92.4%
3940
3941         TL;DR: the microbenchmark methodology used:
3942
3943         findBitInWord() takes:
3944             a. word to scan
3945             b. startIndex
3946             c. endIndex
3947             d. bool value to scan for, either 1 or 0.
3948
3949         1. Randomly select 1000 startIndex and endIndex pairs.
3950            The endIndex is guaranteed to be >= startIndex.
3951
3952         2. Using a base word of 0xffffffffffffffff (or uint64_t) and 0xffffffff (for uint32_t),
3953            shift left by 0 - N (where N is the number of bits in the word) to generate
3954            N + 1 words for the test.  This produces words with contiguous lengths of 1s
3955            and 0s.  We're choosing these words to deliberately measure the effects o
3956            run lengths of 0s or 1s on the algorithm in use.
3957
3958         3. For each test word, call findBitInWord() with the start and end indexes chosen
3959            in 1 for a 100 iterations.
3960
3961         4. Run (3) once to search for a true value, and once to search for a false value.
3962
3963         5. Print the results for each test word and value pair.
3964
3965         * wtf/BitVector.cpp:
3966         * wtf/Bitmap.h:
3967         * wtf/StdLibExtras.h:
3968         (WTF::findBitInWord):
3969
3970 2020-05-18  Darin Adler  <darin@apple.com>
3971
3972         Add iterator checking to ListHashSet
3973         https://bugs.webkit.org/show_bug.cgi?id=211669
3974
3975         Reviewed by Anders Carlsson.
3976
3977         HashSet and HashMap have iterator checking in debug builds.
3978         Add similar checking to ListHashSet, controlled by the same
3979         macro, CHECK_HASHTABLE_ITERATORS. Use WeakPtr to make the
3980         implementation simple.
3981
3982         * wtf/Forward.h: Update to add a second parameter to WeakPtr.
3983         Also rearranged and tweaked the file a bug.
3984
3985         * wtf/ListHashSet.h: Make ListHashSet and ListHashSetNode derive
3986         from CanMakeWeakPtr. Add m_weakSet and m_weakPosition members to
3987         ListHashSetConstIterator, and assert their values at the appropriate
3988         times so we will get a breakpoint or crash.
3989
3990         * wtf/WeakHashSet.h: Updated to add a Counter argument for testing.
3991
3992         * wtf/WeakPtr.h: Removed the DID_CREATE_WEAK_PTR_IMPL and
3993         WILL_DESTROY_WEAK_PTR_IMPL macros, which didn't really work because
3994         using them violated the C++ one-definition rule. Replaced with
3995         a Counter argument, which defaults to EmptyCounter, which is inlines
3996         that do nothing. This required some updates to the classes and
3997         functions to make them work with a second argument.
3998
3999 2020-05-15  Alex Christensen  <achristensen@webkit.org>
4000
4001         Make host parser fail on ^
4002         https://bugs.webkit.org/show_bug.cgi?id=211901
4003
4004         Reviewed by Geoffrey Garen.
4005
4006         This matches the behavior of Chrome and Firefox, and now the specification!
4007         I updated the URL wpt data, and this introduces new PASSes.
4008
4009         * wtf/URLParser.cpp:
4010         (WTF::isC0Control):
4011         (WTF::isForbiddenHostCodePoint):
4012
4013 2020-05-14  Wenson Hsieh  <wenson_hsieh@apple.com>
4014
4015         [macOS] Update the placeholder icon image for attachment elements with progress="0"
4016         https://bugs.webkit.org/show_bug.cgi?id=211898
4017         <rdar://problem/63203900>
4018
4019         Reviewed by Timothy Hatcher.
4020
4021         Add a new flag for HAVE(SYSTEM_ATTACHMENT_PLACEHOLDER_ICON).
4022
4023         * wtf/PlatformHave.h:
4024
4025 2020-05-14  Chris Dumez  <cdumez@apple.com>
4026
4027         Regression(r254856) Family Health iOS app is broken due to lack for WebSQL support
4028         https://bugs.webkit.org/show_bug.cgi?id=211896
4029         <rdar://problem/63025045>
4030
4031         Reviewed by Maciej Stachowiak.
4032
4033         * wtf/spi/darwin/dyldSPI.h:
4034
4035 2020-05-13  Ross Kirsling  <ross.kirsling@sony.com>
4036
4037         [IWYU] Try removing redundant includes in WTF implementation files
4038         https://bugs.webkit.org/show_bug.cgi?id=211821
4039
4040         Reviewed by Simon Fraser.
4041
4042         * wtf/Assertions.cpp:
4043         * wtf/Bag.cpp:
4044         * wtf/BitVector.cpp:
4045         * wtf/ConcurrentBuffer.cpp:
4046         * wtf/ConcurrentPtrHashSet.cpp:
4047         * wtf/CrossThreadCopier.cpp:
4048         * wtf/CurrentTime.cpp:
4049         * wtf/DataLog.cpp:
4050         * wtf/DateMath.cpp:
4051         * wtf/FastBitVector.cpp:
4052         * wtf/FastMalloc.cpp:
4053         * wtf/FileSystem.cpp:
4054         * wtf/Gigacage.cpp:
4055         * wtf/HashTable.cpp:
4056         * wtf/JSValueMalloc.cpp:
4057         * wtf/Language.cpp:
4058         * wtf/MainThread.cpp:
4059         * wtf/MetaAllocator.cpp:
4060         * wtf/MonotonicTime.cpp:
4061         * wtf/NumberOfCores.cpp:
4062         * wtf/OSLogPrintStream.cpp:
4063         * wtf/ParallelHelperPool.cpp:
4064         * wtf/ParkingLot.cpp:
4065         * wtf/PrintStream.cpp:
4066         * wtf/RAMSize.cpp:
4067         * wtf/RandomDevice.cpp:
4068         * wtf/RandomNumber.cpp:
4069         * wtf/RefCountedArray.cpp:
4070         * wtf/RefCountedLeakCounter.cpp:
4071         * wtf/SegmentedVector.cpp:
4072         * wtf/SmallPtrSet.cpp:
4073         * wtf/StackBounds.cpp:
4074         * wtf/ThreadGroup.cpp:
4075         * wtf/Threading.cpp:
4076         * wtf/TimeWithDynamicClockType.cpp:
4077         * wtf/URL.cpp:
4078         * wtf/URLParser.cpp:
4079         * wtf/UUID.cpp:
4080         * wtf/UniqueArray.cpp:
4081         * wtf/Vector.cpp:
4082         * wtf/WTFConfig.cpp:
4083         * wtf/WallTime.cpp:
4084         * wtf/WordLock.cpp:
4085         * wtf/WorkQueue.cpp:
4086         * wtf/WorkerPool.cpp:
4087         * wtf/generic/WorkQueueGeneric.cpp:
4088         * wtf/posix/OSAllocatorPOSIX.cpp:
4089         * wtf/posix/ThreadingPOSIX.cpp:
4090         * wtf/text/AtomString.cpp:
4091         * wtf/text/AtomStringImpl.cpp:
4092         * wtf/text/AtomStringTable.cpp:
4093         * wtf/text/CString.cpp:
4094         * wtf/text/StringBuffer.cpp:
4095         * wtf/text/StringBuilder.cpp:
4096         * wtf/text/StringImpl.cpp:
4097         * wtf/text/StringView.cpp:
4098         * wtf/text/TextBreakIterator.cpp:
4099         * wtf/text/TextStream.cpp:
4100         * wtf/text/WTFString.cpp:
4101         * wtf/threads/Signals.cpp:
4102
4103 2020-05-13  Jer Noble  <jer.noble@apple.com>
4104
4105         Replace isNullFunctionPointer with real weak-linking support
4106         https://bugs.webkit.org/show_bug.cgi?id=211751
4107
4108         Reviewed by Sam Weinig.
4109
4110         Replace isNullFunctionPointer with a macro which explicitly marks symbols as weakly imported.
4111
4112         * wtf/darwin/WeakLinking.h:
4113         (WTF::isNullFunctionPointer): Deleted.
4114
4115 2020-05-12  Mark Lam  <mark.lam@apple.com>
4116
4117         catch_mach_exception_raise_state() should fail early if the faulting address is not of interest.
4118         https://bugs.webkit.org/show_bug.cgi?id=211799
4119         <rdar://problem/62939204>
4120
4121         Reviewed by Saam Barati.
4122
4123         * wtf/threads/Signals.cpp:
4124
4125 2020-05-12  Jer Noble  <jer.noble@apple.com>
4126
4127         REGRESSION(r258314): 5% regression on Membuster5
4128         https://bugs.webkit.org/show_bug.cgi?id=211803
4129         <rdar://problem/60609824>
4130
4131         Reviewed by Darin Adler.
4132
4133         Disable HAVE(AVSAMPLEBUFFERVIDEOOUTPUT), as it caused a large regression in our Membuster5 benchmark.
4134
4135         * wtf/PlatformHave.h:
4136
4137 2020-05-12  Ross Kirsling  <ross.kirsling@sony.com>
4138
4139         Fix existing usage of final/override/virtual in JSC and WTF
4140         https://bugs.webkit.org/show_bug.cgi?id=211772
4141
4142         Reviewed by Darin Adler.
4143
4144         * wtf/Assertions.cpp:
4145         * wtf/Expected.h:
4146         * wtf/FilePrintStream.h:
4147         * wtf/JSONValues.h:
4148         * wtf/LockedPrintStream.h:
4149         * wtf/OSLogPrintStream.h:
4150         * wtf/ParallelHelperPool.cpp:
4151         * wtf/RunLoop.h:
4152         * wtf/SharedTask.h:
4153         * wtf/StringPrintStream.h:
4154         * wtf/WorkQueue.h:
4155         * wtf/WorkerPool.cpp:
4156
4157 2020-05-11  Darin Adler  <darin@apple.com>
4158
4159         Fix problems caught by replacing WTF::Optional with std::optional
4160         https://bugs.webkit.org/show_bug.cgi?id=211703
4161
4162         Reviewed by Chris Dumez.
4163
4164         * wtf/URLHelpers.cpp:
4165         (WTF::URLHelpers::mapHostName): Make URLDecodeFunction a function
4166         pointer and use nullptr instead of trying to use Optional<> with
4167         a function reference.
4168         (WTF::URLHelpers::collectRangesThatNeedMapping): Ditto.
4169         (WTF::URLHelpers::applyHostNameFunctionToMailToURLString): Ditto.
4170         (WTF::URLHelpers::applyHostNameFunctionToURLString): Ditto.
4171         (WTF::URLHelpers::mapHostNames): Ditto.
4172         (WTF::URLHelpers::userVisibleURL): Ditto.
4173         * wtf/URLHelpers.h: Ditto.
4174
4175         * wtf/cocoa/NSURLExtras.mm:
4176         (WTF::decodeHostName): Pass nullptr for URLDecodeFunction.
4177
4178 2020-05-11  Yusuke Suzuki  <ysuzuki@apple.com>
4179
4180         AtomString::init should temporarily disable checks via `isMainThread` due to WebThread's inconsistent state
4181         https://bugs.webkit.org/show_bug.cgi?id=211754
4182
4183         Reviewed by Dean Jackson.
4184
4185         When starting WebThread via StartWebThread function, we have special period between the prologue of StartWebThread and spawning WebThread actually.
4186         In this period, `isMainThread()` returns false even if this is called on the main thread since WebThread is now enabled and we are not taking a WebThread lock.
4187         This causes assertion hits in MainThreadLazyNeverDestroyed initialization only in WebThread platforms.
4188
4189         This patch takes conservative approach to fix this assertion hits: just bypass these assertions since this should not be fired. We bypass assertions by using
4190         constructWithoutAccessCheck, which intentionally skips `isMainThread()` check for construction. In non WebThread environment, we do not lose the assertion
4191         coverage since we already have ASSERT(isUIThread()). And ASSERT(isUIThread()) ensures that this is called in system main thread in WebThread platforms.
4192
4193         Unfortunately, we have no mechanism to test this effectively. WK1 LayoutTests runner cannot show assertions since WK1 runners already initialize necessary
4194         things somewhere before calling AtomString::init() in StartWebThread. This is the same in TestWebKitAPI. For now, I manually tested that assertion does not fire.
4195
4196         * wtf/NeverDestroyed.h:
4197         (WTF::LazyNeverDestroyed::construct):
4198         (WTF::LazyNeverDestroyed::constructWithoutAccessCheck):
4199         (WTF::LazyNeverDestroyed::storagePointerWithoutAccessCheck const):
4200         (WTF::LazyNeverDestroyed::storagePointer const):
4201         * wtf/text/AtomString.cpp:
4202         (WTF::AtomString::init):
4203
4204 2020-05-11  Basuke Suzuki  <basuke.suzuki@sony.com>
4205
4206         [bmalloc][WTF] Add computing memory size implementation for FreeBSD
4207         https://bugs.webkit.org/show_bug.cgi?id=211749
4208
4209         Reviewed by David Kilzer.
4210
4211         Share sysinfo(3) implementation with Linux and FreeBSD.
4212
4213         * wtf/RAMSize.cpp:
4214         (WTF::computeRAMSize):
4215
4216 2020-05-11  Mark Lam  <mark.lam@apple.com>
4217
4218         Introduce WTF::Config and put Signal.cpp's init-once globals in it.
4219         https://bugs.webkit.org/show_bug.cgi?id=211729
4220         <rdar://problem/62938878>
4221
4222         Reviewed by Keith Miller and Saam Barati.
4223
4224         1. Added WTF::Config for storing globals that effectively serve as constants i.e
4225            we'll be initializing them before or during the first VM instantiation, but
4226            should not have any reason to modify them later.  The WTF::Config will be frozen
4227            (along with JSC::Config) at the end of instantiating the first VM instance.
4228
4229         2. Added a Config::AssertNotFrozenScope RAII object to ensure that initialization
4230            operations that should only be called at initialization time, will not be
4231            called once the Config has been frozen.
4232
4233         3. Moved most of Signal.cpp's globals into WTF::Config.  The only globals (or
4234            statics) not moved are ones that cannot be moved because they require a
4235            non-trivial default constructor (once_flag), or need to be modifiable
4236            at runtime (e.g. Lock).
4237
4238            Instead of freezing the once_flag, we sanity check the call_once block with
4239            the Config::AssertNotFrozenScope.
4240
4241         4. SignalHandler records are now allocated from arrays of SignalHandlerMemory in
4242            the WTF::Config.  The number of signal handlers we will ever install is always
4243            finite.  Hence, there's no reason to use a dynamic data structure like the
4244            LocklessBag to hold it.
4245
4246            We introduce a SignalHandlers struct to manage these arrays (and all the other
4247            Signal.cpp globals that we want to move to the WTF::Config).  Amongst other
4248            things, SignalHandlers provides the abstractions for:
4249
4250            a. allocating memory for the SignalHandler instances.  See SignalHandlers::alloc().
4251            b. iterating SignalHandler instances. See SignalHandlers::forEachHandler().
4252
4253            To maintain the synchronization properties of the LocklessBag,
4254            SignalHandlers::alloc() uses a mutex.  In practice, this mutex will never be
4255            contended on because all signal handlers are now installed at initialization
4256            time before any concurrency comes into play.
4257
4258         5. We now initialize activeThreads() eagerly via initializeThreading.  In
4259            production configurations, this does not matter because signal handler
4260            installations will always trigger its initialization.  However, in debugging
4261            configurations, we may end up disabling the use of all signal handlers.  As a
4262            result, we need to do this eager initialization to ensure that it is done
4263            before we freeze the WTF::Config.
4264
4265         * WTF.xcodeproj/project.pbxproj:
4266         * wtf/CMakeLists.txt:
4267         * wtf/Threading.cpp:
4268         (WTF::initializeThreading):
4269         * wtf/WTFConfig.cpp: Added.
4270         (WTF::Config::disableFreezingForTesting):
4271         (WTF::Config::permanentlyFreeze):
4272         * wtf/WTFConfig.h: Added.
4273         (WTF::Config::configureForTesting):
4274         (WTF::Config::AssertNotFrozenScope::~AssertNotFrozenScope):
4275         * wtf/threads/Signals.cpp:
4276         (WTF::SignalHandlers::alloc):
4277         (WTF::SignalHandlers::forEachHandler const):
4278         (WTF::startMachExceptionHandlerThread):
4279         (WTF::handleSignalsWithMach):
4280         (WTF::setExceptionPorts):
4281         (WTF::activeThreads):
4282         (WTF::installSignalHandler):
4283         (WTF::jscSignalHandler):
4284         (WTF::SignalHandlers::initialize):
4285         * wtf/threads/Signals.h:
4286
4287 2020-05-11  David Kilzer  <ddkilzer@apple.com>
4288
4289         [WTF] CStringBuffer::createUninitialized() should use Checked<size_t>
4290         <https://webkit.org/b/211746>
4291         <rdar://problem/62729848>
4292
4293         Reviewed by Darin Adler.
4294
4295         * wtf/text/CString.cpp:
4296         (WTF::CStringBuffer::createUninitialized):
4297         - Switch from RELEASE_ASSERT() to Checked<size_t>() for overflow
4298           check.  RELEASE_ASSERT() was using the wrong type, too.
4299
4300 2020-05-11  Ryan Haddad  <ryanhaddad@apple.com>
4301
4302         Unreviewed, reverting r261440.
4303
4304         Caused 6 TestWTF.WTF failures
4305
4306         Reverted changeset:
4307
4308         "Add iterator checking to ListHashSet"
4309         https://bugs.webkit.org/show_bug.cgi?id=211669
4310         https://trac.webkit.org/changeset/261440
4311
4312 2020-05-11  Tetsuharu Ohzeki  <tetsuharu.ohzeki@gmail.com>
4313
4314         Use alias template for <type_traits> in WTF/wtf/TypeCast.h
4315         https://bugs.webkit.org/show_bug.cgi?id=211714
4316
4317         Reviewed by Darin Adler.
4318
4319         * wtf/TypeCasts.h:
4320         (WTF::TypeCastTraits::isOfType):
4321         (WTF::is):
4322         (WTF::downcast):
4323
4324 2020-05-10  Darin Adler  <darin@apple.com>
4325
4326         Add copy constructor and assignment operator to Ref<>
4327         https://bugs.webkit.org/show_bug.cgi?id=211705
4328
4329         Reviewed by Sam Weinig.
4330
4331         As recently discussed in some WebKit bug patch review, we think that Ref and RefPtr
4332         should have the same design, except for whether the value can be null. Ref had a
4333         more ambitious approach to avoiding reference count churn, requiring a
4334         call to copyRef to make any copying explicit, partly by analogy with raw C
4335         references, which also can't be copied (but they can't be moved either). We choose
4336         to change Ref to match RefPtr and to take the risk of additional churn. This makes
4337         it easier to use Ref in contexts like collection classes and structures. An
4338         alternative would be to go the other direction, and make RefPtr require a call to
4339         copyRef: seems like an obviously worse option.
4340
4341         * wtf/Ref.h: Add the copy constructor and assignment operator.
4342         These follow a similar pattern to the move constructor and assignment operator.
4343         Also add a deprecation comment before copyRef, which we will eventually remove.
4344
4345 2020-05-10  Tetsuharu Ohzeki  <tetsuharu.ohzeki@gmail.com>
4346
4347         Use alias template to define `match_constness_t` in Wtf/wtp/TypeCasts.h
4348         https://bugs.webkit.org/show_bug.cgi?id=211698
4349
4350         Reviewed by Yusuke Suzuki.
4351
4352         * wtf/TypeCasts.h:
4353         (WTF::downcast):
4354
4355 2020-05-10  Basuke Suzuki  <basuke.suzuki@sony.com>
4356
4357         Add ENABLE_PERIODIC_MEMORY_MONITOR flag.
4358         https://bugs.webkit.org/show_bug.cgi?id=211704
4359
4360         Reviewed by Yusuke Suzuki.
4361
4362         Define ENABLE_PERIODIC_MEMORY_MONITOR flags in specific platform file.
4363
4364         * wtf/PlatformEnable.h:
4365         * wtf/PlatformEnableCocoa.h:
4366
4367 2020-05-10  Darin Adler  <darin@apple.com>
4368
4369         Remove now-unneeded HAVE(CORE_VIDEO)
4370         https://bugs.webkit.org/show_bug.cgi?id=211677
4371
4372         Reviewed by Dan Bernstein.
4373
4374         * wtf/PlatformHave.h: Remove HAVE_CORE_VIDEO.
4375
4376 2020-05-09  Darin Adler  <darin@apple.com>
4377
4378         Delete some dead code in WorkQueueCocoa.cpp
4379         https://bugs.webkit.org/show_bug.cgi?id=211676
4380
4381         Reviewed by Chris Dumez.
4382
4383         * wtf/cocoa/WorkQueueCocoa.cpp:
4384         (WTF::targetQueueForQOSClass): Deleted.
4385
4386 2020-05-09  Darin Adler  <darin@apple.com>
4387
4388         Add iterator checking to ListHashSet
4389         https://bugs.webkit.org/show_bug.cgi?id=211669
4390
4391         Reviewed by Anders Carlsson.
4392
4393         HashSet and HashMap have iterator checking in debug builds.
4394         Add similar checking to ListHashSet, controlled by the same
4395         macro, CHECK_HASHTABLE_ITERATORS. Use WeakPtr to make the
4396         implementation simple.
4397
4398         * wtf/ListHashSet.h: Make ListHashSet and ListHashSetNode derive
4399         from CanMakeWeakPtr. Add m_weakSet and m_weakPosition members to
4400         ListHashSetConstIterator, and assert their values at the appropriate
4401         times so we will get a breakpoint or crash.
4402
4403 2020-05-08  Darin Adler  <darin@apple.com>
4404
4405         Streamline MarkupAccumulator to improve efficiency a bit
4406         https://bugs.webkit.org/show_bug.cgi?id=211656
4407
4408         Reviewed by Anders Carlsson.
4409
4410         * wtf/text/StringBuilder.cpp:
4411         (WTF::StringBuilder::isAllASCII const): Added.
4412         * wtf/text/StringBuilder.h: Added isAllASCII.
4413
4414 2020-05-09  David Quesada  <david_quesada@apple.com>
4415
4416         Remove HAVE_UI_SCROLL_VIEW_INDICATOR_FLASHING_SPI
4417         https://bugs.webkit.org/show_bug.cgi?id=211662
4418         rdar://problem/63048713
4419
4420         Reviewed by Darin Adler.
4421
4422         * wtf/PlatformHave.h:
4423
4424 2020-05-08  Basuke Suzuki  <basuke.suzuki@sony.com>
4425
4426         [WTF] Share Linux's MemoryPressureHandler among other Unix ports
4427         https://bugs.webkit.org/show_bug.cgi?id=208955
4428
4429         Reviewed by Yusuke Suzuki.
4430
4431         Renamed MemoryPressureHandlerLinux to MemoryPressureHandlerUnix and added FreeBSD implementation
4432         of memory status functions. Change PlayStation port to use it from generic implementation.
4433
4434         * wtf/MemoryPressureHandler.cpp:
4435         (WTF::MemoryPressureHandler::MemoryPressureHandler):
4436         * wtf/MemoryPressureHandler.h:
4437         * wtf/PlatformGTK.cmake:
4438         * wtf/PlatformJSCOnly.cmake:
4439         * wtf/PlatformPlayStation.cmake:
4440         * wtf/PlatformWPE.cmake:
4441         * wtf/generic/MemoryFootprintGeneric.cpp:
4442         (WTF::memoryFootprint):
4443         * wtf/unix/MemoryPressureHandlerUnix.cpp: Renamed from Source\WTF\wtf\linux\MemoryPressureHandlerLinux.cpp.
4444         (WTF::processMemoryUsage):
4445
4446 2020-05-08  Darin Adler  <darin@apple.com>
4447
4448         Remove now-unneeded HAVE(AVFOUNDATION_LOADER_DELEGATE)
4449         https://bugs.webkit.org/show_bug.cgi?id=211646
4450
4451         Reviewed by Eric Carlson.
4452
4453         * wtf/PlatformHave.h: Don't set HAVE_AVFOUNDATION_LOADER_DELEGATE.
4454
4455 2020-05-08  Don Olmstead  <don.olmstead@sony.com>
4456
4457         [clang-tidy] Run modernize-use-nullptr over WTF
4458         https://bugs.webkit.org/show_bug.cgi?id=211628
4459
4460         Reviewed by Yusuke Suzuki.
4461
4462         Use the fix option in clang-tidy to ensure nullptr is being used across WTF.
4463
4464         * wtf/Assertions.cpp:
4465         * wtf/BumpPointerAllocator.h:
4466         (WTF::BumpPointerPool::BumpPointerPool):
4467         (WTF::BumpPointerPool::create):
4468         (WTF::BumpPointerAllocator::BumpPointerAllocator):
4469         * wtf/DataLog.cpp:
4470         (WTF::setDataFile):
4471         * wtf/DateMath.cpp:
4472         (WTF::parseES5DatePortion):
4473         (WTF::parseES5TimePortion):
4474         * wtf/FastMalloc.cpp:
4475         (WTF::fastZeroedMalloc):
4476         (WTF::fastStrDup):
4477         (WTF::tryFastZeroedMalloc):
4478         (WTF::isFastMallocEnabled):
4479         (WTF::fastMallocGoodSize):
4480         (WTF::fastAlignedMalloc):
4481         (WTF::tryFastAlignedMalloc):
4482         (WTF::fastAlignedFree):
4483         (WTF::tryFastMalloc):
4484         (WTF::fastMalloc):
4485         (WTF::tryFastCalloc):
4486         (WTF::fastCalloc):
4487         (WTF::fastFree):
4488         (WTF::fastRealloc):
4489         (WTF::tryFastRealloc):
4490         (WTF::releaseFastMallocFreeMemory):
4491         (WTF::releaseFastMallocFreeMemoryForThisThread):
4492         (WTF::fastMallocStatistics):
4493         (WTF::fastMallocSize):
4494         (WTF::fastCommitAlignedMemory):
4495         (WTF::fastDecommitAlignedMemory):
4496         (WTF::fastEnableMiniMode):
4497         (WTF::fastDisableScavenger):
4498         (WTF::fastMallocDumpMallocStats):
4499         (WTF::AvoidRecordingScope::avoidRecordingCount):
4500         (WTF::AvoidRecordingScope::AvoidRecordingScope):
4501         (WTF::AvoidRecordingScope::~AvoidRecordingScope):
4502         (WTF::MallocCallTracker::MallocSiteData::MallocSiteData):
4503         (WTF::MallocCallTracker::singleton):
4504         (WTF::MallocCallTracker::MallocCallTracker):
4505         (WTF::MallocCallTracker::recordMalloc):
4506         (WTF::MallocCallTracker::recordRealloc):
4507         (WTF::MallocCallTracker::recordFree):
4508         (WTF::MallocCallTracker::dumpStats):
4509         * wtf/HashTable.h:
4510         (WTF::KeyTraits>::inlineLookup):
4511         (WTF::KeyTraits>::lookupForWriting):
4512         (WTF::KeyTraits>::fullLookupForWriting):
4513         (WTF::KeyTraits>::add):
4514         * wtf/MetaAllocator.cpp:
4515         (WTF::MetaAllocator::findAndRemoveFreeSpace):
4516         * wtf/ParallelJobsGeneric.cpp:
4517         * wtf/RandomDevice.cpp:
4518         (WTF::RandomDevice::cryptographicallyRandomValues):
4519         * wtf/RawPointer.h:
4520         (WTF::RawPointer::RawPointer):
4521         * wtf/RedBlackTree.h:
4522         * wtf/SHA1.cpp:
4523         (WTF::SHA1::hexDigest):
4524         * wtf/SchedulePair.h:
4525         (WTF::SchedulePair::SchedulePair):
4526         * wtf/StackTrace.cpp:
4527         (WTFGetBacktrace):
4528         (WTF::StackTrace::dump const):
4529         * wtf/StringExtras.h:
4530         (strnstr):
4531         * wtf/Variant.h:
4532         * wtf/Vector.h:
4533         (WTF::VectorBufferBase::deallocateBuffer):
4534         (WTF::VectorBufferBase::releaseBuffer):
4535         (WTF::VectorBufferBase::VectorBufferBase):
4536         * wtf/cf/CFURLExtras.cpp:
4537         (WTF::createCFURLFromBuffer):
4538         (WTF::getURLBytes):
4539         * wtf/cf/CFURLExtras.h:
4540         * wtf/cf/FileSystemCF.cpp:
4541         (WTF::FileSystem::pathAsURL):
4542         * wtf/dtoa/double-conversion.cc:
4543         * wtf/dtoa/utils.h:
4544         (WTF::double_conversion::BufferReference::BufferReference):
4545         * wtf/text/CString.cpp:
4546         (WTF::CString::mutableData):
4547         * wtf/text/CString.h:
4548         * wtf/text/StringBuffer.h:
4549         (WTF::StringBuffer::release):
4550         * wtf/text/StringImpl.cpp:
4551         (WTF::StringImpl::createUninitializedInternal):
4552         (WTF::StringImpl::reallocateInternal):
4553         * wtf/text/StringImpl.h:
4554         (WTF::StringImpl::constructInternal<LChar>):
4555         (WTF::StringImpl::constructInternal<UChar>):
4556         (WTF::StringImpl::characters<LChar> const):
4557         (WTF::StringImpl::characters<UChar> const):
4558         (WTF::find):
4559         (WTF::reverseFindLineTerminator):
4560         (WTF::reverseFind):
4561         (WTF::equalIgnoringNullity):
4562         (WTF::codePointCompare):
4563         (WTF::isSpaceOrNewline):
4564         (WTF::lengthOfNullTerminatedString):
4565         (WTF::StringImplShape::StringImplShape):
4566         (WTF::StringImpl::isolatedCopy const):
4567         (WTF::StringImpl::isAllASCII const):
4568         (WTF::StringImpl::isAllLatin1 const):
4569         (WTF::isAllSpecialCharacters):
4570         (WTF::isSpecialCharacter const):
4571         (WTF::StringImpl::StringImpl):
4572         (WTF::StringImpl::create8BitIfPossible):
4573         (WTF::StringImpl::createSubstringSharingImpl):
4574         (WTF::StringImpl::createFromLiteral):
4575         (WTF::StringImpl::tryCreateUninitialized):
4576         (WTF::StringImpl::adopt):
4577         (WTF::StringImpl::cost const):
4578         (WTF::StringImpl::costDuringGC):
4579         (WTF::StringImpl::setIsAtom):
4580         (WTF::StringImpl::setHash const):
4581         (WTF::StringImpl::ref):
4582         (WTF::StringImpl::deref):
4583         (WTF::StringImpl::copyCharacters):
4584         (WTF::StringImpl::at const):
4585         (WTF::StringImpl::allocationSize):
4586         (WTF::StringImpl::maxInternalLength):
4587         (WTF::StringImpl::tailOffset):
4588         (WTF::StringImpl::requiresCopy const):
4589         (WTF::StringImpl::tailPointer const):
4590         (WTF::StringImpl::tailPointer):
4591         (WTF::StringImpl::substringBuffer const):
4592         (WTF::StringImpl::substringBuffer):
4593         (WTF::StringImpl::assertHashIsCorrect const):
4594         (WTF::StringImpl::StaticStringImpl::StaticStringImpl):
4595         (WTF::StringImpl::StaticStringImpl::operator StringImpl&):
4596         (WTF::equalIgnoringASCIICase):
4597         (WTF::startsWithLettersIgnoringASCIICase):
4598         (WTF::equalLettersIgnoringASCIICase):
4599         * wtf/text/TextBreakIterator.cpp:
4600         (WTF::initializeIterator):
4601         (WTF::setContextAwareTextForIterator):
4602         (WTF::openLineBreakIterator):
4603         * wtf/text/TextBreakIterator.h:
4604         (WTF::LazyLineBreakIterator::get):
4605         * wtf/text/WTFString.cpp:
4606         (WTF::charactersToFloat):
4607         * wtf/text/cf/StringImplCF.cpp:
4608         (WTF::StringWrapperCFAllocator::allocate):
4609         (WTF::StringWrapperCFAllocator::create):
4610         (WTF::StringImpl::createCFString):
4611         * wtf/text/icu/UTextProviderLatin1.cpp:
4612         (WTF::uTextLatin1Clone):
4613         (WTF::openLatin1ContextAwareUTextProvider):
4614         * wtf/text/icu/UTextProviderUTF16.cpp:
4615         (WTF::openUTF16ContextAwareUTextProvider):
4616         * wtf/win/FileSystemWin.cpp:
4617         (WTF::FileSystemImpl::makeAllDirectories):
4618         (WTF::FileSystemImpl::storageDirectory):
4619         (WTF::FileSystemImpl::openTemporaryFile):
4620         (WTF::FileSystemImpl::openFile):
4621         (WTF::FileSystemImpl::writeToFile):
4622         (WTF::FileSystemImpl::readFromFile):
4623         (WTF::FileSystemImpl::deleteNonEmptyDirectory):
4624         * wtf/win/LanguageWin.cpp:
4625         (WTF::localeInfo):
4626         * wtf/win/MainThreadWin.cpp:
4627         (WTF::initializeMainThreadPlatform):
4628         * wtf/win/OSAllocatorWin.cpp:
4629         (WTF::OSAllocator::reserveUncommitted):
4630         (WTF::OSAllocator::reserveAndCommit):
4631         * wtf/win/RunLoopWin.cpp:
4632         (WTF::RunLoop::run):
4633         (WTF::RunLoop::iterate):
4634         (WTF::RunLoop::RunLoop):
4635         (WTF::RunLoop::cycle):
4636         (WTF::RunLoop::TimerBase::start):
4637         * wtf/win/ThreadingWin.cpp:
4638         (WTF::Thread::establishHandle):
4639
4640 2020-05-08  Darin Adler  <darin@apple.com>
4641
4642         Make callBufferProducingFunction safer to use by adding a compile-time assertion
4643         https://bugs.webkit.org/show_bug.cgi?id=211599
4644
4645         Reviewed by Ross Kirsling.
4646
4647         * wtf/unicode/icu/ICUHelpers.h:
4648         (WTF::CallBufferProducingFunction::argumentTuple): Add a static_assert that
4649         checks these are just simple types, aside from the Vector for the buffer.
4650         This would have caught the UpconvertedCharacters problem fixed earlier today.
4651
4652 2020-05-08  Don Olmstead  <don.olmstead@sony.com>
4653
4654         WTF headers should compile independently
4655         https://bugs.webkit.org/show_bug.cgi?id=211608
4656
4657         Reviewed by Yusuke Suzuki.
4658
4659         When a WTF header is included on its own within a source file it should compile.
4660         These issues were found when working on a tooling build for running static
4661         analysis over WTF. Forward declarations were used whenever possible otherwise
4662         an include was used.
4663
4664         Additionally fix some errors found by Clang 10.
4665
4666         * wtf/AggregateLogger.h:
4667         * wtf/CallbackAggregator.h:
4668         * wtf/Dominators.h:
4669         * wtf/HashIterators.h:
4670         * wtf/IndexSparseSet.h:
4671         * wtf/LoggingHashMap.h:
4672         * wtf/LoggingHashTraits.h:
4673         * wtf/RunLoopTimer.h:
4674         * wtf/Stopwatch.h:
4675         * wtf/Threading.h:
4676         * wtf/cf/RunLoopTimerCF.cpp:
4677         * wtf/persistence/PersistentCoder.h:
4678         * wtf/text/LineBreakIteratorPoolICU.h:
4679         * wtf/text/NullTextBreakIterator.h:
4680         * wtf/text/StringOperators.h:
4681         * wtf/text/StringToIntegerConversion.h:
4682         * wtf/text/cf/TextBreakIteratorCF.h:
4683         * wtf/text/icu/TextBreakIteratorICU.h:
4684         * wtf/text/win/WCharStringExtras.h:
4685
4686 2020-05-07  Don Olmstead  <don.olmstead@sony.com>
4687
4688         Remove unused USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR)
4689         https://bugs.webkit.org/show_bug.cgi?id=211582
4690
4691         Reviewed by Fujii Hironori.
4692
4693         After r261264 all ports implemented USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR.
4694
4695         * wtf/PlatformUse.h:
4696
4697 2020-05-07  Mark Lam  <mark.lam@apple.com>
4698
4699         Give the DFG and FTL WorkList threads more stack space on ASAN builds.
4700         https://bugs.webkit.org/show_bug.cgi?id=211535
4701         <rdar://problem/62947884>
4702
4703         Reviewed by Geoffrey Garen.
4704
4705         1. Add the ability to set the ThreadType for AutomaticThreads.
4706         2. Give ThreadType::Compiler (which currently only used for the DFG anf FTL
4707            WorkList threads) a larger stack for OS(DARWIN) on ASAN builds.
4708
4709            This is needed because ASAN is a memory hungry beast, and we want the ASAN
4710            builds to get to exercise the same amount of code a regular build will (instead
4711            of failing out early with a stack overflow error).
4712
4713         * wtf/AutomaticThread.cpp:
4714         (WTF::AutomaticThread::AutomaticThread):
4715         (WTF::AutomaticThread::start):
4716         * wtf/AutomaticThread.h:
4717         * wtf/Threading.cpp:
4718         (WTF::stackSize):
4719         * wtf/Threading.h:
4720
4721 2020-05-07  Mark Lam  <mark.lam@apple.com>
4722
4723         Add stack checks to the DFG and FTL bytecode parser.
4724         https://bugs.webkit.org/show_bug.cgi?id=211547
4725         <rdar://problem/62958880>
4726
4727         Reviewed by Yusuke Suzuki.
4728
4729         Added a StackCheck::Scope RAII object to help verify that the default reserved
4730         zone size is at least adequate for known work loads.  If this the StackCheck::Scope
4731         assertions fail, then we either need more stack checks, or the reserved zone size
4732         needs to be increased.
4733
4734         Note that the assertions are usually only on in Debug builds.  Ideally, we would
4735         want to measure the reserved zone size with a Release build.  To do that, we
4736         can just set VERIFY_STACK_CHECK_RESERVED_ZONE_SIZE to 1 unconditionally in
4737         StackCheck.h and rebuild.
4738
4739         * wtf/StackCheck.h:
4740         (WTF::StackCheck::Scope::Scope):
4741         (WTF::StackCheck::Scope::~Scope):
4742         (WTF::StackCheck::Scope::isSafeToRecurse):
4743         (WTF::StackCheck::StackCheck):
4744
4745 2020-05-06  Yoshiaki Jitsukawa  <yoshiaki.jitsukawa@sony.com> and Fujii Hironori  <Hironori.Fujii@sony.com>
4746
4747         [Win] Implement DisplayRefreshMonitor by using RunLoop::Timer
4748         https://bugs.webkit.org/show_bug.cgi?id=211431
4749
4750         Reviewed by Don Olmstead.
4751
4752         USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR is turned off only for Windows ports.
4753         Turn it on, and add DisplayRefreshMonitorWin.
4754
4755         I'll remove USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR macro in a follow-up patch.
4756
4757         * wtf/PlatformUse.h:
4758
4759 2020-05-06  Darin Adler  <darin@apple.com>
4760
4761         Make a helper for the pattern of ICU functions that may need to be called twice to populate a buffer
4762         https://bugs.webkit.org/show_bug.cgi?id=211499
4763
4764         Reviewed by Ross Kirsling.
4765
4766         This first cut version is ready to be used in most, but not all, of the places we use the
4767         needsToGrowToProduceBuffer function. The places it is not right for yet are ones that have
4768         special considerations because of null character termination or destinations that are
4769         not a Vector. Later we can refine that further, if we like, and possibly use something
4770         similar in call sites that use needsToGrowToProduceCString as well.
4771
4772         * wtf/unicode/icu/ICUHelpers.h:
4773         (WTF::needsToGrowToProduceBuffer): Changed to constexpr, since we can.
4774         (WTF::needsToGrowToProduceCString): Ditto.
4775         (WTF::CallBufferProducingFunction::findVector): Added. Implementation detail
4776         of callBufferProducingFunction.
4777         (WTF::CallBufferProducingFunction::argumentTuple): Ditto.
4778         (WTF::callBufferProducingFunction): Added.
4779
4780 2020-05-06  Alex Christensen  <achristensen@webkit.org>
4781
4782         Reduce IPC overhead for message receiver name and message name to 2 bytes
4783         https://bugs.webkit.org/show_bug.cgi?id=211112
4784
4785         Reviewed by Chris Dumez.
4786
4787         * wtf/EnumTraits.h:
4788
4789 2020-05-06  Darin Adler  <darin@apple.com>
4790
4791         Remove now-unneeded USE(GRAMMAR_CHECKING)
4792         https://bugs.webkit.org/show_bug.cgi?id=211452
4793
4794         Reviewed by Anders Carlsson.
4795
4796         * wtf/PlatformUse.h: Don't set USE_GRAMMAR_CHECKING.
4797
4798 2020-05-06  Devin Rousso  <drousso@apple.com>
4799
4800         ASSERT_WITH_MESSAGE(m_isOwnedByMainThread == isMainThread()) when web inspecting
4801         https://bugs.webkit.org/show_bug.cgi?id=203638
4802         <rdar://problem/56761893>
4803
4804         Reviewed by Brian Burg.
4805
4806         * wtf/Stopwatch.h:
4807         (WTF::Stopwatch::elapsedTime const): Added.
4808         (WTF::Stopwatch::elapsedTimeSince const): Added.
4809         (WTF::Stopwatch::elapsedTime): Deleted.
4810         (WTF::Stopwatch::elapsedTimeSince): Deleted.
4811
4812 2020-05-06  Darin Adler  <darin@apple.com>
4813
4814         Reduce HAVE(HOSTED_CORE_ANIMATION)
4815         https://bugs.webkit.org/show_bug.cgi?id=211423
4816
4817         Reviewed by Anders Carlsson.
4818
4819         * wtf/PlatformHave.h: Simplified conditional to just PLATFORM(MAC)
4820         for HOSTED_CORE_ANIMATION.
4821
4822 2020-05-05  Darin Adler  <darin@apple.com>
4823
4824         Remove HAVE(AVFOUNDATION_LEGIBLE_OUTPUT_SUPPORT)
4825         https://bugs.webkit.org/show_bug.cgi?id=211461
4826
4827         Reviewed by Eric Carlson.
4828
4829         * wtf/PlatformHave.h: Don't define HAVE_AVFOUNDATION_LEGIBLE_OUTPUT_SUPPORT.
4830
4831 2020-05-05  Mark Lam  <mark.lam@apple.com>
4832
4833         Allow Bitmap to use up to a UCPURegister word size for internal bit storage.
4834         https://bugs.webkit.org/show_bug.cgi?id=211328
4835         <rdar://problem/62755865>
4836
4837         Reviewed by Yusuke Suzuki.
4838
4839         1. Moved the definition of CPURegister and UCPURegister down into WTF.
4840            Added CPU(REGISTER64) and CPU(REGISTER32) for determining what size a CPU
4841            general purpose register is.
4842
4843         2. Updated Bitmap so that it will automatically choose the minimal required
4844            word size for the number of bits it needs to store.  This means the Bitmap
4845            can automatically choose a WordType from uint8_t up to UCPURegister.
4846            Previously, the WordType is always uint32_t by default.
4847
4848            This should improve perf with use of Bitmap on 64-bit platforms.  The size
4849            optimization is necessary to prevent bloat on 64-bit platforms which would have
4850            resulted if we simply set the default to always be UCPURegister.
4851
4852         3. Added a check in findRunOfZeros() for handling the edge case where the
4853            requested runLength exceeds the bitmapSize.
4854
4855         4. Fixed a bug in count() that was unnecessarily casting the bits to unsigned
4856            instead of just using the Bitmap WordType.  As a result, when using a WordType
4857            of uint64_t, it was discarding bits from the count.
4858
4859         5. Fixed invert() to leave the bits beyond bitmapSize untouched.
4860            Fixed isFull() to ignore the bits beyond bitmapSize.
4861
4862            By fixing invert() to leave those bits as 0, isEmpty() and hash() will
4863            continue to work.  Otherwise, inverting those bits will cause isEmpty() to
4864            always fail, and hash()'s result may be different for the same set of bit
4865            values within bitmapSize.
4866
4867            isFull(), on the other hand, checks for set bits in the words.  Since there
4868            may be 0 valued bits beyond bitmapSize, isFull() needs to be fixed to ignore
4869            those.
4870
4871         * WTF.xcodeproj/project.pbxproj:
4872         * wtf/Bitmap.h:
4873         (WTF::WordType>::invert):
4874         (WTF::WordType>::findRunOfZeros const):
4875         (WTF::WordType>::count const):
4876         (WTF::WordType>::isFull const):
4877         * wtf/CMakeLists.txt:
4878         * wtf/PlatformCPU.h:
4879         * wtf/PlatformUse.h:
4880         * wtf/StdIntExtras.h: Copied from Source/WTF/wtf/StdIntExtras.h.
4881
4882 2020-05-05  Darin Adler  <darin@apple.com>
4883
4884         Remove now-unneeded USE(COREMEDIA) and USE(VIDEOTOOLBOX)
4885         https://bugs.webkit.org/show_bug.cgi?id=211437
4886
4887         Reviewed by Eric Carlson.
4888
4889         * wtf/PlatformUse.h: Don't set USE_COREMEDIA or USE_VIDEOTOOLBOX.
4890
4891 2020-05-05  Darin Adler  <darin@apple.com>
4892
4893         Remove now-uneeded HAVE macros related to PDF
4894         https://bugs.webkit.org/show_bug.cgi?id=211435
4895
4896         Reviewed by Anders Carlsson.
4897
4898         * wtf/PlatformHave.h: Remove HAVE_PDFHOSTVIEWCONTROLLER_SNAPSHOTTING,
4899         always set for iOS, HAVE_LEGACY_PDF_SUPPORT, always set for all Cocoa
4900         platforms, and HAVE_PDF_HOST_VIEW_CONTROLLER_WITH_BACKGROUND_COLOR,
4901         always set for iOS family platforms.
4902
4903 2020-05-05  Darin Adler  <darin@apple.com>
4904
4905         Remove now-unneeded HAVE(DISALLOWABLE_USER_INSTALLED_FONTS)
4906         https://bugs.webkit.org/show_bug.cgi?id=211428
4907
4908         Reviewed by Anders Carlsson.
4909
4910         * wtf/PlatformHave.h: Don't define HAVE_DISALLOWABLE_USER_INSTALLED_FONTS.
4911
4912 2020-05-04  Darin Adler  <darin@apple.com>
4913
4914         [Mac] Remove __MAC_OS_X_VERSION_MIN_REQUIRED checks for versions older than 10.14
4915         https://bugs.webkit.org/show_bug.cgi?id=211420
4916
4917         Reviewed by Alex Christensen.
4918
4919         * WTF.xcodeproj/project.pbxproj: Removed DeprecatedSymbolsUsedBySafari.mm.
4920
4921         * wtf/PlatformEnableCocoa.h: Removed __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400.
4922         * wtf/PlatformHave.h: Ditto. This leaves behind some cases of
4923         "PLATFORM(MAC) || PLATFORM(IOS)" that should probably be turned on for watchOS
4924         and tvOS too, eventually. Also "PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST)".
4925
4926         * wtf/PlatformMac.cmake: Removed DeprecatedSymbolsUsedBySafari.mm.
4927
4928         * wtf/PlatformUse.h: Removed __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400.
4929
4930         * wtf/mac/DeprecatedSymbolsUsedBySafari.mm: Removed.
4931
4932         * wtf/spi/darwin/ProcessMemoryFootprint.h: Removed
4933         __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400.
4934
4935 2020-05-04  Darin Adler  <darin@apple.com>
4936
4937         Remove now-unneeded HAVE(SANDBOX_ISSUE_MACH/READ_EXTENSION_TO_PROCESS_BY_AUDIT_TOKEN)
4938         https://bugs.webkit.org/show_bug.cgi?id=211427
4939
4940         Reviewed by Alex Christensen.
4941
4942         * wtf/PlatformHave.h: Remove both macros mentioned in the title above.
4943         * wtf/spi/darwin/SandboxSPI.h: Remove #if HAVE.
4944
4945 2020-05-04  Darin Adler  <darin@apple.com>
4946
4947         Remove now-unneeded HAVE(AUTHORIZATION_STATUS_FOR_MEDIA_TYPE)
4948         https://bugs.webkit.org/show_bug.cgi?id=211426
4949
4950         Reviewed by Alex Christensen.
4951
4952         * wtf/PlatformHave.h: Removed code to set HAVE_AUTHORIZATION_STATUS_FOR_MEDIA_TYPE,
4953         which was doing so on all Cocoa platforms.
4954
4955 2020-05-04  Darin Adler  <darin@apple.com>
4956
4957         Remove now-unneeded HAVE(ACCESSIBILITY_SUPPORT)
4958         https://bugs.webkit.org/show_bug.cgi?id=211425
4959
4960         Reviewed by Alex Christensen.
4961
4962         * wtf/PlatformHave.h: Don't set HAVE_ACCESSIBILITY_SUPPORT. It was on for all
4963         Cocoa platform builds.
4964
4965 2020-05-04  Darin Adler  <darin@apple.com>
4966
4967         Remove now-unneeded HAVE(NETWORK_EXTENSION)
4968         https://bugs.webkit.org/show_bug.cgi?id=211424
4969
4970         Reviewed by Alex Christensen.
4971
4972         * wtf/PlatformHave.h: Don't define HAVE_NETWORK_EXTENSION.
4973
4974 2020-05-04  Darin Adler  <darin@apple.com>
4975
4976         Remove now-unneeded HAVE(SEC_TRUST_EVALUATE_WITH_ERROR)
4977         https://bugs.webkit.org/show_bug.cgi?id=211429
4978
4979         Reviewed by Alex Christensen.
4980
4981         * wtf/PlatformHave.h: Don't set HAVE_SEC_TRUST_EVALUATE_WITH_ERROR.
4982
4983 2020-05-04  Darin Adler  <darin@apple.com>
4984
4985         Remove unneeded USE(MEDIAREMOTE)
4986         https://bugs.webkit.org/show_bug.cgi?id=211385
4987
4988         Reviewed by Eric Carlson.
4989