iOS 13: Some SPI targets 13.1
[WebKit-https.git] / Source / WTF / ChangeLog
1 2019-09-13  Jonathan Bedard  <jbedard@apple.com>
2
3         iOS 13: Some SPI targets 13.1
4         https://bugs.webkit.org/show_bug.cgi?id=201777
5
6         Reviewed by Alexey Proskuryakov.
7
8         * wtf/Platform.h:
9
10 2019-09-12  Mark Lam  <mark.lam@apple.com>
11
12         Harden JSC against the abuse of runtime options.
13         https://bugs.webkit.org/show_bug.cgi?id=201597
14         <rdar://problem/55167068>
15
16         Reviewed by Filip Pizlo.
17
18         Add a source file that was missing so that Xcode can search its contents too.
19
20         * WTF.xcodeproj/project.pbxproj:
21
22 2019-09-09  Tim Horton  <timothy_horton@apple.com>
23
24         Clarify some macCatalyst feature flags
25         https://bugs.webkit.org/show_bug.cgi?id=201619
26         <rdar://problem/54615618>
27
28         Reviewed by Megan Gardner.
29
30         * wtf/Platform.h:
31         We prefer specific flags over platform checks.
32
33 2019-09-07  David Quesada  <david_quesada@apple.com>
34
35         REGRESSION(r248533): Unable to use WTF::RefCounted when building in a debug configuration against a non-debug WebKit
36         https://bugs.webkit.org/show_bug.cgi?id=201585
37         rdar://problem/55153369
38
39         Reviewed by Chris Dumez.
40
41         Export WTF::RefCountedBase::areThreadingChecksEnabledGlobally regardless of whether or not assertions
42         are enabled for the WTF being built. This allows WebKit-based projects to use RefCounted for their own
43         objects in a debug configuration without requiring a debug build of WebKit.
44
45         * wtf/RefCounted.cpp:
46         * wtf/RefCounted.h:
47
48 2019-09-07  Mark Lam  <mark.lam@apple.com>
49
50         performJITMemcpy() source buffer should not be in the Gigacage.
51         https://bugs.webkit.org/show_bug.cgi?id=201577
52         <rdar://problem/55142606>
53
54         Reviewed by Michael Saboff.
55
56         * wtf/Gigacage.h:
57         (Gigacage::contains):
58
59 2019-09-06  Mark Lam  <mark.lam@apple.com>
60
61         Harden protection of the Gigacage Config parameters.
62         https://bugs.webkit.org/show_bug.cgi?id=201570
63         <rdar://problem/55134229>
64
65         Reviewed by Saam Barati.
66
67         Just renaming some function names here.
68
69         * wtf/Gigacage.h:
70         (Gigacage::forbidDisablingPrimitiveGigacage):
71         (Gigacage::isDisablingPrimitiveGigacageForbidden):
72         (Gigacage::disableDisablingPrimitiveGigacageIfShouldBeEnabled): Deleted.
73         (Gigacage::isDisablingPrimitiveGigacageDisabled): Deleted.
74
75 2019-09-05  Mark Lam  <mark.lam@apple.com>
76
77         Refactor the Gigacage code to require less pointer casting.
78         https://bugs.webkit.org/show_bug.cgi?id=201521
79
80         Reviewed by Saam Barati.
81
82         Remove some unneeded stubs in WTF Gigacage.h.
83
84         * wtf/Gigacage.cpp:
85         * wtf/Gigacage.h:
86         (Gigacage::name):
87         (Gigacage::isEnabled):
88         (Gigacage::basePtr): Deleted.
89         (Gigacage::basePtrs): Deleted.
90
91 2019-08-30  Alex Christensen  <achristensen@webkit.org>
92
93         Remove HAVE_CFNETWORK_WITH_AUTO_ADDED_HTTP_HEADER_SUPPRESSION_SUPPORT conditional
94         https://bugs.webkit.org/show_bug.cgi?id=201280
95
96         Reviewed by Youenn Fablet.
97
98         * wtf/Platform.h:
99
100 2019-08-30  Alex Christensen  <achristensen@webkit.org>
101
102         Remove HAVE_CFNETWORK_WITH_IGNORE_HSTS conditional
103         https://bugs.webkit.org/show_bug.cgi?id=201279
104
105         Reviewed by Darin Adler.
106
107         * wtf/Platform.h:
108
109 2019-08-30  Alex Christensen  <achristensen@webkit.org>
110
111         Fix non-iOS iOS-family and catalyst builds after r249019
112         https://bugs.webkit.org/show_bug.cgi?id=200945
113
114         * wtf/Platform.h:
115         State that they have tls_protocol_version_t
116
117 2019-08-30  Simon Fraser  <simon.fraser@apple.com>
118
119         Add system tracing points for compositing updates, and touch-event dispatching
120         https://bugs.webkit.org/show_bug.cgi?id=201327
121
122         Reviewed by Alex Christensen.
123
124         * wtf/SystemTracing.h:
125
126 2019-08-30  Keith Rollin  <krollin@apple.com>
127
128         Remove AppKitCompatibilityDeclarations.h
129         https://bugs.webkit.org/show_bug.cgi?id=201283
130         <rdar://problem/54822042>
131
132         Reviewed by Alexey Proskuryakov.
133
134         The two copies of these files -- on in WTF, one in MiniBrowser -- are
135         empty and can be removed.
136
137         * WTF.xcodeproj/project.pbxproj:
138         * wtf/PlatformMac.cmake:
139         * wtf/mac/AppKitCompatibilityDeclarations.h: Removed.
140
141 2019-08-29  Keith Rollin  <krollin@apple.com>
142
143         Remove HAVE_PASSKIT_GRANULAR_ERRORS conditional
144         https://bugs.webkit.org/show_bug.cgi?id=201278
145         <rdar://problem/54821052>
146
147         Reviewed by Alex Christensen.
148
149         HAVE_PASSKIT_GRANULAR_ERRORS is always True, so remove the conditional
150         tests, keeping the True branches and removing the False branches.
151
152         * wtf/FeatureDefines.h:
153
154 2019-08-29  Keith Rollin  <krollin@apple.com>
155
156         Update .xcconfig symbols to reflect the current set of past and future product versions.
157         https://bugs.webkit.org/show_bug.cgi?id=200720
158         <rdar://problem/54305032>
159
160         Reviewed by Alex Christensen.
161
162         Remove version symbols related to old OS's we no longer support,
163         ensure that version symbols are defined for OS's we do support.
164
165         * Configurations/Base.xcconfig:
166         * Configurations/DebugRelease.xcconfig:
167
168 2019-08-29  Keith Rollin  <krollin@apple.com>
169
170         Remove 32-bit macOS support
171         https://bugs.webkit.org/show_bug.cgi?id=201282
172         <rdar://problem/54821667>
173
174         Reviewed by Anders Carlsson.
175
176         WebKit doesn’t support 32-bit Mac any more, so remove checks and code
177         for that platform.
178
179         * wtf/Platform.h:
180
181 2019-08-29  Chris Dumez  <cdumez@apple.com>
182
183         CompletionHandler default constructor does not initialize `m_wasConstructedOnMainThread`
184         https://bugs.webkit.org/show_bug.cgi?id=201249
185
186         Reviewed by Joseph Pecoraro and Alex Christensen.
187
188         * wtf/CompletionHandler.h:
189         (WTF::CompletionHandler<Out):
190
191 2019-08-29  Chris Dumez  <cdumez@apple.com>
192
193         Crash when mach_port_deallocate() returns KERN_INVALID_NAME
194         https://bugs.webkit.org/show_bug.cgi?id=201248
195         <rdar://problem/54813890>
196
197         Reviewed by Alex Christensen.
198
199         * wtf/cocoa/MachSendRight.cpp:
200         (WTF::deallocateSendRightSafely):
201
202 2019-08-25  Fujii Hironori  <Hironori.Fujii@sony.com>
203
204         Regression(r248533) Assertion hit in isMainThread() for some clients using WTF because the main thread is not initialized
205         https://bugs.webkit.org/show_bug.cgi?id=201083
206         <rdar://problem/54651993>
207
208         Unreviewed build fox for Windows.
209
210         * wtf/win/MainThreadWin.cpp:
211         (WTF::isMainThreadInitialized): Added.
212
213 2019-08-23  Jiewen Tan  <jiewen_tan@apple.com>
214
215         Unreviewed, build fix after r249059
216
217         * wtf/Platform.h:
218         Make HAVE_NEAR_FIELD available only on iOS 13+ and macOS Catalina+.
219
220 2019-08-23  Chris Dumez  <cdumez@apple.com>
221
222         Regression(r248533) Assertion hit in isMainThread() for some clients using WTF because the main thread is not initialized
223         https://bugs.webkit.org/show_bug.cgi?id=201083
224
225         Reviewed by Alex Christensen.
226
227         An assertion is hit in isMainThread() for some clients using WTF because the main thread is not initialized, since r248533.
228         Clients can work around this by calling WTF::initializeMainThread() before using WTF but it seems unfortunate to force them
229         to do so. I propose we disable the assertion until the main thread is initialized.
230
231         * wtf/MainThread.h:
232         * wtf/RefCounted.h:
233         (WTF::RefCountedBase::RefCountedBase):
234         (WTF::RefCountedBase::applyRefDerefThreadingCheck const):
235         * wtf/cocoa/MainThreadCocoa.mm:
236         (WTF::isMainThreadInitialized):
237         * wtf/generic/MainThreadGeneric.cpp:
238         (WTF::isMainThreadInitialized):
239
240 2019-08-21  Jiewen Tan  <jiewen_tan@apple.com>
241
242         [WebAuthn] Support NFC authenticators for iOS
243         https://bugs.webkit.org/show_bug.cgi?id=188624
244         <rdar://problem/43354214>
245
246         Reviewed by Chris Dumez.
247
248         * wtf/Platform.h:
249         Add a feature flag for NearField.
250
251 2019-08-22  Andy Estes  <aestes@apple.com>
252
253         [watchOS] Disable Content Filtering in the simulator build
254         https://bugs.webkit.org/show_bug.cgi?id=201047
255
256         Reviewed by Tim Horton.
257
258         * wtf/Platform.h:
259
260 2019-08-22  Keith Rollin  <krollin@apple.com>
261
262         Remove support for tvOS < 13.0
263         https://bugs.webkit.org/show_bug.cgi?id=200963
264         <rdar://problem/54541355>
265
266         Reviewed by Tim Horton.
267
268         Update conditionals that reference __TV_OS_VERSION_MIN_REQUIRED and
269         __TV_OS_VERSION_MAX_ALLOWED, assuming that they both have values >=
270         130000. This means that expressions like "__TV_OS_VERSION_MIN_REQUIRED
271         < 130000" are always False and "__TV_OS_VERSION_MIN_REQUIRED >=
272         130000" are always True.
273
274         * wtf/FeatureDefines.h:
275         * wtf/Platform.h:
276
277 2019-08-22  Kate Cheney  <katherine_cheney@apple.com>
278
279         Logging in FileSystem::deleteFile should avoid logging unsurprising errors
280         https://bugs.webkit.org/show_bug.cgi?id=200831
281
282         Reviewed by Chris Dumez.
283
284         To avoid overlogging unnecessary information, added a check to avoid logging
285         ENOENT (file not found) errors.
286
287         * wtf/posix/FileSystemPOSIX.cpp:
288         (WTF::FileSystemImpl::deleteFile):
289
290 2019-08-22  Alex Christensen  <achristensen@webkit.org>
291
292         Disable legacy TLS versions and add a temporary default to re-enable it
293         https://bugs.webkit.org/show_bug.cgi?id=200945
294
295         Reviewed by Brady Eidson.
296
297         * wtf/Platform.h:
298
299 2019-08-22  Darin Adler  <darin@apple.com>
300
301         Rename StringBuilder functions to avoid unclear "append uninitialized" terminology
302         https://bugs.webkit.org/show_bug.cgi?id=201020
303
304         Reviewed by Alex Christensen.
305
306         * wtf/text/StringBuilder.cpp:
307         (WTF::StringBuilder::allocateBuffer): Use std::memcpy instead of just memcpy.
308         (WTF::StringBuilder::extendBufferForAppending): Renamed.
309         (WTF::StringBuilder::extendBufferForAppendingWithoutOverflowCheck): Ditto.
310         (WTF::StringBuilder::extendBufferForAppending8): Ditto.
311         (WTF::StringBuilder::extendBufferForAppending16): Ditto.
312         (WTF::StringBuilder::extendBufferForAppendingSlowPath): Ditto.
313         (WTF::StringBuilder::appendCharacters): Updated for new names.
314         * wtf/text/StringBuilder.h: Updated for new names.
315
316 2019-08-17  Darin Adler  <darin@apple.com>
317
318         Use makeString and multi-argument StringBuilder::append instead of less efficient multiple appends
319         https://bugs.webkit.org/show_bug.cgi?id=200862
320
321         Reviewed by Ryosuke Niwa.
322
323         * wtf/DateMath.cpp:
324         (WTF::makeRFC2822DateString): Use one append instead of multiple.
325         * wtf/JSONValues.cpp:
326         (WTF::appendDoubleQuotedString): Ditto.
327
328 2019-08-21  Mark Lam  <mark.lam@apple.com>
329
330         Fix infinite recursion in WTFCrashWithInfo() after r248930.
331         https://bugs.webkit.org/show_bug.cgi?id=201022
332
333         Reviewed by Saam Barati.
334
335         * wtf/Assertions.cpp:
336         (WTFCrashWithInfoImpl):
337         (WTFCrashWithInfo): Deleted.
338         * wtf/Assertions.h:
339         (WTFCrashWithInfo):
340
341 2019-08-21  Chris Dumez  <cdumez@apple.com>
342
343         registrableDomainsToRemoveWebsiteDataFor() does not need to return a HashMap
344         https://bugs.webkit.org/show_bug.cgi?id=200985
345
346         Reviewed by John Wilander.
347
348         Allow calling crossThreadCopy() on a std::pair<>.
349
350         * wtf/CrossThreadCopier.h:
351
352 2019-08-21  Keith Rollin  <krollin@apple.com>
353
354         Remove support for watchOS < 6.0
355         https://bugs.webkit.org/show_bug.cgi?id=200937
356         <rdar://problem/54524009>
357
358         Reviewed by Darin Adler.
359
360         Update conditionals that reference __WATCH_OS_VERSION_MIN_REQUIRED and
361         __WATCH_OS_VERSION_MAX_ALLOWED, assuming that they both have values >=
362         60000. This means that expressions like
363         "__WATCH_OS_VERSION_MIN_REQUIRED < 60000" are always False and
364         "__WATCH_OS_VERSION_MIN_REQUIRED >= 60000" are always True.
365
366         * wtf/FeatureDefines.h:
367         * wtf/Platform.h:
368
369 2019-08-20  Mark Lam  <mark.lam@apple.com>
370
371         Make it easier to pass pointers to WTFCrashWithInfo.
372         https://bugs.webkit.org/show_bug.cgi?id=200960
373
374         Reviewed by Saam Barati and Yusuke Suzuki.
375
376         Now, we don't have to explicitly cast them to uint64_ts first.  The template
377         wrappers will take care of it for us.
378
379         * wtf/Assertions.h:
380         (wtfCrashArg):
381         (WTFCrashWithInfo):
382         (WTF::isIntegralOrPointerType):
383         (WTF::isIntegralType): Deleted.
384
385 2019-08-20  Saam Barati  <sbarati@apple.com>
386
387         Unreviewed. Followup to r248903. It's not valid to remove
388         hasOverflowed() checks from appendCharacters.
389
390         * wtf/text/StringBuilder.cpp:
391         (WTF::StringBuilder::appendCharacters):
392
393 2019-08-20  Darin Adler  <darin@apple.com>
394
395         Variadic StringBuilder::append does not handle upconverting from 8-bit to 16-bit correctly
396         https://bugs.webkit.org/show_bug.cgi?id=200921
397
398         Reviewed by Saam Barati.
399
400         * wtf/text/StringBuilder.cpp:
401         (WTF::StringBuilder::appendUninitialized8): Renamed from
402         appendUninitializedWithoutOverflowCheckForLChar and moved the length overflow
403         check in here to cut down on unnecessary inlining and code size.
404         (WTF::StringBuilder::appendUninitialized16): Renamed from
405         appendUninitializedWithoutOverflowCheckForUChar, moved the length overflow check
406         in here, and moved the necessary upconversion code from the const UChar* overload of
407         the appendCharacters function.
408         (WTF::StringBuilder::appendCharacters): Removed unneeded "length has already overflowed"
409         check at the start of the function since the code in the function already handles that
410         case correctly. Refactored the const UChar* overload to use the new appendCharacters16
411         function so it can share more code with StringBuilder::appendFromAdapters.
412
413         * wtf/text/StringBuilder.h:
414         (WTF::StringBuilder::appendFromAdapters): Updated the function names for the
415         two appendUninitialized functions, which now do a bit more than before. Removed the
416         overflow check since the appendUninitialized8/16 functions now handle that; better to
417         not make the inlined code larger to handle a failure case.
418
419 2019-08-19  Sam Weinig  <weinig@apple.com>
420
421         [WHLSL] Make generated Metal code should be indented properly to ease reading while debugging
422         https://bugs.webkit.org/show_bug.cgi?id=200870
423
424         Reviewed by Saam Barati.
425
426         Adds simple Indentation class to allow programatic indenting compatible with StringTypeAdapter
427         aware functions/class (e.g. makeString and StringBuilder). Templatized on the number of spaces
428         to indent.
429         
430         Also adds IndentationScope, which uses RAII to increment/decrement the indentation value.
431
432         * wtf/text/StringConcatenate.h:
433         (WTF::Indentation::operator++):
434         (WTF::Indentation::operator--):
435         (WTF::IndentationScope::IndentationScope):
436         (WTF::IndentationScope::~IndentationScope):
437
438 2019-08-19  Per Arne Vollan  <pvollan@apple.com>
439
440         Unreviewed build fix for macOS 10.14 after r248832.
441
442         * wtf/Platform.h:
443
444 2019-08-19  Yusuke Suzuki  <ysuzuki@apple.com>
445
446         [WTF] Add makeUnique<T>, which ensures T is fast-allocated, actual static_assert part
447         https://bugs.webkit.org/show_bug.cgi?id=200620
448
449         Reviewed by Geoff Garen.
450
451         This is the last part of the split patch from https://bugs.webkit.org/show_bug.cgi?id=200620.
452         Expose T::webkitFastMalloced type to perform static_assert in makeUnique.
453         makeUnique and makeUniqueRef start performing static_assert check to ensure that the type T is FastMalloced / IsoHeaped.
454
455         * wtf/FastMalloc.h:
456         * wtf/StdLibExtras.h:
457         (WTF::makeUnique):
458         * wtf/UniqueRef.h:
459         (WTF::makeUniqueRef):
460
461 2019-08-18  Yusuke Suzuki  <ysuzuki@apple.com>
462
463         [WTF] Add makeUnique<T>, which ensures T is fast-allocated, makeUnique / makeUniqueWithoutFastMallocCheck part
464         https://bugs.webkit.org/show_bug.cgi?id=200620
465
466         Reviewed by Geoff Garen.
467
468         This patch is second part of bug 200620 patch. I split I split it into three pieces to make roll-out easy.
469         his part, we convert std::make_unique to WTF::makeUnique or WTF::makeUniqueWithoutFastMallocCheck.
470         In the third patch, we will add a static_assert to makeUnique, which ensures the given class T is FastMalloced or IsoHeaped.
471
472         This patch adds `WTF::makeUnique<T>` and `WTF::makeUniqueWithoutFastMallocCheck<T>` as drop-in replacement for `std::make_unique<T>`.
473         `WTF::makeUnique<T>` has one additional `static_assert` check which ensures `T` FastMalloc / IsoHeap annotated. If it is not, the
474         compile error happens.
475
476         In this patch, I tried using this everywhere in WebKit as much as possible. And we found that surprisingly many classes are missing
477         FastMalloc annotation and allocated from system-malloc. Using WTF::makeUnique enforces classes / structs to use FastMalloc.
478
479         WTF::makeUniqueWithoutFastMallocCheck is offered for the corner cases. This is identical to std::make_unique. We use this for classes
480         that are offered by non-WebKit code base, like, zlib. This clear name can make us easily find this allocation is intentionally done
481         by system-malloc.
482
483         We do not take the following direction, `WTF::makeUnique` automatically allocates FastMalloc even if FastMalloc annotation is not attached.
484         Since default deleter is performing `delete` and this is not what we want for FastMalloced ones, we need to return
485         std::unique_ptr<T, FastFreeDeleter> for T if T does not have FastMalloc-annotation. Automatically doing this sounds a bit dangerous.
486
487             auto pointer = WTF::makeUnique<T>();
488             // Super dangerous, but sometimes it is required...
489             auto* rawPointer = pointer.release();
490             // Passing rawPointer to somewhere, and
491             delete rawPointer;
492
493         The above one becomes invalid because pointer may start requiring non `delete` destroying function.
494         In the above case, the correct way becomes the following.
495
496             rawPointer->~T();
497             fastFree(rawPointer);
498
499         This looks non-intuitive. And having two ways to destroying objects (`delete` or the above one) can be error-prone.
500         If we have WTF_MAKE_FAST_ALLOCATED for T, we do not need to care about this. "new" and "delete" operators are defined, and C++ way works.
501         The simple invariant, "makeUnique just does `new` internally. And `delete` operator does `delete`. default deleter is just doing `delete`", is kept.
502
503         While we need to annotate many classes with WTF_MAKE_FAST_ALLOCATED, it is one time cost when we add a class.
504         And, by introducing `WTF::makeUnique<>`, we no longer forget adding this.
505
506             makeUnique(...)
507             static_assert(T is FastMalloced or IsoHeaped);
508             return make_unique<T>(...)
509
510         * benchmarks/LockFairnessTest.cpp:
511         * benchmarks/LockSpeedTest.cpp:
512         * wtf/ConcurrentVector.h:
513         * wtf/CrossThreadTaskHandler.cpp:
514         (WTF::CrossThreadTaskHandler::taskRunLoop):
515         * wtf/FilePrintStream.cpp:
516         (WTF::FilePrintStream::open):
517         * wtf/Function.h:
518         (WTF::Function<Out):
519         * wtf/HashTable.h:
520         (WTF::KeyTraits>::HashTable):
521         * wtf/MemoryPressureHandler.cpp:
522         (WTF::MemoryPressureHandler::setShouldUsePeriodicMemoryMonitor):
523         * wtf/StdLibExtras.h:
524         (WTF::makeUnique):
525         (WTF::makeUniqueWithoutFastMallocCheck):
526         * wtf/StreamBuffer.h:
527         (WTF::StreamBuffer::append):
528         * wtf/UniqueRef.h:
529         (WTF::makeUniqueRefWithoutFastMallocCheck):
530         (WTF::makeUniqueRef):
531         * wtf/glib/RunLoopGLib.cpp:
532         (WTF::RunLoop::dispatchAfter):
533         * wtf/text/StringView.cpp:
534         (WTF::StringView::GraphemeClusters::Iterator::Iterator):
535
536 2019-08-18  Per Arne Vollan  <pvollan@apple.com>
537
538         [Mac] Use the PID of the WebContent process when issuing local file read sandbox extensions
539         https://bugs.webkit.org/show_bug.cgi?id=200543
540         <rdar://problem/49394015>
541
542         Reviewed by Brent Fulgham.
543
544         Add new SPI.
545         
546         * wtf/Platform.h:
547         * wtf/spi/darwin/SandboxSPI.h:
548
549 2019-08-17  Darin Adler  <darin@apple.com>
550
551         Tidy up checks to see if a character is in the Latin-1 range by using isLatin1 consistently
552         https://bugs.webkit.org/show_bug.cgi?id=200861
553
554         Reviewed by Ross Kirsling.
555
556         * wtf/text/StringBuilder.cpp:
557         (WTF::StringBuilder::appendCharacters): Use isLatin1 and also call append rather than
558         calling appendCharacters, since it's the same thing, inlined, and removes the need for
559         a local variable. Also tweaked the idiom of the code using memcpy.
560         (WTF::StringBuilder::canShrink const): Reworded a comment.
561
562         * wtf/text/StringBuilder.h:
563         (WTF::StringBuilder::append): Use isLatin1.
564
565         * wtf/text/StringCommon.h:
566         (WTF::isLatin1): Moved this function template here so it can be used here.
567         (WTF::find): Use isLatin1.
568
569         * wtf/text/StringImpl.h:
570         (WTF::isLatin1): Deleted. Moved to StringCommon.h.
571         (WTF::reverseFind): Use isLatin1.
572         (WTF::isSpaceOrNewline): Ditto.
573
574 2019-08-17  Eric Liang  <ericliang@apple.com>
575
576         Added HAVE_ACCESSIBILITY_BUNDLES_PATH
577         https://bugs.webkit.org/show_bug.cgi?id=200367
578
579         Reviewed by Darin Adler.
580
581         * wtf/Platform.h:
582
583 2019-08-17  Sam Weinig  <weinig@apple.com>
584
585         Rename StringBuilder::flexibleAppend(...) to StringBuilder::append(...)
586         https://bugs.webkit.org/show_bug.cgi?id=200756
587
588         Reviewed by Darin Adler.
589
590         Now that there are no remaining multi-parameter or behavior changing overloads
591         of StringBuilder::append(...), we can rename StringBuilder::flexibleAppend(...)
592         to StringBuilder::append(...).
593         
594         This change leaves the existing single parameter overloads StringBuilder::append(...)
595         for now, and since they have specify specific types, they will continue to be prefered
596         in overload resolution. Once we have concluded the variadic StringBuilder::append(...)
597         can provide the same performance as the single parameter variant, we can remove the
598         single parameter variant.
599
600         * wtf/posix/FileSystemPOSIX.cpp:
601         (WTF::FileSystemImpl::pathByAppendingComponents):
602         * wtf/text/StringBuilder.h:
603         (WTF::StringBuilder::appendFromAdapters):
604         (WTF::StringBuilder::append):
605         (WTF::StringBuilder::flexibleAppendFromAdapters): Deleted.
606         (WTF::StringBuilder::flexibleAppend): Deleted.
607         Update for rename from StringBuilder::flexibleAppend(...) to StringBuilder::append(...).
608
609 2019-08-15  Ryosuke Niwa  <rniwa@webkit.org>
610
611         Don't use union to store NodeRareData* and RenderObject*
612         https://bugs.webkit.org/show_bug.cgi?id=200744
613
614         Reviewed by Antti Koivisto.
615
616         Moved the static assert which requires the type of the object to which the pointer type points
617         into setPointer so that we can use CompactPointerTuple<T*, U> as a member variable
618         with just a forward declaration of T.
619
620         * wtf/CompactPointerTuple.h:
621         (WTF::CompactPointerTuple::setPointer):
622
623 2019-08-15  Zalan Bujtas  <zalan@apple.com>
624
625         [ContentChangeObserver] Keep track of all the visibility candidates.
626         https://bugs.webkit.org/show_bug.cgi?id=200777
627         <rdar://problem/54356331>
628
629         Reviewed by Simon Fraser.
630
631         * wtf/WeakHashSet.h:
632
633 2019-08-15  Brent Fulgham  <bfulgham@apple.com>
634
635         [FTW] Enable CoreFoundation use if building for Apple target
636         https://bugs.webkit.org/show_bug.cgi?id=200799
637
638         Reviewed by Alex Christensen.
639
640         * wtf/PlatformFTW.cmake: Add missing files.
641
642 2019-08-15  Commit Queue  <commit-queue@webkit.org>
643
644         Unreviewed, rolling out r248440.
645         https://bugs.webkit.org/show_bug.cgi?id=200772
646
647         Introduced regressions related to loading of local files.
648         (Requested by perarne on #webkit).
649
650         Reverted changeset:
651
652         "[Mac] Use the PID of the WebContent process when issuing
653         local file read sandbox extensions"
654         https://bugs.webkit.org/show_bug.cgi?id=200543
655         https://trac.webkit.org/changeset/248440
656
657 2019-08-14  Kate Cheney  <katherine_cheney@apple.com>
658
659         FileSystem::deleteFile should log error status (178347)
660         https://bugs.webkit.org/show_bug.cgi?id=178347
661
662         Reviewed by Brent Fulgham.
663
664         I added logging to the FileSystem::deleteFile function so that the debugger will
665         be able to see the associated errno string and better understand the reason for an
666         unlink failure or will know if the fileSystemRepresentation call was not
667         successful (or returned null).
668
669         * wtf/posix/FileSystemPOSIX.cpp:
670         (WTF::FileSystemImpl::deleteFile):
671
672 2019-08-14  Keith Rollin  <krollin@apple.com>
673
674         Remove support for macOS < 10.13
675         https://bugs.webkit.org/show_bug.cgi?id=200694
676         <rdar://problem/54278851>
677
678         Reviewed by Youenn Fablet.
679
680         Update conditionals that reference __MAC_OS_X_VERSION_MIN_REQUIRED and
681         __MAC_OS_X_VERSION_MAX_ALLOWED, assuming that they both have values >=
682         101300. This means that expressions like
683         "__MAC_OS_X_VERSION_MIN_REQUIRED < 101300" are always False and
684         "__MAC_OS_X_VERSION_MIN_REQUIRED >= 101300" are always True.
685
686         * wtf/FeatureDefines.h:
687         * wtf/Platform.h:
688         * wtf/mac/AppKitCompatibilityDeclarations.h:
689         * wtf/spi/darwin/SandboxSPI.h:
690
691 2019-08-14  Yusuke Suzuki  <ysuzuki@apple.com>
692
693         [JSC] Less contended MetaAllocator
694         https://bugs.webkit.org/show_bug.cgi?id=200278
695
696         Reviewed by Mark Lam.
697
698         * wtf/MetaAllocator.cpp:
699         (WTF::MetaAllocator::incrementPageOccupancy):
700         (WTF::MetaAllocator::decrementPageOccupancy):
701         * wtf/MetaAllocator.h:
702
703 2019-08-14  Samuel Groß  <saelo@google.com>
704
705         [JSCOnly] JSCOnly port doesn't build on macOS
706         https://bugs.webkit.org/show_bug.cgi?id=200667
707
708         spi/darwin/ProcessMemoryFootprint.h is required by jsc.cpp so we add it to the WTF_PUBLIC_HEADERS.
709
710         Reviewed by Alex Christensen.
711
712         * wtf/PlatformJSCOnly.cmake:
713         * wtf/PlatformMac.cmake:
714
715 2019-08-13  Sam Weinig  <weinig@apple.com>
716
717         Rename StringBuilder::append(UChar32) to StringBuilder::appendCharacter(UChar32) to avoid accidental change in behavior when replacing append with flexibleAppend
718         https://bugs.webkit.org/show_bug.cgi?id=200675
719
720         Reviewed by Darin Adler.
721
722         When we switch StringBuilder::append(...) to be based on the StringConcatenate/makeString flexibleAppend 
723         implementation, if we don't change anything, the behavior of StringBuilder::append(UChar32) will go from 
724         appending a character to appending a stringified number.
725
726         To work around this, we can rename StringBuilder::append(UChar32) to StringBuilder::appendCharacter(UChar32) 
727         and update all the call sites.
728
729         * wtf/text/StringBuilder.h:
730         (WTF::StringBuilder::appendCharacter):
731         Renamed StringBuilder::append(UChar32) to StringBuilder::appendCharacter(UChar32).
732
733         * wtf/FileSystem.cpp:
734         (WTF::FileSystemImpl::decodeFromFilename):
735         Update for new name.
736
737 2019-08-13  Yusuke Suzuki  <ysuzuki@apple.com>
738
739         Unreviewed, build fix for Windows
740         https://bugs.webkit.org/show_bug.cgi?id=200611
741
742         * wtf/win/GDIObject.h:
743
744 2019-08-12  Takashi Komori  <Takashi.Komori@sony.com>
745
746         [WTF] Thread::removeFromThreadGroup leaks weak pointers.
747         https://bugs.webkit.org/show_bug.cgi?id=199857
748
749         Reviewed by Yusuke Suzuki.
750
751         Fix leaking of ThreadGroup's weak pointers.
752
753         Tests: WTF.ThreadGroupRemove API tests
754
755         * wtf/Threading.cpp:
756         (WTF::Thread::didExit):
757         (WTF::Thread::addToThreadGroup):
758         (WTF::Thread::removeFromThreadGroup):
759         (WTF::Thread::numberOfThreadGroups):
760         * wtf/Threading.h:
761
762 2019-08-12  Sam Weinig  <weinig@apple.com>
763
764         Replace multiparameter overloads of append() in StringBuilder as a first step toward standardizinging on the flexibleAppend() implementation
765         https://bugs.webkit.org/show_bug.cgi?id=200614
766
767         Reviewed by Darin Adler.
768
769         Renames StringBuilder::append(const LChar*, unsigned), StringBuilder::append(const UChar*, unsigned) and 
770         StringBuilder::append(const char*, unsigned) to StringBuilder::appendCharacters(...).
771         
772         Renames StringBuilder::append(const String& string, unsigned offset, unsigned length) to 
773         StringBuilder::appendSubstring(...).
774
775         * wtf/HexNumber.h:
776         (WTF::appendUnsignedAsHexFixedSize):
777         Add overload that explicitly takes a StringBuilder to work around rename from append to appendCharacters.
778
779         * wtf/text/StringBuilder.cpp:
780         (WTF::StringBuilder::appendCharacters):
781         (WTF::StringBuilder::append):
782         * wtf/text/StringBuilder.h:
783         (WTF::StringBuilder::appendCharacters):
784         (WTF::StringBuilder::append):
785         (WTF::StringBuilder::appendSubstring):
786         (WTF::StringBuilder::appendLiteral):
787         (WTF::IntegerToStringConversionTrait<StringBuilder>::flush):
788         Update for renames.
789
790 2019-08-12  Yusuke Suzuki  <ysuzuki@apple.com>
791
792         [WTF][JSC] Make JSC and WTF aggressively-fast-malloced
793         https://bugs.webkit.org/show_bug.cgi?id=200611
794
795         Reviewed by Saam Barati.
796
797         WTF has many data structures, in particular, containers. And these containers can be allocated like `std::make_unique<Container>()`.
798         Without WTF_MAKE_FAST_ALLOCATED, this container itself is allocated from the system malloc. This patch attaches WTF_MAKE_FAST_ALLOCATED
799         more aggressively not to allocate them from the system malloc. And we add some `final` to containers and classes that would be never inherited.
800
801         * wtf/Assertions.cpp:
802         * wtf/Atomics.h:
803         * wtf/AutodrainedPool.h:
804         * wtf/Bag.h:
805         (WTF::Bag::Bag): Deleted.
806         (WTF::Bag::~Bag): Deleted.
807         (WTF::Bag::clear): Deleted.
808         (WTF::Bag::add): Deleted.
809         (WTF::Bag::iterator::iterator): Deleted.
810         (WTF::Bag::iterator::operator! const): Deleted.
811         (WTF::Bag::iterator::operator* const): Deleted.
812         (WTF::Bag::iterator::operator++): Deleted.
813         (WTF::Bag::iterator::operator== const): Deleted.
814         (WTF::Bag::iterator::operator!= const): Deleted.
815         (WTF::Bag::begin): Deleted.
816         (WTF::Bag::begin const): Deleted.
817         (WTF::Bag::end const): Deleted.
818         (WTF::Bag::isEmpty const): Deleted.
819         (WTF::Bag::unwrappedHead const): Deleted.
820         * wtf/BitVector.h:
821         (WTF::BitVector::BitVector): Deleted.
822         (WTF::BitVector::~BitVector): Deleted.
823         (WTF::BitVector::operator=): Deleted.
824         (WTF::BitVector::size const): Deleted.
825         (WTF::BitVector::ensureSize): Deleted.
826         (WTF::BitVector::quickGet const): Deleted.
827         (WTF::BitVector::quickSet): Deleted.
828         (WTF::BitVector::quickClear): Deleted.
829         (WTF::BitVector::get const): Deleted.
830         (WTF::BitVector::contains const): Deleted.
831         (WTF::BitVector::set): Deleted.
832         (WTF::BitVector::add): Deleted.
833         (WTF::BitVector::ensureSizeAndSet): Deleted.
834         (WTF::BitVector::clear): Deleted.
835         (WTF::BitVector::remove): Deleted.
836         (WTF::BitVector::merge): Deleted.
837         (WTF::BitVector::filter): Deleted.
838         (WTF::BitVector::exclude): Deleted.
839         (WTF::BitVector::bitCount const): Deleted.
840         (WTF::BitVector::isEmpty const): Deleted.
841         (WTF::BitVector::findBit const): Deleted.
842         (WTF::BitVector::isEmptyValue const): Deleted.
843         (WTF::BitVector::isDeletedValue const): Deleted.
844         (WTF::BitVector::isEmptyOrDeletedValue const): Deleted.
845         (WTF::BitVector::operator== const): Deleted.
846         (WTF::BitVector::hash const): Deleted.
847         (WTF::BitVector::iterator::iterator): Deleted.
848         (WTF::BitVector::iterator::operator* const): Deleted.
849         (WTF::BitVector::iterator::operator++): Deleted.
850         (WTF::BitVector::iterator::isAtEnd const): Deleted.
851         (WTF::BitVector::iterator::operator== const): Deleted.
852         (WTF::BitVector::iterator::operator!= const): Deleted.
853         (WTF::BitVector::begin const): Deleted.
854         (WTF::BitVector::end const): Deleted.
855         (WTF::BitVector::bitsInPointer): Deleted.
856         (WTF::BitVector::maxInlineBits): Deleted.
857         (WTF::BitVector::byteCount): Deleted.
858         (WTF::BitVector::makeInlineBits): Deleted.
859         (WTF::BitVector::cleanseInlineBits): Deleted.
860         (WTF::BitVector::bitCount): Deleted.
861         (WTF::BitVector::findBitFast const): Deleted.
862         (WTF::BitVector::findBitSimple const): Deleted.
863         (WTF::BitVector::OutOfLineBits::numBits const): Deleted.
864         (WTF::BitVector::OutOfLineBits::numWords const): Deleted.
865         (WTF::BitVector::OutOfLineBits::bits): Deleted.
866         (WTF::BitVector::OutOfLineBits::bits const): Deleted.
867         (WTF::BitVector::OutOfLineBits::OutOfLineBits): Deleted.
868         (WTF::BitVector::isInline const): Deleted.
869         (WTF::BitVector::outOfLineBits const): Deleted.
870         (WTF::BitVector::outOfLineBits): Deleted.
871         (WTF::BitVector::bits): Deleted.
872         (WTF::BitVector::bits const): Deleted.
873         * wtf/Bitmap.h:
874         (WTF::Bitmap::size): Deleted.
875         (WTF::Bitmap::iterator::iterator): Deleted.
876         (WTF::Bitmap::iterator::operator* const): Deleted.
877         (WTF::Bitmap::iterator::operator++): Deleted.
878         (WTF::Bitmap::iterator::operator== const): Deleted.
879         (WTF::Bitmap::iterator::operator!= const): Deleted.
880         (WTF::Bitmap::begin const): Deleted.
881         (WTF::Bitmap::end const): Deleted.
882         * wtf/Box.h:
883         * wtf/BumpPointerAllocator.h:
884         * wtf/CPUTime.h:
885         * wtf/CheckedBoolean.h:
886         * wtf/CommaPrinter.h:
887         (WTF::CommaPrinter::CommaPrinter): Deleted.
888         (WTF::CommaPrinter::dump const): Deleted.
889         (WTF::CommaPrinter::didPrint const): Deleted.
890         * wtf/CompactPointerTuple.h:
891         (WTF::CompactPointerTuple::encodeType): Deleted.
892         (WTF::CompactPointerTuple::decodeType): Deleted.
893         (WTF::CompactPointerTuple::CompactPointerTuple): Deleted.
894         (WTF::CompactPointerTuple::pointer const): Deleted.
895         (WTF::CompactPointerTuple::setPointer): Deleted.
896         (WTF::CompactPointerTuple::type const): Deleted.
897         (WTF::CompactPointerTuple::setType): Deleted.
898         * wtf/CompilationThread.h:
899         (WTF::CompilationScope::CompilationScope): Deleted.
900         (WTF::CompilationScope::~CompilationScope): Deleted.
901         (WTF::CompilationScope::leaveEarly): Deleted.
902         * wtf/CompletionHandler.h:
903         (WTF::CompletionHandler<Out):
904         (WTF::Detail::CallableWrapper<CompletionHandler<Out):
905         (WTF::CompletionHandlerCallingScope::CompletionHandlerCallingScope): Deleted.
906         (WTF::CompletionHandlerCallingScope::~CompletionHandlerCallingScope): Deleted.
907         (WTF::CompletionHandlerCallingScope::CompletionHandler<void): Deleted.
908         * wtf/ConcurrentBuffer.h:
909         (WTF::ConcurrentBuffer::ConcurrentBuffer): Deleted.
910         (WTF::ConcurrentBuffer::~ConcurrentBuffer): Deleted.
911         (WTF::ConcurrentBuffer::growExact): Deleted.
912         (WTF::ConcurrentBuffer::grow): Deleted.
913         (WTF::ConcurrentBuffer::array const): Deleted.
914         (WTF::ConcurrentBuffer::operator[]): Deleted.
915         (WTF::ConcurrentBuffer::operator[] const): Deleted.
916         (WTF::ConcurrentBuffer::createArray): Deleted.
917         * wtf/ConcurrentPtrHashSet.h:
918         (WTF::ConcurrentPtrHashSet::contains): Deleted.
919         (WTF::ConcurrentPtrHashSet::add): Deleted.
920         (WTF::ConcurrentPtrHashSet::size const): Deleted.
921         (WTF::ConcurrentPtrHashSet::Table::maxLoad const): Deleted.
922         (WTF::ConcurrentPtrHashSet::hash): Deleted.
923         (WTF::ConcurrentPtrHashSet::cast): Deleted.
924         (WTF::ConcurrentPtrHashSet::containsImpl const): Deleted.
925         (WTF::ConcurrentPtrHashSet::addImpl): Deleted.
926         * wtf/ConcurrentVector.h:
927         (WTF::ConcurrentVector::~ConcurrentVector): Deleted.
928         (WTF::ConcurrentVector::size const): Deleted.
929         (WTF::ConcurrentVector::isEmpty const): Deleted.
930         (WTF::ConcurrentVector::at): Deleted.
931         (WTF::ConcurrentVector::at const): Deleted.
932         (WTF::ConcurrentVector::operator[]): Deleted.
933         (WTF::ConcurrentVector::operator[] const): Deleted.
934         (WTF::ConcurrentVector::first): Deleted.
935         (WTF::ConcurrentVector::first const): Deleted.
936         (WTF::ConcurrentVector::last): Deleted.
937         (WTF::ConcurrentVector::last const): Deleted.
938         (WTF::ConcurrentVector::takeLast): Deleted.
939         (WTF::ConcurrentVector::append): Deleted.
940         (WTF::ConcurrentVector::alloc): Deleted.
941         (WTF::ConcurrentVector::removeLast): Deleted.
942         (WTF::ConcurrentVector::grow): Deleted.
943         (WTF::ConcurrentVector::begin): Deleted.
944         (WTF::ConcurrentVector::end): Deleted.
945         (WTF::ConcurrentVector::segmentExistsFor): Deleted.
946         (WTF::ConcurrentVector::segmentFor): Deleted.
947         (WTF::ConcurrentVector::subscriptFor): Deleted.
948         (WTF::ConcurrentVector::ensureSegmentsFor): Deleted.
949         (WTF::ConcurrentVector::ensureSegment): Deleted.
950         (WTF::ConcurrentVector::allocateSegment): Deleted.
951         * wtf/Condition.h:
952         (WTF::Condition::waitUntil): Deleted.
953         (WTF::Condition::waitFor): Deleted.
954         (WTF::Condition::wait): Deleted.
955         (WTF::Condition::notifyOne): Deleted.
956         (WTF::Condition::notifyAll): Deleted.
957         * wtf/CountingLock.h:
958         (WTF::CountingLock::LockHooks::lockHook): Deleted.
959         (WTF::CountingLock::LockHooks::unlockHook): Deleted.
960         (WTF::CountingLock::LockHooks::parkHook): Deleted.
961         (WTF::CountingLock::LockHooks::handoffHook): Deleted.
962         (WTF::CountingLock::tryLock): Deleted.
963         (WTF::CountingLock::lock): Deleted.
964         (WTF::CountingLock::unlock): Deleted.
965         (WTF::CountingLock::isHeld const): Deleted.
966         (WTF::CountingLock::isLocked const): Deleted.
967         (WTF::CountingLock::Count::operator bool const): Deleted.
968         (WTF::CountingLock::Count::operator== const): Deleted.
969         (WTF::CountingLock::Count::operator!= const): Deleted.
970         (WTF::CountingLock::tryOptimisticRead): Deleted.
971         (WTF::CountingLock::validate): Deleted.
972         (WTF::CountingLock::doOptimizedRead): Deleted.
973         (WTF::CountingLock::tryOptimisticFencelessRead): Deleted.
974         (WTF::CountingLock::fencelessValidate): Deleted.
975         (WTF::CountingLock::doOptimizedFencelessRead): Deleted.
976         (WTF::CountingLock::getCount): Deleted.
977         * wtf/CrossThreadQueue.h:
978         * wtf/CrossThreadTask.h:
979         * wtf/CryptographicallyRandomNumber.cpp:
980         * wtf/DataMutex.h:
981         * wtf/DateMath.h:
982         * wtf/Deque.h:
983         (WTF::Deque::size const): Deleted.
984         (WTF::Deque::isEmpty const): Deleted.
985         (WTF::Deque::begin): Deleted.
986         (WTF::Deque::end): Deleted.
987         (WTF::Deque::begin const): Deleted.
988         (WTF::Deque::end const): Deleted.
989         (WTF::Deque::rbegin): Deleted.
990         (WTF::Deque::rend): Deleted.
991         (WTF::Deque::rbegin const): Deleted.
992         (WTF::Deque::rend const): Deleted.
993         (WTF::Deque::first): Deleted.
994         (WTF::Deque::first const): Deleted.
995         (WTF::Deque::last): Deleted.
996         (WTF::Deque::last const): Deleted.
997         (WTF::Deque::append): Deleted.
998         * wtf/Dominators.h:
999         * wtf/DoublyLinkedList.h:
1000         * wtf/Expected.h:
1001         * wtf/FastBitVector.h:
1002         * wtf/FileMetadata.h:
1003         * wtf/FileSystem.h:
1004         * wtf/GraphNodeWorklist.h:
1005         * wtf/GregorianDateTime.h:
1006         (WTF::GregorianDateTime::GregorianDateTime): Deleted.
1007         (WTF::GregorianDateTime::year const): Deleted.
1008         (WTF::GregorianDateTime::month const): Deleted.
1009         (WTF::GregorianDateTime::yearDay const): Deleted.
1010         (WTF::GregorianDateTime::monthDay const): Deleted.
1011         (WTF::GregorianDateTime::weekDay const): Deleted.
1012         (WTF::GregorianDateTime::hour const): Deleted.
1013         (WTF::GregorianDateTime::minute const): Deleted.
1014         (WTF::GregorianDateTime::second const): Deleted.
1015         (WTF::GregorianDateTime::utcOffset const): Deleted.
1016         (WTF::GregorianDateTime::isDST const): Deleted.
1017         (WTF::GregorianDateTime::setYear): Deleted.
1018         (WTF::GregorianDateTime::setMonth): Deleted.
1019         (WTF::GregorianDateTime::setYearDay): Deleted.
1020         (WTF::GregorianDateTime::setMonthDay): Deleted.
1021         (WTF::GregorianDateTime::setWeekDay): Deleted.
1022         (WTF::GregorianDateTime::setHour): Deleted.
1023         (WTF::GregorianDateTime::setMinute): Deleted.
1024         (WTF::GregorianDateTime::setSecond): Deleted.
1025         (WTF::GregorianDateTime::setUtcOffset): Deleted.
1026         (WTF::GregorianDateTime::setIsDST): Deleted.
1027         (WTF::GregorianDateTime::operator tm const): Deleted.
1028         (WTF::GregorianDateTime::copyFrom): Deleted.
1029         * wtf/HashTable.h:
1030         * wtf/Hasher.h:
1031         * wtf/HexNumber.h:
1032         * wtf/Indenter.h:
1033         * wtf/IndexMap.h:
1034         * wtf/IndexSet.h:
1035         * wtf/IndexSparseSet.h:
1036         * wtf/IndexedContainerIterator.h:
1037         * wtf/Insertion.h:
1038         * wtf/IteratorAdaptors.h:
1039         * wtf/IteratorRange.h:
1040         * wtf/KeyValuePair.h:
1041         * wtf/ListHashSet.h:
1042         (WTF::ListHashSet::begin): Deleted.
1043         (WTF::ListHashSet::end): Deleted.
1044         (WTF::ListHashSet::begin const): Deleted.
1045         (WTF::ListHashSet::end const): Deleted.
1046         (WTF::ListHashSet::random): Deleted.
1047         (WTF::ListHashSet::random const): Deleted.
1048         (WTF::ListHashSet::rbegin): Deleted.
1049         (WTF::ListHashSet::rend): Deleted.
1050         (WTF::ListHashSet::rbegin const): Deleted.
1051         (WTF::ListHashSet::rend const): Deleted.
1052         * wtf/Liveness.h:
1053         * wtf/LocklessBag.h:
1054         (WTF::LocklessBag::LocklessBag): Deleted.
1055         (WTF::LocklessBag::add): Deleted.
1056         (WTF::LocklessBag::iterate): Deleted.
1057         (WTF::LocklessBag::consumeAll): Deleted.
1058         (WTF::LocklessBag::consumeAllWithNode): Deleted.
1059         (WTF::LocklessBag::~LocklessBag): Deleted.
1060         * wtf/LoggingHashID.h:
1061         * wtf/MD5.h:
1062         * wtf/MachSendRight.h:
1063         * wtf/MainThreadData.h:
1064         * wtf/Markable.h:
1065         * wtf/MediaTime.h:
1066         * wtf/MemoryPressureHandler.h:
1067         * wtf/MessageQueue.h:
1068         (WTF::MessageQueue::MessageQueue): Deleted.
1069         * wtf/MetaAllocator.h:
1070         * wtf/MonotonicTime.h:
1071         (WTF::MonotonicTime::MonotonicTime): Deleted.
1072         (WTF::MonotonicTime::fromRawSeconds): Deleted.
1073         (WTF::MonotonicTime::infinity): Deleted.
1074         (WTF::MonotonicTime::nan): Deleted.
1075         (WTF::MonotonicTime::secondsSinceEpoch const): Deleted.
1076         (WTF::MonotonicTime::approximateMonotonicTime const): Deleted.
1077         (WTF::MonotonicTime::operator bool const): Deleted.
1078         (WTF::MonotonicTime::operator+ const): Deleted.
1079         (WTF::MonotonicTime::operator- const): Deleted.
1080         (WTF::MonotonicTime::operator% const): Deleted.
1081         (WTF::MonotonicTime::operator+=): Deleted.
1082         (WTF::MonotonicTime::operator-=): Deleted.
1083         (WTF::MonotonicTime::operator== const): Deleted.
1084         (WTF::MonotonicTime::operator!= const): Deleted.
1085         (WTF::MonotonicTime::operator< const): Deleted.
1086         (WTF::MonotonicTime::operator> const): Deleted.
1087         (WTF::MonotonicTime::operator<= const): Deleted.
1088         (WTF::MonotonicTime::operator>= const): Deleted.
1089         (WTF::MonotonicTime::isolatedCopy const): Deleted.
1090         (WTF::MonotonicTime::encode const): Deleted.
1091         (WTF::MonotonicTime::decode): Deleted.
1092         * wtf/NaturalLoops.h:
1093         * wtf/NoLock.h:
1094         * wtf/OSAllocator.h:
1095         * wtf/OptionSet.h:
1096         * wtf/Optional.h:
1097         * wtf/OrderMaker.h:
1098         * wtf/Packed.h:
1099         (WTF::alignof):
1100         * wtf/PackedIntVector.h:
1101         (WTF::PackedIntVector::PackedIntVector): Deleted.
1102         (WTF::PackedIntVector::operator=): Deleted.
1103         (WTF::PackedIntVector::size const): Deleted.
1104         (WTF::PackedIntVector::ensureSize): Deleted.
1105         (WTF::PackedIntVector::resize): Deleted.
1106         (WTF::PackedIntVector::clearAll): Deleted.
1107         (WTF::PackedIntVector::get const): Deleted.
1108         (WTF::PackedIntVector::set): Deleted.
1109         (WTF::PackedIntVector::mask): Deleted.
1110         * wtf/PageBlock.h:
1111         * wtf/ParallelJobsOpenMP.h:
1112         * wtf/ParkingLot.h:
1113         * wtf/PriorityQueue.h:
1114         (WTF::PriorityQueue::size const): Deleted.
1115         (WTF::PriorityQueue::isEmpty const): Deleted.
1116         (WTF::PriorityQueue::enqueue): Deleted.
1117         (WTF::PriorityQueue::peek const): Deleted.
1118         (WTF::PriorityQueue::dequeue): Deleted.
1119         (WTF::PriorityQueue::decreaseKey): Deleted.
1120         (WTF::PriorityQueue::increaseKey): Deleted.
1121         (WTF::PriorityQueue::begin const): Deleted.
1122         (WTF::PriorityQueue::end const): Deleted.
1123         (WTF::PriorityQueue::isValidHeap const): Deleted.
1124         (WTF::PriorityQueue::parentOf): Deleted.
1125         (WTF::PriorityQueue::leftChildOf): Deleted.
1126         (WTF::PriorityQueue::rightChildOf): Deleted.
1127         (WTF::PriorityQueue::siftUp): Deleted.
1128         (WTF::PriorityQueue::siftDown): Deleted.
1129         * wtf/RandomDevice.h:
1130         * wtf/Range.h:
1131         * wtf/RangeSet.h:
1132         (WTF::RangeSet::RangeSet): Deleted.
1133         (WTF::RangeSet::~RangeSet): Deleted.
1134         (WTF::RangeSet::add): Deleted.
1135         (WTF::RangeSet::contains const): Deleted.
1136         (WTF::RangeSet::overlaps const): Deleted.
1137         (WTF::RangeSet::clear): Deleted.
1138         (WTF::RangeSet::dump const): Deleted.
1139         (WTF::RangeSet::dumpRaw const): Deleted.
1140         (WTF::RangeSet::begin const): Deleted.
1141         (WTF::RangeSet::end const): Deleted.
1142         (WTF::RangeSet::addAll): Deleted.
1143         (WTF::RangeSet::compact): Deleted.
1144         (WTF::RangeSet::overlapsNonEmpty): Deleted.
1145         (WTF::RangeSet::subsumesNonEmpty): Deleted.
1146         (WTF::RangeSet::findRange const): Deleted.
1147         * wtf/RecursableLambda.h:
1148         * wtf/RedBlackTree.h:
1149         (WTF::RedBlackTree::Node::successor const): Deleted.
1150         (WTF::RedBlackTree::Node::predecessor const): Deleted.
1151         (WTF::RedBlackTree::Node::successor): Deleted.
1152         (WTF::RedBlackTree::Node::predecessor): Deleted.
1153         (WTF::RedBlackTree::Node::reset): Deleted.
1154         (WTF::RedBlackTree::Node::parent const): Deleted.
1155         (WTF::RedBlackTree::Node::setParent): Deleted.
1156         (WTF::RedBlackTree::Node::left const): Deleted.
1157         (WTF::RedBlackTree::Node::setLeft): Deleted.
1158         (WTF::RedBlackTree::Node::right const): Deleted.
1159         (WTF::RedBlackTree::Node::setRight): Deleted.
1160         (WTF::RedBlackTree::Node::color const): Deleted.
1161         (WTF::RedBlackTree::Node::setColor): Deleted.
1162         (WTF::RedBlackTree::RedBlackTree): Deleted.
1163         (WTF::RedBlackTree::insert): Deleted.
1164         (WTF::RedBlackTree::remove): Deleted.
1165         (WTF::RedBlackTree::findExact const): Deleted.
1166         (WTF::RedBlackTree::findLeastGreaterThanOrEqual const): Deleted.
1167         (WTF::RedBlackTree::findGreatestLessThanOrEqual const): Deleted.
1168         (WTF::RedBlackTree::first const): Deleted.
1169         (WTF::RedBlackTree::last const): Deleted.
1170         (WTF::RedBlackTree::size): Deleted.
1171         (WTF::RedBlackTree::isEmpty): Deleted.
1172         (WTF::RedBlackTree::treeMinimum): Deleted.
1173         (WTF::RedBlackTree::treeMaximum): Deleted.
1174         (WTF::RedBlackTree::treeInsert): Deleted.
1175         (WTF::RedBlackTree::leftRotate): Deleted.
1176         (WTF::RedBlackTree::rightRotate): Deleted.
1177         (WTF::RedBlackTree::removeFixup): Deleted.
1178         * wtf/ResourceUsage.h:
1179         * wtf/RunLoop.cpp:
1180         * wtf/RunLoopTimer.h:
1181         * wtf/SHA1.h:
1182         * wtf/Seconds.h:
1183         (WTF::Seconds::Seconds): Deleted.
1184         (WTF::Seconds::value const): Deleted.
1185         (WTF::Seconds::minutes const): Deleted.
1186         (WTF::Seconds::seconds const): Deleted.
1187         (WTF::Seconds::milliseconds const): Deleted.
1188         (WTF::Seconds::microseconds const): Deleted.
1189         (WTF::Seconds::nanoseconds const): Deleted.
1190         (WTF::Seconds::minutesAs const): Deleted.
1191         (WTF::Seconds::secondsAs const): Deleted.
1192         (WTF::Seconds::millisecondsAs const): Deleted.
1193         (WTF::Seconds::microsecondsAs const): Deleted.
1194         (WTF::Seconds::nanosecondsAs const): Deleted.
1195         (WTF::Seconds::fromMinutes): Deleted.
1196         (WTF::Seconds::fromHours): Deleted.
1197         (WTF::Seconds::fromMilliseconds): Deleted.
1198         (WTF::Seconds::fromMicroseconds): Deleted.
1199         (WTF::Seconds::fromNanoseconds): Deleted.
1200         (WTF::Seconds::infinity): Deleted.
1201         (WTF::Seconds::nan): Deleted.
1202         (WTF::Seconds::operator bool const): Deleted.
1203         (WTF::Seconds::operator+ const): Deleted.
1204         (WTF::Seconds::operator- const): Deleted.
1205         (WTF::Seconds::operator* const): Deleted.
1206         (WTF::Seconds::operator/ const): Deleted.
1207         (WTF::Seconds::operator% const): Deleted.
1208         (WTF::Seconds::operator+=): Deleted.
1209         (WTF::Seconds::operator-=): Deleted.
1210         (WTF::Seconds::operator*=): Deleted.
1211         (WTF::Seconds::operator/=): Deleted.
1212         (WTF::Seconds::operator%=): Deleted.
1213         (WTF::Seconds::operator== const): Deleted.
1214         (WTF::Seconds::operator!= const): Deleted.
1215         (WTF::Seconds::operator< const): Deleted.
1216         (WTF::Seconds::operator> const): Deleted.
1217         (WTF::Seconds::operator<= const): Deleted.
1218         (WTF::Seconds::operator>= const): Deleted.
1219         (WTF::Seconds::isolatedCopy const): Deleted.
1220         (WTF::Seconds::encode const): Deleted.
1221         (WTF::Seconds::decode): Deleted.
1222         * wtf/SegmentedVector.h:
1223         (WTF::SegmentedVector::~SegmentedVector): Deleted.
1224         (WTF::SegmentedVector::size const): Deleted.
1225         (WTF::SegmentedVector::isEmpty const): Deleted.
1226         (WTF::SegmentedVector::at): Deleted.
1227         (WTF::SegmentedVector::at const): Deleted.
1228         (WTF::SegmentedVector::operator[]): Deleted.
1229         (WTF::SegmentedVector::operator[] const): Deleted.
1230         (WTF::SegmentedVector::first): Deleted.
1231         (WTF::SegmentedVector::first const): Deleted.
1232         (WTF::SegmentedVector::last): Deleted.
1233         (WTF::SegmentedVector::last const): Deleted.
1234         (WTF::SegmentedVector::takeLast): Deleted.
1235         (WTF::SegmentedVector::append): Deleted.
1236         (WTF::SegmentedVector::alloc): Deleted.
1237         (WTF::SegmentedVector::removeLast): Deleted.
1238         (WTF::SegmentedVector::grow): Deleted.
1239         (WTF::SegmentedVector::clear): Deleted.
1240         (WTF::SegmentedVector::begin): Deleted.
1241         (WTF::SegmentedVector::end): Deleted.
1242         (WTF::SegmentedVector::shrinkToFit): Deleted.
1243         (WTF::SegmentedVector::deleteAllSegments): Deleted.
1244         (WTF::SegmentedVector::segmentExistsFor): Deleted.
1245         (WTF::SegmentedVector::segmentFor): Deleted.
1246         (WTF::SegmentedVector::subscriptFor): Deleted.
1247         (WTF::SegmentedVector::ensureSegmentsFor): Deleted.
1248         (WTF::SegmentedVector::ensureSegment): Deleted.
1249         (WTF::SegmentedVector::allocateSegment): Deleted.
1250         * wtf/SetForScope.h:
1251         * wtf/SingleRootGraph.h:
1252         * wtf/SinglyLinkedList.h:
1253         * wtf/SmallPtrSet.h:
1254         * wtf/SpanningTree.h:
1255         * wtf/Spectrum.h:
1256         * wtf/StackBounds.h:
1257         * wtf/StackShot.h:
1258         * wtf/StackShotProfiler.h:
1259         * wtf/StackStats.h:
1260         * wtf/StackTrace.h:
1261         * wtf/StreamBuffer.h:
1262         * wtf/SynchronizedFixedQueue.h:
1263         (WTF::SynchronizedFixedQueue::create): Deleted.
1264         (WTF::SynchronizedFixedQueue::open): Deleted.
1265         (WTF::SynchronizedFixedQueue::close): Deleted.
1266         (WTF::SynchronizedFixedQueue::isOpen): Deleted.
1267         (WTF::SynchronizedFixedQueue::enqueue): Deleted.
1268         (WTF::SynchronizedFixedQueue::dequeue): Deleted.
1269         (WTF::SynchronizedFixedQueue::SynchronizedFixedQueue): Deleted.
1270         * wtf/SystemTracing.h:
1271         * wtf/ThreadGroup.h:
1272         (WTF::ThreadGroup::create): Deleted.
1273         (WTF::ThreadGroup::threads const): Deleted.
1274         (WTF::ThreadGroup::getLock): Deleted.
1275         (WTF::ThreadGroup::weakFromThis): Deleted.
1276         * wtf/ThreadSpecific.h:
1277         * wtf/ThreadingPrimitives.h:
1278         (WTF::Mutex::impl): Deleted.
1279         * wtf/TimeWithDynamicClockType.h:
1280         (WTF::TimeWithDynamicClockType::TimeWithDynamicClockType): Deleted.
1281         (WTF::TimeWithDynamicClockType::fromRawSeconds): Deleted.
1282         (WTF::TimeWithDynamicClockType::secondsSinceEpoch const): Deleted.
1283         (WTF::TimeWithDynamicClockType::clockType const): Deleted.
1284         (WTF::TimeWithDynamicClockType::withSameClockAndRawSeconds const): Deleted.
1285         (WTF::TimeWithDynamicClockType::operator bool const): Deleted.
1286         (WTF::TimeWithDynamicClockType::operator+ const): Deleted.
1287         (WTF::TimeWithDynamicClockType::operator- const): Deleted.
1288         (WTF::TimeWithDynamicClockType::operator+=): Deleted.
1289         (WTF::TimeWithDynamicClockType::operator-=): Deleted.
1290         (WTF::TimeWithDynamicClockType::operator== const): Deleted.
1291         (WTF::TimeWithDynamicClockType::operator!= const): Deleted.
1292         * wtf/TimingScope.h:
1293         * wtf/TinyLRUCache.h:
1294         * wtf/TinyPtrSet.h:
1295         * wtf/URLParser.cpp:
1296         * wtf/URLParser.h:
1297         * wtf/Unexpected.h:
1298         * wtf/Variant.h:
1299         * wtf/WTFSemaphore.h:
1300         (WTF::Semaphore::Semaphore): Deleted.
1301         (WTF::Semaphore::signal): Deleted.
1302         (WTF::Semaphore::waitUntil): Deleted.
1303         (WTF::Semaphore::waitFor): Deleted.
1304         (WTF::Semaphore::wait): Deleted.
1305         * wtf/WallTime.h:
1306         (WTF::WallTime::WallTime): Deleted.
1307         (WTF::WallTime::fromRawSeconds): Deleted.
1308         (WTF::WallTime::infinity): Deleted.
1309         (WTF::WallTime::nan): Deleted.
1310         (WTF::WallTime::secondsSinceEpoch const): Deleted.
1311         (WTF::WallTime::approximateWallTime const): Deleted.
1312         (WTF::WallTime::operator bool const): Deleted.
1313         (WTF::WallTime::operator+ const): Deleted.
1314         (WTF::WallTime::operator- const): Deleted.
1315         (WTF::WallTime::operator+=): Deleted.
1316         (WTF::WallTime::operator-=): Deleted.
1317         (WTF::WallTime::operator== const): Deleted.
1318         (WTF::WallTime::operator!= const): Deleted.
1319         (WTF::WallTime::operator< const): Deleted.
1320         (WTF::WallTime::operator> const): Deleted.
1321         (WTF::WallTime::operator<= const): Deleted.
1322         (WTF::WallTime::operator>= const): Deleted.
1323         (WTF::WallTime::isolatedCopy const): Deleted.
1324         * wtf/WeakHashSet.h:
1325         (WTF::WeakHashSet::WeakHashSetConstIterator::WeakHashSetConstIterator): Deleted.
1326         (WTF::WeakHashSet::WeakHashSetConstIterator::get const): Deleted.
1327         (WTF::WeakHashSet::WeakHashSetConstIterator::operator* const): Deleted.
1328         (WTF::WeakHashSet::WeakHashSetConstIterator::operator-> const): Deleted.
1329         (WTF::WeakHashSet::WeakHashSetConstIterator::operator++): Deleted.
1330         (WTF::WeakHashSet::WeakHashSetConstIterator::skipEmptyBuckets): Deleted.
1331         (WTF::WeakHashSet::WeakHashSetConstIterator::operator== const): Deleted.
1332         (WTF::WeakHashSet::WeakHashSetConstIterator::operator!= const): Deleted.
1333         (WTF::WeakHashSet::WeakHashSet): Deleted.
1334         (WTF::WeakHashSet::begin const): Deleted.
1335         (WTF::WeakHashSet::end const): Deleted.
1336         (WTF::WeakHashSet::add): Deleted.
1337         (WTF::WeakHashSet::remove): Deleted.
1338         (WTF::WeakHashSet::contains const): Deleted.
1339         (WTF::WeakHashSet::capacity const): Deleted.
1340         (WTF::WeakHashSet::computesEmpty const): Deleted.
1341         (WTF::WeakHashSet::hasNullReferences const): Deleted.
1342         (WTF::WeakHashSet::computeSize const): Deleted.
1343         (WTF::WeakHashSet::checkConsistency const): Deleted.
1344         * wtf/WeakRandom.h:
1345         (WTF::WeakRandom::WeakRandom): Deleted.
1346         (WTF::WeakRandom::setSeed): Deleted.
1347         (WTF::WeakRandom::seed const): Deleted.
1348         (WTF::WeakRandom::get): Deleted.
1349         (WTF::WeakRandom::getUint32): Deleted.
1350         (WTF::WeakRandom::lowOffset): Deleted.
1351         (WTF::WeakRandom::highOffset): Deleted.
1352         (WTF::WeakRandom::nextState): Deleted.
1353         (WTF::WeakRandom::generate): Deleted.
1354         (WTF::WeakRandom::advance): Deleted.
1355         * wtf/WordLock.h:
1356         (WTF::WordLock::lock): Deleted.
1357         (WTF::WordLock::unlock): Deleted.
1358         (WTF::WordLock::isHeld const): Deleted.
1359         (WTF::WordLock::isLocked const): Deleted.
1360         (WTF::WordLock::isFullyReset const): Deleted.
1361         * wtf/generic/MainThreadGeneric.cpp:
1362         * wtf/glib/GMutexLocker.h:
1363         * wtf/linux/CurrentProcessMemoryStatus.h:
1364         * wtf/posix/ThreadingPOSIX.cpp:
1365         (WTF::Semaphore::Semaphore): Deleted.
1366         (WTF::Semaphore::~Semaphore): Deleted.
1367         (WTF::Semaphore::wait): Deleted.
1368         (WTF::Semaphore::post): Deleted.
1369         * wtf/text/ASCIILiteral.h:
1370         (WTF::ASCIILiteral::operator const char* const): Deleted.
1371         (WTF::ASCIILiteral::fromLiteralUnsafe): Deleted.
1372         (WTF::ASCIILiteral::null): Deleted.
1373         (WTF::ASCIILiteral::characters const): Deleted.
1374         (WTF::ASCIILiteral::ASCIILiteral): Deleted.
1375         * wtf/text/AtomString.h:
1376         (WTF::AtomString::operator=): Deleted.
1377         (WTF::AtomString::isHashTableDeletedValue const): Deleted.
1378         (WTF::AtomString::existingHash const): Deleted.
1379         (WTF::AtomString::operator const String& const): Deleted.
1380         (WTF::AtomString::string const): Deleted.
1381         (WTF::AtomString::impl const): Deleted.
1382         (WTF::AtomString::is8Bit const): Deleted.
1383         (WTF::AtomString::characters8 const): Deleted.
1384         (WTF::AtomString::characters16 const): Deleted.
1385         (WTF::AtomString::length const): Deleted.
1386         (WTF::AtomString::operator[] const): Deleted.
1387         (WTF::AtomString::contains const): Deleted.
1388         (WTF::AtomString::containsIgnoringASCIICase const): Deleted.
1389         (WTF::AtomString::find const): Deleted.
1390         (WTF::AtomString::findIgnoringASCIICase const): Deleted.
1391         (WTF::AtomString::startsWith const): Deleted.
1392         (WTF::AtomString::startsWithIgnoringASCIICase const): Deleted.
1393         (WTF::AtomString::endsWith const): Deleted.
1394         (WTF::AtomString::endsWithIgnoringASCIICase const): Deleted.
1395         (WTF::AtomString::toInt const): Deleted.
1396         (WTF::AtomString::toDouble const): Deleted.
1397         (WTF::AtomString::toFloat const): Deleted.
1398         (WTF::AtomString::percentage const): Deleted.
1399         (WTF::AtomString::isNull const): Deleted.
1400         (WTF::AtomString::isEmpty const): Deleted.
1401         (WTF::AtomString::operator NSString * const): Deleted.
1402         * wtf/text/AtomStringImpl.h:
1403         (WTF::AtomStringImpl::lookUp): Deleted.
1404         (WTF::AtomStringImpl::add): Deleted.
1405         (WTF::AtomStringImpl::addWithStringTableProvider): Deleted.
1406         * wtf/text/CString.h:
1407         (WTF::CStringBuffer::data): Deleted.
1408         (WTF::CStringBuffer::length const): Deleted.
1409         (WTF::CStringBuffer::CStringBuffer): Deleted.
1410         (WTF::CStringBuffer::mutableData): Deleted.
1411         (WTF::CString::CString): Deleted.
1412         (WTF::CString::data const): Deleted.
1413         (WTF::CString::length const): Deleted.
1414         (WTF::CString::isNull const): Deleted.
1415         (WTF::CString::buffer const): Deleted.
1416         (WTF::CString::isHashTableDeletedValue const): Deleted.
1417         * wtf/text/ExternalStringImpl.h:
1418         (WTF::ExternalStringImpl::freeExternalBuffer): Deleted.
1419         * wtf/text/LineBreakIteratorPoolICU.h:
1420         * wtf/text/NullTextBreakIterator.h:
1421         * wtf/text/OrdinalNumber.h:
1422         * wtf/text/StringBuffer.h:
1423         * wtf/text/StringBuilder.h:
1424         * wtf/text/StringConcatenateNumbers.h:
1425         * wtf/text/StringHasher.h:
1426         * wtf/text/StringImpl.h:
1427         * wtf/text/StringView.cpp:
1428         * wtf/text/StringView.h:
1429         (WTF::StringView::left const): Deleted.
1430         (WTF::StringView::right const): Deleted.
1431         (WTF::StringView::underlyingStringIsValid const): Deleted.
1432         (WTF::StringView::setUnderlyingString): Deleted.
1433         * wtf/text/SymbolImpl.h:
1434         (WTF::SymbolImpl::StaticSymbolImpl::StaticSymbolImpl): Deleted.
1435         (WTF::SymbolImpl::StaticSymbolImpl::operator SymbolImpl&): Deleted.
1436         (WTF::PrivateSymbolImpl::PrivateSymbolImpl): Deleted.
1437         (WTF::RegisteredSymbolImpl::symbolRegistry const): Deleted.
1438         (WTF::RegisteredSymbolImpl::clearSymbolRegistry): Deleted.
1439         (WTF::RegisteredSymbolImpl::RegisteredSymbolImpl): Deleted.
1440         * wtf/text/SymbolRegistry.h:
1441         * wtf/text/TextBreakIterator.h:
1442         * wtf/text/TextPosition.h:
1443         * wtf/text/TextStream.h:
1444         * wtf/text/WTFString.h:
1445         (WTF::String::swap): Deleted.
1446         (WTF::String::adopt): Deleted.
1447         (WTF::String::isNull const): Deleted.
1448         (WTF::String::isEmpty const): Deleted.
1449         (WTF::String::impl const): Deleted.
1450         (WTF::String::releaseImpl): Deleted.
1451         (WTF::String::length const): Deleted.
1452         (WTF::String::characters8 const): Deleted.
1453         (WTF::String::characters16 const): Deleted.
1454         (WTF::String::is8Bit const): Deleted.
1455         (WTF::String::sizeInBytes const): Deleted.
1456         (WTF::String::operator[] const): Deleted.
1457         (WTF::String::find const): Deleted.
1458         (WTF::String::findIgnoringASCIICase const): Deleted.
1459         (WTF::String::reverseFind const): Deleted.
1460         (WTF::String::contains const): Deleted.
1461         (WTF::String::containsIgnoringASCIICase const): Deleted.
1462         (WTF::String::startsWith const): Deleted.
1463         (WTF::String::startsWithIgnoringASCIICase const): Deleted.
1464         (WTF::String::hasInfixStartingAt const): Deleted.
1465         (WTF::String::endsWith const): Deleted.
1466         (WTF::String::endsWithIgnoringASCIICase const): Deleted.
1467         (WTF::String::hasInfixEndingAt const): Deleted.
1468         (WTF::String::append): Deleted.
1469         (WTF::String::left const): Deleted.
1470         (WTF::String::right const): Deleted.
1471         (WTF::String::createUninitialized): Deleted.
1472         (WTF::String::fromUTF8WithLatin1Fallback): Deleted.
1473         (WTF::String::isAllASCII const): Deleted.
1474         (WTF::String::isAllLatin1 const): Deleted.
1475         (WTF::String::isSpecialCharacter const): Deleted.
1476         (WTF::String::isHashTableDeletedValue const): Deleted.
1477         (WTF::String::hash const): Deleted.
1478         (WTF::String::existingHash const): Deleted.
1479         * wtf/text/cf/TextBreakIteratorCF.h:
1480         * wtf/text/icu/TextBreakIteratorICU.h:
1481         * wtf/text/icu/UTextProviderLatin1.h:
1482         * wtf/threads/BinarySemaphore.h:
1483         (WTF::BinarySemaphore::waitFor): Deleted.
1484         (WTF::BinarySemaphore::wait): Deleted.
1485         * wtf/unicode/Collator.h:
1486         * wtf/win/GDIObject.h:
1487         * wtf/win/PathWalker.h:
1488         * wtf/win/Win32Handle.h:
1489
1490 2019-08-12  Chris Dumez  <cdumez@apple.com>
1491
1492         Unreviewed, fix post landing review comments for r248533 from Darin.
1493
1494         * wtf/RefCounted.h:
1495         (WTF::RefCountedBase::ref const):
1496         (WTF::RefCountedBase::applyRefDerefThreadingCheck const):
1497         (WTF::RefCountedBase::derefBase const):
1498         (WTF::RefCountedBase::areThreadingCheckedEnabled const): Deleted.
1499
1500 2019-08-12  Chris Dumez  <cdumez@apple.com>
1501
1502         Add threading assertions to RefCounted
1503         https://bugs.webkit.org/show_bug.cgi?id=200507
1504
1505         Reviewed by Ryosuke Niwa.
1506
1507         Add threading assertions to RefCounted to try and catch unsafe concurrent ref'ing / derefing of
1508         RefCounted objects from several threads. If you hit these new assertions, it likely means you either
1509         need to:
1510         1. Have your class subclass ThreadSafeRefCounted instead of RefCounted
1511         or
1512         2. Make sure your objects always gets ref'd / deref'd from the same thread.
1513
1514         These assertions already found several thread safety bugs in our code base, which I fixed via
1515         dependency bugs.
1516
1517         These assertions are currently enabled in WebKit (UIProcess, child processes and
1518         WebKitLegacy), they do not apply other JavascriptCore API clients.
1519
1520         * WTF.xcodeproj/project.pbxproj:
1521         * wtf/CMakeLists.txt:
1522         * wtf/RefCounted.cpp: Added.
1523         * wtf/RefCounted.h:
1524         (WTF::RefCountedBase::ref const):
1525         (WTF::RefCountedBase::disableThreadingChecks):
1526         (WTF::RefCountedBase::enableThreadingChecksGlobally):
1527         (WTF::RefCountedBase::RefCountedBase):
1528         (WTF::RefCountedBase::areThreadingCheckedEnabled const):
1529         (WTF::RefCountedBase::derefBase const):
1530         * wtf/SizeLimits.cpp:
1531
1532 2019-08-12  Chris Dumez  <cdumez@apple.com>
1533
1534         Unreviewed, rolling out r248525.
1535
1536         Revert new threading assertions while I work on fixing the
1537         issues they exposed
1538
1539         Reverted changeset:
1540
1541         "Add threading assertions to RefCounted"
1542         https://bugs.webkit.org/show_bug.cgi?id=200507
1543         https://trac.webkit.org/changeset/248525
1544
1545 2019-08-11  Chris Dumez  <cdumez@apple.com>
1546
1547         Add threading assertions to RefCounted
1548         https://bugs.webkit.org/show_bug.cgi?id=200507
1549
1550         Reviewed by Ryosuke Niwa.
1551
1552         Add threading assertions to RefCounted to try and catch unsafe concurrent ref'ing / derefing of
1553         RefCounted objects from several threads. If you hit these new assertions, it likely means you either
1554         need to:
1555         1. Have your class subclass ThreadSafeRefCounted instead of RefCounted
1556         or
1557         2. Make sure your objects always gets ref'd / deref'd from the same thread.
1558
1559         These assertions already found several thread safety bugs in our code base, which I fixed via
1560         dependency bugs.
1561
1562         These assertions are currently enabled in WebKit (UIProcess, child processes and
1563         WebKitLegacy), they do not apply other JavascriptCore API clients.
1564
1565         * WTF.xcodeproj/project.pbxproj:
1566         * wtf/CMakeLists.txt:
1567         * wtf/RefCounted.cpp: Added.
1568         * wtf/RefCounted.h:
1569         (WTF::RefCountedBase::ref const):
1570         (WTF::RefCountedBase::disableThreadingChecks):
1571         (WTF::RefCountedBase::enableThreadingChecksGlobally):
1572         (WTF::RefCountedBase::RefCountedBase):
1573         (WTF::RefCountedBase::areThreadingCheckedEnabled const):
1574         (WTF::RefCountedBase::derefBase const):
1575         * wtf/SizeLimits.cpp:
1576
1577 2019-08-09  Saam Barati  <sbarati@apple.com>
1578
1579         [WHLSL] Devirtualize the AST
1580         https://bugs.webkit.org/show_bug.cgi?id=200522
1581
1582         Reviewed by Robin Morisset.
1583
1584         Make RefCounted use std::default_delete instead of explicitly calling delete.
1585         This allows uses of RefCounted to define their own custom deleter.
1586
1587         * wtf/RefCounted.h:
1588         (WTF::RefCounted::deref const):
1589         * wtf/UniqueRef.h:
1590         (WTF::UniqueRef::UniqueRef):
1591
1592 2019-08-08  Chris Dumez  <cdumez@apple.com>
1593
1594         Fix thread safety issue in AudioSampleDataSource() constructor
1595         https://bugs.webkit.org/show_bug.cgi?id=200547
1596
1597         Reviewed by Alex Christensen.
1598
1599         Make Logger ThreadSafeRefCounted as it is ref'd / deref'd from various
1600         threads (including the main thread and the WebKitWebRTCAudioModule thread).
1601
1602         * wtf/Logger.h:
1603
1604 2019-08-08  Michael Saboff  <msaboff@apple.com>
1605
1606         OpenSource MemoryFootprint API for JSC command line tool
1607         https://bugs.webkit.org/show_bug.cgi?id=200541
1608
1609         Reviewed by Saam Barati.
1610
1611         OpenSource version of WebKitAdditions/MemoryFootprint.h.
1612
1613         * WTF.xcodeproj/project.pbxproj:
1614         * wtf/spi/darwin/ProcessMemoryFootprint.h: Added.
1615         (ProcessMemoryFootprint::now):
1616         (ProcessMemoryFootprint::resetPeak):
1617
1618 2019-08-08  Per Arne Vollan  <pvollan@apple.com>
1619
1620         [Mac] Use the PID of the WebContent process when issuing local file read sandbox extensions
1621         https://bugs.webkit.org/show_bug.cgi?id=200543
1622         <rdar://problem/49394015>
1623
1624         Reviewed by Brent Fulgham.
1625
1626         Add new SPI.
1627
1628         * wtf/Platform.h:
1629         * wtf/spi/darwin/SandboxSPI.h:
1630
1631 2019-08-07  Chris Dumez  <cdumez@apple.com>
1632
1633         Tighten WeakPtr threading assertions for GC threads
1634         https://bugs.webkit.org/show_bug.cgi?id=200451
1635
1636         Reviewed by Youenn Fablet.
1637
1638         Make sure our GC threads do not dereference WeakPtr for main thread
1639         objects by tightening our threading assertions in WeakPtr. They are
1640         still allowed to call WeakPtr::get() for now though.
1641
1642         * wtf/WeakPtr.h:
1643         (WTF::WeakPtrImpl::get):
1644         (WTF::WeakPtrImpl::wasConstructedOnMainThread const):
1645         (WTF::WeakPtr::get const):
1646         (WTF::WeakPtr::operator-> const):
1647         (WTF::WeakPtr::operator* const):
1648
1649 2019-08-06  Jiewen Tan  <jiewen_tan@apple.com>
1650
1651         Unreviewed, a build fix after r248308
1652
1653         Use kSecUseDataProtectionKeychain for iOS 13 and macOS Catalina or newer.
1654
1655         * wtf/Platform.h:
1656
1657 2019-08-06  Chris Dumez  <cdumez@apple.com>
1658
1659         Fix inefficiency in HTTPHeaderMap::set(CFStringRef, const String&)
1660         https://bugs.webkit.org/show_bug.cgi?id=200475
1661
1662         Reviewed by Darin Adler.
1663
1664         Add convenience constuctor to StringView which takes in a const char*
1665         and an unsigned length, similarly to what we already have for String.
1666
1667         * wtf/URL.cpp:
1668         (WTF::URL::protocolIs const):
1669         (WTF::protocolIsInternal):
1670         * wtf/text/StringView.h:
1671         (WTF::StringView::StringView):
1672         (WTF::StringView::empty):
1673
1674 2019-08-06  Jiewen Tan  <jiewen_tan@apple.com>
1675
1676         [WebAuthN] Enable LocalAuthenticator for macOS
1677         https://bugs.webkit.org/show_bug.cgi?id=182772
1678         <rdar://problem/43347920>
1679
1680         Reviewed by Brent Fulgham.
1681
1682         * wtf/Platform.h:
1683         Adds HAVE_DEVICE_IDENTITY.
1684         * wtf/spi/cocoa/SecuritySPI.h:
1685         Adds a SPI for telling macOS keychain to use the modern one.
1686
1687 2019-08-06  Claudio Saavedra  <csaavedra@igalia.com>
1688
1689         FileSystem: silent build warning
1690
1691         Unreviewed compilation warning fix.
1692
1693         Remove unused parameter in empty method
1694         * wtf/FileSystem.cpp:
1695         (WTF::FileSystemImpl::createTemporaryZipArchive):
1696
1697 2019-08-05  Youenn Fablet  <youenn@apple.com>
1698
1699         Make Logger::log thread safe so that it can be used from background threads
1700         https://bugs.webkit.org/show_bug.cgi?id=200448
1701
1702         Reviewed by Eric Carlson.
1703
1704         Add a lock to ensure calling log is thread-safe.
1705
1706         * wtf/Logger.h:
1707         (WTF::Logger::addObserver):
1708         (WTF::Logger::removeObserver):
1709         (WTF::Logger::log):
1710         (WTF::Logger::observerLock):
1711
1712 2019-08-05  Takashi Komori  <Takashi.Komori@sony.com>
1713
1714         [Curl] implement CertificateInfo::summaryInfo
1715         https://bugs.webkit.org/show_bug.cgi?id=191498
1716
1717         Reviewed by Alex Christensen.
1718
1719         Fixed function template for encoding vector.
1720
1721         * wtf/persistence/PersistentCoders.h:
1722
1723 2019-08-02  Mark Lam  <mark.lam@apple.com>
1724
1725         [ARM64E] Harden the diversity of the DOMJIT::Signature::unsafeFunction pointer.
1726         https://bugs.webkit.org/show_bug.cgi?id=200292
1727         <rdar://problem/53706881>
1728
1729         Reviewed by Geoffrey Garen.
1730
1731         * wtf/PtrTag.h:
1732         - Introducing WTF_VTBL_FUNCPTR_PTRAUTH and WTF_VTBL_FUNCPTR_PTRAUTH_STR macros for
1733           defining vtbl function pointer style pointer signing modifier.
1734
1735 2019-08-02  Eric Carlson  <eric.carlson@apple.com>
1736
1737         uniqueLogIdentifier() should generate a 64-bit identifier
1738         https://bugs.webkit.org/show_bug.cgi?id=200403
1739         <rdar://problem/53878447>
1740
1741         Reviewed by Youenn Fablet.
1742
1743         * wtf/LoggerHelper.h:
1744         (WTF::LoggerHelper::childLogIdentifier const): Use uint64_t masks.
1745         (WTF::LoggerHelper::uniqueLogIdentifier): cryptographicallyRandomNumber returns a
1746         uint32_t so use two to generate a 64-bit identifier.
1747
1748 2019-08-02  Alex Christensen  <achristensen@webkit.org>
1749
1750         Fix an internal build after r248139
1751         https://bugs.webkit.org/show_bug.cgi?id=200102
1752
1753         * wtf/cocoa/FileSystemCocoa.mm:
1754         Some internal builds couldn't find BOM framework headers.
1755         No problem.  They're not needed.  Just remove references to them.
1756
1757 2019-08-01  Alex Christensen  <achristensen@webkit.org>
1758
1759         Move FormData zip file generation to NetworkProcess and enable it for all WebKit clients for uploading directories
1760         https://bugs.webkit.org/show_bug.cgi?id=200102
1761         <rdar://problem/53275114>
1762
1763         Reviewed by Darin Adler.
1764
1765         Move code from BlobDataFileReference::generateReplacementFile to FileSystem::createZipArchive.
1766
1767         * wtf/FileSystem.cpp:
1768         (WTF::FileSystemImpl::createZipArchive):
1769         * wtf/FileSystem.h:
1770         * wtf/cocoa/FileSystemCocoa.mm:
1771         (WTF::FileSystemImpl::createZipArchive):
1772
1773 2019-08-01  Per Arne Vollan  <pvollan@apple.com>
1774
1775         Initialize memory pressure flag in MemoryPressureHandler
1776         https://bugs.webkit.org/show_bug.cgi?id=200353
1777
1778         Reviewed by Geoffrey Garen.
1779
1780         The flag 'm_underMemoryPressure' in MemoryPressureHandler should be initialized to 'false'.
1781
1782         * wtf/MemoryPressureHandler.h:
1783
1784 2019-08-01  Chris Dumez  <cdumez@apple.com>
1785
1786         Add threading assertion to WeakPtr's operator->()
1787         https://bugs.webkit.org/show_bug.cgi?id=199922
1788
1789         Reviewed by Ryosuke Niwa.
1790
1791         Add threading assertion to WeakPtr's operator->() to make sure that the WeakPtr
1792         always gets dereferenced on the same thread it was constructed on.
1793
1794         * wtf/WeakPtr.h:
1795         (WTF::WeakPtrImpl::get):
1796         (WTF::WeakPtrImpl::WeakPtrImpl):
1797
1798 2019-07-31  Youenn Fablet  <youenn@apple.com>
1799
1800         Use CTFontCreateForCharactersWithLanguageAndOption if available instead of CTFontCreateForCharactersWithLanguage
1801         https://bugs.webkit.org/show_bug.cgi?id=200241
1802
1803         Reviewed by Myles C. Maxfield.
1804
1805         * wtf/Platform.h: Add macro to enable/disable new SPI.
1806
1807 2019-07-31  Keith Rollin  <krollin@apple.com>
1808
1809         Fix 64-bit vs 32-bit mismatch in PersistentCoders.h
1810         https://bugs.webkit.org/show_bug.cgi?id=200288
1811         <rdar://problem/53734203>
1812
1813         Reviewed by Chris Dumez.
1814
1815         hashMapSize is declared as a uint64_t. It is passed to
1816         HashMapType::reserveInitialCapacity, which takes an unsigned int. This
1817         is a 32-bit value on 32-bit platforms, leading to a compile time
1818         error. Fix his by casting hashMapSize to the expected type.
1819
1820         * wtf/persistence/PersistentCoders.h:
1821
1822 2019-07-31  Keith Rollin  <krollin@apple.com>
1823
1824         Fix 64-bit vs 32-bit mismatch in LogArgument
1825         https://bugs.webkit.org/show_bug.cgi?id=200286
1826         <rdar://problem/53733671>
1827
1828         Reviewed by Darin Adler.
1829
1830         LogArgument is a utility for converting scalars into strings. It has a
1831         number of versions of a toString() method that is specialized for each
1832         type and converts the value to a string in a manner appropriate for
1833         that type. However, the versions of toString() for "long long" and
1834         "unsigned long long" are actually declared to take an "long" or
1835         "unsigned long" as a parameter. This difference leads to a 64-bit vs
1836         32-bit build error on 32-bit systems. Fix this by specifying
1837         correct/matching types.
1838
1839         * wtf/Logger.h:
1840         (WTF::LogArgument::toString):
1841
1842 2019-07-30  Myles C. Maxfield  <mmaxfield@apple.com>
1843
1844         REGRESSION(r241288): Text on Yahoo Japan mobile looks too bold
1845         https://bugs.webkit.org/show_bug.cgi?id=200065
1846         <rdar://problem/50912757>
1847
1848         Reviewed by Simon Fraser.
1849
1850         * wtf/Platform.h:
1851
1852 2019-07-30  Michael Catanzaro  <mcatanzaro@igalia.com>
1853
1854         Fix CRASH_WITH_INFO() so that it doesn't complain about unused parameters on non Clang / MSVC compilers.
1855         https://bugs.webkit.org/show_bug.cgi?id=200243
1856
1857         Reviewed by Mark Lam.
1858
1859         For GCC, we'll implement WTFCrashWithInfo as a function rather than a macro. To use
1860         ##__VA_ARGS we would need to enable GNU extensions, and don't want to do that. The proper
1861         solution, format __VA_OPT__(,) __VA_ARGS__, requires C++20. So just use an inline function
1862         for now as a workaround.
1863
1864         * wtf/Assertions.h:
1865         (CRASH_WITH_INFO):
1866         (CRASH_WITH_SECURITY_IMPLICATION_AND_INFO):
1867
1868 2019-07-25  Dean Jackson  <dino@apple.com>
1869
1870         Add helper for ignoring deprecated implementation warnings
1871         https://bugs.webkit.org/show_bug.cgi?id=200135
1872
1873         Reviewed by Wenson Hsieh.
1874
1875         Add ALLOW_DEPRECATED_IMPLEMENTATIONS_BEGIN/END macro which
1876         is IGNORE_WARNINGS_BEGIN("deprecated-implementations")
1877
1878         * wtf/Compiler.h:
1879
1880 2019-07-24  Yusuke Suzuki  <ysuzuki@apple.com>
1881
1882         [bmalloc] Add IsoHeap test to ensure that IsoHeap pages are not allocating too large VA
1883         https://bugs.webkit.org/show_bug.cgi?id=200103
1884
1885         Reviewed by Mark Lam.
1886
1887         We move VMTag page investigation code from PAL to WTF to use it in TestWTF.
1888         And we also accumulate allocated VA size in `reserved` field of `TagInfo`.
1889
1890         * WTF.xcodeproj/project.pbxproj:
1891         * wtf/CMakeLists.txt:
1892         * wtf/PlatformMac.cmake:
1893         * wtf/ResourceUsage.h: Added.
1894         * wtf/cocoa/MemoryPressureHandlerCocoa.mm:
1895         * wtf/cocoa/ResourceUsageCocoa.cpp: Added.
1896         (WTF::vmPageSize):
1897         (WTF::logFootprintComparison):
1898         (WTF::displayNameForVMTag):
1899         (WTF::pagesPerVMTag):
1900         * wtf/spi/cocoa/MachVMSPI.h: Added.
1901
1902 2019-07-23  Keith Miller  <keith_miller@apple.com>
1903
1904         Add cheat sheet comment for HashMap/Set iterator/AddResult
1905         https://bugs.webkit.org/show_bug.cgi?id=200061
1906
1907         Reviewed by Saam Barati.
1908
1909         * wtf/HashMap.h:
1910         * wtf/HashSet.h:
1911
1912 2019-07-23  Keith Rollin  <krollin@apple.com>
1913
1914         Remove rest of NavigatorContentUtils support
1915         https://bugs.webkit.org/show_bug.cgi?id=200052
1916         <rdar://problem/53467357>
1917
1918         Reviewed by Alex Christensen.
1919
1920         Bug 196070 removes most of the support for the never-used
1921         NavigatorContentUtils facility. However, there were still a couple of
1922         left-over references after that change. This patch sweeps those up.
1923
1924         * wtf/FeatureDefines.h:
1925
1926 2019-07-23  Keith Rollin  <krollin@apple.com>
1927
1928         Enable HAVE_APP_LINKS_WITH_ISENABLED for entire iOS family
1929         https://bugs.webkit.org/show_bug.cgi?id=200040
1930         <rdar://problem/53457670>
1931
1932         Reviewed by Tim Horton.
1933
1934         This feature was enabled for just iOS, but should be enabled for tvOS
1935         and watchOS, too.
1936
1937         * wtf/Platform.h:
1938
1939 2019-07-23  Alicia Boya García  <aboya@igalia.com>
1940
1941         [WTF] Add DataMutex and MainThreadData wrappers
1942         https://bugs.webkit.org/show_bug.cgi?id=199831
1943
1944         Reviewed by Alex Christensen.
1945
1946         This patch adds two new wrapper classes:
1947
1948         DataMutex<T> stores an instance of T in a private member along with a
1949         mutex. In order to use its fields, users need to instantiate a
1950         DataMutex<T>::LockedWrapper instance in the stack. This class uses
1951         RAII to lock and unlock the mutex in construction and destruction
1952         respectively, and by using the arrow operator lets the user access T's
1953         members.
1954
1955         This way, DataMutex<T> prevents most instances of accidental access to
1956         data fields that should only be read and modified in an atomic matter.
1957
1958         Still, both the Lock and the LockHolder are exposed once the user has
1959         taken the lock so that special cases such as waiting for a condition
1960         variable or performing an early unlock are doable.
1961
1962         MainThreadData<T> is another wrapper class, in this case for data
1963         fields that should only be accessed from the main thread. In this
1964         case, it works similar to a smart pointer, except that (1) there is no
1965         actual memory indirection, T is stored directly inside
1966         MainThreadData<T> and (2) attempts to use the -> or * operator have an
1967         isMainThread() assertion.
1968
1969         Together, these two wrapper classes make it easier to write
1970         multi-threaded code in a safer, more self-documented way by letting
1971         the author group data into structures that have certain access safety
1972         requirements.
1973
1974         These structures were originally part of the new GStreamer
1975         WebKitMediaSrc rework patch: https://bugs.webkit.org/show_bug.cgi?id=199719
1976
1977         * wtf/CMakeLists.txt:
1978         * wtf/DataMutex.h: Added.
1979         (WTF::DataMutex::DataMutex):
1980         (WTF::DataMutex::LockedWrapper::LockedWrapper):
1981         (WTF::DataMutex::LockedWrapper::operator->):
1982         (WTF::DataMutex::LockedWrapper::operator*):
1983         (WTF::DataMutex::LockedWrapper::mutex):
1984         (WTF::DataMutex::LockedWrapper::lockHolder):
1985         * wtf/MainThreadData.h: Added.
1986         (WTF::MainThreadData::MainThreadData):
1987         (WTF::MainThreadData::operator->):
1988         (WTF::MainThreadData::operator*):
1989
1990 2019-07-22  Yusuke Suzuki  <ysuzuki@apple.com>
1991
1992         [bmalloc] Each IsoPage gets 1MB VA because VMHeap::tryAllocateLargeChunk rounds up
1993         https://bugs.webkit.org/show_bug.cgi?id=200024
1994
1995         Reviewed by Saam Barati.
1996
1997         Start using a VM tag for IsoHeap instead of CLoop Stack.
1998
1999         * wtf/OSAllocator.h:
2000         * wtf/VMTags.h:
2001
2002 2019-07-20  Chris Dumez  <cdumez@apple.com>
2003
2004         Speed up HashTable decoding by reserving capacity and avoiding rehashing
2005         https://bugs.webkit.org/show_bug.cgi?id=199982
2006
2007         Reviewed by Saam Barati.
2008
2009         Introduce reserveInitialCapacity() on HashMap to reserve capacity on a
2010         HashMap and cut down on rehashing cost when possible.
2011
2012         * wtf/HashMap.h:
2013         * wtf/HashTable.h:
2014         (WTF::HashTable::reserveInitialCapacity):
2015
2016         * wtf/persistence/PersistentCoders.h:
2017         Use HashMap::reserveInitialCapacity() in the HashMap persistent decoder for
2018         performance.
2019
2020 2019-07-20  Alexander Mikhaylenko  <exalm7659@gmail.com>
2021
2022         REGRESSION(r246033/r246496): [GTK] Kinetic scrolling doesn't work
2023         https://bugs.webkit.org/show_bug.cgi?id=199322
2024
2025         Reviewed by Michael Catanzaro.
2026
2027         Introduce ENABLE_KINETIC_SCROLLING to explicitly always have kinetic scrolling on GTK.
2028
2029         * wtf/Platform.h:
2030
2031 2019-07-18  Youenn Fablet  <youenn@apple.com>
2032
2033         Make sure to set kCTFontFallbackOptionAttribute to kCTFontFallbackOptionSystem for system fonts
2034         https://bugs.webkit.org/show_bug.cgi?id=199769
2035         <rdar://problem/49390297>
2036
2037         Reviewed by Myles C. Maxfield.
2038
2039         * wtf/Platform.h:
2040
2041 2019-07-17  Christopher Reid  <chris.reid@sony.com>
2042
2043         Bytecode cache should use FileSystem
2044         https://bugs.webkit.org/show_bug.cgi?id=199759
2045
2046         Reviewed by Yusuke Suzuki.
2047
2048         * wtf/FileSystem.cpp:
2049         * wtf/FileSystem.h:
2050         Add support for creating MappedFileData from a preexisting file handle
2051         for use with locked files. Also support creating MappedFileData
2052         with either private or shared mappings.
2053
2054         * wtf/UUID.cpp:
2055         Avoid ASSERT with returning a LazyNeverDestroyed object that hasn't been created.
2056
2057         * wtf/glib/FileSystemGlib.cpp:
2058         * wtf/win/FileSystemWin.cpp:
2059         Add truncateFile implementations.
2060
2061 2019-07-17  Sam Weinig  <weinig@apple.com>
2062
2063         Add StringBuilder member function which allows makeString() style variadic argument construction
2064         https://bugs.webkit.org/show_bug.cgi?id=198997
2065
2066         Reviewed by Darin Adler.
2067
2068         Adds new StringBuilder::flexibleAppend(...) member function which allows passing one or more 
2069         string-adaptable (in the sense that there is StringTypeAdapter specialization for the 
2070         type) parameters. This re-ususes the variadic template infrastructure in StringConcatenate.h
2071         that is used for makeString(...) allowing for improvements in one to benefit the other.
2072
2073         The advantage of StringBuilder::flexibleAppend(...) over calling StringBuilder::append(...)
2074         multiple times (beyond the code sharing with makeString(...) is that it can avoid unnecessary
2075         additional re-allocations when the StringBuilder needs to expand it's capacity. It does this
2076         by computing the complete required length for all the passed arguments and then ensuring enough
2077         capacity is available. It also reduces the allocation overhead versus the anti-pattern of
2078         builder.append(makeString(...)).
2079
2080         Ideally, this member function should eventually just be called StringBuilder::append(...), but
2081         the current overload set for StringBuilder::append(...) makes this complicated due to overloads
2082         that take two arguments such as StringBuilder::append(const UChar*, unsigned). Going forward, we
2083         should rename or remove those overloads and move to a standard interface. 
2084
2085         * wtf/posix/FileSystemPOSIX.cpp:
2086         (WTF::FileSystemImpl::pathByAppendingComponents):
2087         Adopt StringBuilder::flexibleAppend, using to combine the append of '/' and component.
2088
2089         * wtf/text/StringBuilder.cpp:
2090         (WTF::StringBuilder::appendUninitialized):
2091         (WTF::StringBuilder::appendUninitializedWithoutOverflowCheck):
2092         Extract the part of appendUnitialized that doesn't do the overflow check
2093         into it's own member function to allow callers that have already done the
2094         overflow check to bypass it.
2095
2096         (WTF::StringBuilder::appendUninitializedWithoutOverflowCheckForUChar):
2097         (WTF::StringBuilder::appendUninitializedWithoutOverflowCheckForLChar):
2098         Added to allow template member function flexibleAppendFromAdapters to call
2099         appendUninitializedWithoutOverflowCheck without moving it to the header.
2100         
2101         * wtf/text/StringBuilder.h:
2102         (WTF::StringBuilder::flexibleAppendFromAdapters):
2103         (WTF::StringBuilder::flexibleAppend):
2104         Modeled on tryMakeStringFromAdapters in StringConcatenate.h, these
2105         eagerly compute the required length, expand the buffer and then use
2106         the existing string type adaptor accumulation functions used by makeString. 
2107
2108         * wtf/text/StringConcatenate.h:
2109         (WTF::stringTypeAdapterAccumulator):
2110         (WTF::tryMakeStringFromAdapters):
2111         (WTF::makeStringAccumulator): Deleted.
2112         Renames makeStringAccumulator to stringTypeAdapterAccumulator now that it is used
2113         by more than just makeString.
2114
2115 2019-07-17  Commit Queue  <commit-queue@webkit.org>
2116
2117         Unreviewed, rolling out r247505.
2118         https://bugs.webkit.org/show_bug.cgi?id=199871
2119
2120         "Caused failed ASSERT in stress test" (Requested by creid on
2121         #webkit).
2122
2123         Reverted changeset:
2124
2125         "Bytecode cache should use FileSystem"
2126         https://bugs.webkit.org/show_bug.cgi?id=199759
2127         https://trac.webkit.org/changeset/247505
2128
2129 2019-07-16  Christopher Reid  <chris.reid@sony.com>
2130
2131         Bytecode cache should use FileSystem
2132         https://bugs.webkit.org/show_bug.cgi?id=199759
2133
2134         Reviewed by Yusuke Suzuki.
2135
2136         * wtf/FileSystem.cpp:
2137         * wtf/FileSystem.h:
2138         Add support for creating MappedFileData from a preexisting file handle
2139         for use with locked files. Also support creating MappedFileData
2140         with either private or shared mappings.
2141
2142         * wtf/UUID.cpp:
2143         Avoid ASSERT with returning a LazyNeverDestroyed object that hasn't been created.
2144
2145         * wtf/glib/FileSystemGlib.cpp:
2146         * wtf/win/FileSystemWin.cpp:
2147         Add truncateFile implementations.
2148
2149 2019-07-16  Myles C. Maxfield  <mmaxfield@apple.com>
2150
2151         New York font erroneously gets synthetic bold
2152         https://bugs.webkit.org/show_bug.cgi?id=199653
2153
2154         Unreviewed MacCatalyst build fix.
2155
2156         * wtf/Platform.h:
2157
2158 2019-07-16  Michael Catanzaro  <mcatanzaro@igalia.com>
2159
2160         [WPE][GTK] Improvements and fixes in FileSystemGlib.cpp
2161         https://bugs.webkit.org/show_bug.cgi?id=199800
2162
2163         Reviewed by Carlos Garcia Campos.
2164
2165         Use nullptr.
2166
2167         Fix a GFileInfo leak in getFileSize.
2168
2169         Use GRefPtr to clarify ownership of the GFileIOStream in openFile.
2170
2171         * wtf/glib/FileSystemGlib.cpp:
2172         (WTF::FileSystemImpl::getFileSize):
2173         (WTF::FileSystemImpl::getVolumeFreeSpace):
2174         (WTF::FileSystemImpl::openTemporaryFile):
2175         (WTF::FileSystemImpl::openFile):
2176         (WTF::FileSystemImpl::seekFile):
2177         (WTF::FileSystemImpl::writeToFile):
2178         (WTF::FileSystemImpl::readFromFile):
2179
2180 2019-07-15  Myles C. Maxfield  <mmaxfield@apple.com>
2181
2182         New York font erroneously gets synthetic bold
2183         https://bugs.webkit.org/show_bug.cgi?id=199653
2184
2185         Unreviewed watchOS build fix.
2186
2187         * wtf/Platform.h:
2188
2189 2019-07-15  Commit Queue  <commit-queue@webkit.org>
2190
2191         Unreviewed, rolling out r247462.
2192         https://bugs.webkit.org/show_bug.cgi?id=199816
2193
2194         completely messed up the patch (Requested by litherum on
2195         #webkit).
2196
2197         Reverted changeset:
2198
2199         "New York font erroneously gets synthetic bold"
2200         https://bugs.webkit.org/show_bug.cgi?id=199653
2201         https://trac.webkit.org/changeset/247462
2202
2203 2019-07-11  Myles C. Maxfield  <mmaxfield@apple.com>
2204
2205         New York font erroneously gets synthetic bold
2206         https://bugs.webkit.org/show_bug.cgi?id=199653
2207         <rdar://problem/51692592>
2208
2209         Reviewed by Simon Fraser.
2210
2211         * wtf/Platform.h:
2212
2213 2019-07-15  Brady Eidson  <beidson@apple.com>
2214
2215         Make WKURLSchemeTask thread safe.
2216         <rdar://problem/50471863> and https://bugs.webkit.org/show_bug.cgi?id=199764
2217
2218         Reviewed by Alex Christensen.
2219
2220         * wtf/MainThread.cpp:
2221         (WTF::callOnMainAndWait):
2222         (WTF::callOnMainRunLoopAndWait):
2223         (WTF::callOnMainThreadAndWait):
2224         * wtf/MainThread.h:
2225
2226 2019-07-15  Dean Jackson  <dino@apple.com>
2227
2228         MacCatalyst asserts when command key is raised
2229         https://bugs.webkit.org/show_bug.cgi?id=199805
2230         <rdar://problem/53120393>
2231
2232         Reviewed by Tim Horton.
2233
2234         Add USE_UIKIT_KEYBOARD_ADDITIONS for iOS 13+ and macCatalyst.
2235
2236         * wtf/FeatureDefines.h:
2237
2238 2019-07-14  Chris Dumez  <cdumez@apple.com>
2239
2240         Add threading assertion to WeakPtrFactory::createWeakPtr()
2241         https://bugs.webkit.org/show_bug.cgi?id=199639
2242
2243         Reviewed by Ryosuke Niwa.
2244
2245         Add threading assertion to WeakPtrFactory::createWeakPtr() to make sure it
2246         is called on the same thread where the WeakPtrFactory wad constructed.
2247
2248         * wtf/WeakPtr.h:
2249         (WTF::WeakPtrFactory::WeakPtrFactory):
2250         (WTF::WeakPtrFactory::createWeakPtr const):
2251
2252 2019-07-14  Dean Jackson  <dino@apple.com>
2253
2254         WebGL not supported on WKWebView on UIKit for Mac
2255         https://bugs.webkit.org/show_bug.cgi?id=199785
2256         <rdar://problem/52911449>
2257
2258         Reviewed by Antoine Quint.
2259
2260         MacCatalyst has Apple Graphics Control, although
2261         this area is very messy, see <rdar://53062794>.
2262
2263         * wtf/Platform.h:
2264
2265 2019-07-11  Myles C. Maxfield  <mmaxfield@apple.com>
2266
2267         New York font erroneously gets synthetic bold
2268         https://bugs.webkit.org/show_bug.cgi?id=199653
2269         <rdar://problem/51692592>
2270
2271         Reviewed by Simon Fraser.
2272
2273         * wtf/Platform.h:
2274
2275 2019-07-11  Pablo Saavedra  <psaavedra@igalia.com>
2276
2277         [WPE][GTK] Build failure with ENABLE_ACCESSIBILITY=OFF
2278         https://bugs.webkit.org/show_bug.cgi?id=199625
2279
2280         Added ENABLE(ACCESSIBILITY) and replaced HAVE(ACCESSIBILITY)
2281         with ENABLE(ACCESSIBILITY) in the code.
2282
2283         Additionally, the TestRunner code generator now honors the
2284         Conditional IDL format.
2285
2286         Reviewed by Konstantin Tokarev.
2287
2288         * wtf/FeatureDefines.h:
2289         * wtf/Platform.h:
2290
2291 2019-07-10  Ryan Haddad  <ryanhaddad@apple.com>
2292
2293         Unreviewed, rolling out r247286.
2294
2295         Caused TestWTF.WTF.StringOperators to fail on debug bots
2296
2297         Reverted changeset:
2298
2299         "Add StringBuilder member function which allows makeString()
2300         style variadic argument construction"
2301         https://bugs.webkit.org/show_bug.cgi?id=198997
2302         https://trac.webkit.org/changeset/247286
2303
2304 2019-07-09  Michael Catanzaro  <mcatanzaro@igalia.com>
2305
2306         [WPE][GTK] GUniqueOutPtr::release should return a raw pointer
2307         https://bugs.webkit.org/show_bug.cgi?id=199579
2308
2309         Reviewed by Carlos Garcia Campos.
2310
2311         GUniqueOutPtr::release should release to a raw pointer, rather than a GUniquePtr. If a
2312         GUniquePtr is desired, it's trivial to construct one from the raw pointer, but all existing
2313         callsites under Source/ would rather have a raw pointer. Currently they have to call
2314         release().release() to get the raw pointer, which is annoying.
2315
2316         * wtf/glib/GUniquePtr.h:
2317         (WTF::GUniqueOutPtr::release):
2318
2319 2019-07-09  Sam Weinig  <weinig@apple.com>
2320
2321         Add StringBuilder member function which allows makeString() style variadic argument construction
2322         https://bugs.webkit.org/show_bug.cgi?id=198997
2323
2324         Reviewed by Darin Adler.
2325
2326         Adds new StringBuilder::flexibleAppend(...) member function which allows passing one or more 
2327         string-adaptable (in the sense that there is StringTypeAdapter specialization for the 
2328         type) parameters. This re-ususes the variadic template infrastructure in StringConcatenate.h
2329         that is used for makeString(...) allowing for improvements in one to benefit the other.
2330
2331         The advantage of StringBuilder::flexibleAppend(...) over calling StringBuilder::append(...)
2332         multiple times (beyond the code sharing with makeString(...) is that it can avoid unnecessary
2333         additional re-allocations when the StringBuilder needs to expand it's capacity. It does this
2334         by computing the complete required length for all the passed arguments and then ensuring enough
2335         capacity is available. It also reduces the allocation overhead versus the anti-pattern of
2336         builder.append(makeString(...)).
2337
2338         Ideally, this member function should eventually just be called StringBuilder::append(...), but
2339         the current overload set for StringBuilder::append(...) makes this complicated due to overloads
2340         that take two arguments such as StringBuilder::append(const UChar*, unsigned). Going forward, we
2341         should rename or remove those overloads and move to a standard interface. 
2342
2343         * wtf/posix/FileSystemPOSIX.cpp:
2344         (WTF::FileSystemImpl::pathByAppendingComponents):
2345         Adopt StringBuilder::flexibleAppend, using to combine the append of '/' and component.
2346
2347         * wtf/text/StringBuilder.cpp:
2348         (WTF::StringBuilder::appendUninitialized):
2349         (WTF::StringBuilder::appendUninitializedWithoutOverflowCheck):
2350         Extract the part of appendUnitialized that doesn't do the overflow check
2351         into it's own member function to allow callers that have already done the
2352         overflow check to bypass it.
2353
2354         (WTF::StringBuilder::appendUninitializedWithoutOverflowCheckForUChar):
2355         (WTF::StringBuilder::appendUninitializedWithoutOverflowCheckForLChar):
2356         Added to allow template member function flexibleAppendFromAdapters to call
2357         appendUninitializedWithoutOverflowCheck without moving it to the header.
2358         
2359         * wtf/text/StringBuilder.h:
2360         (WTF::StringBuilder::flexibleAppendFromAdapters):
2361         (WTF::StringBuilder::flexibleAppend):
2362         Modeled on tryMakeStringFromAdapters in StringConcatenate.h, these
2363         eagerly compute the required length, expand the buffer and then use
2364         the existing string type adaptor accumulation functions used by makeString. 
2365
2366         * wtf/text/StringConcatenate.h:
2367         (WTF::stringTypeAdapterAccumulator):
2368         (WTF::tryMakeStringFromAdapters):
2369         (WTF::makeStringAccumulator): Deleted.
2370         Renames makeStringAccumulator to stringTypeAdapterAccumulator now that it is used
2371         by more than just makeString.
2372
2373 2019-07-09  Alex Christensen  <achristensen@webkit.org>
2374
2375         When parsing an IPv4 address, wait until after deciding it is indeed an IPv4 address before reporting syntax violations
2376         https://bugs.webkit.org/show_bug.cgi?id=199628
2377
2378         Reviewed by Brady Eidson.
2379
2380         Otherwise, we sometimes report syntax violations on things that are not IPv4 addresses and don't have syntax violations.
2381         I added a unit test with one such URL that used to cause an assertion.
2382
2383         * wtf/URLParser.cpp:
2384         (WTF::URLParser::parseIPv4Host):
2385
2386 2019-07-09  Alex Christensen  <achristensen@webkit.org>
2387
2388         Remove invalid assertion in URLParser::domainToASCII
2389         https://bugs.webkit.org/show_bug.cgi?id=199624
2390
2391         Reviewed by Brady Eidson.
2392
2393         When a non-ASCII domain's punycode encoding is longer than 63 characters,
2394         the URL is supposed to fail to parse, according to https://www.unicode.org/reports/tr46/#ToASCII
2395         We and all other browsers do this.  When uidna_nameToASCII tries to punycode encode such a domain,
2396         it can return a number larger than 63.  In this case, processingDetails.errors is UIDNA_ERROR_LABEL_TOO_LONG
2397         and we fail to parse as desired and uidna_nameToASCII did not write out of bounds, so it was just the assertion
2398         that was wrong.  I added some unit tests that would have hit the assertion and verify that we fail at the correct length.
2399
2400         * wtf/URLParser.cpp:
2401         (WTF::URLParser::domainToASCII):
2402
2403 2019-07-09  Alex Christensen  <achristensen@webkit.org>
2404
2405         URLParser should reserialize IPv6 addresses that end with a colon
2406         https://bugs.webkit.org/show_bug.cgi?id=199627
2407
2408         Reviewed by Brady Eidson.
2409
2410         When an IPv6 address ends in a colon, the colon should be removed which means the
2411         serialized output is different than the input, which the URLParser calls a syntax violation.
2412         This matches the URL specification, and I added a unit test that used to assert.
2413
2414         * wtf/URLParser.cpp:
2415         (WTF::URLParser::parseIPv6Host):
2416
2417 2019-07-08  Chris Dumez  <cdumez@apple.com>
2418
2419         Use WeakHashSet for WebUserContentControllerProxy::m_processes
2420         https://bugs.webkit.org/show_bug.cgi?id=199591
2421         <rdar://problem/52798721>
2422
2423         Reviewed by Youenn Fablet.
2424
2425         Update WeakHashSet::add() to return an AddResult type, similarly to our other containers.
2426
2427         * wtf/WeakHashSet.h:
2428         (WTF::WeakHashSet::add):
2429
2430 2019-07-08  Christopher Reid  <chris.reid@sony.com>
2431
2432         Implement MappedFileData for Windows
2433         https://bugs.webkit.org/show_bug.cgi?id=198269
2434
2435         Reviewed by Darin Adler.
2436
2437         Original patch by Fujii Hironori.
2438
2439         Add Windows implementations for MappedFileData constructor and destructor.
2440
2441         * wtf/FileSystem.cpp:
2442         * wtf/FileSystem.h:
2443         * wtf/win/FileSystemWin.cpp:
2444
2445 2019-07-08  Chris Dumez  <cdumez@apple.com>
2446
2447         Add threading assertion to WTF::CompletionHandler
2448         https://bugs.webkit.org/show_bug.cgi?id=199516
2449
2450         Reviewed by Alex Christensen.
2451
2452         Add threading assertion to WTF::CompletionHandler to try and catch common cases
2453         of unsafe usage (completion handler constructed on one thread but called on
2454         another).
2455
2456         * wtf/CompletionHandler.h:
2457         (WTF::CompletionHandler<Out):
2458
2459 2019-07-08  Antoine Quint  <graouts@apple.com>
2460
2461         [Pointer Events] Enable only on the most recent version of the supported iOS family
2462         https://bugs.webkit.org/show_bug.cgi?id=199562
2463         <rdar://problem/52766511>
2464
2465         Reviewed by Dean Jackson.
2466
2467         We really don't need HAVE_UI_WEB_TOUCH_EVENTS_GESTURE_RECOGNIZER_WITH_ACTIVE_TOUCHES_BY_ID since the UIKit SPI
2468         that was added in iOS 13 that it's checking for is really required for all parts of the implementation of Pointer
2469         Events, including dispatch of the "pointercancel" event and support for the "touch-action" CSS property.
2470
2471         * wtf/Platform.h:
2472
2473 2019-07-05  Ryan Haddad  <ryanhaddad@apple.com>
2474
2475         Unreviewed, rolling out r247115.
2476
2477         Breaks lldbWebKitTester (and by extension, test-webkitpy)
2478
2479         Reverted changeset:
2480
2481         "[WHLSL] Standard library is too big to directly include in
2482         WebCore"
2483         https://bugs.webkit.org/show_bug.cgi?id=198186
2484         https://trac.webkit.org/changeset/247115
2485
2486 2019-07-03  Jonathan Bedard  <jbedard@apple.com>
2487
2488         [Catalina] Enable WebKit build
2489         https://bugs.webkit.org/show_bug.cgi?id=199209
2490
2491         Reviewed by Darin Adler.
2492
2493         * wtf/spi/cocoa/SecuritySPI.h: Declare SecTrustedApplicationCreateFromPath(...).
2494
2495 2019-07-03  Keith Miller  <keith_miller@apple.com>
2496
2497         PACCage should first cage leaving PAC bits intact then authenticate
2498         https://bugs.webkit.org/show_bug.cgi?id=199372
2499
2500         Reviewed by Saam Barati.
2501
2502         * wtf/CagedPtr.h:
2503         (WTF::CagedPtr::get const):
2504         (WTF::CagedPtr::getMayBeNull const):
2505         (WTF::CagedPtr::mergePointers):
2506
2507 2019-07-03  Ryan Haddad  <ryanhaddad@apple.com>
2508
2509         Unreviewed, rolling out r246616.
2510
2511         Caused http/tests/inspector/network/har/har-page.html to fail
2512         on Catalina.
2513
2514         Reverted changeset:
2515
2516         "Web Inspector: Network: replace CFNetwork SPI with new API
2517         where able"
2518         https://bugs.webkit.org/show_bug.cgi?id=198762
2519         https://trac.webkit.org/changeset/246616
2520
2521 2019-07-02  Commit Queue  <commit-queue@webkit.org>
2522
2523         Unreviewed, rolling out r247041.
2524         https://bugs.webkit.org/show_bug.cgi?id=199425
2525
2526         broke some iOS arm64e tests (Requested by keith_miller on
2527         #webkit).
2528
2529         Reverted changeset:
2530
2531         "PACCage should first cage leaving PAC bits intact then
2532         authenticate"
2533         https://bugs.webkit.org/show_bug.cgi?id=199372
2534         https://trac.webkit.org/changeset/247041
2535
2536 2019-07-02  Chris Dumez  <cdumez@apple.com>
2537
2538         ThreadSafeRefCounted<DestructionThread::Main> is not safe to use in the UIProcess
2539         https://bugs.webkit.org/show_bug.cgi?id=199420
2540         <rdar://problem/52289717>
2541
2542         Reviewed by Ryosuke Niwa.
2543
2544         * wtf/MainThread.cpp:
2545         (WTF::isMainRunLoop):
2546         (WTF::callOnMainRunLoop):
2547         * wtf/MainThread.h:
2548         Add some function to MainThread.h to be used by ThreadSafeRefCounted to interact with the
2549         main RunLoop. This is used to avoid a circular dependency between RunLoop (which is
2550         ThreadSafeRefCounted) and ThreadSafeReCounted.
2551
2552         * wtf/ThreadSafeRefCounted.h:
2553         (WTF::ThreadSafeRefCounted::deref const):
2554         Add a new DestructionThread::MainRunLoop enum value to be used by classes that need to
2555         be destroyed on the main RunLoop rather than the main thread (which may be different
2556         when WK1 is invoved)
2557
2558 2019-07-02  Robin Morisset  <rmorisset@apple.com>
2559
2560         [WHLSL] the initializer in VariableDeclaration should be a std::unique_ptr, not Optional<UniqueRef<..>>
2561         https://bugs.webkit.org/show_bug.cgi?id=199389
2562
2563         Reviewed by Sam Weinig.
2564
2565         * wtf/UniqueRef.h:
2566         (WTF::UniqueRef::moveToUniquePtr): Added.
2567
2568 2019-07-02  Keith Miller  <keith_miller@apple.com>
2569
2570         PACCage should first cage leaving PAC bits intact then authenticate
2571         https://bugs.webkit.org/show_bug.cgi?id=199372
2572
2573         Reviewed by Saam Barati.
2574
2575         * wtf/CagedPtr.h:
2576         (WTF::CagedPtr::get const):
2577         (WTF::CagedPtr::getMayBeNull const):
2578         (WTF::CagedPtr::mergePointers):
2579
2580 2019-07-01  Philippe Normand  <pnormand@igalia.com>
2581
2582         [GStreamer] Cannot play Bert's Bytes radio stream from http://radio.dos.nl/
2583         https://bugs.webkit.org/show_bug.cgi?id=198376
2584
2585         Reviewed by Xabier Rodriguez-Calvar.
2586
2587         * wtf/glib/GLibUtilities.h:
2588         (enumToString): Utility function to get a string representation of of a GLib enum.
2589
2590 2019-06-22  Darin Adler  <darin@apple.com>
2591
2592         Streamline some string code, focusing on functions that were using substringSharingImpl
2593         https://bugs.webkit.org/show_bug.cgi?id=198898
2594
2595         Reviewed by Daniel Bates.
2596
2597         * wtf/URLHelpers.cpp:
2598         (WTF::URLHelpers::applyHostNameFunctionToURLString): Change code using
2599         substringSharingImpl so it could call String::find to call StringView::contains
2600         instead. Also rewrote lambdas to be simpler and likely more efficient.
2601         Rewrote another case using substringSharingImpl so it could call String::find
2602         to call StringView::find instead.
2603
2604         * wtf/text/StringView.cpp:
2605         (WTF::StringView::startsWith const): Added.
2606
2607         * wtf/text/StringView.h: Tweaked style a bit, and added an overload of
2608         StringView::contains that takes a CodeUnitMatchFunction and an overload
2609         of startsWith that cakes a UChar.
2610
2611 2019-06-28  Konstantin Tokarev  <annulen@yandex.ru>
2612
2613         Remove traces of ENABLE_ICONDATABASE remaining after its removal in 219733
2614         https://bugs.webkit.org/show_bug.cgi?id=199317
2615
2616         Reviewed by Michael Catanzaro.
2617
2618         While IconDatabase and all code using it was removed,
2619         ENABLE_ICONDATABASE still exists as build option and C++ macro.
2620
2621         * wtf/FeatureDefines.h:
2622
2623 2019-06-27  Konstantin Tokarev  <annulen@yandex.ru>
2624
2625         Avoid using WTF::Function for passing local function pointers and closures in URLHelpers.cpp
2626         https://bugs.webkit.org/show_bug.cgi?id=199271
2627
2628         Reviewed by Yusuke Suzuki.
2629
2630         WTF::Function allocates memory on heap, which is totally redundant in this
2631         case.
2632
2633         * wtf/URLHelpers.cpp:
2634         (WTF::URLHelpers::isSecondLevelDomainNameAllowedByTLDRules):
2635
2636 2019-06-27  Timothy Hatcher  <timothy@apple.com>
2637
2638         Move WebKitLegacy off of a couple AppKit ivars.
2639         https://bugs.webkit.org/show_bug.cgi?id=199279
2640         rdar://problem/34983438
2641
2642         Reviewed by Tim Horton.
2643
2644         * wtf/Platform.h: Added HAVE_SUBVIEWS_IVAR_SPI.
2645
2646 2019-06-27  Beth Dakin  <bdakin@apple.com>
2647
2648         Upstream use of MACCATALYST
2649         https://bugs.webkit.org/show_bug.cgi?id=199245
2650         rdar://problem/51687723
2651
2652         Reviewed by Tim Horton.
2653
2654         * Configurations/SDKVariant.xcconfig:
2655         * wtf/FeatureDefines.h:
2656         * wtf/Platform.h:
2657
2658 2019-06-27  Don Olmstead  <don.olmstead@sony.com>
2659
2660         [FTW] Build JavaScriptCore
2661         https://bugs.webkit.org/show_bug.cgi?id=199254
2662
2663         Reviewed by Brent Fulgham.
2664
2665         * wtf/PlatformFTW.cmake: Added.
2666
2667 2019-06-27  Fujii Hironori  <Hironori.Fujii@sony.com>
2668
2669         [CMake] Bump cmake_minimum_required version to 3.10
2670         https://bugs.webkit.org/show_bug.cgi?id=199181
2671
2672         Reviewed by Don Olmstead.
2673
2674         * CMakeLists.txt:
2675
2676 2019-06-26  Konstantin Tokarev  <annulen@yandex.ru>
2677
2678         Remove unneeded #include <wtf/glib/GRefPtr.h>
2679         https://bugs.webkit.org/show_bug.cgi?id=199228
2680
2681         Reviewed by Michael Catanzaro.
2682
2683         * wtf/MemoryPressureHandler.h:
2684
2685 2019-06-26  Myles C. Maxfield  <mmaxfield@apple.com>
2686
2687         REGRESSION: ( r246394 ) webgpu/whlsl-buffer-fragment.html and webgpu/whlsl-buffer-vertex.html are failing
2688         https://bugs.webkit.org/show_bug.cgi?id=199012
2689
2690         Reviewed by Saam Barati.
2691
2692         * wtf/Platform.h:
2693
2694 2019-06-25  Keith Miller  <keith_miller@apple.com>
2695
2696         CagedPtr doesn't merge PAC bits back into the resulting caged pointer.
2697         https://bugs.webkit.org/show_bug.cgi?id=199214
2698
2699         Reviewed by Yusuke Suzuki.
2700
2701         The current code means that caging will just strip the any failed
2702         authentication bits. Adding this code doesn't appear to be a
2703         regression on iPhone Xs.
2704
2705         * wtf/CagedPtr.h:
2706         (WTF::CagedPtr::get const):
2707         (WTF::CagedPtr::getMayBeNull const):
2708         (WTF::CagedPtr::getUnsafe const):
2709         (WTF::CagedPtr::mergePointers):
2710
2711 2019-06-25  Sam Weinig  <weinig@apple.com>
2712
2713         Experiment with simple structured bindings use
2714         https://bugs.webkit.org/show_bug.cgi?id=198905
2715
2716         Reviewed by Darin Adler.
2717
2718         * wtf/URLHelpers.cpp:
2719         (WTF::URLHelpers::mapHostNames):
2720         Simplify code using c++ structured bindings (https://en.cppreference.com/w/cpp/language/structured_binding)
2721         to see if all the platforms will work with it.
2722
2723 2019-06-25  Adam Barth  <abarth@webkit.org>
2724
2725         [fuchsia] Update to newer zx_clock_get syscall
2726         https://bugs.webkit.org/show_bug.cgi?id=199191
2727
2728         Reviewed by Sam Weinig.
2729
2730         Fuchsia has changed the zx_clock_get syscall to return the clock value
2731         via an out parameter rather than via its return value. This change
2732         makes zx_clock_get consistent with all the other syscalls.
2733
2734         This patch updates our use of zx_clock_get to use the new syscall. The
2735         old syscall is no longer supported by Fuchsia.
2736
2737         * wtf/fuchsia/CPUTimeFuchsia.cpp:
2738         (WTF::CPUTime::get): Switch to using the out parameter.
2739         (WTF::CPUTime::forCurrentThread): Switch to using the out parameter.
2740
2741 2019-06-25  Michael Catanzaro  <mcatanzaro@igalia.com>
2742
2743         Fully rename WebKitGTK+ -> WebKitGTK everywhere
2744         https://bugs.webkit.org/show_bug.cgi?id=199159
2745
2746         Reviewed by Carlos Garcia Campos.
2747
2748         * wtf/URLParser.cpp:
2749         (WTF::URLParser::internationalDomainNameTranscoder):
2750
2751 2019-06-25  Michael Catanzaro  <mcatanzaro@igalia.com>
2752
2753         Require GCC 7
2754         https://bugs.webkit.org/show_bug.cgi?id=198914
2755
2756         Reviewed by Darin Adler.
2757
2758         Remove now-stale GCC version check.
2759
2760         * wtf/Compiler.h:
2761
2762 2019-06-23  Simon Fraser  <simon.fraser@apple.com>
2763
2764         Add OverflowScrollProxyNodes to the scrolling tree
2765         https://bugs.webkit.org/show_bug.cgi?id=199132
2766
2767         Reviewed by Antti Koivisto.
2768         
2769         Setting indent is useful if you want to make a new stream with the indent of an
2770         existing stream.
2771
2772         * wtf/text/TextStream.h:
2773         (WTF::TextStream::setIndent):
2774
2775 2019-06-20  Fujii Hironori  <Hironori.Fujii@sony.com>
2776
2777         Try to use C++14 std::enable_if_t in CheckedArithmetic.h again
2778         https://bugs.webkit.org/show_bug.cgi?id=199099
2779
2780         Reviewed by Ross Kirsling.
2781
2782         r242235 changed CheckedArithmetic to not use C++14. Let's try
2783         C++14 again.
2784
2785         * wtf/CheckedArithmetic.h: Use C++14 std::make_unsigned_t and std::enable_if_t.
2786
2787 2019-06-18  Darin Adler  <darin@apple.com>
2788
2789         Tidy up the remaining bits of the AtomicString to AtomString rename
2790         https://bugs.webkit.org/show_bug.cgi?id=198990
2791
2792         Reviewed by Michael Catanzaro.
2793
2794         * wtf/text/AtomString.cpp: Fix a comment.
2795         * wtf/text/AtomString.h: Tweak formatting a bit. Use nullptr instead of 0.
2796         Removed "using AtomicString = AtomString".
2797         * wtf/text/AtomStringImpl.cpp:
2798         (WTF::CStringTranslator::translate): Use setIsAtom instead of setIsAtomic.
2799         (WTF::UCharBufferTranslator::translate): Ditto.
2800         (WTF::HashAndUTF8CharactersTranslator::translate): Ditto.
2801         (WTF::SubstringTranslator::translate): Ditto.
2802         (WTF::LCharBufferTranslator::translate): Ditto.
2803         (WTF::BufferFromStaticDataTranslator::translate): Ditto.
2804         (WTF::AtomStringImpl::addSlowCase): Ditto.
2805         (WTF::AtomStringImpl::lookUpSlowCase): Updated assertion message.
2806
2807         * wtf/text/AtomStringImpl.h: Tweaked the implementation of add.
2808         Updated comments to say AtomString.
2809
2810         * wtf/text/AtomStringTable.cpp:
2811         (WTF::AtomStringTable::~AtomStringTable): Use setIsAtom.
2812
2813         * wtf/text/StringImpl.h: Updated name of StringAtomic and
2814         s_hashFlagStringKindIsAtom. Renamed to flagIsAtom and setIsAtom.
2815
2816         * wtf/text/WTFString.cpp:
2817         (WTF::String::isSafeToSendToAnotherThread const): Updated comment.
2818
2819 2019-06-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2820
2821         [GTK] Remove support for GTK2 plugins
2822         https://bugs.webkit.org/show_bug.cgi?id=199065
2823
2824         Reviewed by Sergio Villar Senin.
2825
2826         * wtf/Platform.h:
2827         * wtf/glib/GTypedefs.h:
2828
2829 2019-06-19  Yusuke Suzuki  <ysuzuki@apple.com>
2830
2831         [bmalloc] IsoHeap's initialization is racy with IsoHeap::isInitialized
2832         https://bugs.webkit.org/show_bug.cgi?id=199053
2833
2834         Reviewed by Saam Barati.
2835
2836         Add constexpr static functions to generate pseudo random numbers from __LINE__.
2837
2838         * wtf/WeakRandom.h:
2839         (WTF::WeakRandom::nextState):
2840         (WTF::WeakRandom::generate):
2841         (WTF::WeakRandom::advance):
2842
2843 2019-06-19  Fujii Hironori  <Hironori.Fujii@sony.com>
2844
2845         Add WTF::crossThreadCopy(T&&) to utilize String::isolatedCopy() &&
2846         https://bugs.webkit.org/show_bug.cgi?id=198957
2847
2848         Reviewed by Alex Christensen.
2849
2850         &&-qualified String::isolatedCopy() has a optimization path which
2851         does just WTFMove if it isSafeToSendToAnotherThread which means
2852         the object hasOneRef.
2853
2854         However, WTF::crossThreadCopy was using only &-qualified
2855         isolatedCopy. To use the optimization, added
2856         WTF::crossThreadCopy(T&&) overloading.
2857
2858         * wtf/CrossThreadCopier.h:
2859         (WTF::crossThreadCopy): Added a overload of (T&&).
2860         * wtf/CrossThreadTask.h:
2861         (WTF::createCrossThreadTask): Removed explicit template arguments of crossThreadCopy.
2862
2863 2019-06-19  Devin Rousso  <drousso@apple.com>
2864
2865         Web Inspector: Network: replace CFNetwork SPI with new API where able
2866         https://bugs.webkit.org/show_bug.cgi?id=198762
2867
2868         Reviewed by Timothy Hatcher.
2869
2870         * wtf/Platform.h:
2871
2872 2019-06-19  Alex Christensen  <achristensen@webkit.org>
2873
2874         Add a unit test for client certificate authentication
2875         https://bugs.webkit.org/show_bug.cgi?id=197800
2876
2877         Reviewed by Youenn Fablet.
2878
2879         * wtf/spi/cocoa/SecuritySPI.h:
2880         Move declarations from ArgumentCodersCF.cpp so they can be shared.
2881
2882 2019-06-19  Adrian Perez de Castro  <aperez@igalia.com>
2883
2884         [WPE][GTK] Fix build with unified sources disabled
2885         https://bugs.webkit.org/show_bug.cgi?id=198752
2886
2887         Reviewed by Michael Catanzaro.
2888
2889         * wtf/text/StringBuilder.h: Add missing include of StringConcatenateNumbers.h
2890
2891 2019-06-19  Zan Dobersek  <zdobersek@igalia.com>
2892
2893         USE_ANGLE macro can be evaluated without being defined
2894         https://bugs.webkit.org/show_bug.cgi?id=198991
2895
2896         Reviewed by Carlos Garcia Campos.
2897
2898         * wtf/Platform.h: On platforms not yet defining USE_ANGLE, the
2899         incompatibility check with some other flags leads to the macro being
2900         evaluated even when it was not defined, producing compiler warnings.
2901         To avoid this, the macro should be defined to 0 before the check in
2902         case it was not defined already.
2903
2904 2019-06-18  Dean Jackson  <dino@apple.com>
2905
2906         UIContextMenuInteraction implementation for WKContentView
2907         https://bugs.webkit.org/show_bug.cgi?id=198986
2908         <rdar://problem/51875189>
2909
2910         Reviewed by Andy Estes.
2911
2912         Add USE_UICONTEXTMENU for iOS 13+.
2913
2914         * wtf/Platform.h:
2915
2916 2019-06-18  Kenneth Russell  <kbr@chromium.org>
2917
2918         Add preliminary ANGLE backend to WebCore
2919         https://bugs.webkit.org/show_bug.cgi?id=197755
2920
2921         Reviewed by Dean Jackson.
2922
2923         Add a USE_ANGLE definition to wtf/Platform.h (currently disabled)
2924         which, when enabled, uses ANGLE instead of the OpenGL or OpenGL ES
2925         backend.
2926
2927         * wtf/Platform.h:
2928
2929 2019-06-17  Jiewen Tan  <jiewen_tan@apple.com>
2930
2931         Move SOAuthorization from WebKitAdditions to WebKit
2932         https://bugs.webkit.org/show_bug.cgi?id=198874
2933         <rdar://problem/47573431>
2934
2935         Reviewed by Brent Fulgham.
2936
2937         * wtf/Platform.h:
2938         Adds a feature flag to detect AppSSO framework.
2939
2940 2019-06-17  Ryan Haddad  <ryanhaddad@apple.com>
2941
2942         Unreviewed, rolling out r246501.
2943
2944         Breaks Apple internal builds.
2945
2946         Reverted changeset:
2947
2948         "Support using ANGLE as the backend for the WebGL
2949         implementation"
2950         https://bugs.webkit.org/show_bug.cgi?id=197755
2951         https://trac.webkit.org/changeset/246501
2952
2953 2019-06-17  Kenneth Russell  <kbr@chromium.org>
2954
2955         Support using ANGLE as the backend for the WebGL implementation
2956         https://bugs.webkit.org/show_bug.cgi?id=197755
2957
2958         Reviewed by Dean Jackson.
2959
2960         Add a USE_ANGLE definition to wtf/Platform.h (currently disabled)
2961         which, when enabled, uses ANGLE instead of the OpenGL or OpenGL ES
2962         backend.
2963
2964         * wtf/Platform.h:
2965
2966 2019-06-16  Darin Adler  <darin@apple.com>
2967
2968         Rename AtomicString to AtomString
2969         https://bugs.webkit.org/show_bug.cgi?id=195276
2970
2971         Reviewed by Michael Catanzaro.
2972
2973         * many files: Let do-webcore-rename do the renaming.
2974
2975         * wtf/text/AtomString.h: After renaming, added AtomicString as a synonym for
2976         now; helps smooth things over with a tiny bit of Apple internal software so
2977         we don't have to do this all at once. Can remove it soon.
2978
2979 2019-06-16  Eric Carlson  <eric.carlson@apple.com>
2980
2981         [MediaStream] Avoid roundoff error when setting AVCapture min/max frame rate
2982         https://bugs.webkit.org/show_bug.cgi?id=198875
2983         <rdar://problem/51768374>
2984
2985         Reviewed by Youenn Fablet.
2986
2987         * wtf/MediaTime.h:
2988         (WTF::LogArgument<MediaTime>::toString):
2989         (WTF::LogArgument<MediaTimeRange>::toString):
2990
2991 2019-06-12  Antoine Quint  <graouts@apple.com>
2992
2993         Show the web page URL when sharing an AR model
2994         https://bugs.webkit.org/show_bug.cgi?id=198812
2995         <rdar://problem/48689498>
2996
2997         Reviewed by Dean Jackson.
2998
2999         * wtf/Platform.h:
3000
3001 2019-06-12  Youenn Fablet  <youenn@apple.com>
3002
3003         Use NSURLSession for WebSocket
3004         https://bugs.webkit.org/show_bug.cgi?id=198568
3005
3006         Reviewed by Geoffrey Garen.
3007
3008         * wtf/Platform.h:
3009         Introduce compile flag for WebSocket NSURLSession
3010
3011 2019-06-12  Commit Queue  <commit-queue@webkit.org>
3012
3013         Unreviewed, rolling out r246322.
3014         https://bugs.webkit.org/show_bug.cgi?id=198796
3015
3016         "It's a huge page load regression on iOS" (Requested by
3017         saamyjoon on #webkit).
3018
3019         Reverted changeset:
3020
3021         "Roll out PAC cage"
3022         https://bugs.webkit.org/show_bug.cgi?id=198726
3023         https://trac.webkit.org/changeset/246322
3024
3025 2019-06-10  Simon Fraser  <simon.fraser@apple.com>
3026
3027         Add logging for UI-side compositing hit-testing
3028         https://bugs.webkit.org/show_bug.cgi?id=198739
3029
3030         Reviewed by Antti Koivisto.
3031
3032         Make it possible to output an Objective-C object to TextStream, which will
3033         log its -description.
3034
3035         Also add a template for OptionSet<> printing.
3036
3037         * WTF.xcodeproj/project.pbxproj:
3038         * wtf/text/TextStream.h:
3039         (WTF::operator<<):
3040         * wtf/text/cocoa/TextStreamCocoa.mm: Added.
3041         (WTF::TextStream::operator<<):
3042
3043 2019-06-11  Saam Barati  <sbarati@apple.com>
3044
3045         Roll out PAC cage
3046         https://bugs.webkit.org/show_bug.cgi?id=198726
3047
3048         Reviewed by Keith Miller.
3049
3050         * WTF.xcodeproj/project.pbxproj:
3051         * wtf/CMakeLists.txt:
3052         * wtf/CagedPtr.h:
3053         (WTF::CagedPtr::CagedPtr):
3054         (WTF::CagedPtr::get const):
3055         (WTF::CagedPtr::getMayBeNull const):
3056         (WTF::CagedPtr::operator=):
3057         (WTF::CagedPtr::operator== const):
3058         (WTF::CagedPtr::operator!= const):
3059         (WTF::CagedPtr::operator bool const):
3060         (WTF::CagedPtr::operator* const):
3061         (WTF::CagedPtr::operator-> const):
3062         (WTF::CagedPtr::operator[] const):
3063         (WTF::CagedPtr::getUnsafe const): Deleted.
3064         (WTF::CagedPtr::at const): Deleted.
3065         (WTF::CagedPtr::recage): Deleted.
3066         * wtf/CagedUniquePtr.h:
3067         (WTF::CagedUniquePtr::CagedUniquePtr):
3068         (WTF::CagedUniquePtr::create):
3069         (WTF::CagedUniquePtr::operator=):
3070         (WTF::CagedUniquePtr::~CagedUniquePtr):
3071         (WTF::CagedUniquePtr::destroy):
3072         * wtf/Gigacage.h:
3073         (Gigacage::caged):
3074         (Gigacage::cagedMayBeNull): Deleted.
3075         * wtf/PtrTag.h:
3076         (WTF::tagArrayPtr): Deleted.
3077         (WTF::untagArrayPtr): Deleted.
3078         (WTF::removeArrayPtrTag): Deleted.
3079         (WTF::retagArrayPtr): Deleted.
3080         * wtf/TaggedArrayStoragePtr.h:
3081         (WTF::TaggedArrayStoragePtr::TaggedArrayStoragePtr): Deleted.
3082         (WTF::TaggedArrayStoragePtr::get const): Deleted.
3083         (WTF::TaggedArrayStoragePtr::getUnsafe const): Deleted.
3084         (WTF::TaggedArrayStoragePtr::resize): Deleted.
3085         (WTF::TaggedArrayStoragePtr::operator bool const): Deleted.
3086
3087 2019-06-10  Andy Estes  <aestes@apple.com>
3088
3089         [iOS] Use PDFKit SPI for taking snapshots when the hosting app is not entitled for global capture
3090         https://bugs.webkit.org/show_bug.cgi?id=198731
3091         <rdar://problem/46215174>
3092
3093         Reviewed by Tim Horton.
3094
3095         * wtf/FeatureDefines.h:
3096
3097 2019-06-10  Sam Weinig  <weinig@apple.com>
3098
3099         Remove Dashboard support
3100         https://bugs.webkit.org/show_bug.cgi?id=198615
3101
3102         Reviewed by Ryosuke Niwa.
3103
3104         * wtf/FeatureDefines.h:
3105
3106 2019-06-10  Timothy Hatcher  <timothy@apple.com>
3107
3108         Integrate dark mode support for iOS.
3109         https://bugs.webkit.org/show_bug.cgi?id=198687
3110         rdar://problem/51545643
3111
3112         Reviewed by Tim Horton.
3113
3114         * wtf/Platform.h:
3115
3116 2019-06-08  Andy Estes  <aestes@apple.com>
3117
3118         [Apple Pay] If we have a bound interface identifier, set it on new PKPaymentRequests
3119         https://bugs.webkit.org/show_bug.cgi?id=198690
3120         <rdar://problem/48041803>
3121
3122         Reviewed by Tim Horton.
3123
3124         * wtf/FeatureDefines.h: Defined HAVE_PASSKIT_BOUND_INTERFACE_IDENTIFIER, and cleaned up some
3125         other PassKit HAVEs.
3126
3127 2019-06-06  Caio Lima  <ticaiolima@gmail.com>
3128
3129         [JSCOnly] JSCOnly port is not building on macOS
3130         https://bugs.webkit.org/show_bug.cgi?id=198563
3131
3132         Reviewed by Don Olmstead.
3133
3134         We are adding `<mach/vm_types.h>` to fix build issues when compiling
3135         JSCOnly port on macOS.
3136
3137         * wtf/WTFAssertions.cpp:
3138
3139 2019-06-03  Commit Queue  <commit-queue@webkit.org>
3140
3141         Unreviewed, rolling out r246022.
3142         https://bugs.webkit.org/show_bug.cgi?id=198486
3143
3144         Causing Internal build failures and JSC test failures
3145         (Requested by ShawnRoberts on #webkit).
3146
3147         Reverted changeset:
3148
3149         "Reenable Gigacage on ARM64."
3150         https://bugs.webkit.org/show_bug.cgi?id=198453
3151         https://trac.webkit.org/changeset/246022
3152
3153 2019-06-03  Darin Adler  <darin@apple.com>
3154
3155         Finish cleanup of String::number for floating point
3156         https://bugs.webkit.org/show_bug.cgi?id=198471
3157
3158         Reviewed by Yusuke Suzuki.
3159
3160         * wtf/JSONValues.cpp:
3161         (WTF::JSONImpl::Value::writeJSON const): Use appendNumber instead of
3162         appendECMAScriptNumber, since that's now the default.
3163
3164         * wtf/text/StringBuilder.cpp:
3165         (WTF::StringBuilder::appendNumber): Renamed from appendShortestFormNumber.
3166         * wtf/text/StringBuilder.h: Removed appendShortestFormNumber and
3167         appendECMAScriptNumber, replacing both with overload of appendNumber.
3168
3169         * wtf/text/WTFString.cpp:
3170         (WTF::String::number): Renamed from numberToStringShortest.
3171         * wtf/text/WTFString.h: Removed numberToStringShortest and
3172         numberToStringECMAScript, replacing both with overload of number.
3173
3174 2019-06-02  Keith Miller  <keith_miller@apple.com>
3175
3176         Reenable Gigacage on ARM64.
3177         https://bugs.webkit.org/show_bug.cgi?id=198453
3178
3179         Reviewed by Filip Pizlo.
3180
3181         * wtf/CagedPtr.h:
3182         (WTF::CagedPtr::authenticatingLoad):
3183         (WTF::CagedPtr::get const):
3184         (WTF::CagedPtr::getMayBeNull const):
3185
3186 2019-05-31  Alex Christensen  <achristensen@webkit.org>
3187
3188         URLParser::parseIPv6Host should properly parse 0's around compression
3189         https://bugs.webkit.org/show_bug.cgi?id=198424
3190
3191         Reviewed by Tim Horton.
3192
3193         * wtf/URLParser.cpp:
3194         (WTF::URLParser::parseIPv6Host):
3195
3196 2019-05-31  Alex Christensen  <achristensen@webkit.org>
3197
3198         URLParser::parseHostAndPort should not allow non-port characters after an ipv6 host
3199         https://bugs.webkit.org/show_bug.cgi?id=198428
3200         <rdar://problem/51209196>
3201
3202         Reviewed by Tim Horton.
3203
3204         This matches Chrome and Firefox.
3205
3206         * wtf/URLParser.cpp:
3207         (WTF::URLParser::parseHostAndPort):
3208
3209 2019-05-31  Tim Horton  <timothy_horton@apple.com>
3210
3211         Optionally respect device management restrictions when loading from the network
3212         https://bugs.webkit.org/show_bug.cgi?id=198318
3213         <rdar://problem/44263806>
3214
3215         Reviewed by Alex Christensen.
3216
3217         * wtf/Platform.h:
3218         Add a HAVE flag for DeviceManagement.framework.
3219         It does exist in the simulator, but does not function; pretend it doesn't exist.
3220
3221 2019-05-31  Geoffrey Garen  <ggaren@apple.com>
3222
3223         Some WeakPtr cleanup
3224         https://bugs.webkit.org/show_bug.cgi?id=198390
3225
3226         Reviewed by Chris Dumez.
3227
3228         * wtf/WeakHashSet.h:
3229         (WTF::HashTraits<Ref<WeakPtrImpl>>::isReleasedWeakValue):
3230         (WTF::WeakHashSet::WeakHashSetConstIterator::WeakHashSetConstIterator):
3231         Updated for rename to WeakPtrImpl.
3232
3233         (WTF::WeakHashSet::WeakHashSetConstIterator::get const): Updated for new
3234         get() interface. Also, switched to iterator operator* to help clarify
3235         the double dereference here.
3236
3237         (WTF::WeakHashSet::add):
3238         (WTF::WeakHashSet::remove):
3239         (WTF::WeakHashSet::contains const):
3240         (WTF::WeakHashSet::computeSize const):
3241         (WTF::HashTraits<Ref<WeakReference>>::isReleasedWeakValue): Deleted.
3242         Updated for rename to WeakPtrImpl.
3243
3244         * wtf/WeakPtr.h:
3245         (WTF::WeakPtrImpl::create):
3246         (WTF::WeakPtrImpl::~WeakPtrImpl): Renamed WeakReference to WeakPtrImpl.
3247         Now we don't need a comment explaining that this class is the backing
3248         implementation of WeakPtr.
3249
3250         (WTF::WeakPtrImpl::get): Return the pointer type we stored, rather than
3251         the pointer type requested by our client. It's a little too surprising
3252         for a field to store one pointer type and load another.
3253
3254         (WTF::WeakPtrImpl::WeakPtrImpl): Fixed a theoretical type safety bug.
3255         Make sure to store T::WeakValueType* instead of T*, since they might
3256         not be the same pointer value. (In practice, T and T::WeakValueType*
3257         are always the same type in this constructor because WeakPtrFactory
3258         makes them so, but it's best not to depend on implementation details
3259         across classes.)
3260
3261         (WTF::WeakPtr::get const): Updated for new get() interface.
3262
3263         (WTF::WeakPtr::operator bool const):
3264         (WTF::WeakPtr::operator=):
3265         (WTF::WeakPtr::clear):
3266         (WTF::WeakPtr::WeakPtr): Updated for WeakPtrImpl rename.
3267
3268         (WTF::WeakPtrFactory::~WeakPtrFactory): Updated for WeakPtrImpl rename.
3269
3270         (WTF::WeakPtrFactory::createWeakPtr const): ASSERT that the passed-in
3271         pointer is equal to the stored pointer. As a space optimization, we
3272         require our client to remind us what we point to each time a weak
3273         pointer is created -- but nothing guarantees that our client will do
3274         this correctly.
3275
3276         (WTF::WeakPtrFactory::revokeAll): Updated for WeakPtrImpl rename.
3277
3278         (WTF::CanMakeWeakPtr::weakPtrFactory const):
3279         (WTF::CanMakeWeakPtr::weakPtrFactory): Use idiomatic accessor naming.
3280
3281         (WTF::weak_ptr_impl_cast): Fixed a theoretical type safety bug.
3282         Previously, if Base and Derived both inherited CanMakeWeakPtr, and
3283         you casted WeakPtr<Base> to WeakPtr<Derived> (or vice versa), and
3284         casting Base <-> Derived required pointer fixup, the previous
3285         compile-time check would accept the cast, even though the stored pointer
3286         would be wrong.
3287
3288         (WTF::WeakPtr<T>::WeakPtr):
3289         (WTF::=):
3290         (WTF::makeWeakPtr):
3291         (WTF::WeakReference::create): Deleted.
3292         (WTF::WeakReference::~WeakReference): Deleted.
3293         (WTF::WeakReference::get const): Deleted.
3294         (WTF::WeakReference::operator bool const): Deleted.
3295         (WTF::WeakReference::clear): Deleted.
3296         (WTF::WeakReference::WeakReference): Deleted.
3297         (WTF::weak_reference_cast): Deleted. Updated for rename to WeakPtrImpl.
3298
3299         Don't export WeakPtrImpl because it's an implmenetation detail and
3300         it shouldn't be easy to use outside WTF.
3301
3302 2019-05-31  Don Olmstead  <don.olmstead@sony.com>
3303
3304         [CMake] Add WebKit::WTF target
3305         https://bugs.webkit.org/show_bug.cgi?id=198400
3306
3307         Reviewed by Konstantin Tokarev.
3308
3309         Create the WebKit::WTF target and use that to propagate headers. Use
3310         WEBKIT_COPY_FILES instead of WEBKIT_MAKE_FORWARDING_HEADERS.
3311
3312         * wtf/CMakeLists.txt:
3313
3314 2019-05-30  Saam Barati  <sbarati@apple.com>
3315
3316         [WHLSL] Enforce variable lifetimes
3317         https://bugs.webkit.org/show_bug.cgi?id=195794
3318         <rdar://problem/50746293>
3319
3320         Reviewed by Myles C. Maxfield.
3321
3322         * wtf/PrintStream.h:
3323
3324 2019-05-30  Keith Rollin  <krollin@apple.com>
3325
3326         Fix yet more deprecated uses of -[UIApplication interfaceOrientation]
3327         https://bugs.webkit.org/show_bug.cgi?id=198381
3328         <rdar://problem/51265846>
3329
3330         Reviewed by Wenson Hsieh.
3331
3332         r245267, r245272, and r245874 fixed many instances of this issue; this
3333         change fixes the issue for tvOS.
3334
3335         * wtf/FeatureDefines.h:
3336
3337 2019-05-29  David Kilzer  <ddkilzer@apple.com>
3338
3339         Clean up a few #include statements in WTF
3340         <https://webkit.org/b/198351>
3341
3342         Reviewed by Alex Christensen.
3343
3344         * benchmarks/HashSetDFGReplay.cpp:
3345         - Add missing "config.h" include.
3346         * wtf/ParallelJobsGeneric.cpp:
3347         - Replace include of ParallelJobs.h with
3348           ParallelJobsGeneric.h.
3349         * wtf/StackBounds.cpp:
3350         - Fix include ordering of StackBounds.h.
3351
3352 2019-05-29  Keith Rollin  <krollin@apple.com>
3353
3354         Followup to r245267 and r245272: fix even more deprecated uses of -[UIApplication interfaceOrientation]
3355         https://bugs.webkit.org/show_bug.cgi?id=198348
3356         <rdar://problem/51234077>
3357
3358         Reviewed by Wenson Hsieh.
3359
3360         r245267 and r245272 fixed many instances of this issue; this change
3361         fixes the issue for watchOS.
3362
3363         * wtf/FeatureDefines.h:
3364
3365 2019-05-29  David Kilzer  <ddkilzer@apple.com>
3366
3367         IndexedDatabase Server thread in com.apple.WebKit.Networking process leaks objects into an autoreleasePool that's never cleared
3368         <https://webkit.org/b/198346>
3369         <rdar://problem/50895658>
3370
3371         Reviewed by Brent Fulgham.
3372
3373         * wtf/CrossThreadTaskHandler.cpp:
3374         (WTF::CrossThreadTaskHandler::CrossThreadTaskHandler):
3375         - Add optional second argument to enable use of an
3376           AutodrainedPool when running the runloop.
3377         (WTF::CrossThreadTaskHandler::taskRunLoop):
3378         - Create an AutodrainedPool if requested when
3379           CrossThreadTaskHandler was created.
3380         * wtf/CrossThreadTaskHandler.h:
3381         (WTF::CrossThreadTaskHandler::AutodrainedPoolForRunLoop):
3382         - Add enum class for enabling an AutodrainedPool for
3383           CrossThreadTaskHandler::taskRunLoop().
3384         (WTF::CrossThreadTaskHandler::CrossThreadTaskHandler):
3385         - Add optional second argument to enable use of an
3386           AutodrainedPool when running the runloop.
3387
3388 2019-05-29  Geoffrey Garen  <ggaren@apple.com>
3389
3390         WeakPtr breaks vtables when upcasting to base classes
3391         https://bugs.webkit.org/show_bug.cgi?id=188799
3392
3393         Reviewed by Youenn Fablet.
3394
3395         This patch switches from reinterpret_cast to static_cast when loading
3396         from WeakReference storage.
3397
3398         We know which type to cast *to* because it's specified by the type of
3399         the calling WeakPtr.
3400
3401         We know which type to cast *from* because it's specified by a typedef
3402         in CanMakeWeakPtr.
3403
3404         (Our convention is that we store a pointer to the class that derives
3405         from CanMakeWeakPtr. We cast from that pointer to derived pointers when
3406         we get(). This means that #include of the derived type header is now
3407         required in order to get() the pointer.)
3408
3409         * wtf/WeakHashSet.h:
3410         (WTF::HashTraits<Ref<WeakReference>>::isReleasedWeakValue): Definition
3411         is now eagerly required because WeakReference is not a template anymore.
3412
3413         (WTF::WeakHashSet::WeakHashSetConstIterator::get const):
3414         (WTF::WeakHashSet::WeakHashSetConstIterator::skipEmptyBuckets):
3415         (WTF::WeakHashSet::remove):
3416         (WTF::WeakHashSet::contains const):
3417         (WTF::WeakHashSet::computesEmpty const):
3418         (WTF::WeakHashSet::hasNullReferences const):
3419         (WTF::WeakHashSet::computeSize const):
3420         (WTF::HashTraits<Ref<WeakReference<T>>>::isReleasedWeakValue): Deleted.
3421         Updated for new WeakReference get() API.
3422
3423         * wtf/WeakPtr.h: Use a macro for TestAPI support. We can't use template
3424         specialization because WeakReference is not a class template anymore.
3425         (Or maybe we could have kept it working with a dummy template argument?
3426         Felt weird, so I switched.)
3427
3428         (WTF::WeakReference::create):
3429         (WTF::WeakReference::~WeakReference):
3430         (WTF::WeakReference::get const):
3431         (WTF::WeakReference::operator bool const):
3432         (WTF::WeakReference::WeakReference): WeakReference is just a void* now.
3433         It's the caller's responsibility, when creating and getting, to use
3434         a consistent storage type. We ensure a canonical storage type using a
3435         typedef inside CanMakeWeakPtr.
3436
3437         (WTF::WeakPtr::WeakPtr):
3438         (WTF::WeakPtr::get const):
3439         (WTF::WeakPtr::operator bool const):
3440         (WTF::WeakPtr::operator-> const):
3441         (WTF::WeakPtr::operator* const): Adopted new WeakReference API.
3442
3443         (WTF::WeakPtrFactory::createWeakPtr const): No need for reinterpret_cast.
3444
3445         (WTF::weak_reference_cast): This isn't required for correctness, but it's
3446         nice to show a complier error at WeakPtr construction sites when you know
3447         that the types won't work. Otherwise, you get compiler errors at
3448         dereference sites, which are slightly more mysterious ways of saying that
3449         you constructed your WeakPtr incorrectly.
3450
3451         (WTF::WeakPtr<T>::WeakPtr):
3452         (WTF::=):
3453         (WTF::makeWeakPtr):
3454         (WTF::weak_reference_upcast): Deleted.
3455         (WTF::weak_reference_downcast): Deleted.
3456
3457 2019-05-29  Ryan Haddad  <ryanhaddad@apple.com>
3458
3459         Unreviewed, rolling out r245857.
3460
3461         Breaks internal builds.
3462
3463         Reverted changeset:
3464
3465         "WeakPtr breaks vtables when upcasting to base classes"
3466         https://bugs.webkit.org/show_bug.cgi?id=188799
3467         https://trac.webkit.org/changeset/245857
3468
3469 2019-05-28  Geoffrey Garen  <ggaren@apple.com>
3470
3471         WeakPtr breaks vtables when upcasting to base classes
3472         https://bugs.webkit.org/show_bug.cgi?id=188799
3473
3474         Reviewed by Youenn Fablet.
3475
3476         This patch switches from reinterpret_cast to static_cast when loading
3477         from WeakReference storage.
3478
3479         We know which type to cast *to* because it's specified by the type of
3480         the calling WeakPtr.
3481
3482         We know which type to cast *from* because it's specified by a typedef
3483         in CanMakeWeakPtr.
3484
3485         (Our convention is that we store a pointer to the class that derives
3486         from CanMakeWeakPtr. We cast from that pointer to derived pointers when
3487         we get(). This means that #include of the derived type header is now
3488         required in order to get() the pointer.)
3489
3490         * wtf/WeakHashSet.h:
3491         (WTF::HashTraits<Ref<WeakReference>>::isReleasedWeakValue): Definition
3492         is now eagerly required because WeakReference is not a template anymore.
3493
3494         (WTF::WeakHashSet::WeakHashSetConstIterator::get const):
3495         (WTF::WeakHashSet::WeakHashSetConstIterator::skipEmptyBuckets):
3496         (WTF::WeakHashSet::remove):
3497         (WTF::WeakHashSet::contains const):
3498         (WTF::WeakHashSet::computesEmpty const):
3499         (WTF::WeakHashSet::hasNullReferences const):
3500         (WTF::WeakHashSet::computeSize const):
3501         (WTF::HashTraits<Ref<WeakReference<T>>>::isReleasedWeakValue): Deleted.
3502         Updated for new WeakReference get() API.
3503
3504         * wtf/WeakPtr.h: Use a macro for TestAPI support. We can't use template
3505         specialization because WeakReference is not a class template anymore.
3506         (Or maybe we could have kept it working with a dummy template argument?
3507         Felt weird, so I switched.)
3508
3509         (WTF::WeakReference::create):
3510         (WTF::WeakReference::~WeakReference):
3511         (WTF::WeakReference::get const):
3512         (WTF::WeakReference::operator bool const):
3513         (WTF::WeakReference::WeakReference): WeakReference is just a void* now.
3514         It's the caller's responsibility, when creating and getting, to use
3515         a consistent storage type. We ensure a canonical storage type using a
3516         typedef inside CanMakeWeakPtr.
3517
3518         (WTF::WeakPtr::WeakPtr):
3519         (WTF::WeakPtr::get const):
3520         (WTF::WeakPtr::operator bool const):
3521         (WTF::WeakPtr::operator-> const):
3522         (WTF::WeakPtr::operator* const): Adopted new WeakReference API.
3523
3524         (WTF::WeakPtrFactory::createWeakPtr const): No need for reinterpret_cast.
3525
3526         (WTF::weak_reference_cast): This isn't required for correctness, but it's
3527         nice to show a complier error at WeakPtr construction sites when you know
3528         that the types won't work. Otherwise, you get compiler errors at
3529         dereference sites, which are slightly more mysterious ways of saying that
3530         you constructed your WeakPtr incorrectly.
3531
3532         (WTF::WeakPtr<T>::WeakPtr):
3533         (WTF::=):
3534         (WTF::makeWeakPtr):
3535         (WTF::weak_reference_upcast): Deleted.
3536         (WTF::weak_reference_downcast): Deleted.
3537
3538 2019-05-27  Chris Dumez  <cdumez@apple.com>
3539
3540         Use a strongly-typed identifier for pages
3541         https://bugs.webkit.org/show_bug.cgi?id=198206
3542
3543         Reviewed by Youenn Fablet.
3544
3545         * wtf/ObjectIdentifier.h:
3546         (WTF::operator<<):
3547
3548 2019-05-23  Don Olmstead  <don.olmstead@sony.com>
3549
3550         [CMake] Use target oriented design for bmalloc
3551         https://bugs.webkit.org/show_bug.cgi?id=198046
3552
3553         Reviewed by Konstantin Tokarev.
3554
3555         Use WebKit::bmalloc target.
3556
3557         * wtf/CMakeLists.txt:
3558
3559 2019-05-23  Ross Kirsling  <ross.kirsling@sony.com>
3560
3561         [PlayStation] Implement platformUserPreferredLanguages.
3562         https://bugs.webkit.org/show_bug.cgi?id=198149
3563
3564         Reviewed by Fujii Hironori.
3565
3566         * wtf/PlatformPlayStation.cmake:
3567         * wtf/playstation/LanguagePlayStation.cpp: Added.
3568         (WTF::platformUserPreferredLanguages):
3569
3570 2019-05-22  Myles C. Maxfield  <mmaxfield@apple.com>
3571
3572         font-optical-sizing applies the wrong variation value
3573         https://bugs.webkit.org/show_bug.cgi?id=197528
3574         <rdar://problem/50152854>
3575
3576         Reviewed by Antti Koivisto.
3577
3578         * wtf/Platform.h:
3579
3580 2019-05-22  Ryan Haddad  <ryanhaddad@apple.com>
3581
3582         Unreviewed, rolling out r245598.
3583
3584         Breaks watchOS build.
3585
3586         Reverted changeset:
3587
3588         "font-optical-sizing applies the wrong variation value"
3589         https://bugs.webkit.org/show_bug.cgi?id=197528
3590         https://trac.webkit.org/changeset/245598
3591
3592 2019-05-21  Ross Kirsling  <ross.kirsling@sony.com>
3593