[webkitscmpy] Return remote objects from remote() function
[WebKit-https.git] / Source / WTF / ChangeLog-2021-03-18
1 2021-03-18  Youenn Fablet  <youenn@apple.com>
2
3         Move camera GPU Process flag to experimental
4         https://bugs.webkit.org/show_bug.cgi?id=223374
5
6         Reviewed by Eric Carlson.
7
8         * Scripts/Preferences/WebPreferencesExperimental.yaml:
9         * Scripts/Preferences/WebPreferencesInternal.yaml:
10
11 2021-03-17  Saam Barati  <sbarati@apple.com>
12
13         Make sure we only set HAVE_VM_FLAGS_PERMANENT to 1 when targeting macOS >= 11.0
14         https://bugs.webkit.org/show_bug.cgi?id=223408
15
16         Reviewed by Alexey Proskuryakov.
17
18         * wtf/PlatformHave.h:
19
20 2021-03-17  Mark Lam  <mark.lam@apple.com>
21
22         Fix race condition in ConcurrentPtrHashSet.
23         https://bugs.webkit.org/show_bug.cgi?id=223241
24         rdar://74637896
25
26         Reviewed by Yusuke Suzuki.
27
28         There exists a race condition where ConcurrentPtrHashSet::resizeIfNecessary() may
29         not capture an entry added by ConcurrentPtrHashSet::addSlow() concurrently.
30
31         ConcurrentPtrHashSet::addSlow() currently does the following:
32
33             {
34                 if (table->load.exchangeAdd(1) >= table->maxLoad())     // (a1)
35                     return resizeAndAdd(ptr);                           // (a2)
36     
37                 for (;;) {
38                     void* oldEntry = table->array[index].compareExchangeStrong(nullptr, ptr);   // (a3)
39                     if (!oldEntry) {
40                         if (m_table.load() != table) {                  // (a4)
41                             // We added an entry to an old table! We need to reexecute the add on the new table.
42                             return add(ptr);                            // (a5)
43                         }
44                         return true;                                    // (a6)
45                     }
46                     if (oldEntry == ptr)
47                         return false;
48
49                     ... // set index to next entry slot to try.
50                 }
51             }
52
53         ConcurrentPtrHashSet::resizeIfNecessary() currently does the following:
54
55             {
56                 auto locker = holdLock(m_lock);                         // (r1)
57                 Table* table = m_table.loadRelaxed();
58                 if (table->load.loadRelaxed() < table->maxLoad())
59                     return;
60
61                 // (r2)
62
63                 std::unique_ptr<Table> newTable = Table::create(table->size * 2);
64                 ...
65                 for (unsigned i = 0; i < table->size; ++i) {            // (r3)
66                     void* ptr = table->array[i].loadRelaxed();
67                     if (!ptr)
68                         continue;
69         
70                     ... // copy ptr to newTable.                        // (r4)
71                 }
72     
73                 ...
74                 m_table.store(newTable.get());                          // (r5)
75                 ...
76             }
77
78         Let's say thread T1 is executing addSlow(), and thread T2 is concurrently executing
79         resizeIfNecessary().
80
81         Consider the following scenario (in chronological order):
82         1. T2 has arrived at just before (r5) i.e. it is already done copying the entries
83            in the old m_table.  
84         2. T1 executes (a3) and writes a new entry into m_table.
85         3. T1 checks that the table hasn't been replaced at (a4), and sees that it has
86            not.
87         4. T1 returns at (a6), thinking that its new entry is committed.
88         5. T2 sets the new m_table at (r5), thereby discarding the new entry that T1 has
89            just written.
90
91         The fix is to set m_table to a newly introduced m_stubTable at (r2).  m_stubTable
92         is set up with a size of 0, and load value of 10.  This means it is always full.
93         With this, the following scenarios can play out:
94
95         Scenario 1: T2 installs m_stubTable before T1 reaches (a1)
96
97         1. At (a1), T1 sees that m_table (which is m_stubTable) is full.
98         2. T1 calls resizeAndAdd() at (a2), which ends up calling resizeIfNecessary()
99            and blocking on the lock at (r1).
100
101         Scenario 2: T2 installs m_stubTable after T1 reaches just before (a3)
102
103         1. T1 writes the new entry at (a3).
104         2. T1 checks m_table at (a4), and sees that it has changed (now pointing to
105            m_stubTable).
106         3. T1 calls add() again at (a5) to redo the operation, and ends with scenario 1.
107
108         Scenario 3: T2 installs m_stubTable after T1 reaches (a3), but before (a4)
109
110         1. The new entry has already been added, but we don't know if it made the cut off
111            for T2 to copy it or not.  But, it doesn't matter because ...
112         2. T1 checks m_table at (a4), and sees that it has changed (now pointing to
113            m_stubTable).
114         3. T1 calls add() again at (a5) to redo the operation, and ends with scenario 1.
115
116         Scenario 4: T2 installs m_stubTable after T1 reaches (a4)
117
118         1. The new entry has already been added.
119         2. T1 checks m_table at (a4), and sees that it has NOT changed (because T2 hasn't
120            installed m_stubTable yet).  This means T2's copy loop is guaranteed to not
121            have started yet i.e. the new entry will definitely be picked up by the copy
122            loop.
123         3. T1 returns at (a6), and all is well.
124
125         * wtf/ConcurrentPtrHashSet.cpp:
126         (WTF::ConcurrentPtrHashSet::deleteOldTables):
127         (WTF::ConcurrentPtrHashSet::initialize):
128         (WTF::ConcurrentPtrHashSet::containsImplSlow const):
129         (WTF::ConcurrentPtrHashSet::sizeSlow const):
130         (WTF::ConcurrentPtrHashSet::resizeIfNecessary):
131         (WTF::ConcurrentPtrHashSet::Table::initializeStub):
132         * wtf/ConcurrentPtrHashSet.h:
133
134 2021-03-17  Alex Christensen  <achristensen@webkit.org>
135
136         Reduce maximum HashTable entry size to 250 bytes
137         https://bugs.webkit.org/show_bug.cgi?id=223398
138
139         Reviewed by Yusuke Suzuki.
140
141         * wtf/HashTable.h:
142         (WTF::KeyTraits>::inlineLookup):
143
144 2021-03-17  Saam Barati  <sbarati@apple.com>
145
146         Determine if we have useFastJITPermissions on arm64e at runtime instead of hardcoding it as always enabled
147         https://bugs.webkit.org/show_bug.cgi?id=223388
148         <rdar://74819266>
149
150         Reviewed by Mark Lam.
151
152         * wtf/PlatformEnableCocoa.h:
153         * wtf/PlatformUse.h:
154
155 2021-03-17  Chris Dumez  <cdumez@apple.com>
156
157         Memory limit per tab shrinks as you open tabs in the same WebContent process (may affect Google Drive, Dropbox, etc.)
158         https://bugs.webkit.org/show_bug.cgi?id=223394
159         <rdar://75499387>
160
161         Reviewed by Geoffrey Garen.
162
163         Make sure the process memory limit scales with the number of web pages it holds (without cap on the number of
164         pages).
165
166         * wtf/MemoryPressureHandler.cpp:
167         (WTF::thresholdForMemoryKillOfInactiveProcess):
168
169 2021-03-17  Brent Fulgham  <bfulgham@apple.com>
170
171         [Cocoa] Populate NSURLSession with attributed bundle ID
172         https://bugs.webkit.org/show_bug.cgi?id=223382
173         <rdar://problem/75498230>
174
175         Reviewed by Alex Christensen.
176
177         Add new HAVE_CFNETWORK_NSURLSESSION_ATTRIBUTED_BUNDLE_IDENTIFIER macro.
178
179         * wtf/PlatformHave.h:
180
181 2021-03-17  Alex Christensen  <achristensen@webkit.org>
182
183         Allow UniqueRef to be the value of a HashMap
184         https://bugs.webkit.org/show_bug.cgi?id=223240
185
186         Reviewed by Youenn Fablet.
187
188         This has the advantage over std::unique_ptr of never providing a null value when you iterate HashMap.values
189
190         * wtf/HashIterators.h:
191         (WTF::HashTableConstValuesIterator::get const):
192         * wtf/HashTraits.h:
193         (WTF::HashTraits<UniqueRef<T>>::emptyValue):
194         (WTF::HashTraits<UniqueRef<T>>::constructDeletedValue):
195         (WTF::HashTraits<UniqueRef<T>>::isDeletedValue):
196         (WTF::HashTraits<UniqueRef<T>>::peek):
197         (WTF::HashTraits<UniqueRef<T>>::take):
198
199 2021-03-16  Devin Rousso  <drousso@apple.com>
200
201         [macOS] change for the language/subtitle tracks button to use an `NSMenu` instead of web content
202         https://bugs.webkit.org/show_bug.cgi?id=223239
203         <rdar://problem/75462340>
204
205         Reviewed by Eric Carlson.
206
207         * wtf/PlatformEnableCocoa.h:
208         Turn on `ENABLE_MEDIA_CONTROLS_CONTEXT_MENUS` for macOS.
209
210 2021-03-16  Per Arne  <pvollan@apple.com>
211
212         Add signpost for injected bundle creation
213         https://bugs.webkit.org/show_bug.cgi?id=223068
214
215         Reviewed by Alex Christensen.
216
217         Add trace point codes for start and end of injected bundle creation.
218
219         * wtf/SystemTracing.h:
220
221 2021-03-16  Carlos Garcia Campos  <cgarcia@igalia.com>
222
223         [GTK][WPE] Stop using g_memdup
224         https://bugs.webkit.org/show_bug.cgi?id=223189
225
226         Reviewed by Philippe Normand.
227
228         Add fastMemDup() to replace g_memdup() that is now deprecated in GLib because of the possibility of overflow
229         when converting from size_t to unsigned int. There's a replacement in GLib already, but we would need to depend
230         on very new GLib version, so better use fastMemDup() when possible. In cases where we still need to use GLib
231         allocator, we can simply call g_malloc() + memcpy().
232
233         * wtf/FastMalloc.cpp:
234         (WTF::fastMemDup):
235         * wtf/FastMalloc.h:
236
237 2021-03-16  Khem Raj  <raj.khem@gmail.com>
238
239         [CMake] Build fails on RISC-V with GCC 11
240         https://bugs.webkit.org/show_bug.cgi?id=222959
241
242         Reviewed by Carlos Alberto Lopez Perez.
243
244         Link with libatomic if ATOMICS_REQUIRE_LIBATOMIC is set.
245
246         * wtf/CMakeLists.txt:
247
248 2021-03-15  Alex Christensen  <achristensen@webkit.org>
249
250         REGRESSION: (r255611) [ Mac ] 3 lldb tests failing related to HashMap
251         https://bugs.webkit.org/show_bug.cgi?id=207204
252
253         Reviewed by Simon Fraser.
254
255         * wtf/HashTable.h:
256
257 2021-03-15  Chris Dumez  <cdumez@apple.com>
258
259         RunLoop::isMain() should not need to do any heap allocations
260         https://bugs.webkit.org/show_bug.cgi?id=223227
261
262         Reviewed by Darin Adler.
263
264         RunLoop::isMain() should not need to do any heap allocations. Before this change,
265         calling RunLoop::isMain() on a non-main thread would call RunLoop::current() which
266         would allocate the RunLoop for the current thread. This is inefficient and an issue
267         for WebAudio since we're not allowed to do heap allocation on the audio rendering
268         thread.
269
270         * wtf/RunLoop.cpp:
271         (WTF::RunLoop::runLoopHolder):
272         (WTF::RunLoop::current):
273         (WTF::RunLoop::isMain):
274         * wtf/RunLoop.h:
275
276 2021-03-15  Alex Christensen  <achristensen@webkit.org>
277
278         REGRESSION(r271642) Another app was relying on DOMWindow reuse
279         https://bugs.webkit.org/show_bug.cgi?id=223217
280         <rdar://75186172>
281
282         Reviewed by Geoff Garen.
283
284         * Scripts/Preferences/WebPreferencesInternal.yaml:
285
286 2021-03-15  Rob Buis  <rbuis@igalia.com>
287
288         Turn CSS aspect-ratio on by default
289         https://bugs.webkit.org/show_bug.cgi?id=223117
290
291         Reviewed by Simon Fraser.
292
293         Turn CSS aspect-ratio on by default.
294
295         * Scripts/Preferences/WebPreferencesExperimental.yaml:
296
297 2021-03-13  Tim Horton  <timothy_horton@apple.com>
298
299         Adopt DDMacAction instead of DDAction on macOS
300         https://bugs.webkit.org/show_bug.cgi?id=223145
301         <rdar://problem/70127512>
302
303         Reviewed by Megan Gardner.
304
305         * wtf/PlatformHave.h:
306
307 2021-03-12  Lauro Moura  <lmoura@igalia.com>
308
309         REGRESSION(r274327) [GLIB] 2D Canvas tests timing out after enabling GPUProces in testing
310         https://bugs.webkit.org/show_bug.cgi?id=223130
311
312         Reviewed by Philippe Normand.
313
314         * Scripts/Preferences/WebPreferencesExperimental.yaml:
315
316 2021-03-12  Alex Christensen  <achristensen@webkit.org>
317
318         Reduce maximum HashTable entry size to 400 bytes
319         https://bugs.webkit.org/show_bug.cgi?id=223106
320
321         Reviewed by Youenn Fablet.
322
323         * wtf/HashTable.h:
324         (WTF::KeyTraits>::inlineLookup):
325
326 2021-03-11  Tim Horton  <timothy_horton@apple.com>
327
328         REGRESSION (r267775): Web Share API Level 2 is incorrectly disabled
329         https://bugs.webkit.org/show_bug.cgi?id=223110
330
331         Reviewed by Simon Fraser.
332
333         * Scripts/Preferences/WebPreferencesExperimental.yaml:
334         Through a series of minor mishaps related to r267623 and r267775,
335         the current state of the default value of WebShareFileAPIEnabled
336         in modern WebKit does not match what it was changed to in r267762
337         (is it now instead off everywhere).
338
339         Fix this regression by copying the condition from WebShareEnabled.
340
341 2021-03-11  Said Abou-Hallawa  <said@apple.com>
342
343         [GPUP] Enable 2D Canvas in layout tests by default
344         https://bugs.webkit.org/show_bug.cgi?id=222835
345
346         Reviewed by Simon Fraser.
347
348         Move UseGPUProcessForCanvasRenderingEnabled from WebPreferencesInternal 
349         to WebPreferencesExperimental so that the WebKitTestRunner will turn it
350         on by default.
351
352         * Scripts/Preferences/WebPreferencesExperimental.yaml:
353         * Scripts/Preferences/WebPreferencesInternal.yaml:
354
355 2021-03-11  Saam Barati  <sbarati@apple.com>
356
357         Adopt VM_FLAGS_PERMANENT for the config vm mapping
358         https://bugs.webkit.org/show_bug.cgi?id=222086
359         <rdar://74402690>
360
361         Reviewed by Yusuke Suzuki and Mark Lam.
362
363         * wtf/PlatformHave.h:
364         * wtf/Threading.cpp:
365         (WTF::initialize):
366         * wtf/WTFConfig.cpp:
367         (WTF::setPermissionsOfConfigPage):
368         * wtf/WTFConfig.h:
369         (WTF::setPermissionsOfConfigPage):
370
371 2021-03-11  Chris Dumez  <cdumez@apple.com>
372
373         Introduce ensureOnMainThread()
374         https://bugs.webkit.org/show_bug.cgi?id=223105
375
376         Reviewed by Darin Adler.
377
378         Introduce ensureOnMainThread(), similarly to the recently added ensureOnMainThreadRunLoop(). It runs
379         the task synchronously when on the main thread, otherwise dispatches the task to the main thread.
380
381         * wtf/MainThread.cpp:
382         (WTF::ensureOnMainThread):
383         * wtf/MainThread.h:
384         * wtf/ThreadSafeRefCounted.h:
385         (WTF::ThreadSafeRefCounted::deref const):
386         * wtf/text/cf/StringImplCF.cpp:
387         (WTF::StringWrapperCFAllocator::deallocate):
388         * wtf/unix/MemoryPressureHandlerUnix.cpp:
389         (WTF::MemoryPressureHandler::triggerMemoryPressureEvent):
390
391 2021-03-11  Chris Dumez  <cdumez@apple.com>
392
393         Introduce WorkQueue::main() to get the main thread's work queue
394         https://bugs.webkit.org/show_bug.cgi?id=223087
395
396         Reviewed by Geoffrey Garen.
397
398         Introduce WorkQueue::main() to get the main thread's work queue. This allows us to port some more code from
399         dispatch_queue to WorkQueue. It also simplifies some code that has to deal that sometimes needs to run on
400         the main thread and other times on a background queue. Having a single WorkQueue type to represent both the
401         main thread and a background queue makes writing such code more convenient.
402
403         * wtf/WorkQueue.cpp:
404         (WTF::WorkQueue::main):
405         * wtf/WorkQueue.h:
406         * wtf/cocoa/WorkQueueCocoa.cpp:
407         (WTF::WorkQueue::constructMainWorkQueue):
408         (WTF::WorkQueue::WorkQueue):
409         * wtf/generic/WorkQueueGeneric.cpp:
410         (WorkQueue::constructMainWorkQueue):
411         (WorkQueue::WorkQueue):
412
413 2021-03-11  Chris Dumez  <cdumez@apple.com>
414
415         Use BinarySemaphore in callOnMainAndWait()
416         https://bugs.webkit.org/show_bug.cgi?id=223092
417
418         Reviewed by Geoffrey Garen.
419
420         Use BinarySemaphore in callOnMainAndWait() instead of a Condition, this simplifies the code
421         a bit. Also templatize the function to make sure we avoid any runtime checks for the
422         the "mainStyle".
423
424         * wtf/MainThread.cpp:
425         (WTF::callOnMainAndWait):
426         (WTF::callOnMainRunLoopAndWait):
427         (WTF::callOnMainThreadAndWait):
428
429 2021-03-11  Mark Lam  <mark.lam@apple.com>
430
431         Use tagged pointers in more places in the MetaAllocator code.
432         https://bugs.webkit.org/show_bug.cgi?id=223055
433         rdar://69971224
434
435         Reviewed by Saam Barati.
436
437         1. Made the MetaAllocatorPtr constructor that takes a raw pointer private, and
438            only call it from a static factory method, MetaAllocatorPtr::makeFromRawPointer()
439            to make it clear that we're using an untagged pointer as a source.
440         2. Added a MetaAllocatorPtr constructor that retags a pointer.
441            This allows minimizes the window of working with an untagged pointer.
442         3. Assert that MetaAllocator::addFreshFreeSpace() is only called at system
443            initialization time.
444         4. Removed an unused MetaAllocator::FreeSpaceNode constructor.
445
446         * wtf/MetaAllocator.cpp:
447         (WTF::MetaAllocator::release):
448         (WTF::MetaAllocatorHandle::MetaAllocatorHandle):
449         (WTF::MetaAllocatorHandle::shrink):
450         (WTF::MetaAllocator::allocate):
451         (WTF::MetaAllocator::addFreshFreeSpace):
452         * wtf/MetaAllocator.h:
453         (WTF::MetaAllocator::FreeSpaceNode::FreeSpaceNode): Deleted.
454         * wtf/MetaAllocatorHandle.h:
455         * wtf/MetaAllocatorPtr.h:
456         (WTF::MetaAllocatorPtr::makeFromRawPointer):
457         (WTF::MetaAllocatorPtr::MetaAllocatorPtr):
458
459 2021-03-11  Chris Dumez  <cdumez@apple.com>
460
461         Introduce WorkQueue::dispatchSync()
462         https://bugs.webkit.org/show_bug.cgi?id=223049
463
464         Reviewed by Alex Christensen.
465
466         Introduce WorkQueue::dispatchSync(), which relies on GCD's dispatch_sync() internally on Cocoa
467         ports. For other ports, it relies on a BinarySemaphore for synchronization.
468
469         * wtf/WorkQueue.cpp:
470         (WTF::WorkQueue::dispatchSync):
471         * wtf/WorkQueue.h:
472         * wtf/cocoa/WorkQueueCocoa.cpp:
473         (WTF::WorkQueue::dispatchSync):
474
475 2021-03-11  Carlos Garcia Campos  <cgarcia@igalia.com>
476
477         Unreviewed. [GTK][WPE] Bump libsoup3 version to 2.99.3
478
479         * wtf/Platform.h:
480         * wtf/URL.h:
481
482 2021-03-10  Chris Dumez  <cdumez@apple.com>
483
484         Use RetainPtr<> / OSObjectPtr<> more in WebKit
485         https://bugs.webkit.org/show_bug.cgi?id=223030
486
487         Reviewed by Darin Adler.
488
489         * wtf/MemoryPressureHandler.cpp:
490         (WTF::MemoryPressureHandler::setDispatchQueue):
491         * wtf/MemoryPressureHandler.h:
492         * wtf/WorkQueue.h:
493         * wtf/cocoa/MemoryPressureHandlerCocoa.mm:
494         (WTF::MemoryPressureHandler::install):
495         (WTF::MemoryPressureHandler::uninstall):
496         (WTF::MemoryPressureHandler::holdOff):
497         * wtf/cocoa/WorkQueueCocoa.cpp:
498         (WTF::WorkQueue::dispatch):
499         (WTF::WorkQueue::dispatchAfter):
500         (WTF::WorkQueue::platformInitialize):
501         (WTF::WorkQueue::platformInvalidate):
502         * wtf/text/cf/StringImplCF.cpp:
503         (WTF::StringWrapperCFAllocator::allocator):
504         (WTF::StringImpl::createCFString):
505
506 2021-03-10  Dean Jackson  <dino@apple.com>
507
508         Use std::forward for forwarding references instead of WTFMove
509         https://bugs.webkit.org/show_bug.cgi?id=223040
510
511         Reviewed by Darin Adler.
512
513         A newer version of clang produced a helpful warning that told
514         us we were using WTFMove in places where we should use std::forward.
515
516         * wtf/Expected.h:
517         (std::experimental::fundamentals_v3::expected::operator=):
518         * wtf/Function.h:
519         (WTF::Function<Out):
520         * wtf/NeverDestroyed.h:
521         (WTF::makeNeverDestroyed):
522
523 2021-03-09  Darin Adler  <darin@apple.com>
524
525         [Cocoa] Make WebKit API Objective-C objects safe to release on non-main threads
526         https://bugs.webkit.org/show_bug.cgi?id=223013
527
528         Reviewed by Geoffrey Garen.
529
530         * wtf/MainThread.cpp:
531         (WTF::ensureOnMainRunLoop): Added. For use in cases where we want to be more
532         efficient, and synchronous, when already on the main run loop, but we can do
533         the work asynchronously when called and not on the main run loop.
534
535         * wtf/MainThread.h: Added ensureOnMainRunLoop.
536
537 2021-03-10  Michael Catanzaro  <mcatanzaro@gnome.org>
538
539         [GTK] Reenable -fvisibility=hidden
540         https://bugs.webkit.org/show_bug.cgi?id=181916
541
542         Reviewed by Don Olmstead.
543
544         We need to export WTF::filenameForDisplay.
545
546         * wtf/FileSystem.h:
547
548 2021-03-09  Chris Dumez  <cdumez@apple.com>
549
550         Use RELEASE_ASSERT() for Deque bounds checks
551         https://bugs.webkit.org/show_bug.cgi?id=223008
552
553         Reviewed by Alex Christensen.
554
555         Use RELEASE_ASSERT() for Deque bounds checks instead of ASSERT(), similarly to what we did for Vector.
556
557         * wtf/Deque.h:
558         (WTF::inlineCapacity>::removeFirst):
559         (WTF::inlineCapacity>::removeLast):
560
561 2021-03-09  Sam Weinig  <weinig@apple.com>
562
563         Preferences do not need to be passed to the WebProcess via WebPageCreationParameters since the store already is
564         https://bugs.webkit.org/show_bug.cgi?id=222945
565
566         Reviewed by Simon Fraser.
567
568         * Scripts/Preferences/WebPreferencesDebug.yaml:
569         NeedsInAppBrowserPrivacyQuirks is only ever accessed via the WebKit preferences store,
570         so does not need to be exposed in WebKitLegacy or WebCore. Achieve this by removing the
571         WebKitLegacy and WebCore defaults.
572
573 2021-03-09  Alex Christensen  <achristensen@webkit.org>
574
575         Reduce unnecessary string copies in ParsedContentRange
576         https://bugs.webkit.org/show_bug.cgi?id=221769
577
578         Reviewed by Geoff Garen.
579
580         * wtf/text/StringView.h:
581         (WTF::StringView::toInt64Strict const):
582         * wtf/text/WTFString.h:
583
584 2021-03-09  Commit Queue  <commit-queue@webkit.org>
585
586         Unreviewed, reverting r274171.
587         https://bugs.webkit.org/show_bug.cgi?id=223004
588
589         Broke canvas layout tests on Apple Silicon
590
591         Reverted changeset:
592
593         "[GPUP] Enable 2D Canvas in layout tests by default"
594         https://bugs.webkit.org/show_bug.cgi?id=222835
595         https://trac.webkit.org/changeset/274171
596
597 2021-03-09  Chris Dumez  <cdumez@apple.com>
598
599         Stop using callOnMainThread() / isMainThread() in WebKit2
600         https://bugs.webkit.org/show_bug.cgi?id=222986
601
602         Reviewed by Alex Christensen.
603
604         * wtf/MainThread.h:
605
606 2021-03-09  Said Abou-Hallawa  <said@apple.com>
607
608         [GPUP] Enable 2D Canvas in layout tests by default
609         https://bugs.webkit.org/show_bug.cgi?id=222835
610
611         Reviewed by Simon Fraser.
612
613         Move UseGPUProcessForCanvasRenderingEnabled from WebPreferencesInternal 
614         to WebPreferencesExperimental so that the WebKitTestRunner will turn it
615         on by default.
616
617         * Scripts/Preferences/WebPreferencesExperimental.yaml:
618         * Scripts/Preferences/WebPreferencesInternal.yaml:
619
620 2021-03-09  Sam Weinig  <weinig@apple.com>
621
622         Remove CSSParserContext::enforcesCSSMIMETypeInNoQuirksMode as it is unused
623         https://bugs.webkit.org/show_bug.cgi?id=222949
624
625         Reviewed by Darin Adler.
626
627         At some point in the past we stoped doing anything with the enforcesCSSMIMETypeInNoQuirksMode
628         bit on CSSParserContext.
629
630         The only time it was ever disabled was when running ancient versions of iWeb, a product that
631         itself hasn't existed for over a decade, so I think we are ok to remove it.
632
633         * Scripts/Preferences/WebPreferences.yaml:
634
635 2021-03-09  Ben Nham  <nham@apple.com>
636
637         Adopt new NSURLSessionConfiguration SPI for connection cache configuration
638         https://bugs.webkit.org/show_bug.cgi?id=222934
639
640         Reviewed by Geoffrey Garen.
641
642         Add the HAVE_CFNETWORK_NSURLSESSION_CONNECTION_CACHE_LIMITS flag to control whether or not
643         to use the connection cache limit SPI on NSURLSessionConfiguration.
644
645         * wtf/PlatformHave.h:
646
647 2021-03-08  Sam Weinig  <weinig@apple.com>
648
649         Remove quirks for the no longer supported iAd Producer
650         https://bugs.webkit.org/show_bug.cgi?id=222894
651
652         Reviewed by Chris Dumez.
653
654         * Scripts/Preferences/WebPreferences.yaml:
655         Remove NeedsIsLoadingInAPISenseQuirk preference which only existed to enable
656         a quirk for iAd Producer.
657
658 2021-03-07  Sam Weinig  <weinig@apple.com>
659
660         Move new color(), lab() and lch() color functions behind runtime settings.
661         https://bugs.webkit.org/show_bug.cgi?id=222869
662
663         Reviewed by Simon Fraser.
664
665         * Scripts/Preferences/WebPreferencesExperimental.yaml:
666         Add experimental feature flag for the new CSS Color 4 color types. 
667
668 2021-03-06  Dean Jackson  <dino@apple.com>
669
670         dlopen_preflight is failing (temporarily) but obsolete
671         https://bugs.webkit.org/show_bug.cgi?id=222829
672
673         Reviewed by Jer Noble.
674
675         I hit a bug where dlopen_preflight was failing in a particular build.
676         That is now fixed, but as I was discussing it with the dyld team
677         they said we should stop using it. The rationale was that it only
678         made sense during the PowerPC to Intel transition, and it is as
679         expensive as dlopen now.
680
681         * wtf/PlatformUse.h: No need for preflight linking code.
682         * wtf/cocoa/SoftLinking.h:
683
684 2021-03-05  Don Olmstead  <don.olmstead@sony.com>
685
686         [CMake] Bump cmake_minimum_required version to 3.12 or later
687         https://bugs.webkit.org/show_bug.cgi?id=221727
688         <rdar://problem/74454980>
689
690         Reviewed by Konstantin Tokarev.
691
692         Sync cmake_minimum_required version for AppleWin internal builds.
693
694         * CMakeLists.txt:
695
696 2021-03-05  Chris Dumez  <cdumez@apple.com>
697
698         Reduce use of CFRetain() / CFRelease() / CFAutoRelease() in WebKit
699         https://bugs.webkit.org/show_bug.cgi?id=222760
700
701         Reviewed by Darin Adler.
702
703         Reduce use of CFRetain() / CFRelease() / CFAutoRelease() in WebKit by using RetainPtr<>.
704
705         * wtf/cocoa/NSURLExtras.mm:
706         (WTF::decodePercentEscapes):
707         (WTF::URLByTruncatingOneCharacterBeforeComponent):
708         (WTF::URLWithData):
709         (WTF::URLByRemovingComponentAndSubsequentCharacter):
710
711 2021-03-04  Alex Christensen  <achristensen@webkit.org>
712
713         Add internal preference to disable HTTPS upgrade
714         https://bugs.webkit.org/show_bug.cgi?id=222778
715
716         Reviewed by Simon Fraser.
717
718         This is needed for an internal performance benchmark, which serves canned content from a local http server
719         pretending to be from different domains that are in our internal HTTPS upgrade list because the real server
720         supports HTTPS.  That internal benchmark should eventually change, but that's not going to happen this year.
721         This is also likely going to be useful for QA purposes to be able to easily tell on an internal build
722         whether HTTPS upgrade is breaking something.
723
724         * Scripts/Preferences/WebPreferencesInternal.yaml:
725
726 2021-03-04  Alex Christensen  <achristensen@webkit.org>
727
728         Remove the HTTPSUpgradeEnabled experimental feature
729         https://bugs.webkit.org/show_bug.cgi?id=222706
730
731         Reviewed by Simon Fraser.
732
733         It was a good experimental implementation, but the feature is now implemented in makeSecureIfNecessary
734         and turned on and off by WKWebViewConfiguration.upgradeKnownHostsToHTTPS.
735
736         * Scripts/Preferences/WebPreferencesExperimental.yaml:
737
738 2021-03-04  Chris Dumez  <cdumez@apple.com>
739
740         [macOS][WK2] Changing the system language does not update navigator.language
741         https://bugs.webkit.org/show_bug.cgi?id=222619
742
743         Reviewed by Per Arne Vollan.
744
745         Update WTF::languageDidChange() to clear preferredLanguages() on Cocoa platforms
746         so that we get updated values from the system the next time
747         platformUserPreferredLanguages() is called.
748
749         platformUserPreferredLanguages() used to implicitly register a AppleLanguagePreferencesChangedNotification
750         listener. We've now made this registering opt-in by moving it to a separate
751         listenForLanguageChangeNotifications() function. This function is getting called
752         on Mac WK1 and WK2 when CFPREFS_DIRECT_MODE is disabled (legacy).
753         When CFPREFS_DIRECT_MODE is enabled in WK2, we don't want/need to listen for this
754         notification because the AppleLanguages preference gets pushed by the UIProcess
755         down to the WebProcesses. Even though we could listen for this notification,
756         the WebProcess would not have the latest AppleLanguages preference when receiving
757         the notification. This would cause us to fire the languagechange event at the
758         Window too early and navigator.language would keep returning the old language.
759         For WK2 with CFPREFS_DIRECT_MODE enabled, we now explicitly call
760         WTF::languageDidChange() when the "AppleLanguages" preference gets sync'd from
761         the UIProcess instead.
762
763         * wtf/Language.cpp:
764         (WTF::languageDidChange):
765         (WTF::platformLanguageDidChange):
766         * wtf/Language.h:
767         * wtf/cf/LanguageCF.cpp:
768         (WTF::languagePreferencesDidChange):
769         (WTF::platformLanguageDidChange):
770         (WTF::listenForLanguageChangeNotifications):
771         (WTF::platformUserPreferredLanguages):
772
773 2021-03-04  Chris Dumez  <cdumez@apple.com>
774
775         Set ownership of IOSurfaces from the GPUProcess instead of the WebProcess
776         https://bugs.webkit.org/show_bug.cgi?id=222391
777         <rdar://74748353>
778
779         Reviewed by Simon Fraser.
780
781         Add HAVE_IOSURFACE_SET_OWNERSHIP_IDENTITY feature flag to protect uses of the
782         new IOSurfaceSetOwnershipIdentity() SPI.
783
784         * wtf/PlatformHave.h:
785
786 2021-03-03  Alex Christensen  <achristensen@webkit.org>
787
788         Limit HashTable entry size to 500 bytes
789         https://bugs.webkit.org/show_bug.cgi?id=222658
790
791         Reviewed by Yusuke Suzuki.
792
793         * wtf/HashTable.h:
794         (WTF::KeyTraits>::inlineLookup):
795
796 2021-03-03  Yusuke Suzuki  <ysuzuki@apple.com>
797
798         [JSC] ENABLE(JIT_CAGE) requires HAVE(JIT_CAGE)
799         https://bugs.webkit.org/show_bug.cgi?id=222695
800
801         Reviewed by Saam Barati.
802
803         HAVE(JIT_CAGE) is internally defined. We use HAVE(JIT_CAGE) when defining ENABLE(JIT_CAGE).
804
805         * wtf/PlatformEnable.h:
806
807 2021-03-03  Chris Dumez  <cdumez@apple.com>
808
809         Unreviewed, reverting r273851.
810
811         Caused some tests failures on macOS Big Sur
812
813         Reverted changeset:
814
815         "[macOS][WK2] Changing the system language does not update
816         navigator.language"
817         https://bugs.webkit.org/show_bug.cgi?id=222619
818         https://commits.webkit.org/r273851
819
820 2021-03-03  Ryan Haddad  <ryanhaddad@apple.com>
821
822         Unreviewed, reverting r273832.
823
824         26 inspector tests failing a new assert added with this change
825
826         Reverted changeset:
827
828         "Limit HashTable entry size to 500 bytes"
829         https://bugs.webkit.org/show_bug.cgi?id=222658
830         https://commits.webkit.org/r273832
831
832 2021-03-03  Chris Dumez  <cdumez@apple.com>
833
834         [macOS][WK2] Changing the system language does not update navigator.language
835         https://bugs.webkit.org/show_bug.cgi?id=222619
836
837         Reviewed by Per Arne Vollan.
838
839         Update WTF::languageDidChange() to clear preferredLanguages() on Cocoa platforms
840         so that we get updated values from the system the next time
841         platformUserPreferredLanguages() is called.
842
843         platformUserPreferredLanguages() used to implicitly register a AppleLanguagePreferencesChangedNotification
844         listener. We've now made this registering opt-in by moving it to a separate
845         listenForLanguageChangeNotifications() function. This function is getting called
846         on Mac WK1 and WK2 when CFPREFS_DIRECT_MODE is disabled (legacy).
847         When CFPREFS_DIRECT_MODE is enabled in WK2, we don't want/need to listen for this
848         notification because the AppleLanguages preference gets pushed by the UIProcess
849         down to the WebProcesses. Even though we could listen for this notification,
850         the WebProcess would not have the latest AppleLanguages preference when receiving
851         the notification. This would cause us to fire the languagechange event at the
852         Window too early and navigator.language would keep returning the old language.
853         For WK2 with CFPREFS_DIRECT_MODE enabled, we now explicitly call
854         WTF::languageDidChange() when the "AppleLanguages" preference gets sync'd from
855         the UIProcess instead.
856
857         * wtf/Language.cpp:
858         (WTF::languageDidChange):
859         (WTF::platformLanguageDidChange):
860         * wtf/Language.h:
861         * wtf/cf/LanguageCF.cpp:
862         (WTF::languagePreferencesDidChange):
863         (WTF::platformLanguageDidChange):
864         (WTF::listenForLanguageChangeNotifications):
865         (WTF::platformUserPreferredLanguages):
866
867 2021-03-03  Yusuke Suzuki  <ysuzuki@apple.com>
868
869         [WTF] Add System.framework PrivateHeaders to header path of WTF
870         https://bugs.webkit.org/show_bug.cgi?id=222688
871
872         Reviewed by Tim Horton.
873
874         The other non-third-party components excluding WTF have System.framework PrivateHeaders in their header search path.
875         This causes the problem that we cannot use some system headers (e.g. `<machine/cpu_capabilities.h>`) in WTF while it is
876         usable in JavaScriptCore and the other components. This patch adds it as the other components did.
877
878         * Configurations/Base.xcconfig:
879
880 2021-03-03  Michael Catanzaro  <mcatanzaro@gnome.org>
881
882         std::is_literal_type causes -Wdeprecated-declarations warning with GCC 11
883         https://bugs.webkit.org/show_bug.cgi?id=220662
884         <rdar://problem/73509470>
885
886         Reviewed by Darin Adler.
887
888         Ignore the warning. It would be better to not use the deprecated std::is_literal_type, but
889         this works for now.
890
891         * wtf/Variant.h:
892
893 2021-03-03  Tim Horton  <timothy_horton@apple.com>
894
895         Modernize WebKit2 PDFKit softlinking
896         https://bugs.webkit.org/show_bug.cgi?id=222643
897
898         Reviewed by Alex Christensen.
899
900         * wtf/PlatformHave.h:
901
902 2021-03-03  Alex Christensen  <achristensen@webkit.org>
903
904         Limit HashTable entry size to 500 bytes
905         https://bugs.webkit.org/show_bug.cgi?id=222658
906
907         Reviewed by Yusuke Suzuki.
908
909         * wtf/HashTable.h:
910         (WTF::KeyTraits>::inlineLookup):
911
912 2021-03-03  Youenn Fablet  <youenn@apple.com>
913
914         WebKitLegacy needs to keep JSDOMWindow even though it is used while its origin is not set
915         https://bugs.webkit.org/show_bug.cgi?id=222589
916         <rdar://problem/74258258>
917
918         Reviewed by Geoffrey Garen.
919
920         * Scripts/Preferences/WebPreferencesInternal.yaml:
921         Introduce a flag, on for WebKit and off for WebKitLegacy.
922
923 2021-03-02  Simon Fraser  <simon.fraser@apple.com>
924
925         Rename ForcePageRenderingUpdatesAt60FPSEnabled preference to PreferPageRenderingUpdatesNear60FPSEnabled
926         https://bugs.webkit.org/show_bug.cgi?id=222580.
927
928         Reviewed by Tim Horton.
929
930         PreferPageRenderingUpdatesNear60FPSEnabled is a better description of what the preference does.
931
932         * Scripts/Preferences/WebPreferencesInternal.yaml:
933
934 2021-03-02  Youenn Fablet  <youenn@apple.com>
935
936         Enable MEDIA_SOURCE in IOS Simulator
937         https://bugs.webkit.org/show_bug.cgi?id=222041
938
939         Reviewed by Eric Carlson.
940
941         * Scripts/Preferences/WebPreferences.yaml:
942         Move this settings out of ENABLE(MEDIA_SOURCE) to allow existing binding code to compile.
943         * wtf/PlatformEnableCocoa.h:
944
945 2021-03-01  Truitt Savell  <tsavell@apple.com>
946
947         Unreviewed, reverting r273655.
948
949         Broke internal Mac
950
951         Reverted changeset:
952
953         "Set ownership of IOSurfaces from the GPUProcess instead of
954         the WebProcess"
955         https://bugs.webkit.org/show_bug.cgi?id=222391
956         https://commits.webkit.org/r273655
957
958 2021-03-01  Sam Weinig  <weinig@apple.com>
959
960         Add alternate, non-named-getter based, implementation of CSSStyleDeclaration back into WebCore
961         https://bugs.webkit.org/show_bug.cgi?id=222517
962
963         Reviewed by Darin Adler.
964
965         * wtf/PlatformEnable.h:
966         Add new off by default ENABLE flag ENABLE(ATTRIBUTE_BASED_PROPERTIES_FOR_CSS_STYLE_DECLARATION) which indicates
967         that we should use the new attribute based implementation of property getter/setters of CSSStyleDeclaration.
968         Once we remove the compile time and binary size regressions, we can enable this and remove the macro.
969
970 2021-03-01  Sam Weinig  <weinig@apple.com>
971
972         Add experimental support for CSS Color 5 color-contrast()
973         https://bugs.webkit.org/show_bug.cgi?id=222530
974
975         Reviewed by Simon Fraser.
976
977         * Scripts/Preferences/WebPreferencesExperimental.yaml:
978         Add new experimental preference for CSS Color 5 color-contrast()
979         which is off by default.
980
981 2021-02-25  Simon Fraser  <simon.fraser@apple.com>
982
983         Remove ENABLE_WEBPROCESS_WINDOWSERVER_BLOCKING which is always true for macOS
984         https://bugs.webkit.org/show_bug.cgi?id=222459
985
986         Reviewed by Sam Weinig.
987
988         ENABLE_WEBPROCESS_WINDOWSERVER_BLOCKING is always defined for PLATFORM(MAC), so remove it,
989         replacing with PLATFORM(MAC) in a few places. In order to reduce the number PLATFORM(MAC), define
990         HAVE(CVDISPLAYLINK) and use it in WK2 code that relates to DisplayLinks.
991
992         * wtf/PlatformEnable.h:
993         * wtf/PlatformEnableCocoa.h:
994         * wtf/PlatformHave.h:
995
996 2021-03-01  Chris Dumez  <cdumez@apple.com>
997
998         Set ownership of IOSurfaces from the GPUProcess instead of the WebProcess
999         https://bugs.webkit.org/show_bug.cgi?id=222391
1000         <rdar://74748353>
1001
1002         Reviewed by Simon Fraser.
1003
1004         Add HAVE_IOSURFACE_SET_OWNERSHIP_IDENTITY feature flag to protect uses of the
1005         new IOSurfaceSetOwnershipIdentity() SPI.
1006
1007         * wtf/PlatformHave.h:
1008
1009 2021-02-26  Carlos Garcia Campos  <cgarcia@igalia.com>
1010
1011         [GTK][WPE] Bump libsoup3 version to 2.99.1
1012         https://bugs.webkit.org/show_bug.cgi?id=222413
1013
1014         Reviewed by Adrian Perez de Castro.
1015
1016         * wtf/Platform.h: Set minimum required version to 2.99
1017
1018 2021-02-25  Commit Queue  <commit-queue@webkit.org>
1019
1020         Unreviewed, reverting r273503.
1021         https://bugs.webkit.org/show_bug.cgi?id=222442
1022
1023         Caused a blob loading failure
1024
1025         Reverted changeset:
1026
1027         "Serialize NSURLRequest (rather than CFURLRequest) in IPC"
1028         https://bugs.webkit.org/show_bug.cgi?id=222145
1029         https://trac.webkit.org/changeset/273503
1030
1031 2021-02-25  Alex Christensen  <achristensen@webkit.org>
1032
1033         Add stubs to enable SafariForWebKitDevelopment to launch
1034         https://bugs.webkit.org/show_bug.cgi?id=222388
1035
1036         Reviewed by Myles Maxfield
1037
1038         * wtf/PlatformHave.h:
1039         * wtf/text/WTFString.h:
1040         * wtf/text/cocoa/StringCocoa.mm:
1041         (WTF::String::String):
1042
1043 2021-02-25  Brent Fulgham  <bfulgham@apple.com>
1044
1045         Serialize NSURLRequest (rather than CFURLRequest) in IPC
1046         https://bugs.webkit.org/show_bug.cgi?id=222145
1047         <rdar://problem/74500963>
1048
1049         Reviewed by Darin Adler.
1050
1051         URLWithData does an early return when the leading character in the URL is '/',
1052         signifying a file path. However, URLs of the form "//cdn.domain.com" are often
1053         encountered, and RFC 3986 does not prohibit them. We should only do an early
1054         return if the character after the initial '/' is not also '/'.
1055
1056         * wtf/cocoa/NSURLExtras.mm:
1057         (WTF::URLWithData):
1058
1059 2021-02-24  Sam Weinig  <weinig@apple.com>
1060
1061         Add platform enable for separated model investigation
1062         https://bugs.webkit.org/show_bug.cgi?id=222383
1063
1064         Reviewed by Dean Jackson.
1065
1066         * wtf/PlatformEnableCocoa.h:
1067         Add define.
1068
1069 2021-02-23  Don Olmstead  <don.olmstead@sony.com>
1070
1071         [CMake] Fix JSCOnly build on Windows
1072         https://bugs.webkit.org/show_bug.cgi?id=222316
1073
1074         Reviewed by Michael Catanzaro.
1075
1076         Update sources for the JSCOnly Windows build.
1077
1078         * wtf/PlatformJSCOnly.cmake:
1079
1080 2021-02-22  Chris Dumez  <cdumez@apple.com>
1081
1082         Prepare for memory ownership transfer in the GPUProcess
1083         https://bugs.webkit.org/show_bug.cgi?id=222122
1084
1085         Reviewed by Simon Fraser.
1086
1087         * wtf/PlatformHave.h:
1088         Add feature flag for TASK_IDENTITY_TOKEN as this API was only
1089         introduced very recently.
1090
1091         * wtf/MachSendRight.h:
1092         * wtf/cocoa/MachSendRight.cpp:
1093         (WTF::MachSendRight::MachSendRight):
1094         (WTF::MachSendRight::operator=):
1095         Add a copy constructor to MachSendRight for convenience.
1096
1097 2021-02-22  Sam Weinig  <weinig@apple.com>
1098
1099         Add experimental support for CSS Color 5 color-mix()
1100         https://bugs.webkit.org/show_bug.cgi?id=222258
1101
1102         Reviewed by Antti Koivisto.
1103
1104         * Scripts/Preferences/WebPreferencesExperimental.yaml:
1105         Add new experimental preference for CSS Color 5 color-mix()
1106         which is off by default.
1107
1108 2021-02-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1109
1110         [SOUP] Add support for libsoup3
1111         https://bugs.webkit.org/show_bug.cgi?id=222093
1112
1113         Reviewed by Adrian Perez de Castro.
1114
1115         * wtf/Platform.h:
1116         * wtf/URL.h:
1117         * wtf/glib/GRefPtr.cpp:
1118         (WTF::refGPtr):
1119         (WTF::derefGPtr):
1120         * wtf/glib/GRefPtr.h:
1121         * wtf/glib/URLGLib.cpp:
1122         (WTF::URL::URL):
1123         (WTF::URL::createGUri const):
1124
1125 2021-02-22  Fujii Hironori  <Hironori.Fujii@sony.com>
1126
1127         RunLoop::threadWillExit is doing m_nextIteration.clear() without locking m_nextIterationLock
1128         https://bugs.webkit.org/show_bug.cgi?id=221115
1129
1130         Reviewed by Yusuke Suzuki.
1131
1132         GKT and WPE ports were observing a random assertion failure in
1133         Deque::append in RunLoop::dispatch.
1134
1135         * wtf/RunLoop.cpp:
1136         (WTF::RunLoop::threadWillExit): Lock m_nextIterationLock before doing m_nextIteration.clear().
1137
1138 2021-02-21  Simon Fraser  <simon.fraser@apple.com>
1139
1140         Re-enable Paint Timing
1141         https://bugs.webkit.org/show_bug.cgi?id=211736
1142
1143         Reviewed by Noam Rosenthal.
1144
1145         Now that bug 222245 is fixed in r273220, re-enable Paint Timing
1146         (aka First Contentful Paint.)
1147
1148         * Scripts/Preferences/WebPreferencesEfxperimental.yaml:
1149
1150 2021-02-20  Jiewen Tan  <jiewen_tan@apple.com>
1151
1152         PCM: Turn the fraud prevention on by default
1153         https://bugs.webkit.org/show_bug.cgi?id=222224
1154         <rdar://problem/73588234>
1155
1156         Reviewed by John Wilander.
1157
1158         * Scripts/Preferences/WebPreferencesExperimental.yaml:
1159
1160 2021-02-20  Said Abou-Hallawa  <said@apple.com>
1161
1162         Make PaintTimingEnabled default to false
1163         https://bugs.webkit.org/show_bug.cgi?id=222186
1164
1165         Reviewed by Simon Fraser.
1166
1167         PaintTiming causes about 4% regression in the MotionMark sub-tests:
1168         Multiply and Focus. Do disable it for now.
1169
1170         * Scripts/Preferences/WebPreferencesExperimental.yaml:
1171
1172 2021-02-19  Wenson Hsieh  <wenson_hsieh@apple.com>
1173
1174         [iOS] Specify a _UIDataOwner when reading or writing from the system pasteboard
1175         https://bugs.webkit.org/show_bug.cgi?id=222072
1176         <rdar://problem/74208576>
1177
1178         Reviewed by Devin Rousso.
1179
1180         * wtf/PlatformHave.h:
1181
1182         Turn several compile-time guards previously in `PlatformPasteboardIOS.mm` into `HAVE()`-s.
1183
1184 2021-02-16  Jiewen Tan  <jiewen_tan@apple.com>
1185
1186         PCM: Generate secret token and corresponding unlinkable token
1187         https://bugs.webkit.org/show_bug.cgi?id=222019
1188         <rdar://problem/73581412>
1189
1190         Reviewed by John Wilander.
1191
1192         * wtf/PlatformHave.h:
1193         Adds a compile time flag for RSABSSA.
1194
1195 2021-02-19  Jer Noble  <jer.noble@apple.com>
1196
1197         [Cocoa] Enable Opus decode support by default
1198         https://bugs.webkit.org/show_bug.cgi?id=222131
1199
1200         Reviewed by Eric Carlson.
1201
1202         * Scripts/Preferences/WebPreferencesExperimental.yaml:
1203
1204 2021-02-19  Aditya Keerthi  <akeerthi@apple.com>
1205
1206         [iOS][FCR] Enable the new appearance by default
1207         https://bugs.webkit.org/show_bug.cgi?id=222015
1208         <rdar://problem/74415537>
1209
1210         Reviewed by Wenson Hsieh.
1211
1212         * Scripts/Preferences/WebPreferencesInternal.yaml:
1213
1214         Enable the iOS Form Control Refresh.
1215
1216 2021-02-18  Sam Weinig  <weinig@apple.com>
1217
1218         Add experimental support for CSS Color 5 Relative Color Syntax
1219         https://bugs.webkit.org/show_bug.cgi?id=221880
1220
1221         Reviewed by Darin Adler.
1222
1223         * Scripts/Preferences/WebPreferencesExperimental.yaml:
1224         Add new experimental preference for CSS Color 5 Relative Color Syntax
1225         which is off by default.
1226
1227 2021-02-18  Youenn Fablet  <youenn@apple.com>
1228
1229         Set ENABLE_VP9 to 1 on IOS
1230         https://bugs.webkit.org/show_bug.cgi?id=222042
1231         <rdar://problem/74433523>
1232
1233         Reviewed by Eric Carlson.
1234
1235         * wtf/PlatformEnableCocoa.h:
1236
1237 2021-02-18  Devin Rousso  <drousso@apple.com>
1238
1239         Experiment with using the theme-color as the scroll area background if provided
1240         https://bugs.webkit.org/show_bug.cgi?id=222078
1241         <rdar://problem/74158818>
1242
1243         Reviewed by Tim Horton.
1244
1245         * Scripts/Preferences/WebPreferencesInternal.yaml:
1246
1247 2021-02-18  Chris Dumez  <cdumez@apple.com>
1248
1249         Unreviewed tiny cleanup after r273056.
1250
1251         * wtf/Forward.h:
1252
1253 2021-02-17  Sam Weinig  <weinig@apple.com>
1254
1255         Enable separated graphics layer experiments on internal variant
1256         https://bugs.webkit.org/show_bug.cgi?id=222088
1257
1258         Reviewed by Dean Jackson.
1259
1260         * wtf/PlatformEnableCocoa.h:
1261
1262 2021-02-18  Antoine Quint  <graouts@webkit.org>
1263
1264         Page updates and rAF callbacks should run at a frequency close to 60Hz on high refresh-rate displays
1265         https://bugs.webkit.org/show_bug.cgi?id=221673
1266         <rdar://problem/72398605>
1267
1268         Reviewed by Simon Fraser.
1269
1270         Add a new internal preference to force the refresh rate for page rendering updates to 60fps
1271         rather than use the display's refresh rate. This setting defaults to false.
1272
1273         * Scripts/Preferences/WebPreferencesInternal.yaml:
1274
1275 2021-02-17  Chris Dumez  <cdumez@apple.com>
1276
1277         Unreviewed, address post-landing review comments from Darin Adler for r273046.
1278
1279         * wtf/Forward.h:
1280
1281 2021-02-17  Chris Dumez  <cdumez@apple.com>
1282
1283         DumpRenderTree's createWebViewAndOffscreenWindow() should return a RetainPtr
1284         https://bugs.webkit.org/show_bug.cgi?id=222068
1285
1286         Reviewed by Sam Weinig.
1287
1288         * wtf/Forward.h:
1289
1290 2021-02-17  Dean Jackson  <dino@apple.com>
1291
1292         Use element fullscreen for video on some configurations
1293         https://bugs.webkit.org/show_bug.cgi?id=222048
1294         <rdar://problem/74439214>
1295
1296         Reviewed by Sam Weinig.
1297
1298         * wtf/PlatformEnableCocoa.h:
1299
1300 2021-02-17  Per Arne  <pvollan@apple.com>
1301
1302         [macOS] Deny mach-lookup to the fonts service
1303         https://bugs.webkit.org/show_bug.cgi?id=221610
1304         <rdar://problem/69168609>
1305
1306         Reviewed by Brent Fulgham.
1307
1308         Add HAVE define for platform static font registry.
1309
1310         * wtf/PlatformHave.h:
1311
1312 2021-02-17  Wenson Hsieh  <wenson_hsieh@apple.com>
1313
1314         [macOS] Introduce a new context menu item to preview images
1315         https://bugs.webkit.org/show_bug.cgi?id=221917
1316         <rdar://problem/74363578>
1317
1318         Reviewed by Darin Adler and Tim Horton.
1319
1320         Add a new soft-linking macro to optionally link against an umbrella framework.
1321
1322         * wtf/cocoa/SoftLinking.h:
1323
1324 2021-02-16  Sam Weinig  <weinig@apple.com>
1325
1326         Add CSS property to enable separated bit on GraphicsLayer
1327         https://bugs.webkit.org/show_bug.cgi?id=222010
1328
1329         Reviewed by Dean Jackson.
1330
1331         Add internal access to the separated bit on graphics layer via a 
1332         new "optimized-3d" transform-style. This is all off by default and
1333         is expected to change, but is useful and non-invasive for experimentation.
1334
1335         * Scripts/Preferences/WebPreferencesExperimental.yaml:
1336         * wtf/PlatformEnable.h:
1337
1338 2021-02-16  Chris Dumez  <cdumez@apple.com>
1339
1340         Clients of ARC-dependent WTF functions may get incorrect/crashy behavior
1341         https://bugs.webkit.org/show_bug.cgi?id=222004
1342         <rdar://73620184>
1343
1344         Reviewed by Geoffrey Garen.
1345
1346         ARC is enabled in WTF but not in our other frameworks. This can lead to bad/crashy
1347         behavior. To address the issue, renames functions like adoptNS() to adoptNSArc()
1348         when ARC is enabled, via a #define.
1349
1350         This patch was written by Geoff Garen.
1351
1352         * wtf/BlockPtr.h:
1353         * wtf/OSObjectPtr.h:
1354         * wtf/RetainPtr.h:
1355         * wtf/WeakObjCPtr.h:
1356
1357 2021-02-16  Manuel Rego Casasnovas  <rego@igalia.com>
1358
1359         [selectors] :focus-visible parsing and experimental flag
1360         https://bugs.webkit.org/show_bug.cgi?id=221895
1361
1362         Reviewed by Darin Adler.
1363
1364         * Scripts/Preferences/WebPreferencesExperimental.yaml: Add experimental feature flag.
1365
1366 2021-02-16  Yusuke Suzuki  <ysuzuki@apple.com>
1367
1368         [JSC] Enable JITCage on macOS
1369         https://bugs.webkit.org/show_bug.cgi?id=221805
1370         <rdar://problem/74153806>
1371
1372         Reviewed by Mark Lam.
1373
1374         Enable JIT_CAGE when macOS is 120000 or higher with ARM64E.
1375
1376         * wtf/PlatformEnable.h:
1377
1378 2021-02-15  Per Arne  <pvollan@apple.com>
1379
1380         [macOS] Close XPC connections before entering sandbox
1381         https://bugs.webkit.org/show_bug.cgi?id=221905
1382         <rdar://problem/70359582>
1383
1384         Reviewed by Brent Fulgham.
1385
1386         Add softlinking macro for libraries in /usr/lib/system/.
1387
1388         * wtf/cocoa/SoftLinking.h:
1389
1390 2021-02-15  Michael Saboff  <msaboff@apple.com>
1391
1392         [ARM64] Change break instruction comment to indicate possible security failure
1393         https://bugs.webkit.org/show_bug.cgi?id=221936
1394
1395         Reviewed by Mark Lam.
1396
1397         Change the ASSERT break comment immediate to the same value the C++ compiler uses.
1398
1399         * wtf/Assertions.cpp:
1400         * wtf/Assertions.h:
1401
1402 2021-02-15  Said Abou-Hallawa  <said@apple.com>
1403
1404         [GPU Process] Ensure that no image decoders run in the GPU Process
1405         https://bugs.webkit.org/show_bug.cgi?id=221885
1406         <rdar://problem/74341122>
1407
1408         Reviewed by Simon Fraser.
1409
1410         CGImageSourceSetAllowableTypes() is available starting from macOS Big Sur
1411         and iOS 14.0.
1412
1413         * wtf/PlatformHave.h:
1414
1415 2021-02-15  Michael Saboff  <msaboff@apple.com>
1416
1417         REGRESSION r272823):  Crash in ARM64e Wasm tests
1418         https://bugs.webkit.org/show_bug.cgi?id=221922
1419
1420         Reviewed by Mark Lam.
1421
1422         Updated to properly compute the size of thread_state_t as well as the offset of 
1423         the PC found in thread_state_t.
1424
1425         * wtf/threads/Signals.cpp:
1426         (WTF::hashThreadState):
1427
1428 2021-02-15  Commit Queue  <commit-queue@webkit.org>
1429
1430         Unreviewed, reverting r272831.
1431         https://bugs.webkit.org/show_bug.cgi?id=221907
1432
1433         breaking internal build
1434
1435         Reverted changeset:
1436
1437         "[JSC] Enable JITCage on macOS"
1438         https://bugs.webkit.org/show_bug.cgi?id=221805
1439         https://trac.webkit.org/changeset/272831
1440
1441 2021-02-15  Youenn Fablet  <youenn@apple.com>
1442
1443         Move WebRTCPlatformCodecsInGPUProcessEnabled to Page Settings
1444         https://bugs.webkit.org/show_bug.cgi?id=221893
1445
1446         Reviewed by Eric Carlson.
1447
1448         * Scripts/Preferences/WebPreferencesExperimental.yaml:
1449
1450 2021-02-15  Lauro Moura  <lmoura@igalia.com>
1451
1452         REGRESSION(r272842) [GStreamer] Layout tests exiting early due to crashes after GPUProcess for media enabled by default for WTR
1453         https://bugs.webkit.org/show_bug.cgi?id=221883
1454
1455         Reviewed by Philippe Normand.
1456
1457         * Scripts/Preferences/WebPreferencesExperimental.yaml: Disable
1458         UseGPUProcessForMediaEnabled when using GStreamer for now.
1459
1460 2021-02-14  Peng Liu  <peng.liu6@apple.com>
1461
1462         [GPUP] Move UseGPUProcessForMediaEnabled from WebPreferencesInternal to WebPreferencesExperimental
1463         https://bugs.webkit.org/show_bug.cgi?id=221310
1464
1465         Reviewed by Eric Carlson.
1466
1467         Move UseGPUProcessForMediaEnabled from WebPreferencesInternal to WebPreferencesExperimental,
1468         so that the WebKitTestRunner will turn it on by default.
1469
1470         * Scripts/Preferences/WebPreferencesExperimental.yaml:
1471         * Scripts/Preferences/WebPreferencesInternal.yaml:
1472
1473 2021-02-12  Yusuke Suzuki  <ysuzuki@apple.com>
1474
1475         [JSC] Enable JITCage on macOS
1476         https://bugs.webkit.org/show_bug.cgi?id=221805
1477         <rdar://problem/74153806>
1478
1479         Reviewed by Mark Lam.
1480
1481         Enable JIT_CAGE when macOS is 120000 or higher with ARM64E.
1482
1483         * wtf/PlatformEnable.h:
1484
1485 2021-02-12  Michael Saboff  <msaboff@apple.com>
1486
1487         [ARM64e] Harden Mach exception handling
1488         https://bugs.webkit.org/show_bug.cgi?id=221841
1489
1490         Reviewed by Geoffrey Garen.
1491
1492         For Darwin ARM64e platforms, we check to make sure that all thread state besides the PC hasn't
1493         been modified by an exception handler.
1494
1495         * wtf/threads/Signals.cpp:
1496         (WTF::hashThreadState):
1497
1498 2021-02-11  Jer Noble  <jer.noble@apple.com>
1499
1500         [Mac] Add Experimental Opus Codec support
1501         https://bugs.webkit.org/show_bug.cgi?id=221745
1502
1503         Reviewed by Eric Carlson.
1504
1505         Add a new experimental feature setting, disabled by default, controlling whether to
1506         enable parsing of Opus tracks from WebM files.
1507
1508         * Scripts/Preferences/WebPreferencesExperimental.yaml:
1509         * wtf/PlatformEnableCocoa.h:
1510
1511 2021-02-11  Alex Christensen  <achristensen@webkit.org>
1512
1513         Reduce string copies when converting from NSString/CFStringRef to WTF::String
1514         https://bugs.webkit.org/show_bug.cgi?id=221766
1515
1516         Reviewed by Geoff Garen.
1517
1518         This reduces the string copies from two to one which should speed up many things.
1519         The cost is that for non-Latin1-encodable strings of length less than 1024, we now do an allocation
1520         and a reallocation, whereas before we were doing just one allocation.  I think even in this case, though,
1521         the cost of a reallocation should be comparable to the cost of doing a double string copy,
1522         and the benefit of reducing a string copy everywhere is compelling.
1523
1524         I also reduced duplicate code by combining the CF and NS implementations.
1525
1526         * wtf/text/WTFString.h:
1527         * wtf/text/cf/StringCF.cpp:
1528         (WTF::String::String):
1529         * wtf/text/cocoa/StringCocoa.mm:
1530         (WTF::String::String): Deleted.
1531
1532 2021-02-11  Sam Weinig  <weinig@apple.com>
1533
1534         Returning sRGB from CG color space functions on failure is too error prone
1535         https://bugs.webkit.org/show_bug.cgi?id=221676
1536
1537         Reviewed by Darin Adler.
1538
1539         * wtf/PlatformHave.h:
1540         Add specific macros for color spaces supported by Core Graphics.
1541
1542 2021-02-10  Ryosuke Niwa  <rniwa@webkit.org>
1543
1544         Reduce the overhead of DocumentFragment in innerHTML & outerHTML
1545         https://bugs.webkit.org/show_bug.cgi?id=221535
1546         <rdar://problem/73861015>
1547
1548         Reviewed by Geoffrey Garen.
1549
1550         Added a helper function for writing assertions.
1551
1552         * wtf/WeakPtr.h:
1553         (WTF::WeakPtrFactory::isInitialized const): Added.
1554
1555 2021-02-10  Wenson Hsieh  <wenson_hsieh@apple.com>
1556
1557         Use HAVE(PEPPER_UI_CORE) instead of PLATFORM(WATCHOS) to guard code that uses PepperUICore
1558         https://bugs.webkit.org/show_bug.cgi?id=221679
1559
1560         Reviewed by Tim Horton.
1561
1562         Add the `HAVE(PEPPER_UI_CORE)` compile-time flag.
1563
1564         * wtf/PlatformHave.h:
1565
1566 2021-02-10  Wenson Hsieh  <wenson_hsieh@apple.com>
1567
1568         [watchOS] Adopt PUICQuickboardController for text input
1569         https://bugs.webkit.org/show_bug.cgi?id=221649
1570
1571         Reviewed by Tim Horton.
1572
1573         Add a new internal setting. See other ChangeLogs for more detail.
1574
1575         * Scripts/Preferences/WebPreferencesInternal.yaml:
1576
1577 2021-02-09  Devin Rousso  <drousso@apple.com>
1578
1579         [iOS] Add support for the language/subtitle tracks button using `UIMenu`
1580         https://bugs.webkit.org/show_bug.cgi?id=221594
1581         <rdar://problem/74129129>
1582
1583         Reviewed by Eric Carlson and Wenson Hsieh.
1584
1585         * Scripts/Preferences/WebPreferences.yaml:
1586         Create a `MediaControlsContextMenusEnabled` setting for guarding an IDL hook to WK2 only.
1587
1588 2021-02-09  Yusuke Suzuki  <ysuzuki@apple.com>
1589
1590         REGRESSION(r269017): Speedometer2 1% regression
1591         https://bugs.webkit.org/show_bug.cgi?id=221640
1592
1593         Reviewed by Mark Lam.
1594
1595         Reverting r269017, r269478, and r272095 because of Speedometer2 ~1% regression.
1596
1597         * wtf/HashTable.h:
1598         (WTF::KeyTraits>::inlineLookup):
1599         (WTF::KeyTraits>::lookupForWriting):
1600         (WTF::KeyTraits>::fullLookupForWriting):
1601         (WTF::KeyTraits>::addUniqueForInitialization):
1602         (WTF::KeyTraits>::add):
1603         * wtf/HashTraits.h:
1604         * wtf/MetaAllocator.cpp:
1605         (WTF::MetaAllocator::addFreeSpace):
1606         * wtf/MetaAllocator.h:
1607
1608 2021-02-09  Eric Carlson  <eric.carlson@apple.com>
1609
1610         [macOS] Add internal preference to control how AVOutputContext is allocated
1611         https://bugs.webkit.org/show_bug.cgi?id=221583
1612         <rdar://73830632>
1613
1614         Reviewed by Jer Noble.
1615
1616         * Scripts/Preferences/WebPreferencesInternal.yaml:
1617
1618 2021-02-06  Alex Christensen  <achristensen@webkit.org>
1619
1620         Non-special URLs should have an opaque origin
1621         https://bugs.webkit.org/show_bug.cgi?id=162254
1622
1623         Reviewed by Geoff Garen.
1624
1625         * wtf/URL.h:
1626
1627 2021-02-04  David Kilzer  <ddkilzer@apple.com>
1628
1629         WTF::dynamic_cf_cast<> should not assert in Debug builds
1630         <https://webkit.org/b/221428>
1631         <rdar://problem/73451079>
1632
1633         Reviewed by Geoff Garen.
1634
1635         * wtf/cf/TypeCastsCF.h:
1636         (WTF::dynamic_cf_cast):
1637         - Remove ASSERT_WITH_SECURITY_IMPLICATION().
1638         (WTF::checked_cf_cast):
1639         - Add comments about how to use these template functions
1640           correctly.
1641
1642 2021-02-03  Alex Christensen  <achristensen@webkit.org>
1643
1644         Fix Catalyst build after r272228
1645         https://bugs.webkit.org/show_bug.cgi?id=220683
1646         <rdar://problem/73940814>
1647
1648         * wtf/PlatformHave.h:
1649         Turn off our use of UIEventAttribution on Catalyst until we update our internal bots.
1650
1651 2021-02-03  Jiewen Tan  <jiewen_tan@apple.com>
1652
1653         PCM: Add fraud prevention experimental feature flag
1654         https://bugs.webkit.org/show_bug.cgi?id=221292
1655         <rdar://problem/73581064>
1656
1657         Reviewed by John Wilander.
1658
1659         * Scripts/Preferences/WebPreferencesExperimental.yaml:
1660
1661 2021-02-03  Kimmo Kinnunen  <kkinnunen@apple.com>
1662
1663         MachSemaphore does not work well with IPC messages
1664         https://bugs.webkit.org/show_bug.cgi?id=220919
1665         <rdar://problem/73826848>
1666
1667         Reviewed by Sam Weinig.
1668
1669         Move WTF::MachSemaphore to WebKit IPC::Semaphore. Currently the
1670         MachSemaphore is useful only in cross-process IPC, implemented by the
1671         IPC::.
1672
1673         * WTF.xcodeproj/project.pbxproj:
1674
1675 2021-02-02  Said Abou-Hallawa  <said@apple.com>
1676
1677         [macOS] Force loading the HEIF reader symbols before transcoding any HEIF image
1678         https://bugs.webkit.org/show_bug.cgi?id=221191
1679         <rdar://problem/70942158>
1680
1681         Reviewed by Tim Horton.
1682
1683         Add a HAVE macro for the fix of <rdar://problem/59589723>.
1684
1685         * wtf/PlatformHave.h:
1686
1687 2021-02-02  Alex Christensen  <achristensen@webkit.org>
1688
1689         Adopt UIEventAttribution instead of _UIEventAttribution
1690         https://bugs.webkit.org/show_bug.cgi?id=220683
1691
1692         Reviewed by John Wilander.
1693
1694         * wtf/PlatformHave.h:
1695
1696 2021-02-02  Carlos Garcia Campos  <cgarcia@igalia.com>
1697
1698         [GTK][WPE] Migrate WebKitTestServer to libsoup 2.48 API
1699         https://bugs.webkit.org/show_bug.cgi?id=219160
1700         <rdar://problem/71620310>
1701
1702         Reviewed by Michael Catanzaro.
1703
1704         * wtf/Platform.h: Bump libsoup minimum required version to 2.54.
1705
1706 2021-02-01  Mark Lam  <mark.lam@apple.com>
1707
1708         ConcurrentPtrHashSet::contains() should be const.
1709         https://bugs.webkit.org/show_bug.cgi?id=221241
1710
1711         Reviewed by Yusuke Suzuki.
1712
1713         * wtf/ConcurrentPtrHashSet.h:
1714
1715 2021-02-01  Jer Noble  <jer.noble@apple.com>
1716
1717         [Cocoa] Disable interstitial events on AVPlayerItem.
1718         https://bugs.webkit.org/show_bug.cgi?id=221215
1719
1720         Reviewed by Eric Carlson.
1721
1722         * wtf/PlatformHave.h:
1723
1724 2021-02-01  Olivier Blin  <olivier.blin@softathome.com>
1725
1726         clang Linux build cannot link because of __builtin_mul_overflow
1727         https://bugs.webkit.org/show_bug.cgi?id=190208
1728
1729         Since r183319, __builtin_mul_overflow is used with gcc or clang in WTF/wtf/CheckedArithmetic.h
1730
1731         This leads to a link failure when WebKit is built on Linux with clang and the libgcc runtime,
1732         because of an undefined reference to the __mulodi4 symbol.
1733
1734         This is because clang generates code using the __mulodi4 symbol for __builtin_mul_overflow.
1735         But this symbol is available only in compiler-rt, and not in the libgcc runtime used by most
1736         Linux distributions of clang.
1737
1738         See also this upstream clang bug: https://bugs.llvm.org/show_bug.cgi?id=28629
1739
1740         Reviewed by Mark Lam.
1741
1742         * wtf/CheckedArithmetic.h: Do not use __builtin_mul_overflow with clang on Linux for ARM
1743
1744 2021-01-31  Yusuke Suzuki  <ysuzuki@apple.com>
1745
1746         Date.parse returns non-integral time value
1747         https://bugs.webkit.org/show_bug.cgi?id=220687
1748
1749         Reviewed by Ross Kirsling.
1750
1751         Use milliseconds instead of seconds as a base unit to avoid floating point rounding for milliseconds.
1752
1753         * wtf/DateMath.cpp:
1754         (WTF::ymdhmsToMilliseconds):
1755         (WTF::parseES5TimePortion):
1756         (WTF::parseES5DateFromNullTerminatedCharacters):
1757         (WTF::parseDateFromNullTerminatedCharacters):
1758         (WTF::ymdhmsToSeconds): Deleted.
1759
1760 2021-01-30  Antti Koivisto  <antti@apple.com>
1761
1762         Enable visibility aware resource load scheduling
1763         https://bugs.webkit.org/show_bug.cgi?id=221032
1764
1765         Reviewed by Zalan Bujtas.
1766
1767         Performance testing indicates this is a significant speedup in competetive PLT.
1768
1769         * Scripts/Preferences/WebPreferencesInternal.yaml:
1770
1771 2021-01-30  Wenson Hsieh  <wenson_hsieh@apple.com>
1772
1773         [macOS] Remove support for image controls
1774         https://bugs.webkit.org/show_bug.cgi?id=221156
1775
1776         Reviewed by Tim Horton.
1777
1778         Remove this unused WebKit setting.
1779
1780         * Scripts/Preferences/WebPreferences.yaml:
1781
1782 2021-01-29  Tadeu Zagallo  <tzagallo@apple.com>
1783
1784         Make check for full HashTables opt-in
1785         https://bugs.webkit.org/show_bug.cgi?id=221166
1786         <rdar://problem/70902458>
1787
1788         Reviewed by Saam Barati and Yusuke Suzuki.
1789
1790         Having the check always on was a regression on Speedometer2, so we only keep it for
1791         the HashMaps in the MetaAllocator.
1792
1793         * wtf/HashTable.h:
1794         (WTF::KeyTraits>::inlineLookup):
1795         (WTF::KeyTraits>::lookupForWriting):
1796         (WTF::KeyTraits>::fullLookupForWriting):
1797         (WTF::KeyTraits>::addUniqueForInitialization):
1798         (WTF::KeyTraits>::add):
1799         * wtf/HashTraits.h:
1800         * wtf/MetaAllocator.cpp:
1801         (WTF::MetaAllocator::addFreeSpace):
1802         * wtf/MetaAllocator.h:
1803
1804 2021-01-29  Myles C. Maxfield  <mmaxfield@apple.com>
1805
1806         WebKit doesn't automatically right-align Adlam
1807         https://bugs.webkit.org/show_bug.cgi?id=220885
1808
1809         Reviewed by Alex Christensen.
1810
1811         If we want to iterate across code points, we have to actually
1812         iterate across code points instead of iterating across code units.
1813
1814         Test: fast/text/adlam-dir-auto.html
1815
1816         * wtf/text/StringImpl.cpp:
1817         (WTF::StringImpl::defaultWritingDirection):
1818
1819 2021-01-29  Myles C. Maxfield  <mmaxfield@apple.com>
1820
1821         font-stretch is not applied to system-ui
1822         https://bugs.webkit.org/show_bug.cgi?id=221103
1823         <rdar://problem/73719139>
1824
1825         Reviewed by Darin Adler.
1826
1827         * wtf/PlatformHave.h:
1828
1829 2021-01-28  Chris Dumez  <cdumez@apple.com>
1830
1831         [macOS] Policy for warning about or killing processes using too much memory triggers too easily
1832         https://bugs.webkit.org/show_bug.cgi?id=221104
1833         <rdar://73625621>
1834
1835         Reviewed by Geoff Garen.
1836
1837         The policy for warning about or killing processes using too much memory was triggering too
1838         easily. I made the following changes to the policy to address this:
1839         1. We no longer kill WebProcesses associated with a visible (parented) view under any
1840            circumstances. We used to kill active WebProcesses when they reached 4GB. We would
1841            also kill visible WebProcesses when they reached 2GB if there were visible but not
1842            active / focused.
1843         2. For background WebProcesses (associated with non visible / parented views), I have
1844            raised the kill limit from 2GB to 4GB.
1845         3. For foreground WebProcesses (associated with visible / parent views), I have also
1846            raised the limit to show the excessive memory usage banner from 2GB to 4GB.
1847
1848         * wtf/MemoryPressureHandler.cpp:
1849         (WTF::thresholdForMemoryKillOfInactiveProcess):
1850         (WTF::MemoryPressureHandler::thresholdForMemoryKill):
1851         (WTF::MemoryPressureHandler::shrinkOrDie):
1852         (WTF::MemoryPressureHandler::measurementTimerFired):
1853         * wtf/MemoryPressureHandler.h:
1854
1855 2021-01-28  Yusuke Suzuki  <ysuzuki@apple.com>
1856
1857         [JSC] Add JSC_SIGNAL_FOR_GC environment variable for Linux / FreeBSD
1858         https://bugs.webkit.org/show_bug.cgi?id=221081
1859
1860         Reviewed by Mark Lam.
1861
1862         This patch adds JSC_SIGNAL_FOR_GC environment variable,
1863         which changes signal number used for GC suspension.
1864
1865         * wtf/posix/ThreadingPOSIX.cpp:
1866         (WTF::Thread::initializePlatformThreading):
1867
1868 2021-01-25  Yusuke Suzuki  <ysuzuki@apple.com>
1869
1870         WebAssembly: add support for stream APIs
1871         https://bugs.webkit.org/show_bug.cgi?id=173105
1872
1873         Reviewed by Keith Miller.
1874
1875         * wtf/PlatformEnable.h:
1876
1877 2021-01-27  Per Arne  <pvollan@apple.com>
1878
1879         [macOS] Re-enable ENABLE_SET_WEBCONTENT_PROCESS_INFORMATION_IN_NETWORK_PROCESS
1880         https://bugs.webkit.org/show_bug.cgi?id=221039
1881         <rdar://problem/73665061>
1882
1883         Reviewed by Brent Fulgham.
1884
1885         * wtf/PlatformEnableCocoa.h:
1886
1887 2021-01-27  Antti Koivisto  <antti@apple.com>
1888
1889         Implement visibility based resource load scheduling for low priority resources
1890         https://bugs.webkit.org/show_bug.cgi?id=220728
1891
1892         Reviewed by Geoff Garen.
1893
1894         * Scripts/Preferences/WebPreferencesInternal.yaml:
1895
1896         Add an internal setting, default to off for now.
1897
1898 2021-01-26  BJ Burg  <bburg@apple.com>
1899
1900         REGRESSION(r267641): WebKitDeveloperExtras preference has no effect for WebKitLegacy clients
1901         https://bugs.webkit.org/show_bug.cgi?id=220996
1902         <rdar://72173139>
1903
1904         Reviewed by Sam Weinig.
1905
1906         This preference should use custom bindings for WebKitLegacy.
1907
1908         * Scripts/Preferences/WebPreferencesDebug.yaml:
1909
1910 2021-01-26  Saam Barati  <sbarati@apple.com>
1911
1912         Revive the build when MALLOC_HEAP_BREAKDOWN is enabled
1913         https://bugs.webkit.org/show_bug.cgi?id=220999
1914
1915         Reviewed by Yusuke Suzuki.
1916
1917         * wtf/Bag.cpp:
1918         * wtf/BitVector.cpp:
1919         * wtf/ConcurrentBuffer.cpp:
1920         * wtf/FastBitVector.cpp:
1921         * wtf/HashTable.cpp:
1922         * wtf/MetaAllocator.cpp:
1923         * wtf/RefCountedArray.cpp:
1924         * wtf/SegmentedVector.cpp:
1925         * wtf/SmallPtrSet.cpp:
1926         * wtf/UniqueArray.cpp:
1927         * wtf/Vector.cpp:
1928         * wtf/text/CString.cpp:
1929         * wtf/text/StringBuffer.cpp:
1930
1931 2021-01-26  Per Arne  <pvollan@apple.com>
1932
1933         [macOS] Disable ENABLE_SET_WEBCONTENT_PROCESS_INFORMATION_IN_NETWORK_PROCESS
1934         https://bugs.webkit.org/show_bug.cgi?id=221006
1935
1936         Unreviewed crash fix.
1937
1938         Enabling this is causing a crash. Disable while investigating.
1939
1940         * wtf/PlatformEnableCocoa.h:
1941
1942 2021-01-26  Alex Christensen  <achristensen@webkit.org>
1943
1944         Forbid '|' in URL hosts
1945         https://bugs.webkit.org/show_bug.cgi?id=220778
1946
1947         Reviewed by Youenn Fablet.
1948
1949         This is one of the proposed solutions to https://github.com/whatwg/url/issues/559
1950         and RFC 3986 and 3987 forbid such characters, so let's try forbidding it.
1951
1952         * wtf/URLParser.cpp:
1953         (WTF::isC0Control):
1954         (WTF::isForbiddenHostCodePoint):
1955
1956 2021-01-25  Chris Dumez  <cdumez@apple.com>
1957
1958         Support AbortSignal in addEventListenerOptions to unsubscribe from events
1959         https://bugs.webkit.org/show_bug.cgi?id=218753
1960         <rdar://problem/71258012>
1961
1962         Reviewed by Darin Adler.
1963
1964         Add initializeWeakPtrFactory() protection function to CanMakeWeakPtr so that a subclass
1965         can eagerly initialize the WeakPtrFactory even if it does not subclass
1966         WeakPtrFactory<T, WeakPtrFactoryInitialization::Eager>. MessagePort used to subclass
1967         WeakPtrFactory<T, WeakPtrFactoryInitialization::Eager> for thread-safety reason but it
1968         now subclasses WeakPtrFactory<T, WeakPtrFactoryInitialization::Lazy> via EventTarget.
1969
1970         * wtf/WeakPtr.h:
1971         (WTF::CanMakeWeakPtr::initializeWeakPtrFactory):
1972
1973 2021-01-25  Per Arne Vollan  <pvollan@apple.com>
1974
1975         [macOS] Fix OS version check for ENABLE_SET_WEBCONTENT_PROCESS_INFORMATION_IN_NETWORK_PROCESS
1976         https://bugs.webkit.org/show_bug.cgi?id=219534
1977         <rdar://problem/71973149>
1978
1979         Reviewed by Brent Fulgham.
1980
1981         The OS version check for ENABLE_SET_WEBCONTENT_PROCESS_INFORMATION_IN_NETWORK_PROCESS is incorrect.
1982
1983         * wtf/PlatformEnableCocoa.h:
1984
1985 2021-01-23  Xan Lopez  <xan@igalia.com>
1986
1987         [JSC] Allow to build WebAssembly without B3
1988         https://bugs.webkit.org/show_bug.cgi?id=220365
1989
1990         Reviewed by Yusuke Suzuki.
1991
1992         * wtf/PlatformEnable.h: Disable WebAssembly on 32bit platforms,
1993         enable WebAssembly B3JIT on PLATFORM(COCOA).
1994
1995 2021-01-21  Chris Dumez  <cdumez@apple.com>
1996
1997         Unreviewed attempt to fix WatchOS build after r271673.
1998
1999         This feature is not available in the simulator for any of the
2000         IOS_FAMILY platforms.
2001
2002         * wtf/PlatformHave.h:
2003
2004 2021-01-21  Chris Dumez  <cdumez@apple.com>
2005
2006         Unreviewed, reverting r271727.
2007
2008         Fix is wrong
2009
2010         Reverted changeset:
2011
2012         "Unreviewed attempt to fix WatchOS build after r271673."
2013         https://trac.webkit.org/changeset/271727
2014
2015 2021-01-21  Chris Dumez  <cdumez@apple.com>
2016
2017         Unreviewed attempt to fix WatchOS build after r271673.
2018
2019         * wtf/PlatformHave.h:
2020
2021 2021-01-21  Ryan Haddad  <ryanhaddad@apple.com>
2022
2023         Add experimental support for separated layers
2024         https://bugs.webkit.org/show_bug.cgi?id=220734
2025
2026         Unreviewed build fix.
2027
2028         * wtf/PlatformHave.h: Remove watchOS and tvOS.
2029
2030 2021-01-21  Alex Christensen  <achristensen@webkit.org>
2031
2032         Add experimental feature to use network loader
2033         https://bugs.webkit.org/show_bug.cgi?id=220521
2034         <rdar://problem/69394713>
2035
2036         Reviewed by Geoff Garen.
2037
2038         * Scripts/Preferences/WebPreferencesExperimental.yaml:
2039         * wtf/PlatformHave.h:
2040
2041 2021-01-21  Aditya Keerthi  <akeerthi@apple.com>
2042
2043         Unreviewed, reverting r271691.
2044         https://bugs.webkit.org/show_bug.cgi?id=220812
2045
2046         Introduced crash, and failing API tests.
2047
2048         Reverted changeset:
2049
2050         "[macOS] Titlebar separator doesn't show when WKWebView is scrolled"
2051         https://bugs.webkit.org/show_bug.cgi?id=220633
2052         https://trac.webkit.org/changeset/271691
2053
2054 2021-01-21  Fujii Hironori  <Hironori.Fujii@sony.com>
2055
2056         Remove ENABLE_USERSELECT_ALL macro which is enabled for all ports
2057         https://bugs.webkit.org/show_bug.cgi?id=100424
2058
2059         Reviewed by Don Olmstead.
2060
2061         * wtf/PlatformEnableCocoa.h:
2062
2063 2021-01-21  Sam Weinig  <weinig@apple.com>
2064
2065         Add experimental support for separated layers
2066         https://bugs.webkit.org/show_bug.cgi?id=220734
2067
2068         Reviewed by Simon Fraser.
2069
2070         * wtf/PlatformHave.h:
2071         Define HAVE_CORE_ANIMATION_SEPARATED_LAYERS for supported configurations.
2072
2073 2021-01-21  Aditya Keerthi  <akeerthi@apple.com>
2074
2075         [macOS] Titlebar separator doesn't show when WKWebView is scrolled
2076         https://bugs.webkit.org/show_bug.cgi?id=220633
2077         <rdar://problem/71094055>
2078
2079         Reviewed by Tim Horton.
2080
2081         * wtf/PlatformHave.h: Defined HAVE_NSSCROLLVIEW_SEPARATOR_TRACKING_ADAPTER.
2082
2083 2021-01-20  Youenn Fablet  <youenn@apple.com>
2084
2085         Enable WebRTC VP9 profile 0 by default
2086         https://bugs.webkit.org/show_bug.cgi?id=219390
2087
2088         Reviewed by Geoffrey Garen.
2089
2090         * Scripts/Preferences/WebPreferencesExperimental.yaml:
2091
2092 2021-01-19  Yusuke Suzuki  <ysuzuki@apple.com>
2093
2094         [WTF] StringImpl::removeCharacters should be inlined
2095         https://bugs.webkit.org/show_bug.cgi?id=220742
2096
2097         Reviewed by Saam Barati.
2098
2099         removeCharacters is used in WebCore's HTMLInputElement's critical path. And since String relatively has many elements (characters),
2100         non-inlined StringImpl::removeCharacters causes significant number of indirect function calls of `findMatch` argument since it is
2101         passed function pointer. We should make them templatized function to allow inlining of `findMatch` function to avoid repeated indirect calls.
2102
2103         * wtf/text/StringImpl.cpp:
2104         (WTF::StringImpl::removeCharacters): Deleted.
2105         * wtf/text/StringImpl.h:
2106         (WTF::StringImpl::removeCharactersImpl):
2107         (WTF::StringImpl::removeCharacters):
2108         * wtf/text/WTFString.cpp:
2109         (WTF::String::removeCharacters const): Deleted.
2110         * wtf/text/WTFString.h:
2111         (WTF::String::removeCharacters const):
2112
2113 2021-01-17  Yusuke Suzuki  <ysuzuki@apple.com>
2114
2115         Add JSC API configuring GC signals in Linux
2116         https://bugs.webkit.org/show_bug.cgi?id=220641
2117
2118         Reviewed by Mark Lam.
2119
2120         In Linux and FreeBSD, we need to use signals to suspend and resume threads.
2121         By default, we are using SIGUSR1, but it is possible that some embedders want to use
2122         the other signals since they are using SIGUSR1 already. To work-around that, this
2123         patch offers the way for embedders to configure signals.
2124
2125         * wtf/Threading.h:
2126         * wtf/WTFConfig.h:
2127         * wtf/posix/ThreadingPOSIX.cpp:
2128         (WTF::Thread::signalHandlerSuspendResume):
2129         (WTF::Thread::initializePlatformThreading):
2130         (WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated):
2131         (WTF::Thread::initializeCurrentTLS):
2132         (WTF::Thread::suspend):
2133         (WTF::Thread::resume):
2134         * wtf/threads/Signals.cpp:
2135         (WTF::addSignalHandler):
2136         * wtf/win/ThreadingWin.cpp:
2137         (WTF::Thread::initializeCurrentTLS):
2138
2139 2021-01-15  Chris Dumez  <cdumez@apple.com>
2140
2141         [GPUProcess] Move DOM / Canvas rendering off the main thread in the GPUProcess
2142         https://bugs.webkit.org/show_bug.cgi?id=220476
2143
2144         Reviewed by Simon Fraser.
2145
2146         Add trait function that gets called TinyLRUCache to convert the key before storing
2147         it. It is useful for clients that need to call isolatedCopy() on the key String before
2148         storing it.
2149
2150         * wtf/TinyLRUCache.h:
2151         (WTF::TinyLRUCachePolicy::createKeyForStorage):
2152         (WTF::TinyLRUCache::get):
2153
2154 2021-01-14  Alex Christensen  <achristensen@webkit.org>
2155
2156         Add dotless j and small N to unicode lookalike character list
2157         https://bugs.webkit.org/show_bug.cgi?id=220632
2158         <rdar://problem/72101901>
2159
2160         Reviewed by David Kilzer.
2161
2162         They are visually distinguishable from j and n, but they are also not used in any common languages like dotless i is,
2163         (I know, all my international phonetic alphabet enthusiast friends are disappointed)
2164         so there's not much reason not to add them.  Chrome and Firefox have already added them, so let's do it too.
2165
2166         * wtf/URLHelpers.cpp:
2167         (WTF::URLHelpers::isLookalikeCharacter):
2168
2169 2021-01-14  Geoffrey Garen  <ggaren@apple.com>
2170
2171         Removed most uses of dispatch_async(dispatch_get_main_queue(), ...)
2172         https://bugs.webkit.org/show_bug.cgi?id=220066
2173
2174         Reviewed by Antti Koivisto.
2175
2176         dispatch_async has two downsides:
2177
2178         (1) Its order is undefined (and in practice highly variable) relative to
2179         other WebKit operations. This sometimes causes flakiness.
2180
2181         (2) It doesn't honor the RunLoop first paint optimization.
2182
2183         We can use RunLoop::dispatch() instead.
2184
2185         * wtf/cocoa/MainThreadCocoa.mm:
2186         (WTF::dispatchAsyncOnMainThreadWithWebThreadLockIfNeeded):
2187         (WTF::callOnWebThreadOrDispatchAsyncOnMainThread):
2188
2189 2021-01-14  Per Arne Vollan  <pvollan@apple.com>
2190
2191         [GPUP][iOS] Create sandbox extensions for cache and temp directory
2192         https://bugs.webkit.org/show_bug.cgi?id=220595
2193         <rdar://problem/72450307>
2194
2195         Reviewed by Chris Dumez.
2196
2197         Add USE define for using sandbox extensions to grant access to cache and temp directory.
2198
2199         * wtf/PlatformUse.h:
2200
2201 2021-01-13  Myles C. Maxfield  <mmaxfield@apple.com>
2202
2203         Delete sexist comment
2204         https://bugs.webkit.org/show_bug.cgi?id=220603
2205
2206         Reviewed by Alex Christensen.
2207
2208         * wtf/StdLibExtras.h:
2209
2210 2021-01-11  Kimmo Kinnunen  <kkinnunen@apple.com>
2211
2212         WebKit::IPC::Encoder needs definitions of all custom enum values at the Encoder definition time
2213         https://bugs.webkit.org/show_bug.cgi?id=220410
2214
2215         Reviewed by Darin Adler.
2216
2217         Change WTF::EnumTraits to have either EnumTraits::values or EnumTraits::isValidEnum().
2218         Previously, if clients wanted to check isValidEnum for custom enum, they had to:
2219          1) Define HasCustomIsValidEnum<TheirEnum> : true_type {};
2220          2) Define new function template isValidEnum() for TheirEnum
2221          3) Ensure that their isValidEnum() was defined before the definition of the call to
2222             the isValidEnum().
2223
2224         This has the problem that isValidEnum() cannot be called in generic code, because
2225         at the definition time generic code typically does not have all the types in scope
2226         that will be used at instantiation time.
2227         Each isValidEnum() is their own function template, C++ does not have function template
2228         specialization.
2229
2230         After the change, clients need to:
2231          1) Define EnumTraits<TheirEnum> { bool isValidEnum(...) }
2232
2233         Fix by using the fact that WTF::EnumTraits is a class and that can have template
2234         specializations.
2235
2236         Consistent with the EnumTraits::values case:
2237           a) Automatic case?     --> Define EnumTraits::values
2238           b) Manual/custom case? --> Define EnumTraits::isValidEnum()
2239
2240         * wtf/EnumTraits.h:
2241         (WTF::isValidEnum):
2242
2243 2021-01-08  Yusuke Suzuki  <ysuzuki@apple.com>
2244
2245         [JSC] Disable JITCage compile time in old iOS
2246         https://bugs.webkit.org/show_bug.cgi?id=220477
2247
2248         Reviewed by Darin Adler.
2249
2250         ENABLE(JIT_CAGE) becomes false in old iOS.
2251
2252         * wtf/PlatformEnable.h:
2253
2254 2021-01-08  Chris Dumez  <cdumez@apple.com>
2255
2256         Make it safe to re-enter HashMap::clear()
2257         https://bugs.webkit.org/show_bug.cgi?id=220445
2258
2259         Reviewed by Geoffrey Garen.
2260
2261         Make it safe to re-enter HashMap::clear(). This will fix some crashes on the GPUProcess bots
2262         due to DisplayList::clear() re-entering via HashMap::clear().
2263
2264         * wtf/HashTable.h:
2265         (WTF::KeyTraits>::clear):
2266
2267 2021-01-07  Commit Queue  <commit-queue@webkit.org>
2268
2269         Unreviewed, reverting r271192.
2270         https://bugs.webkit.org/show_bug.cgi?id=220440
2271
2272
2273         Reverted changeset:
2274
2275         "NSCrossWebsiteTrackingUsageDescription is not working on Mac,
2276         ITP is always enabled"
2277         https://bugs.webkit.org/show_bug.cgi?id=220190
2278         https://trac.webkit.org/changeset/271192
2279
2280 2021-01-07  Monson Shao  <holymonson@gmail.com>
2281
2282         [CMake] Add USE_APPLE_ICU option
2283         https://bugs.webkit.org/show_bug.cgi?id=220081
2284
2285         Reviewed by Yusuke Suzuki.
2286
2287         Add USE_APPLE_ICU option to allow non-Mac ports (GTK or JSCOnly) on Darwin could build with
2288         non-Apple ICU.
2289
2290         * CMakeLists.txt:
2291
2292 2021-01-07  Carlos Garcia Campos  <cgarcia@igalia.com>
2293
2294         [GTK] Build failures with GTK4 3.99.5.1
2295         https://bugs.webkit.org/show_bug.cgi?id=219844
2296
2297         Reviewed by Philippe Normand.
2298
2299         * wtf/Platform.h:
2300
2301 2021-01-06  Jer Noble  <jer.noble@apple.com>
2302
2303         [Cocoa] Revert audioTimePitchAlgorithm to "TimeDomain" from "Spectral"
2304         https://bugs.webkit.org/show_bug.cgi?id=220341
2305
2306         Reviewed by Youenn Fablet.
2307
2308         Add a private preference to control what pitch correction algorithm will be used by MediaPlayer.
2309
2310         * Scripts/Preferences/WebPreferences.yaml:
2311
2312 2021-01-06  Andy Estes  <aestes@apple.com>
2313
2314         [Mac] Replace most uses of HAVE(MT_PLUGIN_FORMAT_READER) with ENABLE(WEBM_FORMAT_READER)
2315         https://bugs.webkit.org/show_bug.cgi?id=220374
2316         <rdar://problem/72600426>
2317
2318         Reviewed by Eric Carlson.
2319
2320         * Scripts/Preferences/WebPreferencesExperimental.yaml:
2321         * wtf/PlatformEnableCocoa.h:
2322
2323 2021-01-05  Kate Cheney  <katherine_cheney@apple.com>
2324
2325         NSCrossWebsiteTrackingUsageDescription is not working on Mac, ITP is always enabled
2326         https://bugs.webkit.org/show_bug.cgi?id=220190
2327         <rdar://problem/72744909>
2328
2329         Reviewed by Brent Fulgham.
2330
2331         * wtf/PlatformUse.h:
2332
2333 2021-01-05  Chris Dumez  <cdumez@apple.com>
2334
2335         [iOS] Add a feature flag to stop leaking an XPC boost message to XPC services
2336         https://bugs.webkit.org/show_bug.cgi?id=219453
2337         <rdar://72834999>
2338
2339         Reviewed by Geoff Garen.
2340
2341         Add new RUNNINGBOARD_WEBKIT_PRIORITY_SUPPORT build time flag since we need a recent
2342         enough build of RunningBoard to do this.
2343
2344         * wtf/PlatformHave.h:
2345
2346 2020-12-27  Wenson Hsieh  <wenson_hsieh@apple.com>
2347
2348         Add a helper method to WTF::MachSemaphore to wait with a timeout duration
2349         https://bugs.webkit.org/show_bug.cgi?id=220110
2350
2351         Reviewed by Sam Weinig.
2352
2353         Adds a helper method on the cross-process WTF::MachSemaphore class (to be utilized in webkit.org/b/219586).
2354
2355         * wtf/cocoa/MachSemaphore.cpp:
2356         (WTF::MachSemaphore::waitFor):
2357
2358         This wraps a call to `semaphore_timedwait`, and converts the given time (in WTF::Seconds) into a
2359         `mach_timespec_t`, which is an unsigned representing the number of seconds, along with another integer
2360         representing the number of nanoseconds.
2361
2362         * wtf/cocoa/MachSemaphore.h:
2363
2364 2020-12-23  Monson Shao  <holymonson@gmail.com>
2365
2366         [GTK][CMake] Forward missing header on Darwin
2367         https://bugs.webkit.org/show_bug.cgi?id=220114
2368
2369         Reviewed by Alex Christensen.
2370
2371         Building jsc with GTK port on Darwin needs spi/darwin/ProcessMemoryFootprint.h
2372
2373         * wtf/PlatformGTK.cmake:
2374
2375 2020-12-20  Chris Dumez  <cdumez@apple.com>
2376
2377         Unreviewed, reverting r270969.
2378
2379         Regressed MotionMark with GPUProcess enabled
2380
2381         Reverted changeset:
2382
2383         "[iOS] Stop leaking an XPC boost message to XPC services"
2384         https://bugs.webkit.org/show_bug.cgi?id=219453
2385         https://trac.webkit.org/changeset/270969
2386
2387 2020-12-18  Megan Gardner  <megan_gardner@apple.com>
2388
2389         Gate all of the code associated with app highlights
2390         https://bugs.webkit.org/show_bug.cgi?id=220003
2391
2392         Reviewed by Tim Horton.
2393
2394         * Scripts/Preferences/WebPreferencesInternal.yaml:
2395
2396 2020-12-18  Chris Dumez  <cdumez@apple.com>
2397
2398         [iOS] Stop leaking an XPC boost message to XPC services
2399         https://bugs.webkit.org/show_bug.cgi?id=219453
2400
2401         Reviewed by Geoff Garen.
2402
2403         Add new RUNNINGBOARD_WEBKIT_PRIORITY_SUPPORT build time flag since we need a recent
2404         enough build of RunningBoard to do this.
2405
2406         * wtf/PlatformHave.h:
2407
2408 2020-12-17  Chris Dumez  <cdumez@apple.com>
2409
2410         Unreviewed, drop unnecessary forward declaration added in r270938.
2411
2412         * wtf/cocoa/MachSemaphore.h:
2413
2414 2020-12-17  Chris Dumez  <cdumez@apple.com>
2415
2416         [GPUProcess] Replace WebAudio rendering timer with a cross-process semaphore
2417         https://bugs.webkit.org/show_bug.cgi?id=219964
2418
2419         Reviewed by Geoff Garen.
2420
2421         Introduce MachSemaphore class, which is a C++ wrapper around a low-level
2422         mach semaphore. This semaphore can be used cross-process and sent via
2423         IPC as a MachSendRight.
2424
2425         * WTF.xcodeproj/project.pbxproj:
2426         * wtf/PlatformMac.cmake:
2427         * wtf/cocoa/MachSemaphore.cpp: Added.
2428         (WTF::MachSemaphore::MachSemaphore):
2429         (WTF::MachSemaphore::~MachSemaphore):
2430         (WTF::MachSemaphore::signal):
2431         (WTF::MachSemaphore::wait):
2432         (WTF::MachSemaphore::createSendRight):
2433         * wtf/cocoa/MachSemaphore.h: Added.
2434
2435 2020-12-15  Yusuke Suzuki  <ysuzuki@apple.com>
2436
2437         [JSC] Accept arbitrary module namespace identifier names
2438         https://bugs.webkit.org/show_bug.cgi?id=217576
2439
2440         Reviewed by Darin Adler.
2441
2442         * wtf/text/StringView.h:
2443         (WTF::hasUnpairedSurrogate):
2444
2445 2020-12-15  Jer Noble  <jer.noble@apple.com>
2446
2447         [Cocoa] Adopt -externalContentProtectionStatus
2448         https://bugs.webkit.org/show_bug.cgi?id=219911
2449
2450         Reviewed by Eric Carlson.
2451
2452         * wtf/PlatformHave.h:
2453
2454 2020-12-15  Commit Queue  <commit-queue@webkit.org>
2455
2456         Unreviewed, reverting r270860.
2457         https://bugs.webkit.org/show_bug.cgi?id=219918
2458
2459         We workaround it differently, so this revert is not necessary
2460
2461         Reverted changeset:
2462
2463         "Unreviewed, reverting r269320, r269341, r269502, and
2464         r269576."
2465         https://bugs.webkit.org/show_bug.cgi?id=219915
2466         https://trac.webkit.org/changeset/270860
2467
2468 2020-12-15  Commit Queue  <commit-queue@webkit.org>
2469
2470         Unreviewed, reverting r269320, r269341, r269502, and r269576.
2471         https://bugs.webkit.org/show_bug.cgi?id=219915
2472
2473         ICU C++ internal API causes trouble
2474
2475         Reverted changesets:
2476
2477         "REGRESSION (r254038): Simple.com money transfer UI is very
2478         laggy (multiple seconds per keypress)"
2479         https://bugs.webkit.org/show_bug.cgi?id=218348
2480         https://trac.webkit.org/changeset/269320
2481
2482         "[JSC] Obtain default timezone ID from cached icu::TimeZone"
2483         https://bugs.webkit.org/show_bug.cgi?id=218531
2484         https://trac.webkit.org/changeset/269341
2485
2486         "toLocaleDateString() resolves incorrect date for some old
2487         dates"
2488         https://bugs.webkit.org/show_bug.cgi?id=161623
2489         https://trac.webkit.org/changeset/269502
2490
2491         "[JSC] Add TimeZone range cache over ICU TimeZone API"
2492         https://bugs.webkit.org/show_bug.cgi?id=218681
2493         https://trac.webkit.org/changeset/269576
2494
2495 2020-12-15  Sihui Liu  <sihui_liu@apple.com>
2496
2497         Enable SpeechRecognition by default
2498         https://bugs.webkit.org/show_bug.cgi?id=219798
2499
2500         Reviewed by Youenn Fablet.
2501
2502         * Scripts/Preferences/WebPreferencesExperimental.yaml:
2503
2504 2020-12-14  Alex Christensen  <achristensen@webkit.org>
2505
2506         Get more informatiton from assertion when uidna_openUTS46 fails
2507         https://bugs.webkit.org/show_bug.cgi?id=219881
2508
2509         Reviewed by Alexey Proskuryakov.
2510
2511         <rdar://problem/66988046> shows that this fails sometimes.
2512         Updating the assertion should let me know more information.
2513
2514         * wtf/URLParser.cpp:
2515         (WTF::URLParser::internationalDomainNameTranscoder):
2516
2517 2020-12-14  Chris Dumez  <cdumez@apple.com>
2518
2519         [GPUProcess] Bump QoS to UserInteractive for real-time audio rendering thread
2520         https://bugs.webkit.org/show_bug.cgi?id=219873
2521
2522         Reviewed by Eric Carlson.
2523
2524         Add QOS parameter to the Thread construct (similarly to WorkQueue) so that the caller can
2525         specify which QoS to use for the thread. Previously, the code was using UserInteractive
2526         QoS unconditionally, which may be too high is some cases and too low in others.
2527
2528         * wtf/Threading.cpp:
2529         (WTF::Thread::create):
2530         * wtf/Threading.h:
2531         * wtf/WorkQueue.h:
2532         * wtf/cocoa/WorkQueueCocoa.cpp:
2533         (WTF::WorkQueue::platformInitialize):
2534         (WTF::dispatchQOSClass): Deleted.
2535         * wtf/posix/ThreadingPOSIX.cpp:
2536         (WTF::Thread::dispatchQOSClass):
2537         (WTF::Thread::establishHandle):
2538         * wtf/win/ThreadingWin.cpp:
2539         (WTF::Thread::establishHandle):
2540
2541 2020-12-14  Tadeu Zagallo  <tzagallo@apple.com>
2542
2543         Move some of the work from JSLock to VMEntryScope
2544         https://bugs.webkit.org/show_bug.cgi?id=219830
2545
2546         Reviewed by Mark Lam.
2547
2548         Add a unique ID to threads. This uid is used in JSLock to avoid unnecessary work when the
2549         same thread that last acquired the lock is reacquiring it.
2550
2551         * wtf/Threading.cpp:
2552         * wtf/Threading.h:
2553         (WTF::Thread::uid const):
2554         (WTF::Thread::Thread):
2555
2556 2020-12-13  Yusuke Suzuki  <ysuzuki@apple.com>
2557
2558         [JSC] Introduce vmEntryCustomAccessor and vmEntryHostFunction for JITCage
2559         https://bugs.webkit.org/show_bug.cgi?id=219847
2560
2561         Reviewed by Mark Lam.
2562
2563         * wtf/PlatformCallingConventions.h:
2564
2565 2020-12-14  Youenn Fablet  <youenn@apple.com>
2566
2567         Pass an isolated copy of Settings to workers and worklets.
2568         https://bugs.webkit.org/show_bug.cgi?id=219688
2569
2570         Reviewed by Sam Weinig.
2571
2572         Add missing default values.
2573
2574         * Scripts/Preferences/WebPreferences.yaml:
2575
2576 2020-12-13  Andy Estes  <aestes@apple.com>
2577
2578         [Mac] Register the format reader plug-in for WebM content types
2579         https://bugs.webkit.org/show_bug.cgi?id=218908
2580         <rdar://problem/71373264>
2581
2582         Reviewed by Eric Carlson.
2583
2584         * Scripts/Preferences/WebPreferencesExperimental.yaml: Added an experimental web
2585         preference.
2586
2587 2020-12-12  Ryan Haddad  <ryanhaddad@apple.com>
2588
2589         Unreviewed, reverting r270661.
2590
2591         Caused layout test failures and timeouts
2592
2593         Reverted changeset:
2594
2595         "Unreviewed, re-landing r270132."
2596         https://bugs.webkit.org/show_bug.cgi?id=202874
2597         https://trac.webkit.org/changeset/270661
2598
2599 2020-12-12  Jiewen Tan  <jiewen_tan@apple.com>
2600
2601         [WebAuthn][iOS] Turn on modern WebAuthn for default browsers
2602         https://bugs.webkit.org/show_bug.cgi?id=219823
2603         <rdar://problem/72250436>
2604
2605         Reviewed by Brent Fulgham.
2606
2607         * Scripts/Preferences/WebPreferencesExperimental.yaml:
2608         Does the meat.
2609
2610 2020-12-11  Ryosuke Niwa  <rniwa@webkit.org>
2611
2612         [GPU Process] Cache Font objects
2613         https://bugs.webkit.org/show_bug.cgi?id=219672
2614
2615         Reviewed by Wenson Hsieh.
2616
2617         Specify the width of enum classes so that they can be forward declared.
2618
2619         * wtf/MemoryPressureHandler.h:
2620
2621 2020-12-11  Eric Carlson  <eric.carlson@apple.com>
2622
2623         [Cocoa] Add Experimental Vorbis support
2624         https://bugs.webkit.org/show_bug.cgi?id=219810
2625         <rdar://problem/72242614>
2626
2627         Reviewed by Jer Noble.
2628
2629         * Scripts/Preferences/WebPreferencesExperimental.yaml: Added an experimental web
2630         preference.
2631         * wtf/PlatformEnableCocoa.h: Define ENABLE_VORBIS.
2632
2633 2020-12-11  Jer Noble  <jer.noble@apple.com>
2634
2635         [Cocoa] Add Experimental VP8 support
2636         https://bugs.webkit.org/show_bug.cgi?id=219732
2637
2638         Reviewed by Eric Carlson.
2639
2640         Add a new VP8 experimental feature flag.
2641
2642         * Scripts/Preferences/WebPreferencesExperimental.yaml:
2643
2644 2020-12-11  Tim Horton  <timothy_horton@apple.com>
2645
2646         Trackpad and Mouse scroll events on iPad only fire "pointermove" -- not "wheel"
2647         https://bugs.webkit.org/show_bug.cgi?id=210071
2648         <rdar://problem/54616853>
2649
2650         Reviewed by Simon Fraser.
2651
2652         * wtf/PlatformEnableCocoa.h:
2653         Enable wheel event regions on iOS + macCatalyst.
2654
2655 2020-12-11  Brent Fulgham  <bfulgham@apple.com>
2656
2657         Expose API for enabling/disabling Private Click Measurement
2658         https://bugs.webkit.org/show_bug.cgi?id=219791
2659         <rdar://problem/70502198>
2660
2661         Reviewed by Alex Christensen.
2662
2663         This patch moves the flag for enabling and disabling PCM support from the Experimental
2664         features settings to standard settings in preparation for exposing the option in more
2665         permanent UI. This patch does not make any changes in behavior.
2666
2667         * Scripts/Preferences/WebPreferences.yaml: Add PCM flag here.
2668         * Scripts/Preferences/WebPreferencesExperimental.yaml: Remove PCM flag from here.
2669
2670 2020-12-11  Don Olmstead  <don.olmstead@sony.com>
2671
2672         [CMake] Determine correct visibility for linked frameworks
2673         https://bugs.webkit.org/show_bug.cgi?id=210366
2674
2675         Reviewed by Michael Catanzaro.
2676
2677         Set WTF_FRAMEWORKS to determine correct linkage for the library. Remove
2678         explicit setting of STATICALLY_LINKED_WITH_${framework} by ports.
2679
2680         * wtf/CMakeLists.txt:
2681         * wtf/PlatformPlayStation.cmake:
2682
2683 2020-12-11  Chris Lord  <clord@igalia.com>
2684
2685         [GTK][WPE] Async overflow scrolling is disabled by default due to brokenness
2686         https://bugs.webkit.org/show_bug.cgi?id=219776
2687
2688         Reviewed by Žan Doberšek.
2689
2690         Enable async overflow scrolling with Nicosia.
2691
2692         * Scripts/Preferences/WebPreferencesInternal.yaml:
2693
2694 2020-12-11  Youenn Fablet  <youenn@apple.com>
2695
2696         Enable WebRTCPlatformSocketsEnabled by default
2697         https://bugs.webkit.org/show_bug.cgi?id=219778
2698
2699         Reviewed by Eric Carlson.
2700
2701         * Scripts/Preferences/WebPreferencesExperimental.yaml:
2702
2703 2020-12-10  John Wilander  <wilander@apple.com>
2704
2705         PCM: Turn feature on by default
2706         https://bugs.webkit.org/show_bug.cgi?id=219762
2707         <rdar://problem/56118178>
2708
2709         Reviewed by Brent Fulgham.
2710
2711         This patch turns on Private Click Measurement (PCM) by default.
2712
2713         * Scripts/Preferences/WebPreferencesExperimental.yaml:
2714
2715 2020-12-10  Andy Estes  <aestes@apple.com>
2716
2717         [Mac] Create a format reader plug-in for WebM
2718         https://bugs.webkit.org/show_bug.cgi?id=218908
2719         <rdar://problem/71373264>
2720
2721         Reviewed by Eric Carlson.
2722
2723         * wtf/PlatformHave.h: Defined HAVE_MT_PLUGIN_FORMAT_READER.
2724
2725 2020-12-10  Geoffrey Garen  <ggaren@apple.com>
2726
2727         Unreviewed, re-landing r270132.
2728
2729         Regression test failures have been resolved.
2730
2731         Re-landed changeset:
2732
2733         "Use a Version 1 CFRunLoopSource for faster task dispatch"
2734         https://bugs.webkit.org/show_bug.cgi?id=202874
2735         https://trac.webkit.org/changeset/270132
2736
2737 2020-12-10  Dean Jackson  <dino@apple.com>
2738
2739         Add runtime flag for ANGLE on Metal
2740         https://bugs.webkit.org/show_bug.cgi?id=219661
2741
2742         Reviewed by Sam Weinig.
2743
2744         New internal feature flag "WebGL on Metal".
2745
2746         * Scripts/Preferences/WebPreferencesInternal.yaml:
2747
2748 2020-12-10  Chris Dumez  <cdumez@apple.com>
2749
2750         Unreviewed, reverting r270542.
2751
2752         Seems to have regressed perf benchmarks
2753
2754         Reverted changeset:
2755
2756         "[iOS] Stop leaking an XPC boost message to XPC services"
2757         https://bugs.webkit.org/show_bug.cgi?id=219453
2758         https://trac.webkit.org/changeset/270542
2759
2760 2020-12-10  Youenn Fablet  <youenn@apple.com>
2761
2762         Gate VP9 exposure in MediaCapabilities on VP9DecoderEnabled preference
2763         https://bugs.webkit.org/show_bug.cgi?id=219640
2764
2765         Reviewed by Eric Carlson.
2766
2767         * Scripts/Preferences/WebPreferencesExperimental.yaml:
2768
2769 2020-12-10  Youenn Fablet  <youenn@apple.com>
2770
2771         ICE does not resolve for `turns` relay candidates rooted in LetsEncrypt CA
2772         https://bugs.webkit.org/show_bug.cgi?id=219274
2773
2774         Reviewed by Eric Carlson.
2775
2776         * Scripts/Preferences/WebPreferencesExperimental.yaml:
2777
2778 2020-12-10  Jiewen Tan  <jiewen_tan@apple.com>
2779
2780         Unreviewed, build fix after r270616
2781
2782         Adds a platform have flag.
2783
2784         * wtf/PlatformHave.h:
2785
2786 2020-12-09  Cathie Chen  <cathiechen@igalia.com>
2787
2788         Support overscroll-behavior parsing
2789         https://bugs.webkit.org/show_bug.cgi?id=219305
2790
2791         Reviewed by Simon Fraser.
2792
2793         Based on Frédéric Wang's patch.
2794
2795         Add an experimental feature flag for overscroll-behavior.
2796
2797         * Scripts/Preferences/WebPreferencesExperimental.yaml:
2798
2799 2020-12-09  Chris Dumez  <cdumez@apple.com>
2800
2801         Turn on HAVE(SYSTEM_FEATURE_FLAGS) on WatchOS and TvOS
2802         https://bugs.webkit.org/show_bug.cgi?id=219703
2803
2804         Reviewed by Darin Adler.
2805
2806         Turn on HAVE(SYSTEM_FEATURE_FLAGS) on WatchOS and TvOS. This should fix the build
2807         after r270542.
2808
2809         * wtf/PlatformHave.h:
2810
2811 2020-12-08  Devin Rousso  <drousso@apple.com>
2812
2813         [macCatalyst] Enable context menus for WKWebView
2814         https://bugs.webkit.org/show_bug.cgi?id=219617
2815         <rdar://problem/53770300>
2816
2817         Reviewed by Tim Horton.
2818
2819         * wtf/PlatformEnableCocoa.h:
2820         * wtf/PlatformHave.h:
2821
2822 2020-12-08  Simon Fraser  <simon.fraser@apple.com>
2823
2824         Make ScrollingPerformanceLoggingEnabled an internal debug preference
2825         https://bugs.webkit.org/show_bug.cgi?id=219647
2826
2827         Reviewed by Sam Weinig.
2828
2829         Rename ScrollingPerformanceLoggingEnabled to ScrollingPerformanceTestingEnabled and make
2830         it an Internal Debug preference.
2831
2832         Remove ForceUpdateScrollbarsOnMainThreadForPerformanceTesting.
2833
2834         * Scripts/Preferences/WebPreferences.yaml:
2835         * Scripts/Preferences/WebPreferencesInternal.yaml:
2836
2837 2020-12-08  Chris Dumez  <cdumez@apple.com>
2838
2839         [iOS] Stop leaking an XPC boost message to XPC services
2840         https://bugs.webkit.org/show_bug.cgi?id=219453
2841
2842         Reviewed by Geoffrey Garen.
2843
2844         Add new RUNNINGBOARD_WEBKIT_PRIORITY_SUPPORT build time flag since we need a recent
2845         enough build of RunningBoard to do this.
2846
2847         * wtf/PlatformHave.h:
2848
2849 2020-12-07  Don Olmstead  <don.olmstead@sony.com>
2850
2851         [CMake] Remove WEBKIT_WRAP_SOURCELIST
2852         https://bugs.webkit.org/show_bug.cgi?id=196916
2853
2854         Reviewed by Michael Catanzaro.
2855
2856         * wtf/CMakeLists.txt:
2857
2858 2020-12-07  Zan Dobersek  <zdobersek@igalia.com>
2859
2860         [GLib] Leaked RunLoop objects on worker threads
2861         https://bugs.webkit.org/show_bug.cgi?id=219232
2862         <rdar://problem/71772277>
2863
2864         Reviewed by Geoffrey Garen.
2865
2866         During the thread-local RunLoop::Holder destruction, explicitly clear out
2867         the iteration Deque objects on the held RunLoop, destroying any Function
2868         objects that never got to execute on this thread. Generally, this allows
2869         for any RunLoop reference stored in these objects to be released.
2870
2871         Specifically, this would allow for destruction of the RunLoop::Timer
2872         object that's queued up in the JSRunLoopTimer::Manager::PerVMData
2873         destructor but never gets dispatched because the thread (a JS worker) is
2874         shut down before that happens. Destruction of the timer will release the
2875         reference of the RunLoop that's held by the RunLoop::Holder, finally
2876         enabling the RunLoop object itself be destroyed once the RunLoop::Holder
2877         reference is let go.
2878
2879         * wtf/RunLoop.cpp:
2880         (WTF::RunLoop::Holder::~Holder):
2881         (WTF::RunLoop::threadWillExit):
2882         * wtf/RunLoop.h:
2883
2884 2020-12-06  Samuel Thibault  <samuel.thibault@ens-lyon.org>
2885
2886         [WTF] Add Unix-generic way of determining the available RAM
2887         https://bugs.webkit.org/show_bug.cgi?id=219570
2888         sysconf(_SC_PHYS_PAGES) and sysconf(_SC_PAGE_SIZE) are a very generic way to get
2889
2890         Reviewed by Fujii Hironori.
2891
2892         * wtf/RAMSize.cpp:
2893         (WTF::computeRAMSize): Fallback to sysconf to determine RAM size.
2894
2895 2020-12-05  Fujii Hironori  <Hironori.Fujii@sony.com>
2896
2897         Remove ENABLE_GRAPHICS_CONTEXT_GL by replacing it with ENABLE(WEBGL)
2898         https://bugs.webkit.org/show_bug.cgi?id=219551
2899
2900         Reviewed by Kenneth Russell.
2901
2902         * wtf/Platform.h:
2903         * wtf/PlatformEnable.h:
2904
2905 2020-12-04  David Kilzer  <ddkilzer@apple.com>
2906
2907         Add safety checks to xsltParamArrayFromParameterMap()
2908         <https://webkit.org/b/219407>
2909         <rdar://problem/71853069>
2910
2911         Reviewed by Darin Adler.
2912
2913         * wtf/PlatformHave.h:
2914         (HAVE_LIBXSLT_FIX_FOR_RADAR_71864140): Add.
2915
2916 2020-12-04  Kate Cheney  <katherine_cheney@apple.com>
2917
2918         Create API to enable/disable text interaction gestures in WKWebView
2919         https://bugs.webkit.org/show_bug.cgi?id=217784
2920         <rdar://problem/63406241>
2921
2922         Reviewed by Wenson Hsieh.
2923
2924         Create new WKPreference. See WebKit Changelog for details.
2925
2926         * Scripts/Preferences/WebPreferences.yaml:
2927
2928 2020-12-04  Adam Roben  <aroben@apple.com>
2929
2930         More FALLBACK_PLATFORM adoption
2931         https://bugs.webkit.org/show_bug.cgi?id=219545
2932
2933         Reviewed by Tim Horton.
2934
2935         * Configurations/SDKVariant.xcconfig:
2936         WK_EMPTY_$(THIS_IS_NOT_EMPTY) evaluates to the empty string, not to
2937         NO.
2938
2939 2020-12-03  Adam Roben  <aroben@apple.com>
2940
2941         Adopt FALLBACK_PLATFORM
2942         https://bugs.webkit.org/show_bug.cgi?id=219504
2943
2944         Reviewed by Tim Horton.
2945
2946         * Configurations/SDKVariant.xcconfig: Use FALLBACK_PLATFORM it if it's
2947         defined, otherwise use PLATFORM_NAME as before.
2948
2949 2020-12-03  Chris Dumez  <cdumez@apple.com>
2950
2951         Refactor macros for low power mode code
2952         https://bugs.webkit.org/show_bug.cgi?id=219497
2953
2954         Reviewed by Geoffrey Garen.
2955
2956         Add new HAVE_APPLE_LOW_POWER_MODE_SUPPORT macro, enabled on iOS_FAMILY.
2957
2958         * wtf/PlatformHave.h:
2959
2960 2020-12-03  Fujii Hironori  <Hironori.Fujii@sony.com>
2961
2962         Remove GraphicsContextGLOpenGL::setRenderbufferStorageFromDrawable declaration
2963         https://bugs.webkit.org/show_bug.cgi?id=219463
2964
2965         Reviewed by Alex Christensen.
2966
2967         * wtf/Platform.h: Removed checking whether USE_ANGLE, USE_OPENGL,
2968         and USE_OPENGL_ES are exclusive because Cocoa ports no longer use
2969         USE_OPENGL and USE_OPENGL_ES, and they are not exclusive on
2970         non-Cocoa ports.
2971
2972 2020-12-03  Lauro Moura  <lmoura@igalia.com>
2973
2974         [WTF] Avoid JSONValue::create with raw string falling to bool overload
2975         https://bugs.webkit.org/show_bug.cgi?id=219483
2976
2977         Reviewed by Adrian Perez de Castro.
2978
2979         r269757 removed the const char* overload for Value::create() and replaced
2980         them with makeString() versions. While this worked most of the time, one
2981         could still call Value::create(raw_string) and it would end up calling the
2982         bool overload. This could cause side effects like making a number of
2983         WebDriver tests to fail with wrong types in the executed javascript code.
2984
2985         To avoid these accidental conversions, this commit added an overload to
2986         delete all implicit conversions of Value::create().
2987
2988         * wtf/JSONValues.h: Delete implicit overloads for Value::create(T).
2989
2990 2020-12-02  Michael Catanzaro  <mcatanzaro@gnome.org>
2991
2992         aarch64 llint does not build with JIT disabled
2993         https://bugs.webkit.org/show_bug.cgi?id=219288
2994         <rdar://problem/71855960>
2995
2996         Rename USE(JUMP_ISLANDS) to ENABLE(JUMP_ISLANDS), and make it depend on ENABLE(JIT). We need
2997         it to depend on ENABLE(JIT) to fix the build, but this is awkward to do otherwise, because
2998         USE macros are defined in PlatformUse.h before ENABLE macros in PlatformEnable.h. But it
2999         makes sense, since USE macros should be used for "a particular third-party library or
3000         optional OS service," and jump islands are neither, so ENABLE is more suitable anyway.
3001
3002         Reviewed by Darin Adler.
3003
3004         * wtf/PlatformEnable.h:
3005         * wtf/PlatformUse.h:
3006
3007 2020-12-01  Youenn Fablet  <youenn@apple.com>
3008
3009         Update list of block ports according fetch spec
3010         https://bugs.webkit.org/show_bug.cgi?id=219154
3011
3012         Reviewed by Sam Weinig.
3013
3014         * wtf/URL.cpp:
3015         (WTF::portAllowed):
3016
3017 2020-12-01  Ryan Haddad  <ryanhaddad@apple.com>
3018
3019         Unreviewed, reverting r270132.
3020
3021         Caused at least one regression test failure
3022         (webkit.org/b/219401)
3023
3024         Reverted changeset:
3025
3026         "Use a Version 1 CFRunLoopSource for faster task dispatch"
3027         https://bugs.webkit.org/show_bug.cgi?id=202874
3028         https://trac.webkit.org/changeset/270132
3029
3030 2020-11-30  Youenn Fablet  <youenn@apple.com>
3031
3032         Introduce an experimental flag specific to VP9 profile 2
3033         https://bugs.webkit.org/show_bug.cgi?id=219350
3034
3035         Reviewed by Eric Carlson.
3036
3037         * Scripts/Preferences/WebPreferencesExperimental.yaml:
3038
3039 2020-11-28  Per Arne Vollan  <pvollan@apple.com>
3040
3041         [macOS] Set application information in the Networking process on behalf of the WebContent process
3042         https://bugs.webkit.org/show_bug.cgi?id=218052
3043         <rdar://problem/70586405>
3044
3045         Reviewed by Brent Fulgham.
3046
3047         Add define to enable this feature.
3048
3049         * wtf/PlatformEnableCocoa.h:
3050
3051 2020-11-26  Fujii Hironori  <Hironori.Fujii@sony.com>
3052
3053         [WinCairo] Enable GPU process
3054         https://bugs.webkit.org/show_bug.cgi?id=219294
3055
3056         Reviewed by Don Olmstead.
3057
3058         * wtf/PlatformHave.h: Turned HAVE_SYSTEM_FEATURE_FLAGS on for Windows.
3059
3060 2020-11-26  Michael Catanzaro  <mcatanzaro@gnome.org>
3061
3062         [WPE][GTK] Fix build with GCC 11
3063         https://bugs.webkit.org/show_bug.cgi?id=219264
3064
3065         Reviewed by Carlos Garcia Campos.
3066
3067         It's not uncommon for really old code like this to abuse volatile as if it were a
3068         synchronization primitive. It's not. This code is already synchronized by use of GOnce, so
3069         it can be safely removed. References:
3070
3071         https://gitlab.gnome.org/GNOME/glib/-/issues/600#note_877282
3072         http://isvolatileusefulwiththreads.in/C++/
3073
3074         * wtf/glib/WTFGType.h:
3075
3076 2020-11-21  Simon Fraser  <simon.fraser@apple.com>
3077
3078         Add an Experimental Features for wheel event gestures becoming non-blocking
3079         https://bugs.webkit.org/show_bug.cgi?id=219236
3080
3081         Reviewed by Sam Weinig.
3082
3083         Add a feature flag for the behavior that is being added via webkit.org/b/218764,
3084         which is that only the first wheel event in a gesture is cancelable.
3085
3086         * Scripts/Preferences/WebPreferencesExperimental.yaml:
3087
3088 2020-11-20  Geoffrey Garen  <ggaren@apple.com>
3089
3090         Use a Version 1 CFRunLoopSource for faster task dispatch
3091         https://bugs.webkit.org/show_bug.cgi?id=202874
3092
3093         Reviewed by Simon Fraser.
3094
3095         This performance bottleneck showed up in IndexedDB. We worked around it
3096         by switching to WorkQueueMessageReceiver. Now it's showing up again
3097         in the GPU Process.
3098
3099         * wtf/RunLoop.h: Added a mach port. We use this for wake-up.
3100
3101         * wtf/cf/RunLoopCF.cpp:
3102         (WTF::RunLoop::performWork): Use the standard declaration for a
3103         Version 1 run loop source callback.
3104
3105         (WTF::RunLoop::RunLoop): Use a dummy mach port for wake-ups. The default
3106         wake-up mechanism uses pthread APIs, which cost hundreds of microseconds
3107         per invocation, even on the most modern hardware. In contrast, a mach
3108         message takes about nine microseconds.
3109
3110         (WTF::RunLoop::~RunLoop): Free the mach port.
3111
3112         (WTF::RunLoop::wakeUp): Copy-pasted code to signal a mach port. The
3113         message payload doesn't matter because we're just trying to achieve
3114         a wakeup, kind of like calling a void() function.
3115
3116 2020-11-20  Don Olmstead  <don.olmstead@sony.com>
3117
3118         Remove quota module
3119         https://bugs.webkit.org/show_bug.cgi?id=219206
3120
3121         Reviewed by Anders Carlsson.
3122
3123         Remove the ENABLE_QUOTA macro.
3124
3125         * wtf/PlatformEnable.h:
3126
3127 2020-11-20  Philippe Normand  <pnormand@igalia.com>
3128
3129         [MSE] Infinite loop in sample eviction when duration is NaN
3130         https://bugs.webkit.org/show_bug.cgi?id=218228
3131
3132         Reviewed by Darin Adler.
3133
3134         * wtf/MediaTime.h: New isFinite() method, to check if the MediaTime is valid and represents
3135         a finite value, eg not NaN or Infinite.
3136
3137 2020-11-19  Ada Chan  <adachan@apple.com>
3138
3139         Turn on ENABLE_WEBXR for Cocoa
3140         https://bugs.webkit.org/show_bug.cgi?id=219171
3141
3142         Reviewed by Tim Horton.
3143
3144         * wtf/PlatformEnableCocoa.h:
3145         * wtf/PlatformUse.h:
3146
3147 2020-11-19  Saam Barati  <sbarati@apple.com>
3148
3149         Use os_thread_self_restrict_rwx_is_supported instead of pthread_jit_write_protect_supported_np on Apple Internal SDK builds
3150         https://bugs.webkit.org/show_bug.cgi?id=219099
3151         <rdar://problem/71547048>
3152
3153         Reviewed by Mark Lam.
3154
3155         * wtf/PlatformHave.h:
3156         * wtf/PlatformUse.h:
3157
3158 2020-11-18  Yousuke Kimoto  <Yousuke.Kimoto@sony.com>
3159
3160         [WTF] Fix a condition to check if statvfs() succeeds in getVolumeFreeSpace()
3161         https://bugs.webkit.org/show_bug.cgi?id=219138
3162
3163         Reviewed by Alexey Proskuryakov.
3164
3165         statvfs() returns Zero on success but getVolumeFreeSpace() treats a non Zero value
3166         as a succes case. The condition is oppsite to the spec of statvfs().
3167
3168         * wtf/posix/FileSystemPOSIX.cpp:
3169
3170 2020-11-17  Yusuke Suzuki  <ysuzuki@apple.com>
3171
3172         [JSC] Improve Wasm binary test coverage
3173         https://bugs.webkit.org/show_bug.cgi?id=204843
3174
3175         Reviewed by Darin Adler.
3176
3177         LEBDecoder should have more strict validation. One thing is that, we should reject pattern that includes ignored bits.
3178         For example, in uint32_t, we can represent UINT32_MAX in 5 bytes like this.
3179
3180             0xff, 0xff, 0xff, 0xff, 0x0f
3181             0b1111111_1111111_1111111_1111111_1111
3182
3183         Leading bytes has 0x80 trailing marker. And they includes each 7 bit slice. And the last byte includes 0b1111 part.
3184         But we can also make it in the following form
3185
3186             0xff, 0xff, 0xff, 0xff, 0xff
3187             0b1111111_1111111_1111111_1111111_1111
3188
3189         In the above case, the last byte's upper 4 bits are ignored in the result, and this is wrong in LEB128 encoding.
3190         We should reject this input since the last byte includes overflown bits.
3191         This patch adds this validation to WTF.
3192
3193         * wtf/LEBDecoder.h:
3194         (WTF::LEBDecoder::maxByteLength):
3195         (WTF::LEBDecoder::lastByteMask):
3196         (WTF::LEBDecoder::decodeUInt):
3197         (WTF::LEBDecoder::decodeInt):
3198
3199 2020-11-18  Darin Adler  <darin@apple.com>
3200
3201         Remove advanced plug-in feature: small plug-in blocking
3202         https://bugs.webkit.org/show_bug.cgi?id=219101
3203
3204         Reviewed by Anders Carlsson.
3205
3206         * Scripts/Preferences/WebPreferencesInternal.yaml: Removed BlockingOfSmallPluginsEnabled.
3207
3208 2020-11-18  Yusuke Suzuki  <ysuzuki@apple.com>
3209
3210         Unreviewed, relanding r269940
3211         https://bugs.webkit.org/show_bug.cgi?id=219076
3212
3213         * wtf/PlatformEnable.h:
3214
3215 2020-11-18  Commit Queue  <commit-queue@webkit.org>
3216
3217         Unreviewed, reverting r269940.
3218         https://bugs.webkit.org/show_bug.cgi?id=219076
3219
3220         caused seemingly-infinite build time regression
3221
3222         Reverted changeset:
3223
3224         "[JSC] Implement WebAssembly.Memory with shared"
3225         https://bugs.webkit.org/show_bug.cgi?id=218693
3226         https://trac.webkit.org/changeset/269940
3227
3228 2020-11-17  Ryan Haddad  <ryanhaddad@apple.com>
3229
3230         Build fails on internal simulator builds due to missing enum kCVPixelFormatType_AGX_420YpCbCr8BiPlanarVideoRange
3231         https://bugs.webkit.org/show_bug.cgi?id=219030
3232
3233         Unreviewed build fix for macCatalyst.
3234
3235         * wtf/PlatformHave.h:
3236
3237 2020-11-17  Kimmo Kinnunen  <kkinnunen@apple.com>
3238
3239         Build fails on internal simulator builds due to missing enum kCVPixelFormatType_AGX_420YpCbCr8BiPlanarVideoRange
3240         https://bugs.webkit.org/show_bug.cgi?id=219030
3241
3242         Reviewed by Antti Koivisto.
3243
3244         Fix compile for simulator builds.
3245         Rename HAVE_CV_AGX_420_PIXEL_FORMAT_TYPES to
3246         HAVE_COREVIDEO_COMPRESSED_PIXEL_FORMAT_TYPES to better reflect what the ifdef does.
3247
3248         * wtf/PlatformHave.h:
3249
3250 2020-11-17  Antoine Quint  <graouts@webkit.org>
3251
3252         Make <model> disabled by default everywhere
3253         https://bugs.webkit.org/show_bug.cgi?id=219027
3254
3255         Reviewed by Devin Rousso.
3256
3257         * Scripts/Preferences/WebPreferencesExperimental.yaml:
3258
3259 2020-11-16  Sam Weinig  <weinig@apple.com>
3260
3261         Standardize enums that are used by Settings in preperation for autogeneration
3262         https://bugs.webkit.org/show_bug.cgi?id=218960
3263
3264         Reviewed by Tim Horton.
3265
3266         Update enum uses in default WebPreferences values for renames and scoped syntax use.
3267
3268         * Scripts/Preferences/WebPreferences.yaml:
3269
3270 2020-11-16  Antoine Quint  <graouts@webkit.org>
3271
3272         Add an experimental <model> element
3273         https://bugs.webkit.org/show_bug.cgi?id=218991
3274
3275         Reviewed by Dean Jackson.
3276
3277         Add a new build ENABLE(MODEL_ELEMENT) flag, enabled only on Cocoa platforms, and a new experimental feature
3278         backed by a setting, currently disabled on all platforms except engineering builds and Safari Technology Preview.
3279
3280         * Scripts/Preferences/WebPreferencesExperimental.yaml:
3281         * wtf/PlatformEnableCocoa.h:
3282
3283 2020-11-16  Per Arne Vollan  <pvollan@apple.com>
3284
3285         [macOS] The WebContent sandbox does not apply for open source builds
3286         https://bugs.webkit.org/show_bug.cgi?id=218982
3287
3288         Reviewed by Alexey Proskuryakov.
3289
3290         Add HAVE define for sandbox message filtering.
3291
3292         * wtf/PlatformHave.h:
3293
3294 2020-11-16  Megan Gardner  <megan_gardner@apple.com>
3295
3296         Add menu support for app highlights for books
3297         https://bugs.webkit.org/show_bug.cgi?id=218879
3298         <rdar://problem/71352113>
3299
3300         Reviewed by Alex Christensen.
3301
3302         * Scripts/Preferences/WebPreferencesInternal.yaml:
3303
3304 2020-11-16  Zan Dobersek  <zdobersek@igalia.com>
3305
3306         Re-disable async overflow scrolling for USE(NICOSIA)
3307         https://bugs.webkit.org/show_bug.cgi?id=218974
3308
3309         Async overflow scrolling was accidentally enabled for ports using the
3310         Nicosia platform layering infrastructure during the preference migration
3311         done in r267775. This patch again disables it until it can be properly
3312         supported.
3313
3314         * Scripts/Preferences/WebPreferencesInternal.yaml:
3315
3316 2020-11-14  Don Olmstead  <don.olmstead@sony.com>
3317
3318         [clang-tidy] Run modernize-use-override through JSC
3319         https://bugs.webkit.org/show_bug.cgi?id=218916
3320
3321         Reviewed by Yusuke Suzuki.
3322
3323         * wtf/RunLoop.h:
3324
3325 2020-11-13  Sihui Liu  <sihui_liu@apple.com>
3326
3327         Implement basic permission check for SpeechRecognition
3328         https://bugs.webkit.org/show_bug.cgi?id=218476
3329         <rdar://problem/71222638>
3330
3331         Reviewed by Youenn Fablet.
3332
3333         * wtf/PlatformHave.h:
3334
3335 2020-11-13  Sam Weinig  <weinig@apple.com>
3336
3337         Move some more WebKit and WebKitLegacy preferences bound to Settings to WebPreferences.yaml
3338         https://bugs.webkit.org/show_bug.cgi?id=218914
3339
3340         Reviewed by Tim Horton.
3341
3342         Moves AppleMailPaginationQuirkEnabled, ContentDispositionAttachmentSandboxEnabled and
3343         UseImageDocumentForSubframePDF from Settings.yaml to WebPreferences.yaml. Merges in
3344         WebCore values from ScrollingPerformanceLoggingEnabled and removes binding override
3345         since it can now be fully generated. 
3346
3347         * Scripts/Preferences/WebPreferences.yaml:
3348
3349 2020-11-13  Xan López  <xan@igalia.com>
3350
3351         [JSC] Use symbols as identifiers for class fields computed names storage
3352         https://bugs.webkit.org/show_bug.cgi?id=216172
3353
3354         Reviewed by Yusuke Suzuki.
3355
3356         Use private symbols for the property keys of the class fields with
3357         computed names. This is cleaner than using raw numeric identifiers and
3358         will be less cumbersome when we add static fields. It also prevents
3359         potential collisions if other features want to store data in the class
3360         scope.
3361
3362         * wtf/text/SymbolImpl.cpp:
3363         (WTF::RegisteredSymbolImpl::createPrivate): add a method to create a registered private symbol from a string key.
3364         * wtf/text/SymbolImpl.h:
3365         * wtf/text/SymbolRegistry.cpp:
3366         (WTF::SymbolRegistry::symbolForKey): consider that we can hold private symbols now too.
3367         * wtf/text/SymbolRegistry.h:
3368         (WTF::SymbolRegistry::SymbolRegistry): new enum type for public/private symbols.
3369
3370 2020-11-12  Darin Adler  <darin@apple.com>
3371
3372         Remove unused advanced plug-in features: snapshotting and plug-in load policy
3373         https://bugs.webkit.org/show_bug.cgi?id=218835
3374
3375         Reviewed by Tim Horton.
3376
3377         * Scripts/Preferences/WebPreferences.yaml: Removed
3378         AutostartOriginPlugInSnapshottingEnabled, PlugInSnapshottingEnabled,
3379         PrimaryPlugInSnapshotDetectionEnabled, and SnapshotAllPlugIns.
3380
3381 2020-11-12  Simon Fraser  <simon.fraser@apple.com>
3382
3383         Force wheel event listeners on the root to be passive
3384         https://bugs.webkit.org/show_bug.cgi?id=218842
3385         <rdar://problem/71312668>
3386
3387         Reviewed by Chris Dumez.
3388
3389         Following Blink (https://www.chromestatus.com/feature/6662647093133312) force 'wheel' and
3390         'mousewheel' event listeners on root objects (window, document and body) to be passive if
3391         they were not explicitly registered as non-passive.
3392
3393         This behavior is controlled by an experimental feature flag, and a linked-on-or-after check
3394         to avoid changing behavior for apps that embed WebKit until they link against new SDKs.
3395
3396         * Scripts/Preferences/WebPreferencesExperimental.yaml:
3397
3398 2020-11-13  Aditya Keerthi  <akeerthi@apple.com>
3399
3400         [iOS][FCR] Add an internal feature flag to enable the new appearance
3401         https://bugs.webkit.org/show_bug.cgi?id=218873
3402         <rdar://problem/71345270>
3403
3404         Reviewed by Tim Horton.
3405
3406         Enable the feature at build time on PLATFORM(IOS_FAMILY) and disable
3407         the feature at runtime.
3408
3409         * Scripts/Preferences/WebPreferencesInternal.yaml:
3410         * wtf/PlatformEnable.h:
3411         * wtf/PlatformEnableCocoa.h:
3412
3413 2020-11-12  Youenn Fablet  <youenn@apple.com>
3414
3415         Add infrastructure for WebRTC transforms
3416         https://bugs.webkit.org/show_bug.cgi?id=218750
3417
3418         Reviewed by Eric Carlson.
3419
3420         Add an experimental preference for WebRTC transforms.
3421
3422         * Scripts/Preferences/WebPreferencesExperimental.yaml:
3423
3424 2020-11-12  Sam Weinig  <weinig@apple.com>
3425
3426         Move more WebKitLegacy specific settings usage to WebPreferences.yaml
3427         https://bugs.webkit.org/show_bug.cgi?id=218852
3428
3429         Reviewed by Tim Horton.
3430
3431         This batch focuses on settings with defaults based on SDK/host app conditions.
3432
3433         * Scripts/Preferences/WebPreferences.yaml:
3434
3435 2020-11-12  Devin Rousso  <drousso@apple.com>
3436
3437         Web Inspector: ensure that `JSON::ArrayOf<T>` doesn't allow `addItem` to be called with a type other than `T`
3438         https://bugs.webkit.org/show_bug.cgi?id=218686
3439
3440         Reviewed by Brian Burg.
3441
3442         * wtf/JSONValues.h:
3443         (WTF::JSONImpl::Value::Value):
3444         (WTF::JSONImpl::Value::Value):
3445         (WTF::JSONImpl::ArrayOf::addItem):
3446         * wtf/JSONValues.cpp:
3447         (WTF::JSONImpl::Value::create):
3448         Right now, `JSON::ArrayOf<T>` always has `addItem` overloads for `int`, `double`, `String`,
3449         and `Ref<T>` (even when `T` is not a `JSON::Value`). This means that a `JSON::ArrayOf<int>`
3450         can call `addItem(42.0)` or `addItem("foo"_s)` and it would work. This doesn't really match
3451         the intention of `JSON::ArrayOf<T>`, so add some template `std::enable_if` to ensure that
3452         the only `addItem` overload that exists is the one that matches `T`.
3453
3454 2020-11-12  Zalan Bujtas  <zalan@apple.com>
3455
3456         Show legacy line layout visual coverage instead of "simple line" layout.
3457         https://bugs.webkit.org/show_bug.cgi?id=218695
3458
3459         Reviewed by Antti Koivisto.
3460
3461         * Scripts/Preferences/WebPreferencesDebug.yaml:
3462
3463 2020-11-11  Chris Dumez  <cdumez@apple.com>
3464
3465         Add RunLoop::Timer constructor taking in a WTF::Function
3466         https://bugs.webkit.org/show_bug.cgi?id=218828
3467
3468         Reviewed by Darin Adler.
3469
3470         Add RunLoop::Timer constructor taking in a WTF::Function instead of a function pointer.
3471         This is similar to what was done for WebCore::Timer.
3472
3473         * wtf/RunLoop.h:
3474
3475 2020-11-11  Sam Weinig  <weinig@apple.com>
3476
3477         Move more WebKitLegacy preferences bound to Settings to WebPreferences.yaml
3478         https://bugs.webkit.org/show_bug.cgi?id=218826
3479
3480         Reviewed by Tim Horton.
3481
3482         * Scripts/Preferences/WebPreferences.yaml:
3483         Move AcceleratedCompositingForFixedPositionEnabled, ForceWebGLUsesLowPower, 
3484         RubberBandingForSubScrollableRegionsEnabled, ShrinksStandaloneImagesToFit and
3485         VisualViewportEnabled to WebPreferences.yaml
3486
3487 2020-11-11  John Wilander  <wilander@apple.com>
3488
3489         PCM: Change from ad-click-attribution to private-click-measurement (in all forms, including .well-known URL)
3490         https://bugs.webkit.org/show_bug.cgi?id=218730
3491         <rdar://problem/71094296>
3492
3493         Reviewed by Alex Christensen.
3494
3495         Change to the official name of the proposed standard Private Click Measurement
3496         https://github.com/privacycg/private-click-measurement.
3497
3498         This includes a change of the reporting URL from 
3499         "/.well-known/ad-click-attribution/" to
3500         "/.well-known/private-click-measurement/".
3501
3502         * Scripts/Preferences/WebPreferencesExperimental.yaml:
3503
3504 2020-11-11  Wenson Hsieh  <wenson_hsieh@apple.com>
3505
3506         Add system trace points for the GPU process display list processing loop
3507         https://bugs.webkit.org/show_bug.cgi?id=218824
3508
3509         Reviewed by Simon Fraser.
3510
3511         * wtf/SystemTracing.h:
3512
3513 2020-11-11  Alex Christensen  <achristensen@webkit.org>
3514
3515         Define USE(LEGACY_CFNETWORK_DOWNLOADS)
3516         https://bugs.webkit.org/show_bug.cgi?id=218814
3517
3518         Reviewed by Geoffrey Garen.
3519
3520         * wtf/PlatformUse.h:
3521
3522 2020-11-11  Alex Christensen  <achristensen@webkit.org>
3523
3524         Don't look in keychain for SecKeyRef after deserializing SecIdentityRef
3525         https://bugs.webkit.org/show_bug.cgi?id=218809
3526         <rdar://problem/69394018>
3527
3528         Reviewed by Geoffrey Garen.
3529
3530         * wtf/spi/cocoa/SecuritySPI.h:
3531
3532 2020-11-10  Yusuke Suzuki  <ysuzuki@apple.com>
3533
3534         Unreviewed, reverting r269403
3535         https://bugs.webkit.org/show_bug.cgi?id=218143
3536
3537         Now, bytecode list is moved out of JSCConfig. So it is not large size now.
3538
3539         * wtf/WTFConfig.h:
3540
3541 2020-11-10  Commit Queue  <commit-queue@webkit.org>
3542
3543         Unreviewed, reverting r269660.
3544         https://bugs.webkit.org/show_bug.cgi?id=218786
3545
3546         Crashing in EWS iOS simulator bots
3547
3548         Reverted changeset:
3549
3550         "PCM: Change from ad-click-attribution to private-click-
3551         measurement (in all forms, including .well-known URL)"
3552         https://bugs.webkit.org/show_bug.cgi?id=218730
3553         https://trac.webkit.org/changeset/269660
3554
3555 2020-11-10  John Wilander  <wilander@apple.com>
3556
3557         PCM: Change from ad-click-attribution to private-click-measurement (in all forms, including .well-known URL)
3558         https://bugs.webkit.org/show_bug.cgi?id=218730
3559         <rdar://problem/71094296>
3560
3561         Reviewed by Devin Rousso.
3562
3563         Change to the official name of the proposed standard Private Click Measurement
3564         https://github.com/privacycg/private-click-measurement.
3565
3566         This includes a change of the reporting URL from 
3567         "/.well-known/ad-click-attribution/" to
3568         "/.well-known/private-click-measurement/".
3569
3570         * Scripts/Preferences/WebPreferencesExperimental.yaml:
3571
3572 2020-11-10  Jer Noble  <jer.noble@apple.com>
3573
3574         Unreviewed internal macOS build-fix.
3575
3576         * wtf/PlatformHave.h:
3577
3578 2020-11-10  Rob Buis  <rbuis@igalia.com>
3579
3580         Parse aspect-ratio CSS property
3581         https://bugs.webkit.org/show_bug.cgi?id=218437
3582
3583         Reviewed by Darin Adler.
3584
3585         Add an experimental preference for aspect-ratio.
3586
3587         * Scripts/Preferences/WebPreferencesExperimental.yaml:
3588
3589 2020-11-09  Alan Bujtas  <zalan@apple.com>
3590
3591         Unreviewed, reverting r269603.
3592
3593         Needs Safari patch
3594
3595         Reverted changeset:
3596
3597         "Show legacy line layout visual coverage instead of "simple
3598         line" layout."
3599         https://bugs.webkit.org/show_bug.cgi?id=218695
3600         https://trac.webkit.org/changeset/269603
3601
3602 2020-11-09  Zalan Bujtas  <zalan@apple.com>
3603
3604         Show legacy line layout visual coverage instead of "simple line" layout.
3605         https://bugs.webkit.org/show_bug.cgi?id=218695
3606
3607         Reviewed by Antti Koivisto.
3608
3609         * Scripts/Preferences/WebPreferencesDebug.yaml:
3610
3611 2020-11-09  Per Arne Vollan  <pvollan@apple.com>
3612
3613         [macOS] Set preference for overridden languages in the WebContent process after entering the sandbox.
3614         https://bugs.webkit.org/show_bug.cgi?id=218097
3615
3616         Reviewed by Alexey Proskuryakov.
3617
3618         Disable CFPrefs direct mode for older versions of macOS. In practice, it was already disabled since a mach connection to cfprefsd
3619         was established before entering the sandbox on older versions on macOS, but that is fixed in this patch.
3620
3621         * wtf/PlatformEnableCocoa.h:
3622
3623 2020-11-08  Yusuke Suzuki  <ysuzuki@apple.com>
3624
3625         [JSC] Add TimeZone range cache over ICU TimeZone API
3626         https://bugs.webkit.org/show_bug.cgi?id=218681
3627
3628         Reviewed by Ross Kirsling.
3629
3630         * wtf/DateMath.h:
3631
3632 2020-11-08  Yusuke Suzuki  <ysuzuki@apple.com>
3633
3634         [JSC] Support @@species in ArrayBuffer / SharedArrayBuffer slice
3635         https://bugs.webkit.org/show_bug.cgi?id=218697
3636
3637         Reviewed by Ross Kirsling.
3638
3639         Remove ENABLE(SHARED_ARRAY_BUFFER) flag. We use Options::useSharedArrayBuffer() runtime flag instead.
3640
3641         * wtf/PlatformEnable.h:
3642
3643 2020-11-06  Sam Weinig  <weinig@apple.com>
3644
3645         Further progress towards merging Settings.yaml into WebPreferences.yaml
3646         https://bugs.webkit.org/show_bug.cgi?id=218663
3647
3648         Reviewed by Tim Horton.
3649
3650         * Scripts/Preferences/WebPreferences.yaml:
3651         Replace some use of WebCore constants with the inlined values of those constants
3652         as this was the only user and it is clearer for the values to be here too.
3653
3654 2020-11-06  Yusuke Suzuki  <ysuzuki@apple.com>
3655
3656         Re-enable SharedArrayBuffer for JSC shell and Testers
3657         https://bugs.webkit.org/show_bug.cgi?id=212069
3658
3659         Reviewed by Keith Miller.
3660
3661         * wtf/PlatformEnable.h:
3662
3663 2020-11-05  Saam Barati  <sbarati@apple.com>
3664
3665         Add back swap() free function for RefPtr
3666         https://bugs.webkit.org/show_bug.cgi?id=218454
3667
3668         Reviewed by Darin Adler.
3669
3670         Add back the swap() free function I removed in r269115. Darin's suggestion
3671         of specializing only a single type of RefPtr instead of two, solved the
3672         issue. I also removed some previous hack where we didn't enable this for
3673         RawPtrTraits. It's now enabled for all PtrTraits.
3674
3675         * wtf/RefPtr.h:
3676         (WTF::swap):
3677
3678 2020-11-05  Saam Barati  <sbarati@apple.com>
3679
3680         Change RELEASE_ASSERT to use branch+crash inside HashTable.h
3681         https://bugs.webkit.org/show_bug.cgi?id=218624
3682         <rdar://problem/70901101>
3683
3684         Reviewed by Mark Lam.
3685
3686         The assertions added in r269017 used RELEASE_ASSERT. RELEASE_ASSERT
3687         is implemented as invoking WTFCrashWithInfo, which does a bunch of register
3688         argument/moves. Doing this in inlined hash table code bloats WK binaries
3689         by a lot. This patch changes it so we just branch+crash on the same condition.
3690
3691         * wtf/HashTable.h:
3692         (WTF::KeyTraits>::inlineLookup):
3693         (WTF::KeyTraits>::lookupForWriting):
3694         (WTF::KeyTraits>::fullLookupForWriting):
3695         (WTF::KeyTraits>::addUniqueForInitialization):
3696         (WTF::KeyTraits>::add):
3697
3698 2020-11-05  Youenn Fablet  <youenn@apple.com>
3699
3700         Consider blocking ports 5060 and 5061
3701         https://bugs.webkit.org/show_bug.cgi?id=218557
3702         <rdar://problem/71031479>
3703
3704         Reviewed by Alex Christensen.
3705
3706         * wtf/URL.cpp:
3707         (WTF::portAllowed):
3708
3709 2020-11-04  Said Abou-Hallawa  <said@apple.com>
3710
3711         [GPU Process] Move the internal GPU rendering flags from WebPage to WebProcess
3712         https://bugs.webkit.org/show_bug.cgi?id=218549
3713
3714         Reviewed by Tim Horton.
3715
3716         Fix a layering issue for the preference 'UseGPUProcessForMediaEnabled'.
3717
3718         * Scripts/Preferences/WebPreferencesInternal.yaml:
3719
3720 2020-11-04  Yusuke Suzuki  <ysuzuki@apple.com>
3721
3722         Unreviewed, add workaround for Linux build
3723         https://bugs.webkit.org/show_bug.cgi?id=218143
3724
3725         * wtf/WTFConfig.h:
3726
3727 2020-11-04  Michael Catanzaro  <mcatanzaro@gnome.org>
3728
3729         Add new build option USE(64KB_PAGE_BLOCK)
3730         https://bugs.webkit.org/show_bug.cgi?id=217989
3731
3732         Reviewed by Yusuke Suzuki.
3733
3734         * wtf/PageBlock.h:
3735
3736 2020-11-04  Aditya Keerthi  <akeerthi@apple.com>
3737
3738         [Contact Picker API] Add support for picker UI on iOS
3739         https://bugs.webkit.org/show_bug.cgi?id=218189
3740         <rdar://problem/69862277>
3741
3742         Reviewed by Devin Rousso.
3743
3744         * wtf/PlatformHave.h:
3745
3746         Added HAVE(CONTACTSUI) and HAVE(CNCONTACTPICKERVIEWCONTROLLER) macros.
3747
3748 2020-11-04  David Kilzer  <ddkilzer@apple.com>
3749
3750         WebKit should remove unused debug variant support
3751         <https://webkit.org/b/218315>
3752         <rdar://problem/70785369>
3753
3754         Reviewed by Darin Adler.
3755
3756         Remove support for building the debug variant since it is
3757         currently unused. We now set default values for the
3758         DEAD_CODE_STRIPPING, DEBUG_DEFINES, GCC_OPTIMIZATION_LEVEL and
3759         STRIP_INSTALLED_PRODUCT variables.
3760
3761         Also move these values out of the Xcode project into
3762         Base.xcconfig files using the [config=Debug] specifier so that
3763         these overrides are next to the definitions.
3764
3765         * Configurations/Base.xcconfig:
3766         * WTF.xcodeproj/project.pbxproj:
3767
3768 2020-11-03  Yusuke Suzuki  <ysuzuki@apple.com>
3769
3770         [JSC] Add JITCage support
3771         https://bugs.webkit.org/show_bug.cgi?id=218143
3772
3773         Reviewed by Saam Barati.
3774
3775         * wtf/OSAllocator.h:
3776         (WTF::OSAllocator::reserveAndCommit):
3777         (WTF::OSAllocator::reallocateCommitted):
3778         * wtf/PageReservation.h:
3779         (WTF::PageReservation::reserve):
3780         (WTF::PageReservation::reserveWithGuardPages):
3781         (WTF::PageReservation::reserveAndCommitWithGuardPages):
3782         (WTF::PageReservation::PageReservation):
3783         * wtf/PlatformEnable.h:
3784         * wtf/PlatformUse.h:
3785         * wtf/PtrTag.h:
3786         (WTF::assertIsTaggedWith):
3787         (WTF::tagCodePtrWithStackPointerForJITCall): Deleted.
3788         (WTF::untagCodePtrWithStackPointerForJITCall): Deleted.
3789         * wtf/posix/OSAllocatorPOSIX.cpp:
3790         (WTF::OSAllocator::reserveUncommitted):
3791         (WTF::OSAllocator::reserveAndCommit):
3792         * wtf/win/OSAllocatorWin.cpp:
3793         (WTF::OSAllocator::reserveUncommitted):
3794         (WTF::OSAllocator::reserveAndCommit):
3795
3796 2020-11-03  Wenson Hsieh  <wenson_hsieh@apple.com>
3797
3798         Adjust some compile-time guards in GraphicsContextCG.cpp
3799         https://bugs.webkit.org/show_bug.cgi?id=218534
3800
3801         Reviewed by Tim Horton.
3802
3803         Add `HAVE(CG_CONTEXT_DRAW_PATH_DIRECT)`.
3804
3805         * wtf/PlatformHave.h:
3806
3807 2020-11-03  Stephan Szabo  <stephan.szabo@sony.com>
3808
3809         [WinCairo/PlayStation] ICU 68.1 no longer exposes FALSE and TRUE macros by default
3810         https://bugs.webkit.org/show_bug.cgi?id=218522
3811
3812         Reviewed by Don Olmstead.
3813
3814         Replace uses of FALSE and TRUE with false and true.
3815
3816         * wtf/text/icu/UTextProvider.h:
3817         * wtf/text/icu/UTextProviderLatin1.cpp:
3818         * wtf/text/icu/UTextProviderUTF16.cpp:
3819
3820 2020-10-30  Tim Horton  <timothy_horton@apple.com>
3821
3822         REGRESSION (r267689): Rise of the Tomb Raider gets stuck while launching
3823         https://bugs.webkit.org/show_bug.cgi?id=218411
3824         <rdar://problem/70622557>
3825
3826         Reviewed by Zalan Bujtas.
3827
3828         * Scripts/Preferences/WebPreferences.yaml:
3829         Sam accidentally changed the default of RequiresUserGestureForMediaPlayback
3830         in r267689; previously it was @YES only in PLATFORM(IOS_FAMILY), he made
3831         it true globally.
3832
3833         Go back to the old, and intended, behavior.
3834
3835 2020-10-30  Chris Fleizach  <cfleizach@apple.com>
3836
3837         AX: Incorrect list of voices being displayed on iOS
3838         https://bugs.webkit.org/show_bug.cgi?id=218293
3839
3840         Reviewed by Per Arne Vollan.
3841
3842         * wtf/PlatformHave.h:
3843
3844 2020-10-29  Jiewen Tan  <jiewen_tan@apple.com>
3845
3846         [WebAuthn] Make WebContent process talk to the WebAuthn process for WebAuthn requests
3847         https://bugs.webkit.org/show_bug.cgi?id=218070
3848         <rdar://problem/70384404>
3849
3850         Reviewed by Brent Fulgham.
3851
3852         * Scripts/Preferences/WebPreferencesExperimental.yaml:
3853         Adds bindings in WebCore.
3854
3855 2020-10-28  Saam Barati  <sbarati@apple.com>
3856
3857         Better cache our serialization of the outer TDZ environment when creating FunctionExecutables during bytecode generation
3858         https://bugs.webkit.org/show_bug.cgi?id=199866
3859         <rdar://problem/53333108>
3860
3861         Reviewed by Tadeu Zagallo.
3862
3863         * wtf/RefPtr.h:
3864         (WTF::swap): Deleted.
3865         This function is no longer necessary, and causes ADL (https://en.cppreference.com/w/cpp/language/adl)
3866         compile errors when not using DumbPtrTraits and calling sort on a vector of that type.
3867
3868 2020-10-28  Sam Weinig  <weinig@apple.com>
3869
3870         Reduce Preference Override Methods: TabsToLinks/SpatialNavigation
3871         https://bugs.webkit.org/show_bug.cgi?id=218288
3872
3873         Reviewed by Tim Horton.
3874
3875         * Scripts/Preferences/WebPreferences.yaml:
3876         Unify TabToLinksEnabled and TabsToLinks. TabToLinksEnabled was added for https://bugs.webkit.org/show_bug.cgi?id=95329
3877         and has never actually been needed.
3878
3879 2020-10-27  Tim Horton  <timothy_horton@apple.com>
3880
3881         Adopt the UIPointerInteraction API
3882         https://bugs.webkit.org/show_bug.cgi?id=218266
3883         <rdar://problem/70732850>
3884
3885         Reviewed by Wenson Hsieh.
3886
3887         * wtf/PlatformHave.h:
3888
3889 2020-10-27  Brian Burg  <bburg@apple.com>
3890
3891         Web Inspector: add ENABLE(INSPECTOR_EXTENSIONS) to feature defines
3892         https://bugs.webkit.org/show_bug.cgi?id=218237
3893         <rdar://problem/69968787>
3894
3895         Reviewed by Antti Koivisto.
3896
3897         * wtf/PlatformEnable.h:
3898         * wtf/PlatformEnableCocoa.h:
3899         Add ENABLE(INSPECTOR_EXTENSIONS), which is only on for the Cocoa macOS port.
3900
3901 2020-10-15  Tadeu Zagallo  <tzagallo@apple.com>
3902
3903         Sign MacroAssembler::jumpsToLink
3904         https://bugs.webkit.org/show_bug.cgi?id=217774
3905         <rdar://problem/69433058>
3906
3907         Reviewed by Saam Barati.
3908
3909         * wtf/PtrTag.h:
3910         (WTF::untagInt):
3911         (WTF::tagInt):
3912
3913 2020-10-15  Tadeu Zagallo  <tzagallo@apple.com>
3914
3915         Add extra validation to MetaAllocator::findAndRemoveFreeSpace
3916         https://bugs.webkit.org/show_bug.cgi?id=217792
3917         <rdar://problem/69433015>
3918
3919         Reviewed Saam Barati.
3920
3921         * wtf/MetaAllocator.cpp:
3922         (WTF::MetaAllocator::findAndRemoveFreeSpace):
3923
3924 2020-10-13  Tadeu Zagallo  <tzagallo@apple.com>
3925
3926         Assert that WTF::HashTable does not visit the same bucket twice
3927         https://bugs.webkit.org/show_bug.cgi?id=217691
3928         <rdar://problem/69887843>
3929
3930         Reviewed by Saam Barati.
3931
3932         * wtf/HashTable.h:
3933         (WTF::KeyTraits>::inlineLookup):
3934         (WTF::KeyTraits>::lookupForWriting):
3935         (WTF::KeyTraits>::fullLookupForWriting):
3936         (WTF::KeyTraits>::addUniqueForInitialization):
3937         (WTF::KeyTraits>::add):
3938
3939 2020-10-26  Alex Christensen  <achristensen@webkit.org>
3940
3941         Inclusive software: Remove instances of "dumb" from the code
3942         https://bugs.webkit.org/show_bug.cgi?id=217778
3943
3944         Reviewed by Simon Fraser.
3945
3946         * WTF.xcodeproj/project.pbxproj:
3947         * icu/unicode/caniter.h:
3948         * wtf/Bag.h:
3949         * wtf/CMakeLists.txt:
3950         * wtf/CagedPtr.h:
3951         * wtf/Forward.h:
3952         * wtf/NakedRef.h:
3953         * wtf/RawPtrTraits.h: Renamed from Source/WTF/wtf/DumbPtrTraits.h.
3954         * wtf/RawValueTraits.h: Renamed from Source/WTF/wtf/DumbValueTraits.h.
3955         * wtf/Ref.h:
3956         * wtf/RefCountedArray.h:
3957         * wtf/RefPtr.h:
3958         * wtf/SentinelLinkedList.h:
3959
3960 2020-10-26  Youenn Fablet  <youenn@apple.com>
3961
3962         Use a WeakHashSet for Document::m_captionPreferencesChangedElements
3963         https://bugs.webkit.org/show_bug.cgi?id=218170
3964
3965         Reviewed by Eric Carlson.
3966
3967         * wtf/WeakHashSet.h:
3968         Add a static cast for classes inheriting CanMakeWeakPtr like done for the set iterator.
3969         Update code to compile in WinCairo.
3970
3971 2020-10-26  Zan Dobersek  <zdobersek@igalia.com>
3972
3973         Remove Accelerated2dCanvasEnabled WebPreferences entry
3974         https://bugs.webkit.org/show_bug.cgi?id=218114
3975
3976         Reviewed by Adrian Perez de Castro.
3977
3978         * Scripts/Preferences/WebPreferences.yaml:
3979         Remove the Accelerated2dCanvasEnabled key after the underlying code
3980         was removed in r268453.
3981
3982 2020-10-21  Alex Christensen  <achristensen@webkit.org>
3983
3984         Update and pass new URL web platform tests
3985         https://bugs.webkit.org/show_bug.cgi?id=218056
3986
3987         Reviewed by Tim Horton.
3988
3989         * wtf/URL.cpp:
3990         (WTF::URL::setPath):
3991
3992 2020-10-20  Sihui Liu  <sihui_liu@apple.com>
3993
3994         Add stubs for SpeechRecognition
3995         https://bugs.webkit.org/show_bug.cgi?id=217780
3996         <rdar://problem/70350727>
3997
3998         Unreviewed build fix after r268762, which sets ENABLE_SPEECH_SYNTHESIS by mistake.
3999
4000         * wtf/PlatformEnable.h:
4001
4002 2020-10-20  Sihui Liu  <sihui_liu@apple.com>
4003
4004         Add stubs for SpeechRecognition
4005         https://bugs.webkit.org/show_bug.cgi?id=217780
4006         <rdar://problem/70350727>
4007
4008         Reviewed by Youenn Fablet.
4009
4010         * Scripts/Preferences/WebPreferencesExperimental.yaml:
4011         * wtf/PlatformEnable.h:
4012
4013 2020-10-15  Jer Noble  <jer.noble@apple.com>
4014
4015         Add skeleton implementation of Media Session API
4016         https://bugs.webkit.org/show_bug.cgi?id=217797
4017
4018         Reviewed by Darin Adler.
4019
4020         * Scripts/Preferences/WebPreferencesExperimental.yaml:
4021         * wtf/PlatformEnable.h:
4022         * wtf/PlatformEnableCocoa.h:
4023
4024 2020-10-20  Sam Weinig  <weinig@apple.com>
4025
4026         Tweak WebPreferences*.yaml "exposed" key to only indicate that the key should not be changeable by the frontend
4027         https://bugs.webkit.org/show_bug.cgi?id=217918
4028
4029         Reviewed by Darin Adler.
4030
4031         * Scripts/GeneratePreferences.rb:
4032         Tweak how the "exposed" key is interpreted to extend to keys with default values
4033         for the current frontend (that should continue to be set on Settings for instance)
4034         but that should not respect the key being passed in. For instance, the key 
4035         "AsyncFrameScrollingEnabled" has default values for all front ends, since we need
4036         to set it to false in Settings when building WebKitLegacy, but is only exposed to
4037         WebKit, so it won't be in WebKitLegacy's -[WebPreferences internalFeatures] array
4038         and won't do anything if passed to -[WebPreferences _setBoolPreferenceForTestingWithValue:forKey:].
4039
4040         * Scripts/Preferences/WebPreferences.yaml:
4041         Replace now incorrect uses of exposed with temporary key "webKitLegacyBinding" to indicate
4042         that these keys should be valid, but currently use a custom binding in WebKitLegacy.
4043
4044         * Scripts/Preferences/WebPreferencesInternal.yaml:
4045         Only expose AsyncFrameScrollingEnabled and AsyncOverflowScrollingEnabled to WebKit.
4046         This maintains the behavior that these keys are not valid keys as test header commands
4047         when run through DumpRenderTree.
4048         
4049
4050 2020-10-19  Lauro Moura  <lmoura@igalia.com>
4051
4052         REGRESSION(r268115) [GTK] Build failures with GCC 7 (Ubuntu 18.04) and GCC 8 (Debian Buster)
4053         https://bugs.webkit.org/show_bug.cgi?id=217425
4054
4055         Reviewed by Carlos Alberto Lopez Perez.