[webkit-changes] [277849] trunk

2021-05-20 Thread commit-queue
Title: [277849] trunk








Revision 277849
Author commit-qu...@webkit.org
Date 2021-05-20 21:14:55 -0700 (Thu, 20 May 2021)


Log Message
WKRemoteObjectRegistry  _invokeMethod needs to check for nil completionHandlers
https://bugs.webkit.org/show_bug.cgi?id=225941

Patch by Julian Gonzalez  on 2021-05-20
Reviewed by Ryosuke Niwa.

Source/WebKit:

_invokeMethod's argument-checking loop needs to be run
even if replyInfo is nil, as otherwise we can perform an invocation
if a method signature specifies a completion handler even though
none is provided.

* Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
(-[_WKRemoteObjectRegistry _invokeMethod:]):

Tools:

Add an IPC test with a nil (really malformed) completion handler
that makes sure the invocation is not performed.

* TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
(-[IPCTestingAPIDelegate sayHello:completionHandler:]):
(-[IPCTestingAPIDelegate sayHelloWasCalled]):
(TEST):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Shared/API/Cocoa/_WKRemoteObjectRegistry.mm
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (277848 => 277849)

--- trunk/Source/WebKit/ChangeLog	2021-05-21 03:15:28 UTC (rev 277848)
+++ trunk/Source/WebKit/ChangeLog	2021-05-21 04:14:55 UTC (rev 277849)
@@ -1,3 +1,18 @@
+2021-05-20  Julian Gonzalez  
+
+WKRemoteObjectRegistry  _invokeMethod needs to check for nil completionHandlers
+https://bugs.webkit.org/show_bug.cgi?id=225941
+
+Reviewed by Ryosuke Niwa.
+
+_invokeMethod's argument-checking loop needs to be run
+even if replyInfo is nil, as otherwise we can perform an invocation
+if a method signature specifies a completion handler even though
+none is provided.
+
+* Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
+(-[_WKRemoteObjectRegistry _invokeMethod:]):
+
 2021-05-20  Aditya Keerthi  
 
 [iOS][FCR]  options are unnecessarily truncated


Modified: trunk/Source/WebKit/Shared/API/Cocoa/_WKRemoteObjectRegistry.mm (277848 => 277849)

--- trunk/Source/WebKit/Shared/API/Cocoa/_WKRemoteObjectRegistry.mm	2021-05-21 03:15:28 UTC (rev 277848)
+++ trunk/Source/WebKit/Shared/API/Cocoa/_WKRemoteObjectRegistry.mm	2021-05-21 04:14:55 UTC (rev 277849)
@@ -253,85 +253,90 @@
 NSLog(@"Exception caught during decoding of message: %@", exception);
 }
 
-if (auto* replyInfo = remoteObjectInvocation.replyInfo()) {
-NSMethodSignature *methodSignature = invocation.methodSignature;
+NSMethodSignature *methodSignature = invocation.methodSignature;
+auto* replyInfo = remoteObjectInvocation.replyInfo();
 
-// Look for the block argument.
-for (NSUInteger i = 0, count = methodSignature.numberOfArguments; i < count; ++i) {
-const char *type = [methodSignature getArgumentTypeAtIndex:i];
+// Look for the block argument (if any).
+for (NSUInteger i = 0, count = methodSignature.numberOfArguments; i < count; ++i) {
+const char *type = [methodSignature getArgumentTypeAtIndex:i];
 
-if (strcmp(type, "@?"))
-continue;
+if (strcmp(type, "@?"))
+continue;
 
-// We found the block.
-String wireBlockSignature = [NSMethodSignature signatureWithObjCTypes:replyInfo->blockSignature.utf8().data()]._typeString.UTF8String;
-String expectedBlockSignature = replyBlockSignature([interface protocol], invocation.selector, i);
+// We found the block.
+// If the wire had no block signature but we expect one, we drop the message.
+if (!replyInfo) {
+NSLog(@"_invokeMethod: Expected reply block, but none provided");
+return;
+}
 
-if (expectedBlockSignature.isNull()) {
-NSLog(@"_invokeMethod: Failed to validate reply block signature: could not find local signature");
-ASSERT_NOT_REACHED();
-continue;
-}
+String wireBlockSignature = [NSMethodSignature signatureWithObjCTypes:replyInfo->blockSignature.utf8().data()]._typeString.UTF8String;
+String expectedBlockSignature = replyBlockSignature([interface protocol], invocation.selector, i);
 
-if (!blockSignaturesAreCompatible(wireBlockSignature, expectedBlockSignature)) {
-NSLog(@"_invokeMethod: Failed to validate reply block signature: %s != %s", wireBlockSignature.utf8().data(), expectedBlockSignature.utf8().data());
-ASSERT_NOT_REACHED();
-continue;
-}
+if (expectedBlockSignature.isNull()) {
+NSLog(@"_invokeMethod: Failed to validate reply block signature: could not find local signature");
+ASSERT_NOT_REACHED();
+continue;
+}
 
-RetainPtr<_WKRemoteObjectRegistry> remoteObjectRegistry = self;
-uint64_t replyID = 

[webkit-changes] [277848] trunk/Source/ThirdParty/ANGLE

2021-05-20 Thread kpiddington
Title: [277848] trunk/Source/ThirdParty/ANGLE








Revision 277848
Author kpidding...@apple.com
Date 2021-05-20 20:15:28 -0700 (Thu, 20 May 2021)


Log Message
[Metal ANGLE] Handle NAN constant folding correctly
https://bugs.webkit.org/show_bug.cgi?id=226052

NAN values (0.0f/0.0f) were being handled incorrectly. MSL was being emitted as lowercase 'nanf', instead of NAN
Check for an unlikely NAN case, and emit correct MSL

Reviewed by Dean Jackson.

* src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
(GenMetalTraverser::emitSingleConstant):

Modified Paths

trunk/Source/ThirdParty/ANGLE/ChangeLog
trunk/Source/ThirdParty/ANGLE/src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp




Diff

Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (277847 => 277848)

--- trunk/Source/ThirdParty/ANGLE/ChangeLog	2021-05-21 02:43:18 UTC (rev 277847)
+++ trunk/Source/ThirdParty/ANGLE/ChangeLog	2021-05-21 03:15:28 UTC (rev 277848)
@@ -1,5 +1,18 @@
 2021-05-20  Kyle Piddington  
 
+[Metal ANGLE] Handle NAN constant folding correctly
+https://bugs.webkit.org/show_bug.cgi?id=226052
+
+NAN values (0.0f/0.0f) were being handled incorrectly. MSL was being emitted as lowercase 'nanf', instead of NAN
+Check for an unlikely NAN case, and emit correct MSL
+
+Reviewed by Dean Jackson.
+
+* src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
+(GenMetalTraverser::emitSingleConstant):
+
+2021-05-20  Kyle Piddington  
+
 Red flashes zooming on Google Maps when using external monitor on multi-gpu systems
 https://bugs.webkit.org/show_bug.cgi?id=225956
 


Modified: trunk/Source/ThirdParty/ANGLE/src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp (277847 => 277848)

--- trunk/Source/ThirdParty/ANGLE/src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp	2021-05-21 02:43:18 UTC (rev 277847)
+++ trunk/Source/ThirdParty/ANGLE/src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp	2021-05-21 03:15:28 UTC (rev 277848)
@@ -1491,7 +1491,14 @@
 
 case TBasicType::EbtFloat:
 {
-mOut << constUnion->getFConst() << "f";
+if (ANGLE_UNLIKELY(isnan(constUnion->getFConst(
+{
+mOut << "NAN";
+}
+else
+{
+mOut << constUnion->getFConst() << "f";
+}
 }
 break;
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277847] trunk/Source/WTF

2021-05-20 Thread cdumez
Title: [277847] trunk/Source/WTF








Revision 277847
Author cdu...@apple.com
Date 2021-05-20 19:43:18 -0700 (Thu, 20 May 2021)


Log Message
Use CheckedLock more in WTF
https://bugs.webkit.org/show_bug.cgi?id=226045

Reviewed by Darin Adler.

Use CheckedLock more in WTF to benefit from Clang Thread Safety Analysis.

* wtf/CrossThreadQueue.h:
(WTF::CrossThreadQueue::append):
(WTF::CrossThreadQueue::waitForMessage):
(WTF::CrossThreadQueue::tryGetMessage):
(WTF::CrossThreadQueue::kill):
(WTF::CrossThreadQueue::isKilled const):
(WTF::CrossThreadQueue::isEmpty const):
* wtf/CrossThreadTaskHandler.cpp:
(WTF::CrossThreadTaskHandler::postTaskReply):
(WTF::CrossThreadTaskHandler::handleTaskRepliesOnMainThread):
* wtf/CrossThreadTaskHandler.h:
(WTF::CrossThreadTaskHandler::WTF_GUARDED_BY_LOCK):
* wtf/CryptographicallyRandomNumber.cpp:
* wtf/FastMalloc.cpp:
(WTF::MallocCallTracker::recordMalloc):
(WTF::MallocCallTracker::recordRealloc):
(WTF::MallocCallTracker::recordFree):
(WTF::MallocCallTracker::dumpStats):
* wtf/MessageQueue.h:
(WTF::MessageQueue::append):
(WTF::MessageQueue::appendAndKill):
(WTF::MessageQueue::appendAndCheckEmpty):
(WTF::MessageQueue::prepend):
(WTF::MessageQueue::waitForMessageFilteredWithTimeout):
(WTF::MessageQueue::tryGetMessage):
(WTF::MessageQueue::takeAllMessages):
(WTF::MessageQueue::tryGetMessageIgnoringKilled):
(WTF::MessageQueue::removeIf):
(WTF::MessageQueue::isEmpty):
(WTF::MessageQueue::kill):
(WTF::MessageQueue::killed const):
* wtf/OSLogPrintStream.cpp:
(WTF::OSLogPrintStream::vprintf):
* wtf/OSLogPrintStream.h:
* wtf/ParallelJobsGeneric.h:
(WTF::ParallelEnvironment::ThreadPrivate::WTF_GUARDED_BY_LOCK):
* wtf/ParallelVectorIterator.h:
(WTF::ParallelVectorIterator::iterate):
(WTF::ParallelVectorIterator::WTF_GUARDED_BY_LOCK):
* wtf/ReadWriteLock.cpp:
(WTF::ReadWriteLock::readLock):
(WTF::ReadWriteLock::readUnlock):
(WTF::ReadWriteLock::writeLock):
(WTF::ReadWriteLock::writeUnlock):
* wtf/ReadWriteLock.h:
(WTF::ReadWriteLock::WTF_GUARDED_BY_LOCK):

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/CrossThreadQueue.h
trunk/Source/WTF/wtf/CrossThreadTaskHandler.cpp
trunk/Source/WTF/wtf/CrossThreadTaskHandler.h
trunk/Source/WTF/wtf/CryptographicallyRandomNumber.cpp
trunk/Source/WTF/wtf/FastMalloc.cpp
trunk/Source/WTF/wtf/MessageQueue.h
trunk/Source/WTF/wtf/OSLogPrintStream.cpp
trunk/Source/WTF/wtf/OSLogPrintStream.h
trunk/Source/WTF/wtf/ParallelJobsGeneric.cpp
trunk/Source/WTF/wtf/ParallelJobsGeneric.h
trunk/Source/WTF/wtf/ParallelVectorIterator.h
trunk/Source/WTF/wtf/ReadWriteLock.cpp
trunk/Source/WTF/wtf/ReadWriteLock.h
trunk/Source/WTF/wtf/RunLoop.cpp
trunk/Source/WTF/wtf/RunLoop.h




Diff

Modified: trunk/Source/WTF/ChangeLog (277846 => 277847)

--- trunk/Source/WTF/ChangeLog	2021-05-21 02:37:42 UTC (rev 277846)
+++ trunk/Source/WTF/ChangeLog	2021-05-21 02:43:18 UTC (rev 277847)
@@ -1,5 +1,61 @@
 2021-05-20  Chris Dumez  
 
+Use CheckedLock more in WTF
+https://bugs.webkit.org/show_bug.cgi?id=226045
+
+Reviewed by Darin Adler.
+
+Use CheckedLock more in WTF to benefit from Clang Thread Safety Analysis.
+
+* wtf/CrossThreadQueue.h:
+(WTF::CrossThreadQueue::append):
+(WTF::CrossThreadQueue::waitForMessage):
+(WTF::CrossThreadQueue::tryGetMessage):
+(WTF::CrossThreadQueue::kill):
+(WTF::CrossThreadQueue::isKilled const):
+(WTF::CrossThreadQueue::isEmpty const):
+* wtf/CrossThreadTaskHandler.cpp:
+(WTF::CrossThreadTaskHandler::postTaskReply):
+(WTF::CrossThreadTaskHandler::handleTaskRepliesOnMainThread):
+* wtf/CrossThreadTaskHandler.h:
+(WTF::CrossThreadTaskHandler::WTF_GUARDED_BY_LOCK):
+* wtf/CryptographicallyRandomNumber.cpp:
+* wtf/FastMalloc.cpp:
+(WTF::MallocCallTracker::recordMalloc):
+(WTF::MallocCallTracker::recordRealloc):
+(WTF::MallocCallTracker::recordFree):
+(WTF::MallocCallTracker::dumpStats):
+* wtf/MessageQueue.h:
+(WTF::MessageQueue::append):
+(WTF::MessageQueue::appendAndKill):
+(WTF::MessageQueue::appendAndCheckEmpty):
+(WTF::MessageQueue::prepend):
+(WTF::MessageQueue::waitForMessageFilteredWithTimeout):
+(WTF::MessageQueue::tryGetMessage):
+(WTF::MessageQueue::takeAllMessages):
+(WTF::MessageQueue::tryGetMessageIgnoringKilled):
+(WTF::MessageQueue::removeIf):
+(WTF::MessageQueue::isEmpty):
+(WTF::MessageQueue::kill):
+(WTF::MessageQueue::killed const):
+* wtf/OSLogPrintStream.cpp:
+(WTF::OSLogPrintStream::vprintf):
+* wtf/OSLogPrintStream.h:
+* wtf/ParallelJobsGeneric.h:
+(WTF::ParallelEnvironment::ThreadPrivate::WTF_GUARDED_BY_LOCK):
+* wtf/ParallelVectorIterator.h:
+(WTF::ParallelVectorIterator::iterate):
+(WTF::ParallelVectorIterator::WTF_GUARDED_BY_LOCK):
+* wtf/ReadWriteLock.cpp:
+

[webkit-changes] [277846] trunk/Source/WebKit

2021-05-20 Thread akeerthi
Title: [277846] trunk/Source/WebKit








Revision 277846
Author akeer...@apple.com
Date 2021-05-20 19:37:42 -0700 (Thu, 20 May 2021)


Log Message
[iOS][FCR]  options are unnecessarily truncated
https://bugs.webkit.org/show_bug.cgi?id=226048


Reviewed by Tim Horton.

* UIProcess/ios/forms/WKFormSelectPicker.mm:
(-[WKSelectPicker createMenu]):

UIMenu's currently limit action titles to two lines. Use SPI to remove
the limit and avoid unnecessary truncation.

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/ios/forms/WKFormSelectPicker.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (277845 => 277846)

--- trunk/Source/WebKit/ChangeLog	2021-05-21 02:21:09 UTC (rev 277845)
+++ trunk/Source/WebKit/ChangeLog	2021-05-21 02:37:42 UTC (rev 277846)
@@ -1,3 +1,17 @@
+2021-05-20  Aditya Keerthi  
+
+[iOS][FCR]  options are unnecessarily truncated
+https://bugs.webkit.org/show_bug.cgi?id=226048
+
+
+Reviewed by Tim Horton.
+
+* UIProcess/ios/forms/WKFormSelectPicker.mm:
+(-[WKSelectPicker createMenu]):
+
+UIMenu's currently limit action titles to two lines. Use SPI to remove
+the limit and avoid unnecessary truncation.
+
 2021-05-20  Alex Christensen  
 
 Unreviewed, reverting r277606.


Modified: trunk/Source/WebKit/UIProcess/ios/forms/WKFormSelectPicker.mm (277845 => 277846)

--- trunk/Source/WebKit/UIProcess/ios/forms/WKFormSelectPicker.mm	2021-05-21 02:21:09 UTC (rev 277845)
+++ trunk/Source/WebKit/UIProcess/ios/forms/WKFormSelectPicker.mm	2021-05-21 02:37:42 UTC (rev 277846)
@@ -473,6 +473,9 @@
 
 #pragma mark - Form Control Refresh
 
+// FIXME: Remove once  is in an SDK.
+#define UIMenuOptionsPrivateRemoveLineLimitForChildren (1 << 6)
+
 @implementation WKSelectPicker {
 __weak WKContentView *_view;
 CGPoint _interactionPoint;
@@ -582,7 +585,7 @@
 currentIndex++;
 }
 
-UIMenu *groupMenu = [UIMenu menuWithTitle:groupText image:nil identifier:nil options:UIMenuOptionsDisplayInline children:groupedItems];
+UIMenu *groupMenu = [UIMenu menuWithTitle:groupText image:nil identifier:nil options:(UIMenuOptionsDisplayInline | UIMenuOptionsPrivateRemoveLineLimitForChildren) children:groupedItems];
 [items addObject:groupMenu];
 continue;
 }
@@ -593,7 +596,7 @@
 currentIndex++;
 }
 
-return [UIMenu menuWithTitle:@"" children:items];
+return [UIMenu menuWithTitle:@"" image:nil identifier:nil options:UIMenuOptionsPrivateRemoveLineLimitForChildren children:items];
 }
 
 - (UIAction *)actionForOptionItem:(const OptionItem&)option withIndex:(NSInteger)optionIndex






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277845] trunk/Source/WebCore

2021-05-20 Thread cdumez
Title: [277845] trunk/Source/WebCore








Revision 277845
Author cdu...@apple.com
Date 2021-05-20 19:21:09 -0700 (Thu, 20 May 2021)


Log Message
Fix locking in PlatformCALayer
https://bugs.webkit.org/show_bug.cgi?id=226062

Reviewed by Tim Horton.

Fix locking issue in PlatformCALayer found by Clang Thread Safety Analysis.
We were locking before querying layerToPlatformLayerMap(), but failing to
do so when adding or removing from layerToPlatformLayerMap().

* platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(WebCore::WTF_REQUIRES_LOCK):
(WebCore::PlatformCALayer::platformCALayerForLayer):
(WebCore::PlatformCALayerCocoa::commonInit):
(WebCore::PlatformCALayerCocoa::~PlatformCALayerCocoa):
(WebCore::layerToPlatformLayerMap): Deleted.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (277844 => 277845)

--- trunk/Source/WebCore/ChangeLog	2021-05-21 01:56:59 UTC (rev 277844)
+++ trunk/Source/WebCore/ChangeLog	2021-05-21 02:21:09 UTC (rev 277845)
@@ -1,5 +1,23 @@
 2021-05-20  Chris Dumez  
 
+Fix locking in PlatformCALayer
+https://bugs.webkit.org/show_bug.cgi?id=226062
+
+Reviewed by Tim Horton.
+
+Fix locking issue in PlatformCALayer found by Clang Thread Safety Analysis.
+We were locking before querying layerToPlatformLayerMap(), but failing to
+do so when adding or removing from layerToPlatformLayerMap().
+
+* platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
+(WebCore::WTF_REQUIRES_LOCK):
+(WebCore::PlatformCALayer::platformCALayerForLayer):
+(WebCore::PlatformCALayerCocoa::commonInit):
+(WebCore::PlatformCALayerCocoa::~PlatformCALayerCocoa):
+(WebCore::layerToPlatformLayerMap): Deleted.
+
+2021-05-20  Chris Dumez  
+
 Add missing lock in AXIsolatedTree::treeForID()
 https://bugs.webkit.org/show_bug.cgi?id=226060
 


Modified: trunk/Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm (277844 => 277845)

--- trunk/Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm	2021-05-21 01:56:59 UTC (rev 277844)
+++ trunk/Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm	2021-05-21 02:21:09 UTC (rev 277845)
@@ -53,6 +53,7 @@
 #import 
 #import 
 #import 
+#import 
 #import 
 #import 
 
@@ -75,7 +76,8 @@
 
 using LayerToPlatformCALayerMap = HashMap;
 
-static LayerToPlatformCALayerMap& layerToPlatformLayerMap()
+static CheckedLock layerToPlatformLayerMapLock;
+static LayerToPlatformCALayerMap& layerToPlatformLayerMap() WTF_REQUIRES_LOCK(layerToPlatformLayerMapLock)
 {
 static NeverDestroyed layerMap;
 return layerMap;
@@ -87,8 +89,7 @@
 if (!platformLayer)
 return nullptr;
 
-static Lock lock;
-LockHolder lockHolder(lock);
+Locker locker { layerToPlatformLayerMapLock };
 return layerToPlatformLayerMap().get(platformLayer);
 }
 
@@ -312,7 +313,10 @@
 {
 BEGIN_BLOCK_OBJC_EXCEPTIONS
 
-layerToPlatformLayerMap().add(m_layer.get(), this);
+{
+Locker locker { layerToPlatformLayerMapLock };
+layerToPlatformLayerMap().add(m_layer.get(), this);
+}
 
 // Clear all the implicit animations on the CALayer
 if (m_layerType == LayerTypeAVPlayerLayer || m_layerType == LayerTypeContentsProvidedLayer || m_layerType == LayerTypeScrollContainerLayer || m_layerType == LayerTypeCustom)
@@ -392,7 +396,10 @@
 
 PlatformCALayerCocoa::~PlatformCALayerCocoa()
 {
-layerToPlatformLayerMap().remove(m_layer.get());
+{
+Locker locker { layerToPlatformLayerMapLock };
+layerToPlatformLayerMap().remove(m_layer.get());
+}
 
 // Remove the owner pointer from the delegate in case there is a pending animationStarted event.
 [static_cast(m_delegate.get()) setOwner:nil];






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277844] trunk/Source/WebCore

2021-05-20 Thread cdumez
Title: [277844] trunk/Source/WebCore








Revision 277844
Author cdu...@apple.com
Date 2021-05-20 18:56:59 -0700 (Thu, 20 May 2021)


Log Message
Add missing lock in AXIsolatedTree::treeForID()
https://bugs.webkit.org/show_bug.cgi?id=226060


Reviewed by Alex Christensen.

Add missing lock in AXIsolatedTree::treeForID(). This was found via Clang Thread Safety
Analysis. This was the only call site that was failing to grab the s_cacheLock before
calling treeIDCache().

* accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::treeForID):
(WebCore::AXIsolatedTree::create):
(WebCore::AXIsolatedTree::removeTreeForPageID):
(WebCore::AXIsolatedTree::treeForPageID):
* accessibility/isolatedtree/AXIsolatedTree.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp
trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (277843 => 277844)

--- trunk/Source/WebCore/ChangeLog	2021-05-21 01:28:17 UTC (rev 277843)
+++ trunk/Source/WebCore/ChangeLog	2021-05-21 01:56:59 UTC (rev 277844)
@@ -1,3 +1,22 @@
+2021-05-20  Chris Dumez  
+
+Add missing lock in AXIsolatedTree::treeForID()
+https://bugs.webkit.org/show_bug.cgi?id=226060
+
+
+Reviewed by Alex Christensen.
+
+Add missing lock in AXIsolatedTree::treeForID(). This was found via Clang Thread Safety
+Analysis. This was the only call site that was failing to grab the s_cacheLock before
+calling treeIDCache().
+
+* accessibility/isolatedtree/AXIsolatedTree.cpp:
+(WebCore::AXIsolatedTree::treeForID):
+(WebCore::AXIsolatedTree::create):
+(WebCore::AXIsolatedTree::removeTreeForPageID):
+(WebCore::AXIsolatedTree::treeForPageID):
+* accessibility/isolatedtree/AXIsolatedTree.h:
+
 2021-05-20  Chris Lord  
 
 [WPE] Spatial navigation tests fail with async overflow scrolling enabled


Modified: trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp (277843 => 277844)

--- trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp	2021-05-21 01:28:17 UTC (rev 277843)
+++ trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp	2021-05-21 01:56:59 UTC (rev 277844)
@@ -35,7 +35,7 @@
 
 namespace WebCore {
 
-static Lock s_cacheLock;
+CheckedLock AXIsolatedTree::s_cacheLock;
 
 static unsigned newTreeID()
 {
@@ -84,6 +84,7 @@
 RefPtr AXIsolatedTree::treeForID(AXIsolatedTreeID treeID)
 {
 AXTRACE("AXIsolatedTree::treeForID");
+Locker locker { s_cacheLock };
 return treeIDCache().get(treeID);
 }
 
@@ -107,7 +108,7 @@
 // Now that the tree is ready to take client requests, add it to the tree
 // maps so that it can be found.
 auto pageID = axObjectCache->pageID();
-LockHolder locker(s_cacheLock);
+Locker locker { s_cacheLock };
 ASSERT(!treePageCache().contains(*pageID));
 treePageCache().set(*pageID, tree.copyRef());
 treeIDCache().set(tree->treeID(), tree.copyRef());
@@ -119,7 +120,7 @@
 {
 AXTRACE("AXIsolatedTree::removeTreeForPageID");
 ASSERT(isMainThread());
-LockHolder locker(s_cacheLock);
+Locker locker { s_cacheLock };
 
 if (auto tree = treePageCache().take(pageID)) {
 tree->clear();
@@ -129,7 +130,7 @@
 
 RefPtr AXIsolatedTree::treeForPageID(PageIdentifier pageID)
 {
-LockHolder locker(s_cacheLock);
+Locker locker { s_cacheLock };
 
 if (auto tree = treePageCache().get(pageID))
 return makeRefPtr(tree);


Modified: trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h (277843 => 277844)

--- trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h	2021-05-21 01:28:17 UTC (rev 277843)
+++ trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h	2021-05-21 01:56:59 UTC (rev 277844)
@@ -29,6 +29,7 @@
 
 #include "AccessibilityObjectInterface.h"
 #include "PageIdentifier.h"
+#include 
 #include 
 #include 
 #include 
@@ -373,8 +374,9 @@
 AXIsolatedTree(AXObjectCache*);
 void clear();
 
-static HashMap>& treeIDCache();
-static HashMap>& treePageCache();
+static CheckedLock s_cacheLock;
+static HashMap>& treeIDCache() WTF_REQUIRES_LOCK(s_cacheLock);
+static HashMap>& treePageCache() WTF_REQUIRES_LOCK(s_cacheLock);
 
 // Call on main thread
 Ref createSubtree(AXCoreObject&, AXID parentID, bool attachWrapper);






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277843] trunk/Source/WTF

2021-05-20 Thread cdumez
Title: [277843] trunk/Source/WTF








Revision 277843
Author cdu...@apple.com
Date 2021-05-20 18:28:17 -0700 (Thu, 20 May 2021)


Log Message
Add missing locks in Language.cpp
https://bugs.webkit.org/show_bug.cgi?id=226059

Reviewed by Alex Christensen.

Add missing locks in Language.cpp. This was found via Clang Thread Safety Analysis.
Some of the overrideUserPreferredLanguages() call sites were failing to grab the
lock first.

Also use NeverDestroyed in preferredLanguagesOverride() instead of LazyNeverDestroyed
with std::call_once. All call sites are already grabbing a lock so there is no need
for extra synchronization.

* wtf/Language.cpp:
(WTF::WTF_REQUIRES_LOCK):
(WTF::userPreferredLanguagesOverride):
(WTF::overrideUserPreferredLanguages):
(WTF::userPreferredLanguages):
(WTF::preferredLanguagesOverride): Deleted.

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/Language.cpp




Diff

Modified: trunk/Source/WTF/ChangeLog (277842 => 277843)

--- trunk/Source/WTF/ChangeLog	2021-05-21 00:40:47 UTC (rev 277842)
+++ trunk/Source/WTF/ChangeLog	2021-05-21 01:28:17 UTC (rev 277843)
@@ -1,3 +1,25 @@
+2021-05-20  Chris Dumez  
+
+Add missing locks in Language.cpp
+https://bugs.webkit.org/show_bug.cgi?id=226059
+
+Reviewed by Alex Christensen.
+
+Add missing locks in Language.cpp. This was found via Clang Thread Safety Analysis.
+Some of the overrideUserPreferredLanguages() call sites were failing to grab the
+lock first.
+
+Also use NeverDestroyed in preferredLanguagesOverride() instead of LazyNeverDestroyed
+with std::call_once. All call sites are already grabbing a lock so there is no need
+for extra synchronization.
+
+* wtf/Language.cpp:
+(WTF::WTF_REQUIRES_LOCK):
+(WTF::userPreferredLanguagesOverride):
+(WTF::overrideUserPreferredLanguages):
+(WTF::userPreferredLanguages):
+(WTF::preferredLanguagesOverride): Deleted.
+
 2021-05-19  Alex Christensen  
 
 Add support for Navigation Timing Level 2


Modified: trunk/Source/WTF/wtf/Language.cpp (277842 => 277843)

--- trunk/Source/WTF/wtf/Language.cpp	2021-05-21 00:40:47 UTC (rev 277842)
+++ trunk/Source/WTF/wtf/Language.cpp	2021-05-21 01:28:17 UTC (rev 277843)
@@ -26,6 +26,7 @@
 #include "config.h"
 #include 
 
+#include 
 #include 
 #include 
 #include 
@@ -36,7 +37,12 @@
 
 namespace WTF {
 
-static Lock userPreferredLanguagesMutex;
+static CheckedLock preferredLanguagesOverrideLock;
+static Vector& preferredLanguagesOverride() WTF_REQUIRES_LOCK(preferredLanguagesOverrideLock)
+{
+static NeverDestroyed> override;
+return override;
+}
 
 typedef HashMap ObserverMap;
 static ObserverMap& observerMap()
@@ -78,24 +84,18 @@
 return emptyString();
 }
 
-static Vector& preferredLanguagesOverride()
-{
-static LazyNeverDestroyed> override;
-static std::once_flag onceKey;
-std::call_once(onceKey, [&] {
-override.construct();
-});
-return override;
-}
-
 Vector userPreferredLanguagesOverride()
 {
+Locker locker { preferredLanguagesOverrideLock };
 return preferredLanguagesOverride();
 }
 
 void overrideUserPreferredLanguages(const Vector& override)
 {
-preferredLanguagesOverride() = override;
+{
+Locker locker { preferredLanguagesOverrideLock };
+preferredLanguagesOverride() = override;
+}
 languageDidChange();
 }
 
@@ -111,7 +111,7 @@
 Vector userPreferredLanguages()
 {
 {
-auto locker = holdLock(userPreferredLanguagesMutex);
+Locker locker { preferredLanguagesOverrideLock };
 Vector& override = preferredLanguagesOverride();
 if (!override.isEmpty())
 return isolatedCopy(override);






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277842] tags/Safari-612.1.15.1.7/

2021-05-20 Thread repstein
Title: [277842] tags/Safari-612.1.15.1.7/








Revision 277842
Author repst...@apple.com
Date 2021-05-20 17:40:47 -0700 (Thu, 20 May 2021)


Log Message
Tag Safari-612.1.15.1.7.

Added Paths

tags/Safari-612.1.15.1.7/




Diff




___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277841] branches/safari-612.1.15.1-branch/Source

2021-05-20 Thread repstein
Title: [277841] branches/safari-612.1.15.1-branch/Source








Revision 277841
Author repst...@apple.com
Date 2021-05-20 17:38:23 -0700 (Thu, 20 May 2021)


Log Message
Versioning.

WebKit-7612.1.15.1.7

Modified Paths

branches/safari-612.1.15.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig
branches/safari-612.1.15.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig
branches/safari-612.1.15.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig
branches/safari-612.1.15.1-branch/Source/WebCore/Configurations/Version.xcconfig
branches/safari-612.1.15.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig
branches/safari-612.1.15.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig
branches/safari-612.1.15.1-branch/Source/WebKit/Configurations/Version.xcconfig
branches/safari-612.1.15.1-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig




Diff

Modified: branches/safari-612.1.15.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig (277840 => 277841)

--- branches/safari-612.1.15.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-05-21 00:24:33 UTC (rev 277840)
+++ branches/safari-612.1.15.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-05-21 00:38:23 UTC (rev 277841)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 1;
 TINY_VERSION = 15;
 MICRO_VERSION = 1;
-NANO_VERSION = 6;
+NANO_VERSION = 7;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.1.15.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (277840 => 277841)

--- branches/safari-612.1.15.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-05-21 00:24:33 UTC (rev 277840)
+++ branches/safari-612.1.15.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-05-21 00:38:23 UTC (rev 277841)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 1;
 TINY_VERSION = 15;
 MICRO_VERSION = 1;
-NANO_VERSION = 6;
+NANO_VERSION = 7;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.1.15.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (277840 => 277841)

--- branches/safari-612.1.15.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-05-21 00:24:33 UTC (rev 277840)
+++ branches/safari-612.1.15.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-05-21 00:38:23 UTC (rev 277841)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 1;
 TINY_VERSION = 15;
 MICRO_VERSION = 1;
-NANO_VERSION = 6;
+NANO_VERSION = 7;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.1.15.1-branch/Source/WebCore/Configurations/Version.xcconfig (277840 => 277841)

--- branches/safari-612.1.15.1-branch/Source/WebCore/Configurations/Version.xcconfig	2021-05-21 00:24:33 UTC (rev 277840)
+++ branches/safari-612.1.15.1-branch/Source/WebCore/Configurations/Version.xcconfig	2021-05-21 00:38:23 UTC (rev 277841)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 1;
 TINY_VERSION = 15;
 MICRO_VERSION = 1;
-NANO_VERSION = 6;
+NANO_VERSION = 7;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.1.15.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (277840 => 277841)

--- branches/safari-612.1.15.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-05-21 00:24:33 UTC (rev 277840)
+++ branches/safari-612.1.15.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-05-21 00:38:23 UTC (rev 277841)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 1;
 TINY_VERSION = 15;
 MICRO_VERSION = 1;
-NANO_VERSION = 6;
+NANO_VERSION = 7;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.1.15.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (277840 => 277841)

--- branches/safari-612.1.15.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-05-21 00:24:33 UTC (rev 277840)
+++ branches/safari-612.1.15.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-05-21 00:38:23 UTC (rev 277841)
@@ -2,7 +2,7 @@
 MINOR_VERSION = 1;
 TINY_VERSION = 15;
 MICRO_VERSION = 1;
-NANO_VERSION = 6;
+NANO_VERSION = 7;
 FULL_VERSION = 

[webkit-changes] [277840] trunk

2021-05-20 Thread clord
Title: [277840] trunk








Revision 277840
Author cl...@igalia.com
Date 2021-05-20 17:24:33 -0700 (Thu, 20 May 2021)


Log Message
[WPE] Spatial navigation tests fail with async overflow scrolling enabled
https://bugs.webkit.org/show_bug.cgi?id=225922

Reviewed by Simon Fraser.

Source/WebCore:

Add absoluteClippedOverflowRectForSpatialNavigation for when the
clipped overflow rect not taking into account composited scrolling is
necessary.

No new tests, covered by existing tests.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isOffScreen const):
* page/SpatialNavigation.cpp:
(WebCore::hasOffscreenRect):
* rendering/RenderObject.h:
(WebCore::RenderObject::absoluteClippedOverflowRectForSpatialNavigation const):
(WebCore::RenderObject::visibleRectContextForSpatialNavigation):

LayoutTests:

Some spatial navigation tests now pass on WPE.

* platform/wpe/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/wpe/TestExpectations
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
trunk/Source/WebCore/page/SpatialNavigation.cpp
trunk/Source/WebCore/rendering/RenderObject.h




Diff

Modified: trunk/LayoutTests/ChangeLog (277839 => 277840)

--- trunk/LayoutTests/ChangeLog	2021-05-21 00:15:13 UTC (rev 277839)
+++ trunk/LayoutTests/ChangeLog	2021-05-21 00:24:33 UTC (rev 277840)
@@ -1,3 +1,14 @@
+2021-05-20  Chris Lord  
+
+[WPE] Spatial navigation tests fail with async overflow scrolling enabled
+https://bugs.webkit.org/show_bug.cgi?id=225922
+
+Reviewed by Simon Fraser.
+
+Some spatial navigation tests now pass on WPE.
+
+* platform/wpe/TestExpectations:
+
 2021-05-20  Amir Mark Jr  
 
 [macOS] imported/w3c/web-platform-tests/IndexedDB/blob-valid-before-commit.any.html is a flaky failure


Modified: trunk/LayoutTests/platform/wpe/TestExpectations (277839 => 277840)

--- trunk/LayoutTests/platform/wpe/TestExpectations	2021-05-21 00:15:13 UTC (rev 277839)
+++ trunk/LayoutTests/platform/wpe/TestExpectations	2021-05-21 00:24:33 UTC (rev 277840)
@@ -708,9 +708,6 @@
 webkit.org/b/225379 [ Debug ] imported/w3c/web-platform-tests/webxr/xrDevice_requestSession_non_immersive_no_gesture.https.html [ Crash ]
 
 # Test failing since async scrolling was activated in WPE.
-webkit.org/b/224596 fast/spatial-navigation/snav-clipped-overflowed-content.html [ Failure ]
-webkit.org/b/224596 fast/spatial-navigation/snav-only-clipped-overflow-content.html [ Failure ]
-webkit.org/b/224596 fast/spatial-navigation/snav-simple-content-overflow.html [ Failure ]
 webkit.org/b/224596 css3/filters/clipping-overflow-scroll-with-pixel-moving-effect-on-parent.html [ ImageOnlyFailure ]
 webkit.org/b/224596 css3/filters/clipping-overflow-scroll-with-pixel-moving-effect-on.html [ ImageOnlyFailure ]
 webkit.org/b/224596 fast/scrolling/rtl-scrollbars-overflow-dir-rtl.html [ ImageOnlyFailure ]


Modified: trunk/Source/WebCore/ChangeLog (277839 => 277840)

--- trunk/Source/WebCore/ChangeLog	2021-05-21 00:15:13 UTC (rev 277839)
+++ trunk/Source/WebCore/ChangeLog	2021-05-21 00:24:33 UTC (rev 277840)
@@ -1,3 +1,24 @@
+2021-05-20  Chris Lord  
+
+[WPE] Spatial navigation tests fail with async overflow scrolling enabled
+https://bugs.webkit.org/show_bug.cgi?id=225922
+
+Reviewed by Simon Fraser.
+
+Add absoluteClippedOverflowRectForSpatialNavigation for when the
+clipped overflow rect not taking into account composited scrolling is
+necessary.
+
+No new tests, covered by existing tests.
+
+* accessibility/AccessibilityRenderObject.cpp:
+(WebCore::AccessibilityRenderObject::isOffScreen const):
+* page/SpatialNavigation.cpp:
+(WebCore::hasOffscreenRect):
+* rendering/RenderObject.h:
+(WebCore::RenderObject::absoluteClippedOverflowRectForSpatialNavigation const):
+(WebCore::RenderObject::visibleRectContextForSpatialNavigation):
+
 2021-05-20  Kate Cheney  
 
 Mark ServiceWorkerThreadProxy with a default app-bound value


Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (277839 => 277840)

--- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp	2021-05-21 00:15:13 UTC (rev 277839)
+++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp	2021-05-21 00:24:33 UTC (rev 277840)
@@ -550,7 +550,7 @@
 if (!m_renderer)
 return true;
 
-IntRect contentRect = snappedIntRect(m_renderer->absoluteClippedOverflowRectForRepaint());
+IntRect contentRect = snappedIntRect(m_renderer->absoluteClippedOverflowRectForSpatialNavigation());
 // FIXME: unclear if we need LegacyIOSDocumentVisibleRect.
 IntRect viewRect = m_renderer->view().frameView().visibleContentRect(ScrollableArea::LegacyIOSDocumentVisibleRect);
 viewRect.intersect(contentRect);


Modified: trunk/Source/WebCore/page/SpatialNavigation.cpp (277839 => 

[webkit-changes] [277839] trunk

2021-05-20 Thread achristensen
Title: [277839] trunk








Revision 277839
Author achristen...@apple.com
Date 2021-05-20 17:15:13 -0700 (Thu, 20 May 2021)


Log Message
Unreviewed, reverting r277606.
rdar://78283324

Source/WebKit:

Need to wait for more projects to migrate to new API.

Reverted changeset:

"[Cocoa] Remove prototype loadSimulatedRequest methods"
https://bugs.webkit.org/show_bug.cgi?id=223658
https://commits.webkit.org/r277606

Tools:

Need to wait for more projects to migrate

Reverted changeset:

"[Cocoa] Remove prototype loadSimulatedRequest methods"
https://bugs.webkit.org/show_bug.cgi?id=223658
https://commits.webkit.org/r277606

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.h
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewLoadAPIs.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (277838 => 277839)

--- trunk/Source/WebKit/ChangeLog	2021-05-21 00:14:50 UTC (rev 277838)
+++ trunk/Source/WebKit/ChangeLog	2021-05-21 00:15:13 UTC (rev 277839)
@@ -1,3 +1,16 @@
+2021-05-20  Alex Christensen  
+
+Unreviewed, reverting r277606.
+rdar://78283324
+
+Need to wait for more projects to migrate to new API.
+
+Reverted changeset:
+
+"[Cocoa] Remove prototype loadSimulatedRequest methods"
+https://bugs.webkit.org/show_bug.cgi?id=223658
+https://commits.webkit.org/r277606
+
 2021-05-20  Kate Cheney  
 
 Mark ServiceWorkerThreadProxy with a default app-bound value


Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.h (277838 => 277839)

--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.h	2021-05-21 00:14:50 UTC (rev 277838)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.h	2021-05-21 00:15:13 UTC (rev 277839)
@@ -545,6 +545,7 @@
  @result A new navigation.
 */
 - (WKNavigation *)loadSimulatedRequest:(NSURLRequest *)request response:(NSURLResponse *)response responseData:(NSData *)data WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
+- (WKNavigation *)loadSimulatedRequest:(NSURLRequest *)request withResponse:(NSURLResponse *)response responseData:(NSData *)data WK_API_DEPRECATED_WITH_REPLACEMENT("loadSimulatedRequest:response:responseData:", macos(WK_MAC_TBA, WK_MAC_TBA), ios(WK_IOS_TBA, WK_IOS_TBA));
 
 /*! @abstract Navigates to the requested file URL on the filesystem.
  @param request The request specifying the file URL to which to navigate.
@@ -566,6 +567,7 @@
  @result A new navigation.
 */
 - (WKNavigation *)loadSimulatedRequest:(NSURLRequest *)request responseHTMLString:(NSString *)string NS_SWIFT_NAME(loadSimulatedRequest(_:responseHTML:)) WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
+- (WKNavigation *)loadSimulatedRequest:(NSURLRequest *)request withResponseHTMLString:(NSString *)string NS_SWIFT_NAME(loadSimulatedRequest(_:withResponseHTML:)) WK_API_DEPRECATED_WITH_REPLACEMENT("loadSimulatedRequest:responseHTMLString:", macos(WK_MAC_TBA, WK_MAC_TBA), ios(WK_IOS_TBA, WK_IOS_TBA));
 
 #if !TARGET_OS_IPHONE
 /* @abstract Returns an NSPrintOperation object configured to print the contents of this WKWebView


Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (277838 => 277839)

--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2021-05-21 00:14:50 UTC (rev 277838)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2021-05-21 00:15:13 UTC (rev 277839)
@@ -1700,6 +1700,13 @@
 return wrapper(_page->loadSimulatedRequest(request, response, { static_cast(data.bytes), data.length }));
 }
 
+// FIXME(223658): Remove this once adopters have moved to the final API.
+- (WKNavigation *)loadSimulatedRequest:(NSURLRequest *)request withResponse:(NSURLResponse *)response responseData:(NSData *)data
+{
+THROW_IF_SUSPENDED;
+return [self loadSimulatedRequest:request response:response responseData:data];
+}
+
 - (WKNavigation *)loadSimulatedRequest:(NSURLRequest *)request responseHTMLString:(NSString *)string
 {
 THROW_IF_SUSPENDED;
@@ -1709,6 +1716,13 @@
 return [self loadSimulatedRequest:request response:response.get() responseData:data];
 }
 
+// FIXME(223658): Remove this once adopters have moved to the final API.
+- (WKNavigation *)loadSimulatedRequest:(NSURLRequest *)request withResponseHTMLString:(NSString *)string
+{
+THROW_IF_SUSPENDED;
+return [self loadSimulatedRequest:request responseHTMLString:string];
+}
+
 - (WKNavigation *)loadFileRequest:(NSURLRequest *)request allowingReadAccessToURL:(NSURL *)readAccessURL
 {
 THROW_IF_SUSPENDED;


Modified: trunk/Tools/ChangeLog (277838 => 277839)

--- trunk/Tools/ChangeLog	2021-05-21 00:14:50 UTC (rev 277838)
+++ trunk/Tools/ChangeLog	2021-05-21 00:15:13 UTC (rev 277839)
@@ -1,3 +1,16 @@
+2021-05-20  Alex Christensen  
+
+Unreviewed, reverting r277606.
+rdar://78283324
+
+Need to wait for more projects to migrate
+
+Reverted changeset:
+
+"[Cocoa] Remove prototype 

[webkit-changes] [277838] trunk/Source/JavaScriptCore

2021-05-20 Thread sbarati
Title: [277838] trunk/Source/_javascript_Core








Revision 277838
Author sbar...@apple.com
Date 2021-05-20 17:14:50 -0700 (Thu, 20 May 2021)


Log Message
Make polymorphic calls play nice with Data Call ICs
https://bugs.webkit.org/show_bug.cgi?id=225793

Reviewed by Robin Morisset.

This patch makes it so that Polymorphic stubs don't repatch when using
Data Call ICs. We add a branch to the Data IC fast path to see if we're
polymorphic. If we are, then we either call or tail call the polymorphic
stub, depending on the CallLinkInfo's call type. This patch also changes
the polymorphic stub to handle being called instead of jumped to, since that
will now happen for Data ICs of non tail calls.

* bytecode/CallLinkInfo.cpp:
(JSC::CallLinkInfo::setMonomorphicCallee):
(JSC::CallLinkInfo::callee):
(JSC::CallLinkInfo::visitWeak):
(JSC::CallLinkInfo::emitFastPathImpl):
(JSC::CallLinkInfo::revertCallToStub):
(JSC::CallLinkInfo::setStub):
(JSC::CallLinkInfo::emitFirstInstructionForDataIC): Deleted.
* bytecode/CallLinkInfo.h:
* jit/Repatch.cpp:
(JSC::linkPolymorphicCall):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/bytecode/CallLinkInfo.cpp
trunk/Source/_javascript_Core/bytecode/CallLinkInfo.h
trunk/Source/_javascript_Core/jit/Repatch.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (277837 => 277838)

--- trunk/Source/_javascript_Core/ChangeLog	2021-05-20 23:39:30 UTC (rev 277837)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-05-21 00:14:50 UTC (rev 277838)
@@ -1,3 +1,29 @@
+2021-05-20  Saam Barati  
+
+Make polymorphic calls play nice with Data Call ICs
+https://bugs.webkit.org/show_bug.cgi?id=225793
+
+Reviewed by Robin Morisset.
+
+This patch makes it so that Polymorphic stubs don't repatch when using
+Data Call ICs. We add a branch to the Data IC fast path to see if we're
+polymorphic. If we are, then we either call or tail call the polymorphic
+stub, depending on the CallLinkInfo's call type. This patch also changes
+the polymorphic stub to handle being called instead of jumped to, since that
+will now happen for Data ICs of non tail calls.
+
+* bytecode/CallLinkInfo.cpp:
+(JSC::CallLinkInfo::setMonomorphicCallee):
+(JSC::CallLinkInfo::callee):
+(JSC::CallLinkInfo::visitWeak):
+(JSC::CallLinkInfo::emitFastPathImpl):
+(JSC::CallLinkInfo::revertCallToStub):
+(JSC::CallLinkInfo::setStub):
+(JSC::CallLinkInfo::emitFirstInstructionForDataIC): Deleted.
+* bytecode/CallLinkInfo.h:
+* jit/Repatch.cpp:
+(JSC::linkPolymorphicCall):
+
 2021-05-20  Tuomas Karkkainen  
 
 $vm should have a function for checking if ASan is enabled similar to $vm.assertEnabled


Modified: trunk/Source/_javascript_Core/bytecode/CallLinkInfo.cpp (277837 => 277838)

--- trunk/Source/_javascript_Core/bytecode/CallLinkInfo.cpp	2021-05-20 23:39:30 UTC (rev 277837)
+++ trunk/Source/_javascript_Core/bytecode/CallLinkInfo.cpp	2021-05-21 00:14:50 UTC (rev 277838)
@@ -131,9 +131,12 @@
 return m_doneLocation;
 }
 
+static constexpr uintptr_t polymorphicCalleeMask = 1;
+
 void CallLinkInfo::setMonomorphicCallee(VM& vm, JSCell* owner, JSObject* callee, MacroAssemblerCodePtr codePtr)
 {
 RELEASE_ASSERT(!isDirect());
+RELEASE_ASSERT(!(bitwise_cast(callee) & polymorphicCalleeMask));
 m_calleeOrCodeBlock.set(vm, owner, callee);
 
 if (isDataIC()) 
@@ -157,6 +160,7 @@
 JSObject* CallLinkInfo::callee()
 {
 RELEASE_ASSERT(!isDirect());
+RELEASE_ASSERT(!(bitwise_cast(m_calleeOrCodeBlock.get()) & polymorphicCalleeMask));
 return jsCast(m_calleeOrCodeBlock.get());
 }
 
@@ -250,18 +254,19 @@
 pointerDump(codeBlock()), ").\n");
 }
 } else {
-if (callee()->type() == JSFunctionType) {
+JSObject* callee = jsCast(m_calleeOrCodeBlock.get());
+if (callee->type() == JSFunctionType) {
 if (UNLIKELY(Options::verboseOSR())) {
 dataLog(
 "Clearing call to ",
-RawPointer(callee()), " (",
-static_cast(callee())->executable()->hashFor(specializationKind()),
+RawPointer(callee), " (",
+static_cast(callee)->executable()->hashFor(specializationKind()),
 ").\n");
 }
-handleSpecificCallee(static_cast(callee()));
+handleSpecificCallee(static_cast(callee));
 } else {
 if (UNLIKELY(Options::verboseOSR()))
-dataLog("Clearing call to ", RawPointer(callee()), ".\n");
+dataLog("Clearing call to ", RawPointer(callee), ".\n");
 m_clearedByGC = true;
 }
   

[webkit-changes] [277837] trunk

2021-05-20 Thread katherine_cheney
Title: [277837] trunk








Revision 277837
Author katherine_che...@apple.com
Date 2021-05-20 16:39:30 -0700 (Thu, 20 May 2021)


Log Message
Mark ServiceWorkerThreadProxy with a default app-bound value
https://bugs.webkit.org/show_bug.cgi?id=223201


Reviewed by Youenn Fablet.

Source/WebCore:

Service worker loads have their own document loader, so they don't
always get properly marked as app-bound based on the main frame
navigation. Prior fixes handled some fetch events, synthetic
responses, and soft updates. But we need to set a default value when
we install the service worker.

We had to pick a best-effort heuristic to do this. If any client for
the worker is app-bound, then all loads with that worker will be
marked app-bound.

* testing/ServiceWorkerInternals.cpp:
(WebCore::ServiceWorkerInternals::lastNavigationWasAppBound):
* testing/ServiceWorkerInternals.h:
* testing/ServiceWorkerInternals.idl:
* workers/WorkerRunLoop.h:
To test this, I added a new API to ServiceWorkerInternals to get the
worker's app bound value.

* workers/service/ServiceWorkerClientData.cpp:
(WebCore::ServiceWorkerClientData::isolatedCopy const):
(WebCore::ServiceWorkerClientData::from):
* workers/service/ServiceWorkerClientData.h:
(WebCore::ServiceWorkerClientData::encode const):
(WebCore::ServiceWorkerClientData::decode):
Store the main navigation app-bound value when we register a client.

* workers/service/ServiceWorkerContextData.cpp:
(WebCore::ServiceWorkerContextData::isolatedCopy const):
* workers/service/ServiceWorkerContextData.h:
(WebCore::ServiceWorkerContextData::encode const):
(WebCore::ServiceWorkerContextData::decode):
* workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy):
(WebCore::ServiceWorkerThreadProxy::lastNavigationWasAppBound):
* workers/service/context/ServiceWorkerThreadProxy.h:
* workers/service/server/RegistrationDatabase.cpp:
(WebCore::RegistrationDatabase::importRecords):
* workers/service/server/SWServer.cpp:
(WebCore::SWServer::updateWorker):
(WebCore::SWServer::clientIsAppBoundForRegistrableDomain):
Best-effort heuristic to mark a load as app bound if any client for
that origin was registered as app-bound.

Source/WebKit:

* NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::controlClient):
* NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::updateAppBoundValue):
* NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:
* Scripts/webkit/messages.py:
(headers_for_type):
* WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::updateAppBoundValue):
* WebProcess/Storage/WebSWContextManagerConnection.h:
* WebProcess/Storage/WebSWContextManagerConnection.messages.in:

Tools:

Test coverage.

* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(-[SWAppBoundRequestMessageHandler userContentController:didReceiveScriptMessage:]):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/testing/ServiceWorkerInternals.cpp
trunk/Source/WebCore/testing/ServiceWorkerInternals.h
trunk/Source/WebCore/testing/ServiceWorkerInternals.idl
trunk/Source/WebCore/workers/WorkerRunLoop.h
trunk/Source/WebCore/workers/service/ServiceWorkerClientData.cpp
trunk/Source/WebCore/workers/service/ServiceWorkerClientData.h
trunk/Source/WebCore/workers/service/ServiceWorkerContextData.cpp
trunk/Source/WebCore/workers/service/ServiceWorkerContextData.h
trunk/Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.cpp
trunk/Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.h
trunk/Source/WebCore/workers/service/server/RegistrationDatabase.cpp
trunk/Source/WebCore/workers/service/server/SWServer.cpp
trunk/Source/WebCore/workers/service/server/SWServer.h
trunk/Source/WebCore/workers/service/server/SWServerToContextConnection.h
trunk/Source/WebCore/workers/service/server/SWServerWorker.cpp
trunk/Source/WebCore/workers/service/server/SWServerWorker.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.cpp
trunk/Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp
trunk/Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h
trunk/Source/WebKit/Scripts/webkit/messages.py
trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp
trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.h
trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.messages.in
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (277836 => 277837)

--- trunk/Source/WebCore/ChangeLog	2021-05-20 23:31:35 UTC (rev 277836)
+++ trunk/Source/WebCore/ChangeLog	2021-05-20 23:39:30 UTC (rev 277837)
@@ -1,3 +1,54 @@
+2021-05-20  Kate Cheney  
+
+Mark ServiceWorkerThreadProxy with a default app-bound value

[webkit-changes] [277836] trunk/LayoutTests

2021-05-20 Thread amir_mark
Title: [277836] trunk/LayoutTests








Revision 277836
Author amir_m...@apple.com
Date 2021-05-20 16:31:35 -0700 (Thu, 20 May 2021)


Log Message
[macOS] imported/w3c/web-platform-tests/IndexedDB/blob-valid-before-commit.any.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=226050

Unreviewed test gardening.

* platform/mac/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/mac/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (277835 => 277836)

--- trunk/LayoutTests/ChangeLog	2021-05-20 23:06:01 UTC (rev 277835)
+++ trunk/LayoutTests/ChangeLog	2021-05-20 23:31:35 UTC (rev 277836)
@@ -1,3 +1,12 @@
+2021-05-20  Amir Mark Jr  
+
+[macOS] imported/w3c/web-platform-tests/IndexedDB/blob-valid-before-commit.any.html is a flaky failure
+https://bugs.webkit.org/show_bug.cgi?id=226050
+
+Unreviewed test gardening.
+
+* platform/mac/TestExpectations:
+
 2021-05-20  Alexey Shvayka  
 
 [WebIDL] Remove [ImplicitThis] and [CustomProxyToJSObject] extended attributes


Modified: trunk/LayoutTests/platform/mac/TestExpectations (277835 => 277836)

--- trunk/LayoutTests/platform/mac/TestExpectations	2021-05-20 23:06:01 UTC (rev 277835)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2021-05-20 23:31:35 UTC (rev 277836)
@@ -2270,4 +2270,6 @@
 
 webkit.org/b/225804 imported/w3c/web-platform-tests/webxr/xrBoundedReferenceSpace_updates.https.html [ Pass Failure ]
 
-webkit.org/b/225882 imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-process-frozen-array.https.html [ Pass Failure ]
\ No newline at end of file
+webkit.org/b/225882 imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-process-frozen-array.https.html [ Pass Failure ]
+
+webkit.org/b/226050 imported/w3c/web-platform-tests/IndexedDB/blob-valid-before-commit.any.html [ Pass Failure ]
\ No newline at end of file






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277835] trunk/Source/WebKit

2021-05-20 Thread eric . carlson
Title: [277835] trunk/Source/WebKit








Revision 277835
Author eric.carl...@apple.com
Date 2021-05-20 16:06:01 -0700 (Thu, 20 May 2021)


Log Message
Allow GPU process log channels to be configured
https://bugs.webkit.org/show_bug.cgi?id=226036


Reviewed by Jer Noble.

* GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::configureLoggingChannel): Configure WebCore and
WebKit logging channels because classes used in the GPU process use both.
* GPUProcess/GPUConnectionToWebProcess.h:
* GPUProcess/GPUConnectionToWebProcess.messages.in:

* WebProcess/GPU/GPUProcessConnection.cpp:
(WebKit::GPUProcessConnection::configureLoggingChannel): Send configureLoggingChannel
message to the GPU process.
* WebProcess/GPU/GPUProcessConnection.h:

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::configureLoggingChannel): Send configureLoggingChannel to the
GPU process connection, if there is one.

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp
trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h
trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.messages.in
trunk/Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp
trunk/Source/WebKit/WebProcess/GPU/GPUProcessConnection.h
trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp




Diff

Modified: trunk/Source/WebKit/ChangeLog (277834 => 277835)

--- trunk/Source/WebKit/ChangeLog	2021-05-20 23:03:12 UTC (rev 277834)
+++ trunk/Source/WebKit/ChangeLog	2021-05-20 23:06:01 UTC (rev 277835)
@@ -1,3 +1,26 @@
+2021-05-20  Eric Carlson  
+
+Allow GPU process log channels to be configured
+https://bugs.webkit.org/show_bug.cgi?id=226036
+
+
+Reviewed by Jer Noble.
+
+* GPUProcess/GPUConnectionToWebProcess.cpp:
+(WebKit::GPUConnectionToWebProcess::configureLoggingChannel): Configure WebCore and
+WebKit logging channels because classes used in the GPU process use both.
+* GPUProcess/GPUConnectionToWebProcess.h:
+* GPUProcess/GPUConnectionToWebProcess.messages.in:
+
+* WebProcess/GPU/GPUProcessConnection.cpp:
+(WebKit::GPUProcessConnection::configureLoggingChannel): Send configureLoggingChannel
+message to the GPU process.
+* WebProcess/GPU/GPUProcessConnection.h:
+
+* WebProcess/WebPage/WebPage.cpp:
+(WebKit::WebPage::configureLoggingChannel): Send configureLoggingChannel to the 
+GPU process connection, if there is one.
+
 2021-05-20  Brent Fulgham  
 
 [Cocoa] Adopt "com.apple.QuartzCore.webkit-limited-types" entitlement


Modified: trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp (277834 => 277835)

--- trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp	2021-05-20 23:03:12 UTC (rev 277834)
+++ trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp	2021-05-20 23:06:01 UTC (rev 277835)
@@ -63,6 +63,7 @@
 #include "WebCoreArgumentCoders.h"
 #include "WebErrors.h"
 #include "WebProcessMessages.h"
+#include 
 #include 
 #include 
 #include 
@@ -278,6 +279,27 @@
 }
 #endif
 
+void GPUConnectionToWebProcess::configureLoggingChannel(const String& channelName, WTFLogChannelState state, WTFLogLevel level)
+{
+#if !RELEASE_LOG_DISABLED
+if  (auto* channel = WebCore::getLogChannel(channelName)) {
+channel->state = state;
+channel->level = level;
+}
+
+auto* channel = getLogChannel(channelName);
+if  (!channel)
+return;
+
+channel->state = state;
+channel->level = level;
+#else
+UNUSED_PARAM(channelName);
+UNUSED_PARAM(state);
+UNUSED_PARAM(level);
+#endif
+}
+
 bool GPUConnectionToWebProcess::allowsExitUnderMemoryPressure() const
 {
 for (auto& remoteRenderingBackend : m_remoteRenderingBackendMap.values()) {


Modified: trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h (277834 => 277835)

--- trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h	2021-05-20 23:03:12 UTC (rev 277834)
+++ trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h	2021-05-20 23:06:01 UTC (rev 277835)
@@ -201,6 +201,7 @@
 void releaseRemoteCommandListener(RemoteRemoteCommandListenerIdentifier);
 void setMediaOverridesForTesting(MediaOverridesForTesting);
 void setUserPreferredLanguages(const Vector&);
+void configureLoggingChannel(const String&, WTFLogChannelState, WTFLogLevel);
 
 // IPC::Connection::Client
 void didClose(IPC::Connection&) final;


Modified: trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.messages.in (277834 => 277835)

--- trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.messages.in	2021-05-20 23:03:12 UTC (rev 277834)
+++ trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.messages.in	2021-05-20 23:06:01 UTC (rev 277835)
@@ -50,6 +50,7 @@
 CreateRemoteCommandListener(WebKit::RemoteRemoteCommandListenerIdentifier identifier)
 ReleaseRemoteCommandListener(WebKit::RemoteRemoteCommandListenerIdentifier 

[webkit-changes] [277834] trunk/Source/WebKit

2021-05-20 Thread bfulgham
Title: [277834] trunk/Source/WebKit








Revision 277834
Author bfulg...@apple.com
Date 2021-05-20 16:03:12 -0700 (Thu, 20 May 2021)


Log Message
[Cocoa] Adopt "com.apple.QuartzCore.webkit-limited-types" entitlement
https://bugs.webkit.org/show_bug.cgi?id=226044


Reviewed by Per Arne Vollan.

WebKit should adopt the "com.apple.QuartzCore.webkit-limited-types" entitlement as a further hardening measure to help
QuartzCore limit the features accessible from the WebContent and GPU Process. WebKit only needs a subset of the
features of QuartzCore, and this entitlement allows the framework to block certain code paths.

Tested by existing rendering test cases.

* Scripts/process-entitlements.sh:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Scripts/process-entitlements.sh




Diff

Modified: trunk/Source/WebKit/ChangeLog (277833 => 277834)

--- trunk/Source/WebKit/ChangeLog	2021-05-20 23:01:24 UTC (rev 277833)
+++ trunk/Source/WebKit/ChangeLog	2021-05-20 23:03:12 UTC (rev 277834)
@@ -1,3 +1,19 @@
+2021-05-20  Brent Fulgham  
+
+[Cocoa] Adopt "com.apple.QuartzCore.webkit-limited-types" entitlement
+https://bugs.webkit.org/show_bug.cgi?id=226044
+
+
+Reviewed by Per Arne Vollan.
+
+WebKit should adopt the "com.apple.QuartzCore.webkit-limited-types" entitlement as a further hardening measure to help
+QuartzCore limit the features accessible from the WebContent and GPU Process. WebKit only needs a subset of the
+features of QuartzCore, and this entitlement allows the framework to block certain code paths.
+
+Tested by existing rendering test cases.
+
+* Scripts/process-entitlements.sh:
+
 2021-05-20  Alexey Shvayka  
 
 [WebIDL] Remove [ImplicitThis] and [CustomProxyToJSObject] extended attributes


Modified: trunk/Source/WebKit/Scripts/process-entitlements.sh (277833 => 277834)

--- trunk/Source/WebKit/Scripts/process-entitlements.sh	2021-05-20 23:01:24 UTC (rev 277833)
+++ trunk/Source/WebKit/Scripts/process-entitlements.sh	2021-05-20 23:03:12 UTC (rev 277834)
@@ -25,6 +25,7 @@
 plistbuddy Add :com.apple.private.pac.exception bool YES
 plistbuddy Add :com.apple.private.security.message-filter bool YES
 plistbuddy Add :com.apple.avfoundation.allow-system-wide-context bool YES
+plistbuddy add :com.apple.QuartzCore.webkit-limited-types bool YES
 fi
 if (( "${TARGET_MAC_OS_X_VERSION_MAJOR}" >= 12 ))
 then
@@ -49,6 +50,7 @@
 then
 plistbuddy Add :com.apple.developer.videotoolbox.client-sandboxed-decoder bool YES
 plistbuddy Add :com.apple.avfoundation.allow-system-wide-context bool YES
+plistbuddy add :com.apple.QuartzCore.webkit-limited-types bool YES
 fi
 
 plistbuddy Add :com.apple.private.memory.ownership_transfer bool YES
@@ -160,6 +162,7 @@
 plistbuddy Add :com.apple.private.pac.exception bool YES
 plistbuddy Add :com.apple.private.security.message-filter bool YES
 plistbuddy Add :com.apple.UIKit.view-service-wants-custom-idiom-and-scale bool YES
+plistbuddy add :com.apple.QuartzCore.webkit-limited-types bool YES
 fi
 if (( "${TARGET_MAC_OS_X_VERSION_MAJOR}" >= 12 ))
 then
@@ -173,6 +176,7 @@
 plistbuddy Add :com.apple.runningboard.assertions.webkit bool YES
 plistbuddy Add :com.apple.QuartzCore.webkit-end-points bool YES
 plistbuddy Add :com.apple.private.memory.ownership_transfer bool YES
+plistbuddy add :com.apple.QuartzCore.webkit-limited-types bool YES
 }
 
 function maccatalyst_process_network_entitlements()
@@ -208,6 +212,7 @@
 {
 plistbuddy Add :com.apple.QuartzCore.secure-mode bool YES
 plistbuddy Add :com.apple.QuartzCore.webkit-end-points bool YES
+plistbuddy add :com.apple.QuartzCore.webkit-limited-types bool YES
 plistbuddy Add :com.apple.developer.coremedia.allow-alternate-video-decoder-selection bool YES
 plistbuddy Add :com.apple.mediaremote.set-playback-state bool YES
 plistbuddy Add :com.apple.pac.shared_region_id string WebContent
@@ -237,6 +242,7 @@
 {
 plistbuddy Add :com.apple.QuartzCore.secure-mode bool YES
 plistbuddy Add :com.apple.QuartzCore.webkit-end-points bool YES
+plistbuddy add :com.apple.QuartzCore.webkit-limited-types bool YES
 plistbuddy Add :com.apple.developer.coremedia.allow-alternate-video-decoder-selection bool YES
 plistbuddy Add :com.apple.mediaremote.set-playback-state bool YES
 plistbuddy Add :com.apple.private.allow-explicit-graphics-priority bool YES






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277833] trunk/Source/WebCore

2021-05-20 Thread weinig
Title: [277833] trunk/Source/WebCore








Revision 277833
Author wei...@apple.com
Date 2021-05-20 16:01:24 -0700 (Thu, 20 May 2021)


Log Message
Fix inverted ASSERT in sampleColor.

Rubber-stamped by Tim Horton.

* page/PageColorSampler.cpp:
(WebCore::sampleColor):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/PageColorSampler.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (277832 => 277833)

--- trunk/Source/WebCore/ChangeLog	2021-05-20 22:33:35 UTC (rev 277832)
+++ trunk/Source/WebCore/ChangeLog	2021-05-20 23:01:24 UTC (rev 277833)
@@ -1,3 +1,12 @@
+2021-05-20  Sam Weinig  
+
+Fix inverted ASSERT in sampleColor.
+
+Rubber-stamped by Tim Horton.
+
+* page/PageColorSampler.cpp:
+(WebCore::sampleColor):
+
 2021-05-20  Alexey Shvayka  
 
 [WebIDL] Remove [ImplicitThis] and [CustomProxyToJSObject] extended attributes


Modified: trunk/Source/WebCore/page/PageColorSampler.cpp (277832 => 277833)

--- trunk/Source/WebCore/page/PageColorSampler.cpp	2021-05-20 22:33:35 UTC (rev 277832)
+++ trunk/Source/WebCore/page/PageColorSampler.cpp	2021-05-20 23:01:24 UTC (rev 277833)
@@ -108,7 +108,7 @@
 if (!pixelBuffer)
 return WTF::nullopt;
 
-ASSERT(pixelBuffer->data().length() <= 4);
+ASSERT(pixelBuffer->data().length() >= 4);
 
 auto snapshotData = pixelBuffer->data().data();
 return convertColor>(SRGBA { snapshotData[2], snapshotData[1], snapshotData[0], snapshotData[3] });






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277832] tags/Safari-612.1.15.1.6/

2021-05-20 Thread repstein
Title: [277832] tags/Safari-612.1.15.1.6/








Revision 277832
Author repst...@apple.com
Date 2021-05-20 15:33:35 -0700 (Thu, 20 May 2021)


Log Message
Tag Safari-612.1.15.1.6.

Added Paths

tags/Safari-612.1.15.1.6/




Diff




___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277831] tags/Safari-612.1.15.0.3/

2021-05-20 Thread rubent_22
Title: [277831] tags/Safari-612.1.15.0.3/








Revision 277831
Author rubent...@apple.com
Date 2021-05-20 15:30:00 -0700 (Thu, 20 May 2021)


Log Message
Tag Safari-612.1.15.0.3.

Added Paths

tags/Safari-612.1.15.0.3/




Diff




___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277829] trunk

2021-05-20 Thread shvaikalesh
Title: [277829] trunk








Revision 277829
Author shvaikal...@gmail.com
Date 2021-05-20 15:14:40 -0700 (Thu, 20 May 2021)


Log Message
Align internal methods of WindowProperties object with the spec
https://bugs.webkit.org/show_bug.cgi?id=222918

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

* web-platform-tests/WebIDL/ecmascript-binding/class-string-named-properties-object.window-expected.txt:
* web-platform-tests/WebIDL/ecmascript-binding/class-string-named-properties-object.window.js:
* web-platform-tests/WebIDL/ecmascript-binding/window-named-properties-object-expected.txt: Added.
* web-platform-tests/WebIDL/ecmascript-binding/window-named-properties-object.html: Added.
* web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html:
* web-platform-tests/html/browsers/the-window-object/named-access-on-the-window-object/window-named-properties-expected.txt:
* web-platform-tests/html/browsers/the-window-object/named-access-on-the-window-object/window-named-properties.html:

Source/WebCore:

This patch:

1. Implements [[PreventExtensions]], [[DefineOwnProperty]], and [[Delete]] methods that always fail [1],
   ensuring [[Set]] with altered receiver is passed through, indexed properties are rejected as well,
   and an exception is thrown if neccessary.

   Adding a put() override would a) slow down global `var` creation and b) require factoring out most of
   JSObject::putInlineSlow(). Instead, we prevent extensions on a structure while defining isExtensible()
   override to cover that up.

2. Corrects property attributes reported by [[GetOwnProperty]] methods of cross-origin WindowProxy [2]
   and WindowProperties, bringing these objects in compliance with invariants of internal methods [3].

3. Removes comments on cross-browser differences and priority order from [[GetOwnProperty]] because
   it correctly implements the now detailed spec [4]. Browsing contexts precedence is covered by
   wpt/html/browsers/the-window-object/named-access-on-the-window-object/named-objects.html test.

4. Asserts that WindowProperties [[Prototype]] is an object, as guaranteed by its [[SetPrototypeOf]].

This change fully implements the current spec, aligning WebKit with Blink and Gecko.

[1] https://heycam.github.io/webidl/#named-properties-object-defineownproperty
[2] https://html.spec.whatwg.org/multipage/window-object.html#windowproxy-getownproperty (step 6.2)
[3] https://tc39.es/ecma262/#sec-invariants-of-the-essential-internal-methods
[4] https://html.spec.whatwg.org/multipage/window-object.html#dom-window-nameditem (step 2)

Tests: imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/window-named-properties-object.html
   imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html
   imported/w3c/web-platform-tests/html/browsers/the-window-object/named-access-on-the-window-object/window-named-properties.html

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
* bindings/js/JSDOMWindowProperties.cpp:
(WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter):
(WebCore::JSDOMWindowProperties::finishCreation):
(WebCore::JSDOMWindowProperties::getOwnPropertySlot):
(WebCore::JSDOMWindowProperties::deleteProperty):
(WebCore::JSDOMWindowProperties::deletePropertyByIndex):
(WebCore::JSDOMWindowProperties::preventExtensions):
(WebCore::JSDOMWindowProperties::isExtensible):
(WebCore::JSDOMWindowProperties::defineOwnProperty):
* bindings/js/JSDOMWindowProperties.h:

Modified Paths

trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/class-string-named-properties-object.window-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/class-string-named-properties-object.window.js
trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html
trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/named-access-on-the-window-object/window-named-properties-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/named-access-on-the-window-object/window-named-properties.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp
trunk/Source/WebCore/bindings/js/JSDOMWindowProperties.cpp
trunk/Source/WebCore/bindings/js/JSDOMWindowProperties.h


Added Paths

trunk/LayoutTests/imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/window-named-properties-object-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/window-named-properties-object.html




Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (277828 => 277829)

--- trunk/LayoutTests/imported/w3c/ChangeLog	2021-05-20 22:10:27 UTC (rev 277828)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2021-05-20 22:14:40 UTC (rev 277829)
@@ -1,3 +1,18 @@
+2021-05-20  

[webkit-changes] [277828] trunk

2021-05-20 Thread aperez
Title: [277828] trunk








Revision 277828
Author ape...@igalia.com
Date 2021-05-20 15:10:27 -0700 (Thu, 20 May 2021)


Log Message
[Flatpak SDK] Remove PHP packages
https://bugs.webkit.org/show_bug.cgi?id=226037

Reviewed by Philippe Normand.

Remove the PHP package from the SDK now that the layout tests do not use PHP.

Tools/buildstream:

* elements/test-infra.bst: Remove php.bst from the element list.
* elements/test-infra/php.bst: Removed.

LayoutTests:

* http/conf/flatpak-httpd.conf: Remove usage of mod_php7.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/http/conf/flatpak-httpd.conf
trunk/Tools/buildstream/ChangeLog
trunk/Tools/buildstream/elements/test-infra.bst


Removed Paths

trunk/Tools/buildstream/elements/test-infra/php.bst




Diff

Modified: trunk/LayoutTests/ChangeLog (277827 => 277828)

--- trunk/LayoutTests/ChangeLog	2021-05-20 21:53:52 UTC (rev 277827)
+++ trunk/LayoutTests/ChangeLog	2021-05-20 22:10:27 UTC (rev 277828)
@@ -1,3 +1,14 @@
+2021-05-20  Adrian Perez de Castro  
+
+[Flatpak SDK] Remove PHP packages
+https://bugs.webkit.org/show_bug.cgi?id=226037
+
+Reviewed by Philippe Normand.
+
+Remove the PHP package from the SDK now that the layout tests do not use PHP.
+
+* http/conf/flatpak-httpd.conf: Remove usage of mod_php7.
+
 2021-05-20  Youenn Fablet  
 
  rendered inside  shows black for webcam stream (Safari 14.0.3 only)


Modified: trunk/LayoutTests/http/conf/flatpak-httpd.conf (277827 => 277828)

--- trunk/LayoutTests/http/conf/flatpak-httpd.conf	2021-05-20 21:53:52 UTC (rev 277827)
+++ trunk/LayoutTests/http/conf/flatpak-httpd.conf	2021-05-20 22:10:27 UTC (rev 277828)
@@ -31,7 +31,6 @@
 LoadModule log_config_modulemodules/mod_log_config.so
 #LoadModule imagemap_module  modules/mod_imagemap.so
 LoadModule ssl_module   modules/mod_ssl.so
-LoadModule php7_module  modules/libphp7.so
 LoadModule asis_module  modules/mod_asis.so
 
 
@@ -116,19 +115,6 @@
 
 AddHandler send-as-is asis
 
-
-AddType application/x-httpd-php .php
-AddType application/x-httpd-php .bat
-AddType application/x-httpd-php-source .phps
-
-
-DirectoryIndex index.html index.php
-
-
-php_flag log_errors on
-php_flag short_open_tag on
-
-
 
 RewriteEngine On
 RewriteCond %{REQUEST_METHOD} ^TRACE


Modified: trunk/Tools/buildstream/ChangeLog (277827 => 277828)

--- trunk/Tools/buildstream/ChangeLog	2021-05-20 21:53:52 UTC (rev 277827)
+++ trunk/Tools/buildstream/ChangeLog	2021-05-20 22:10:27 UTC (rev 277828)
@@ -1,3 +1,15 @@
+2021-05-20  Adrian Perez de Castro  
+
+[Flatpak SDK] Remove PHP packages
+https://bugs.webkit.org/show_bug.cgi?id=226037
+
+Reviewed by Philippe Normand.
+
+Remove the PHP package from the SDK now that the layout tests do not use PHP.
+
+* elements/test-infra.bst: Remove php.bst from the element list.
+* elements/test-infra/php.bst: Removed.
+
 2021-05-13  Lauro Moura  
 
 [Flatpak SDK] Update WPEBackend-fdo to 1.8.4


Deleted: trunk/Tools/buildstream/elements/test-infra/php.bst (277827 => 277828)

--- trunk/Tools/buildstream/elements/test-infra/php.bst	2021-05-20 21:53:52 UTC (rev 277827)
+++ trunk/Tools/buildstream/elements/test-infra/php.bst	2021-05-20 22:10:27 UTC (rev 277828)
@@ -1,31 +0,0 @@
-kind: autotools
-
-build-depends:
-- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
-- freedesktop-sdk.bst:components/libxml2.bst
-- test-infra/httpd.bst
-
-depends:
-- freedesktop-sdk.bst:bootstrap-import.bst
-sources:
-- kind: tar
-  url: https://php.net/distributions/php-7.2.6.tar.xz
-  ref: 1f004e049788a3effc89ef417f06a6cf704c95ae2a718b2175185f2983381ae7
-
-variables:
-  conf-local: >-
---disable-xml
---disable-dom
---disable-libxml
---disable-simplexml
---disable-xmlreader
---disable-xmlwriter
---without-pear
---with-apxs2
---with-zlib
---with-libzip
---enable-sockets=shared
-  make-install:
-install -D libs/libphp7.so %{install-root}/lib/apache2/modules/libphp7.so
-
-


Modified: trunk/Tools/buildstream/elements/test-infra.bst (277827 => 277828)

--- trunk/Tools/buildstream/elements/test-infra.bst	2021-05-20 21:53:52 UTC (rev 277827)
+++ trunk/Tools/buildstream/elements/test-infra.bst	2021-05-20 22:10:27 UTC (rev 277828)
@@ -7,6 +7,5 @@
 - test-infra/httpd.bst
 - test-infra/perl-cgi-pm.bst
 - test-infra/perl-http-date-pm.bst
-- test-infra/php.bst
 - test-infra/webkitgtk-test-dicts.bst
 - test-infra/webkitgtk-test-fonts.bst






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277827] trunk/Source/WebKit

2021-05-20 Thread drousso
Title: [277827] trunk/Source/WebKit








Revision 277827
Author drou...@apple.com
Date 2021-05-20 14:53:52 -0700 (Thu, 20 May 2021)


Log Message
REGRESSION(r277505): Crash under WTF::Detail::CallableWrapper::call
https://bugs.webkit.org/show_bug.cgi?id=225979


Reviewed by Tim Horton.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setUnderPageBackgroundColorOverride):
Semi-speculative fix by checking the weakly-held `PageClient` before attempting to use it.
Dissasembly suggests this as the cause as the invalid access occurs early in the lambda.

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp




Diff

Modified: trunk/Source/WebKit/ChangeLog (277826 => 277827)

--- trunk/Source/WebKit/ChangeLog	2021-05-20 21:46:44 UTC (rev 277826)
+++ trunk/Source/WebKit/ChangeLog	2021-05-20 21:53:52 UTC (rev 277827)
@@ -1,3 +1,16 @@
+2021-05-20  Devin Rousso  
+
+REGRESSION(r277505): Crash under WTF::Detail::CallableWrapper::call
+https://bugs.webkit.org/show_bug.cgi?id=225979
+
+
+Reviewed by Tim Horton.
+
+* UIProcess/WebPageProxy.cpp:
+(WebKit::WebPageProxy::setUnderPageBackgroundColorOverride):
+Semi-speculative fix by checking the weakly-held `PageClient` before attempting to use it.
+Dissasembly suggests this as the cause as the invalid access occurs early in the lambda.
+
 2021-05-20  Dean Jackson  
 
 Configure fullscreen view after it has transitioned


Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (277826 => 277827)

--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-05-20 21:46:44 UTC (rev 277826)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-05-20 21:53:52 UTC (rev 277827)
@@ -1954,7 +1954,8 @@
 
 m_hasPendingUnderPageBackgroundColorOverrideToDispatch = false;
 
-didChangeBackgroundColor();
+if (m_pageClient)
+m_pageClient->didChangeBackgroundColor();
 
 if (hasRunningProcess())
 send(Messages::WebPage::SetUnderPageBackgroundColorOverride(m_underPageBackgroundColorOverride));






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277826] trunk/Websites/perf.webkit.org

2021-05-20 Thread zhifei_fang
Title: [277826] trunk/Websites/perf.webkit.org








Revision 277826
Author zhifei_f...@apple.com
Date 2021-05-20 14:46:44 -0700 (Thu, 20 May 2021)


Log Message
Need to use default git pull to remove the fake svn commit when syncing with SVN
https://bugs.webkit.org/show_bug.cgi?id=226039

Reviewed by Jonathan Bedard.

* tools/sync-commits.py:
(GitRepository._fetch_remote):

Modified Paths

trunk/Websites/perf.webkit.org/ChangeLog
trunk/Websites/perf.webkit.org/tools/sync-commits.py




Diff

Modified: trunk/Websites/perf.webkit.org/ChangeLog (277825 => 277826)

--- trunk/Websites/perf.webkit.org/ChangeLog	2021-05-20 21:28:20 UTC (rev 277825)
+++ trunk/Websites/perf.webkit.org/ChangeLog	2021-05-20 21:46:44 UTC (rev 277826)
@@ -1,3 +1,13 @@
+2021-05-20  Zhifei Fang  
+
+Need to use default git pull to remove the fake svn commit when syncing with SVN
+https://bugs.webkit.org/show_bug.cgi?id=226039
+
+Reviewed by Jonathan Bedard.
+
+* tools/sync-commits.py:
+(GitRepository._fetch_remote):
+
 2021-05-18  Zhifei Fang  
 
 Clean up git svn mapping when git pull


Modified: trunk/Websites/perf.webkit.org/tools/sync-commits.py (277825 => 277826)

--- trunk/Websites/perf.webkit.org/tools/sync-commits.py	2021-05-20 21:28:20 UTC (rev 277825)
+++ trunk/Websites/perf.webkit.org/tools/sync-commits.py	2021-05-20 21:46:44 UTC (rev 277826)
@@ -286,10 +286,12 @@
 return None
 
 def _fetch_remote(self):
-self._run_git_command(['pull', self._git_url])
 if self._report_svn_revision:
+self._run_git_command(['pull'])
 subprocess.check_call(['rm', '-rf', os.path.join(self._git_checkout, '.git/svn')])
 self._run_git_command(['svn', 'fetch'])
+else:
+self._run_git_command(['pull', self._git_url])
 
 def _fetch_all_hashes(self):
 self._fetch_remote()






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277825] trunk/Tools

2021-05-20 Thread aakash_jain
Title: [277825] trunk/Tools








Revision 277825
Author aakash_j...@apple.com
Date 2021-05-20 14:28:20 -0700 (Thu, 20 May 2021)


Log Message
Use Python 3 for running various scripts on EWS
https://bugs.webkit.org/show_bug.cgi?id=226041

Reviewed by Jonathan Bedard.

* CISupport/ews-build/steps.py: Use Python 3.
(CleanBuild):
(TriggerCrashLogSubmission):
(WaitForCrashCollection):
(ArchiveBuiltProduct):
(ExtractBuiltProduct):
* CISupport/ews-build/steps_unittest.py: Updated unit-tests.

Modified Paths

trunk/Tools/CISupport/ews-build/steps.py
trunk/Tools/CISupport/ews-build/steps_unittest.py
trunk/Tools/ChangeLog




Diff

Modified: trunk/Tools/CISupport/ews-build/steps.py (277824 => 277825)

--- trunk/Tools/CISupport/ews-build/steps.py	2021-05-20 21:26:17 UTC (rev 277824)
+++ trunk/Tools/CISupport/ews-build/steps.py	2021-05-20 21:28:20 UTC (rev 277825)
@@ -2030,7 +2030,7 @@
 name = 'delete-WebKitBuild-directory'
 description = ['deleting WebKitBuild directory']
 descriptionDone = ['Deleted WebKitBuild directory']
-command = ['python', 'Tools/CISupport/clean-build', WithProperties('--platform=%(fullPlatform)s'), WithProperties('--%(configuration)s')]
+command = ['python3', 'Tools/CISupport/clean-build', WithProperties('--platform=%(fullPlatform)s'), WithProperties('--%(configuration)s')]
 
 
 class KillOldProcesses(shell.Compile):
@@ -2058,7 +2058,7 @@
 name = 'trigger-crash-log-submission'
 description = ['triggering crash log submission']
 descriptionDone = ['Triggered crash log submission']
-command = ['python', 'Tools/CISupport/trigger-crash-log-submission']
+command = ['python3', 'Tools/CISupport/trigger-crash-log-submission']
 
 def __init__(self, **kwargs):
 super(TriggerCrashLogSubmission, self).__init__(timeout=60, logEnviron=False, **kwargs)
@@ -2073,7 +2073,7 @@
 name = 'wait-for-crash-collection'
 description = ['waiting-for-crash-collection-to-quiesce']
 descriptionDone = ['Crash collection has quiesced']
-command = ['python', 'Tools/CISupport/wait-for-crash-collection', '--timeout', str(5 * 60)]
+command = ['python3', 'Tools/CISupport/wait-for-crash-collection', '--timeout', str(5 * 60)]
 
 def __init__(self, **kwargs):
 super(WaitForCrashCollection, self).__init__(timeout=6 * 60, logEnviron=False, **kwargs)
@@ -2627,7 +2627,7 @@
 
 
 class ArchiveBuiltProduct(shell.ShellCommand):
-command = ['python', 'Tools/CISupport/built-product-archive',
+command = ['python3', 'Tools/CISupport/built-product-archive',
WithProperties('--platform=%(fullPlatform)s'), WithProperties('--%(configuration)s'), 'archive']
 name = 'archive-built-product'
 description = ['archiving built product']
@@ -2747,7 +2747,7 @@
 
 
 class ExtractBuiltProduct(shell.ShellCommand):
-command = ['python', 'Tools/CISupport/built-product-archive',
+command = ['python3', 'Tools/CISupport/built-product-archive',
WithProperties('--platform=%(fullPlatform)s'), WithProperties('--%(configuration)s'), 'extract']
 name = 'extract-built-product'
 description = ['extracting built product']


Modified: trunk/Tools/CISupport/ews-build/steps_unittest.py (277824 => 277825)

--- trunk/Tools/CISupport/ews-build/steps_unittest.py	2021-05-20 21:26:17 UTC (rev 277824)
+++ trunk/Tools/CISupport/ews-build/steps_unittest.py	2021-05-20 21:28:20 UTC (rev 277825)
@@ -887,7 +887,7 @@
 self.setProperty('configuration', 'release')
 self.expectRemoteCommands(
 ExpectShell(workdir='wkdir',
-command=['python', 'Tools/CISupport/clean-build', '--platform=ios-11', '--release'],
+command=['python3', 'Tools/CISupport/clean-build', '--platform=ios-11', '--release'],
 )
 + 0,
 )
@@ -900,7 +900,7 @@
 self.setProperty('configuration', 'debug')
 self.expectRemoteCommands(
 ExpectShell(workdir='wkdir',
-command=['python', 'Tools/CISupport/clean-build', '--platform=ios-simulator-11', '--debug'],
+command=['python3', 'Tools/CISupport/clean-build', '--platform=ios-simulator-11', '--debug'],
 )
 + ExpectShell.log('stdio', stdout='Unexpected error.')
 + 2,
@@ -2869,7 +2869,7 @@
 self.expectRemoteCommands(
 ExpectShell(workdir='wkdir',
 logEnviron=False,
-command=['python', 'Tools/CISupport/built-product-archive', '--platform=ios-simulator',  '--release', 'archive'],
+command=['python3', 'Tools/CISupport/built-product-archive', '--platform=ios-simulator',  '--release', 'archive'],
 )
 + 0,
 )
@@ -2883,7 +2883,7 @@
 self.expectRemoteCommands(
 ExpectShell(workdir='wkdir',
 logEnviron=False,
-

[webkit-changes] [277824] trunk/Source/ThirdParty/ANGLE

2021-05-20 Thread kpiddington
Title: [277824] trunk/Source/ThirdParty/ANGLE








Revision 277824
Author kpidding...@apple.com
Date 2021-05-20 14:26:17 -0700 (Thu, 20 May 2021)


Log Message
Red flashes zooming on Google Maps when using external monitor on multi-gpu systems
https://bugs.webkit.org/show_bug.cgi?id=225956


Reviewed by Dean Jackson.
IOSurface presentation swaps require that a command buffer is queued for execution before
swapping. Otherwise, we're liable to drop frames, or present old IOSurface buffers.
Ensure work flushed via glFlush completes before presenation by waiting for it to enqueue before
swapping a surface.

* src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::flush):
* src/libANGLE/renderer/metal/mtl_command_buffer.h:
* src/libANGLE/renderer/metal/mtl_command_buffer.mm:
(rx::mtl::CommandBuffer::waitUntilScheduled):
(rx::mtl::CommandBuffer::commitImpl):

Modified Paths

trunk/Source/ThirdParty/ANGLE/ChangeLog
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.h
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/QueryMtl.mm
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/SurfaceMtl.mm
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/SyncMtl.mm
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_buffer_pool.mm
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_command_buffer.h
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_command_buffer.mm
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_resources.mm




Diff

Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (277823 => 277824)

--- trunk/Source/ThirdParty/ANGLE/ChangeLog	2021-05-20 21:25:44 UTC (rev 277823)
+++ trunk/Source/ThirdParty/ANGLE/ChangeLog	2021-05-20 21:26:17 UTC (rev 277824)
@@ -1,3 +1,22 @@
+2021-05-20  Kyle Piddington  
+
+Red flashes zooming on Google Maps when using external monitor on multi-gpu systems
+https://bugs.webkit.org/show_bug.cgi?id=225956
+
+
+Reviewed by Dean Jackson.
+IOSurface presentation swaps require that a command buffer is queued for execution before
+swapping. Otherwise, we're liable to drop frames, or present old IOSurface buffers. 
+Ensure work flushed via glFlush completes before presenation by waiting for it to enqueue before 
+swapping a surface.
+
+* src/libANGLE/renderer/metal/ContextMtl.mm:
+(rx::ContextMtl::flush):
+* src/libANGLE/renderer/metal/mtl_command_buffer.h:
+* src/libANGLE/renderer/metal/mtl_command_buffer.mm:
+(rx::mtl::CommandBuffer::waitUntilScheduled):
+(rx::mtl::CommandBuffer::commitImpl):
+
 2021-05-19  Kyle Piddington  
 
 ASSERT(!toType.isArray()) failure in sh::CoerceSimple due to vector array dereference


Modified: trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.h (277823 => 277824)

--- trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.h	2021-05-20 21:25:44 UTC (rev 277823)
+++ trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.h	2021-05-20 21:26:17 UTC (rev 277824)
@@ -334,7 +334,7 @@
 // Ends any active command encoder
 void endEncoding(bool forceSaveRenderPassContent);
 
-void flushCommandBufer();
+void flushCommandBuffer(mtl::CommandBufferFinishOperation operation);
 void present(const gl::Context *context, id presentationDrawable);
 angle::Result finishCommandBuffer();
 


Modified: trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm (277823 => 277824)

--- trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm	2021-05-20 21:25:44 UTC (rev 277823)
+++ trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm	2021-05-20 21:26:17 UTC (rev 277824)
@@ -224,7 +224,7 @@
 // Flush and finish.
 angle::Result ContextMtl::flush(const gl::Context *context)
 {
-flushCommandBufer();
+flushCommandBuffer(mtl::WaitUntilScheduled);
 return angle::Result::Continue;
 }
 angle::Result ContextMtl::finish(const gl::Context *context)
@@ -1219,7 +1219,7 @@
 }
 angle::Result ContextMtl::onUnMakeCurrent(const gl::Context *context)
 {
-flushCommandBufer();
+flushCommandBuffer(mtl::WaitUntilScheduled);
 return angle::Result::Continue;
 }
 
@@ -1604,7 +1604,7 @@
 }
 }
 
-void ContextMtl::flushCommandBufer()
+void ContextMtl::flushCommandBuffer(mtl::CommandBufferFinishOperation operation)
 {
 mProvokingVertexHelper.commitPreconditionCommandBuffer(this);
 if (!mCmdBuffer.valid())
@@ -1613,7 +1613,7 @@
 }
 
 endEncoding(true);
-mCmdBuffer.commit();
+mCmdBuffer.commit(operation);
 }
 
 void ContextMtl::present(const gl::Context *context, id presentationDrawable)
@@ -1634,10 +1634,7 @@
 
 angle::Result ContextMtl::finishCommandBuffer()
 {
-flushCommandBufer();
-
-mCmdBuffer.finish();
-
+flushCommandBuffer(mtl::WaitUntilFinished);

[webkit-changes] [277823] trunk/Source/WebKit

2021-05-20 Thread dino
Title: [277823] trunk/Source/WebKit








Revision 277823
Author d...@apple.com
Date 2021-05-20 14:25:44 -0700 (Thu, 20 May 2021)


Log Message
Configure fullscreen view after it has transitioned
https://bugs.webkit.org/show_bug.cgi?id=226031


Reviewed by Tim Horton.

Call an internal configuration method after the fullscreen transition.

* UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (277822 => 277823)

--- trunk/Source/WebKit/ChangeLog	2021-05-20 21:11:45 UTC (rev 277822)
+++ trunk/Source/WebKit/ChangeLog	2021-05-20 21:25:44 UTC (rev 277823)
@@ -1,3 +1,16 @@
+2021-05-20  Dean Jackson  
+
+Configure fullscreen view after it has transitioned
+https://bugs.webkit.org/show_bug.cgi?id=226031
+
+
+Reviewed by Tim Horton.
+
+Call an internal configuration method after the fullscreen transition.
+
+* UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
+(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]):
+
 2021-05-20  Brent Fulgham  
 
 [macOS] Allow access to the 'DiskImageURL' IOKit property


Modified: trunk/Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm (277822 => 277823)

--- trunk/Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm	2021-05-20 21:11:45 UTC (rev 277822)
+++ trunk/Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm	2021-05-20 21:25:44 UTC (rev 277823)
@@ -56,11 +56,14 @@
 #import 
 #import 
 
-
 #if !HAVE(URL_FORMATTING)
 SOFT_LINK_PRIVATE_FRAMEWORK_OPTIONAL(LinkPresentation)
 #endif
 
+#if HAVE(UIKIT_WEBKIT_INTERNALS)
+#include 
+#endif
+
 namespace WebKit {
 using namespace WebKit;
 using namespace WebCore;
@@ -687,6 +690,10 @@
 manager->setAnimatingFullScreen(false);
 page->setSuppressVisibilityUpdates(false);
 
+#if HAVE(UIKIT_WEBKIT_INTERNALS)
+configureViewForFullscreen(_fullscreenViewController.get().view);
+#endif
+
 if (auto* videoFullscreenManager = self._videoFullscreenManager) {
 videoFullscreenManager->setClient(&_videoFullscreenManagerProxyClient);
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277822] trunk/Source/WebKit

2021-05-20 Thread bfulgham
Title: [277822] trunk/Source/WebKit








Revision 277822
Author bfulg...@apple.com
Date 2021-05-20 14:11:45 -0700 (Thu, 20 May 2021)


Log Message
[macOS] Allow access to the 'DiskImageURL' IOKit property
https://bugs.webkit.org/show_bug.cgi?id=226033


Reviewed by Per Arne Vollan.

Access to certain disk image types is affected by the ability to read the DiskImageURL IOKit property. Since file
URLs may reference such locations (and indeed, telemetry shows that this is happening) we should grant this property
access to avoid users encountering file access errors when attempting to load content backed by relevant disk images.

* GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
* WebProcess/com.apple.WebProcess.sb.in:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in
trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in




Diff

Modified: trunk/Source/WebKit/ChangeLog (277821 => 277822)

--- trunk/Source/WebKit/ChangeLog	2021-05-20 21:07:02 UTC (rev 277821)
+++ trunk/Source/WebKit/ChangeLog	2021-05-20 21:11:45 UTC (rev 277822)
@@ -1,3 +1,18 @@
+2021-05-20  Brent Fulgham  
+
+[macOS] Allow access to the 'DiskImageURL' IOKit property
+https://bugs.webkit.org/show_bug.cgi?id=226033
+
+
+Reviewed by Per Arne Vollan.
+
+Access to certain disk image types is affected by the ability to read the DiskImageURL IOKit property. Since file
+URLs may reference such locations (and indeed, telemetry shows that this is happening) we should grant this property
+access to avoid users encountering file access errors when attempting to load content backed by relevant disk images.
+
+* GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
+* WebProcess/com.apple.WebProcess.sb.in:
+
 2021-05-20  Tim Horton  
 
 Move off UIKit IPI in WKMouseGestureRecognizer


Modified: trunk/Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in (277821 => 277822)

--- trunk/Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in	2021-05-20 21:07:02 UTC (rev 277821)
+++ trunk/Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in	2021-05-20 21:11:45 UTC (rev 277822)
@@ -229,6 +229,7 @@
 (iokit-property "Description")
 (iokit-property "Development")
 (iokit-property-regex #"^Device( Characteristics|EqID)")
+(iokit-property "DiskImageURL")
 (iokit-property "DisplayRouting")
 (iokit-property "Driver is Ready")
 (iokit-property "Ejectable")


Modified: trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in (277821 => 277822)

--- trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in	2021-05-20 21:07:02 UTC (rev 277821)
+++ trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in	2021-05-20 21:11:45 UTC (rev 277822)
@@ -633,6 +633,7 @@
 (iokit-property "Description")
 (iokit-property "Development")
 (iokit-property-regex #"^Device( Characteristics|EqID)")
+(iokit-property "DiskImageURL")
 (iokit-property "DisplayRouting")
 (iokit-property "Driver is Ready")
 (iokit-property "Ejectable")






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277821] trunk/Source/WebCore

2021-05-20 Thread cdumez
Title: [277821] trunk/Source/WebCore








Revision 277821
Author cdu...@apple.com
Date 2021-05-20 14:07:02 -0700 (Thu, 20 May 2021)


Log Message
WebAudioBufferList::setSampleCount() should early return if computeBufferSizes() fails
https://bugs.webkit.org/show_bug.cgi?id=226028
rdar://78222414

Reviewed by Eric Carlson.

If computeBufferSizes() fails (returns WTF::nullopt), we now early return on release
builds, without modifying the WebAudioBufferList's internal state in any way. In
Debug, we would still hit the assertion.

* platform/audio/cocoa/WebAudioBufferList.cpp:
(WebCore::WebAudioBufferList::setSampleCount):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/audio/cocoa/WebAudioBufferList.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (277820 => 277821)

--- trunk/Source/WebCore/ChangeLog	2021-05-20 19:59:33 UTC (rev 277820)
+++ trunk/Source/WebCore/ChangeLog	2021-05-20 21:07:02 UTC (rev 277821)
@@ -1,3 +1,18 @@
+2021-05-20  Chris Dumez  
+
+WebAudioBufferList::setSampleCount() should early return if computeBufferSizes() fails
+https://bugs.webkit.org/show_bug.cgi?id=226028
+rdar://78222414
+
+Reviewed by Eric Carlson.
+
+If computeBufferSizes() fails (returns WTF::nullopt), we now early return on release
+builds, without modifying the WebAudioBufferList's internal state in any way. In
+Debug, we would still hit the assertion.
+
+* platform/audio/cocoa/WebAudioBufferList.cpp:
+(WebCore::WebAudioBufferList::setSampleCount):
+
 2021-05-20  Antti Koivisto  
 
 HTML parser should yield more aggressively


Modified: trunk/Source/WebCore/platform/audio/cocoa/WebAudioBufferList.cpp (277820 => 277821)

--- trunk/Source/WebCore/platform/audio/cocoa/WebAudioBufferList.cpp	2021-05-20 19:59:33 UTC (rev 277820)
+++ trunk/Source/WebCore/platform/audio/cocoa/WebAudioBufferList.cpp	2021-05-20 21:07:02 UTC (rev 277821)
@@ -90,11 +90,13 @@
 if (!sampleCount || m_sampleCount == sampleCount)
 return;
 
+auto bufferSizes = computeBufferSizes(m_channelCount, m_bytesPerFrame, m_canonicalList->mNumberBuffers, sampleCount);
+ASSERT(bufferSizes);
+if (!bufferSizes)
+return;
+
 m_sampleCount = sampleCount;
 
-auto bufferSizes = computeBufferSizes(m_channelCount, m_bytesPerFrame, m_canonicalList->mNumberBuffers, m_sampleCount);
-ASSERT(bufferSizes);
-
 m_flatBuffer.resize(bufferSizes->second);
 auto* data = ""
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277820] trunk/Source/WebKit

2021-05-20 Thread timothy_horton
Title: [277820] trunk/Source/WebKit








Revision 277820
Author timothy_hor...@apple.com
Date 2021-05-20 12:59:33 -0700 (Thu, 20 May 2021)


Log Message
Move off UIKit IPI in WKMouseGestureRecognizer
https://bugs.webkit.org/show_bug.cgi?id=226030
rdar://78266173

Reviewed by Devin Rousso and Wenson Hsieh.

Use UIGestureRecognizerDelegate instead of IPI.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView gestureRecognizer:shouldReceiveTouch:]):
(-[WKContentView gestureRecognizer:shouldReceivePress:]):
* UIProcess/ios/WKMouseGestureRecognizer.mm:
(-[WKMouseGestureRecognizer _shouldReceiveTouch:forEvent:recognizerView:]): Deleted.
(-[WKMouseGestureRecognizer _shouldReceivePress:]): Deleted.

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
trunk/Source/WebKit/UIProcess/ios/WKMouseGestureRecognizer.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (277819 => 277820)

--- trunk/Source/WebKit/ChangeLog	2021-05-20 19:51:50 UTC (rev 277819)
+++ trunk/Source/WebKit/ChangeLog	2021-05-20 19:59:33 UTC (rev 277820)
@@ -1,3 +1,20 @@
+2021-05-20  Tim Horton  
+
+Move off UIKit IPI in WKMouseGestureRecognizer
+https://bugs.webkit.org/show_bug.cgi?id=226030
+rdar://78266173
+
+Reviewed by Devin Rousso and Wenson Hsieh.
+
+Use UIGestureRecognizerDelegate instead of IPI.
+
+* UIProcess/ios/WKContentViewInteraction.mm:
+(-[WKContentView gestureRecognizer:shouldReceiveTouch:]):
+(-[WKContentView gestureRecognizer:shouldReceivePress:]):
+* UIProcess/ios/WKMouseGestureRecognizer.mm:
+(-[WKMouseGestureRecognizer _shouldReceiveTouch:forEvent:recognizerView:]): Deleted.
+(-[WKMouseGestureRecognizer _shouldReceivePress:]): Deleted.
+
 2021-05-20  Chris Dumez  
 
 Use CheckedLock more in IPC::Connection


Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (277819 => 277820)

--- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2021-05-20 19:51:50 UTC (rev 277819)
+++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2021-05-20 19:59:33 UTC (rev 277820)
@@ -1659,6 +1659,9 @@
 if (gestureRecognizer != _mouseGestureRecognizer && [_mouseGestureRecognizer mouseTouch] == touch)
 return NO;
 
+if (gestureRecognizer == _mouseGestureRecognizer)
+return [_mouseGestureRecognizer mouseTouch] == touch;
+
 if (gestureRecognizer == _doubleTapGestureRecognizer || gestureRecognizer == _nonBlockingDoubleTapGestureRecognizer)
 return touch.type != UITouchTypeIndirectPointer;
 #endif
@@ -1679,6 +1682,15 @@
 return YES;
 }
 
+- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceivePress:(UIPress *)press
+{
+#if HAVE(UIKIT_WITH_MOUSE_SUPPORT)
+if (gestureRecognizer == _mouseGestureRecognizer)
+return NO;
+#endif
+return YES;
+}
+
 #pragma mark - WKTouchActionGestureRecognizerDelegate implementation
 
 - (BOOL)gestureRecognizerMayPanWebView:(UIGestureRecognizer *)gestureRecognizer


Modified: trunk/Source/WebKit/UIProcess/ios/WKMouseGestureRecognizer.mm (277819 => 277820)

--- trunk/Source/WebKit/UIProcess/ios/WKMouseGestureRecognizer.mm	2021-05-20 19:51:50 UTC (rev 277819)
+++ trunk/Source/WebKit/UIProcess/ios/WKMouseGestureRecognizer.mm	2021-05-20 19:59:33 UTC (rev 277820)
@@ -109,16 +109,6 @@
 _currentTouch = nil;
 }
 
-- (BOOL)_shouldReceiveTouch:(UITouch *)touch forEvent:(UIEvent *)event recognizerView:(UIView *)recognizerView
-{
-return touch == _currentTouch;
-}
-
-- (BOOL)_shouldReceivePress:(UIPress *)press
-{
-return NO;
-}
-
 - (std::unique_ptr)createMouseEventWithType:(WebKit::WebEvent::Type)type wasCancelled:(BOOL)cancelled
 {
 auto modifiers = webEventModifiersForUIKeyModifierFlags(self.modifierFlags);






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277819] tags/Safari-612.1.12.11/

2021-05-20 Thread repstein
Title: [277819] tags/Safari-612.1.12.11/








Revision 277819
Author repst...@apple.com
Date 2021-05-20 12:51:50 -0700 (Thu, 20 May 2021)


Log Message
Tag Safari-612.1.12.11.

Added Paths

tags/Safari-612.1.12.11/




Diff




___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277818] trunk/Source/WebCore

2021-05-20 Thread antti
Title: [277818] trunk/Source/WebCore








Revision 277818
Author an...@apple.com
Date 2021-05-20 12:40:04 -0700 (Thu, 20 May 2021)


Log Message
HTML parser should yield more aggressively
https://bugs.webkit.org/show_bug.cgi?id=224609
rdar://73458064

Reviewed by Darin Adler.

During page loading we may spend substantial amount of time in individual invocations of
the HTML parser. This can be a problem since it blocks rendering updates and so visual
page load progression.

Most of this time is not actually spend parsing, it rather goes into synchronous script
execution and DOM work triggered by scripts. This patch adds a more effective mechanism
where we may decide to yield the parser before executing a script.

* dom/ScriptElement.h:
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::pumpTokenizerLoop):
* html/parser/HTMLParserScheduler.cpp:
(WebCore::parserTimeLimit):
(WebCore::PumpSession::PumpSession):
(WebCore::HTMLParserScheduler::HTMLParserScheduler):
(WebCore::HTMLParserScheduler::shouldYieldBeforeExecutingScript):

Consider yielding before script execution after 16ms has elapsed and at least 256 tokens have been parsed.
Only yield for synchronous scripts.
Don't yield on very short inline scripts (this is an imperfect way to try to guess the execution cost).

* html/parser/HTMLParserScheduler.h:
(WebCore::HTMLParserScheduler::shouldYieldBeforeToken):
(WebCore::HTMLParserScheduler::checkForYield):

Don't reset the token count, instead track the last yield check point.

* html/parser/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::scriptToProcess const):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ScriptElement.h
trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp
trunk/Source/WebCore/html/parser/HTMLParserScheduler.cpp
trunk/Source/WebCore/html/parser/HTMLParserScheduler.h
trunk/Source/WebCore/html/parser/HTMLTreeBuilder.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (277817 => 277818)

--- trunk/Source/WebCore/ChangeLog	2021-05-20 19:34:32 UTC (rev 277817)
+++ trunk/Source/WebCore/ChangeLog	2021-05-20 19:40:04 UTC (rev 277818)
@@ -1,3 +1,41 @@
+2021-05-20  Antti Koivisto  
+
+HTML parser should yield more aggressively
+https://bugs.webkit.org/show_bug.cgi?id=224609
+rdar://73458064
+
+Reviewed by Darin Adler.
+
+During page loading we may spend substantial amount of time in individual invocations of
+the HTML parser. This can be a problem since it blocks rendering updates and so visual
+page load progression.
+
+Most of this time is not actually spend parsing, it rather goes into synchronous script
+execution and DOM work triggered by scripts. This patch adds a more effective mechanism
+where we may decide to yield the parser before executing a script.
+
+* dom/ScriptElement.h:
+* html/parser/HTMLDocumentParser.cpp:
+(WebCore::HTMLDocumentParser::pumpTokenizerLoop):
+* html/parser/HTMLParserScheduler.cpp:
+(WebCore::parserTimeLimit):
+(WebCore::PumpSession::PumpSession):
+(WebCore::HTMLParserScheduler::HTMLParserScheduler):
+(WebCore::HTMLParserScheduler::shouldYieldBeforeExecutingScript):
+
+Consider yielding before script execution after 16ms has elapsed and at least 256 tokens have been parsed.
+Only yield for synchronous scripts.
+Don't yield on very short inline scripts (this is an imperfect way to try to guess the execution cost).
+
+* html/parser/HTMLParserScheduler.h:
+(WebCore::HTMLParserScheduler::shouldYieldBeforeToken):
+(WebCore::HTMLParserScheduler::checkForYield):
+
+Don't reset the token count, instead track the last yield check point.
+
+* html/parser/HTMLTreeBuilder.h:
+(WebCore::HTMLTreeBuilder::scriptToProcess const):
+
 2021-05-20  Chris Dumez  
 
 [Hardening] Use CheckedArithmetics in WebAudioBufferList constructor


Modified: trunk/Source/WebCore/dom/ScriptElement.h (277817 => 277818)

--- trunk/Source/WebCore/dom/ScriptElement.h	2021-05-20 19:34:32 UTC (rev 277817)
+++ trunk/Source/WebCore/dom/ScriptElement.h	2021-05-20 19:40:04 UTC (rev 277818)
@@ -55,6 +55,9 @@
 void executePendingScript(PendingScript&);
 
 virtual bool hasAsyncAttribute() const = 0;
+virtual bool hasDeferAttribute() const = 0;
+virtual bool hasSourceAttribute() const = 0;
+virtual bool hasNoModuleAttribute() const = 0;
 
 // XML parser calls these
 virtual void dispatchLoadEvent() = 0;
@@ -114,9 +117,6 @@
 virtual String languageAttributeValue() const = 0;
 virtual String forAttributeValue() const = 0;
 virtual String eventAttributeValue() const = 0;
-virtual bool hasDeferAttribute() const = 0;
-virtual bool hasSourceAttribute() const = 0;
-virtual bool hasNoModuleAttribute() const = 0;
 virtual ReferrerPolicy referrerPolicy() const = 0;
 
 Element& m_element;



[webkit-changes] [277817] trunk/Tools

2021-05-20 Thread rmorisset
Title: [277817] trunk/Tools








Revision 277817
Author rmoris...@apple.com
Date 2021-05-20 12:34:32 -0700 (Thu, 20 May 2021)


Log Message
The test of SmallSet.cpp should pass the right HashTrait to the HashSet it uses as a reference
https://bugs.webkit.org/show_bug.cgi?id=226027

Reviewed by Mark Lam.

SmallSet allows all values except for the max value.
So we test it on small values, including 0.

HashSet by default forbids 0, so it made the test crash.
We can trivially fix it by passing UnsignedWithZeroKeyHashTraits, which allows everything which is not max() or max()-1

* TestWebKitAPI/Tests/WTF/SmallSet.cpp:
(TestWebKitAPI::testSmallSetOfUnsigned):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WTF/SmallSet.cpp




Diff

Modified: trunk/Tools/ChangeLog (277816 => 277817)

--- trunk/Tools/ChangeLog	2021-05-20 19:25:09 UTC (rev 277816)
+++ trunk/Tools/ChangeLog	2021-05-20 19:34:32 UTC (rev 277817)
@@ -1,3 +1,19 @@
+2021-05-20  Robin Morisset  
+
+The test of SmallSet.cpp should pass the right HashTrait to the HashSet it uses as a reference
+https://bugs.webkit.org/show_bug.cgi?id=226027
+
+Reviewed by Mark Lam.
+
+SmallSet allows all values except for the max value.
+So we test it on small values, including 0.
+
+HashSet by default forbids 0, so it made the test crash.
+We can trivially fix it by passing UnsignedWithZeroKeyHashTraits, which allows everything which is not max() or max()-1
+
+* TestWebKitAPI/Tests/WTF/SmallSet.cpp:
+(TestWebKitAPI::testSmallSetOfUnsigned):
+
 2021-05-20  Sam Sneddon  
 
 Add tox file for webkitpy


Modified: trunk/Tools/TestWebKitAPI/Tests/WTF/SmallSet.cpp (277816 => 277817)

--- trunk/Tools/TestWebKitAPI/Tests/WTF/SmallSet.cpp	2021-05-20 19:25:09 UTC (rev 277816)
+++ trunk/Tools/TestWebKitAPI/Tests/WTF/SmallSet.cpp	2021-05-20 19:34:32 UTC (rev 277817)
@@ -27,6 +27,7 @@
 
 #include "Test.h"
 #include 
+#include 
 #include 
 #include 
 
@@ -66,7 +67,7 @@
 }
 
 unsigned count = 0;
-HashSet referenceSet;
+HashSet, WTF::UnsignedWithZeroKeyHashTraits> referenceSet;
 for (unsigned i : set) {
 referenceSet.add(i);
 ++count;






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277816] trunk/Source/WebCore

2021-05-20 Thread cdumez
Title: [277816] trunk/Source/WebCore








Revision 277816
Author cdu...@apple.com
Date 2021-05-20 12:25:09 -0700 (Thu, 20 May 2021)


Log Message
[Hardening] Use CheckedArithmetics in WebAudioBufferList constructor
https://bugs.webkit.org/show_bug.cgi?id=226029


Reviewed by Eric Carlson.

* platform/audio/cocoa/WebAudioBufferList.cpp:
(WebCore::WebAudioBufferList::WebAudioBufferList):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/audio/cocoa/WebAudioBufferList.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (277815 => 277816)

--- trunk/Source/WebCore/ChangeLog	2021-05-20 19:09:25 UTC (rev 277815)
+++ trunk/Source/WebCore/ChangeLog	2021-05-20 19:25:09 UTC (rev 277816)
@@ -1,5 +1,16 @@
 2021-05-20  Chris Dumez  
 
+[Hardening] Use CheckedArithmetics in WebAudioBufferList constructor
+https://bugs.webkit.org/show_bug.cgi?id=226029
+
+
+Reviewed by Eric Carlson.
+
+* platform/audio/cocoa/WebAudioBufferList.cpp:
+(WebCore::WebAudioBufferList::WebAudioBufferList):
+
+2021-05-20  Chris Dumez  
+
 Use CheckedLock more in WebCore
 https://bugs.webkit.org/show_bug.cgi?id=226026
 


Modified: trunk/Source/WebCore/platform/audio/cocoa/WebAudioBufferList.cpp (277815 => 277816)

--- trunk/Source/WebCore/platform/audio/cocoa/WebAudioBufferList.cpp	2021-05-20 19:09:25 UTC (rev 277815)
+++ trunk/Source/WebCore/platform/audio/cocoa/WebAudioBufferList.cpp	2021-05-20 19:25:09 UTC (rev 277816)
@@ -42,10 +42,9 @@
 // with a custom size, and initialize the struct manually.
 uint32_t bufferCount = format.numberOfChannelStreams();
 
-uint64_t bufferListSize = offsetof(AudioBufferList, mBuffers) + (sizeof(AudioBuffer) * std::max(1U, bufferCount));
-ASSERT(bufferListSize <= SIZE_MAX);
-
-m_listBufferSize = static_cast(bufferListSize);
+CheckedSize bufferListSize = offsetof(AudioBufferList, mBuffers);
+bufferListSize += (sizeof(AudioBuffer) * std::max(1U, bufferCount));
+m_listBufferSize = bufferListSize.unsafeGet();
 m_canonicalList = std::unique_ptr(static_cast(::operator new (m_listBufferSize)));
 memset(m_canonicalList.get(), 0, m_listBufferSize);
 m_canonicalList->mNumberBuffers = bufferCount;






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277812] branches/safari-611-branch/Source/WebCore

2021-05-20 Thread alancoon
Title: [277812] branches/safari-611-branch/Source/WebCore








Revision 277812
Author alanc...@apple.com
Date 2021-05-20 12:09:16 -0700 (Thu, 20 May 2021)


Log Message
Cherry-pick r277390. rdar://problem/78264321

TapStorage::lock freed while locked in AudioSourceProviderAVFObjC::destroyMixIfNeeded()
https://bugs.webkit.org/show_bug.cgi?id=225706


Reviewed by Ryosuke Niwa.

In r275933, an update was made to protect access to TapStorage during destruction by
locking its lock inside destroyMixIfNeeded(), but if TapStorage has a refCount==1
during that teardown, the lock itself is destroyed while it is still held. Add an
explicit scoping to the lock holder, and only deref the TapStorage outside that
locking scope.

* platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
(WebCore::AudioSourceProviderAVFObjC::destroyMixIfNeeded):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277390 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-611-branch/Source/WebCore/ChangeLog
branches/safari-611-branch/Source/WebCore/platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm




Diff

Modified: branches/safari-611-branch/Source/WebCore/ChangeLog (277811 => 277812)

--- branches/safari-611-branch/Source/WebCore/ChangeLog	2021-05-20 19:09:12 UTC (rev 277811)
+++ branches/safari-611-branch/Source/WebCore/ChangeLog	2021-05-20 19:09:16 UTC (rev 277812)
@@ -1,5 +1,43 @@
 2021-05-20  Alan Coon  
 
+Cherry-pick r277390. rdar://problem/78264321
+
+TapStorage::lock freed while locked in AudioSourceProviderAVFObjC::destroyMixIfNeeded()
+https://bugs.webkit.org/show_bug.cgi?id=225706
+
+
+Reviewed by Ryosuke Niwa.
+
+In r275933, an update was made to protect access to TapStorage during destruction by
+locking its lock inside destroyMixIfNeeded(), but if TapStorage has a refCount==1
+during that teardown, the lock itself is destroyed while it is still held. Add an
+explicit scoping to the lock holder, and only deref the TapStorage outside that
+locking scope.
+
+* platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
+(WebCore::AudioSourceProviderAVFObjC::destroyMixIfNeeded):
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277390 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-05-12  Jer Noble  
+
+TapStorage::lock freed while locked in AudioSourceProviderAVFObjC::destroyMixIfNeeded()
+https://bugs.webkit.org/show_bug.cgi?id=225706
+
+
+Reviewed by Ryosuke Niwa.
+
+In r275933, an update was made to protect access to TapStorage during destruction by
+locking its lock inside destroyMixIfNeeded(), but if TapStorage has a refCount==1
+during that teardown, the lock itself is destroyed while it is still held. Add an
+explicit scoping to the lock holder, and only deref the TapStorage outside that
+locking scope.
+
+* platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
+(WebCore::AudioSourceProviderAVFObjC::destroyMixIfNeeded):
+
+2021-05-20  Alan Coon  
+
 Cherry-pick r277232. rdar://problem/78264335
 
 Add bounds checks around calls to GlyphBuffer::stringOffsetAt()


Modified: branches/safari-611-branch/Source/WebCore/platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm (277811 => 277812)

--- branches/safari-611-branch/Source/WebCore/platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm	2021-05-20 19:09:12 UTC (rev 277811)
+++ branches/safari-611-branch/Source/WebCore/platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm	2021-05-20 19:09:16 UTC (rev 277812)
@@ -176,17 +176,19 @@
 if (!m_avAudioMix)
 return;
 ASSERT(m_tapStorage);
-auto locker = holdLock(m_tapStorage->lock);
-if (m_avPlayerItem)
-[m_avPlayerItem setAudioMix:nil];
-[m_avAudioMix setInputParameters:@[ ]];
-m_avAudioMix.clear();
-m_tap.clear();
-m_tapStorage->_this = nullptr;
+{
+auto locker = holdLock(m_tapStorage->lock);
+if (m_avPlayerItem)
+[m_avPlayerItem setAudioMix:nil];
+[m_avAudioMix setInputParameters:@[ ]];
+m_avAudioMix.clear();
+m_tap.clear();
+m_tapStorage->_this = nullptr;
+// Call unprepare, since Tap cannot call it after clear.
+unprepare();
+m_weakFactory.revokeAll();
+}
 m_tapStorage = nullptr;
-// Call unprepare, since Tap cannot call it after clear.
-unprepare();
-m_weakFactory.revokeAll();
 }
 
 void AudioSourceProviderAVFObjC::createMixIfNeeded()






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277814] branches/safari-611-branch

2021-05-20 Thread alancoon
Title: [277814] branches/safari-611-branch








Revision 277814
Author alanc...@apple.com
Date 2021-05-20 12:09:22 -0700 (Thu, 20 May 2021)


Log Message
Cherry-pick r277613. rdar://problem/78264256

REGRESSION (r271119): Object methods defined with shorthand notation cannot access "caller" in non-strict mode
https://bugs.webkit.org/show_bug.cgi?id=225277

Reviewed by Darin Adler.

JSTests:

* stress/caller-and-arguments-properties-for-functions-that-dont-have-them.js: Now covers #157461 and #157863.
* stress/function-caller-cross-realm-via-call-apply.js: Added, coverage for #34553.
* stress/function-hidden-as-caller.js: Also adds test case for #102276.

Source/_javascript_Core:

This patch loosens `function.caller` to allow non-strict getters, setters, arrow functions,
and ES6 methods to be returned as callers, fixing web compatibility.

The intent of r230662 is preserved: generator / async functions are never exposed. There is
no good way to acquire wrapper function from the internal body one, nor from its arguments.
Also, this behavior is on standards track [1] (seems to be considered desirable).

[1]: https://github.com/claudepache/es-legacy-function-reflection/blob/master/spec.md#get-functionprototypecaller (step 14)

* runtime/JSFunction.cpp:
(JSC::JSC_DEFINE_CUSTOM_GETTER):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277613 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-611-branch/JSTests/ChangeLog
branches/safari-611-branch/JSTests/stress/caller-and-arguments-properties-for-functions-that-dont-have-them.js
branches/safari-611-branch/JSTests/stress/function-hidden-as-caller.js
branches/safari-611-branch/Source/_javascript_Core/ChangeLog
branches/safari-611-branch/Source/_javascript_Core/runtime/JSFunction.cpp


Added Paths

branches/safari-611-branch/JSTests/stress/function-caller-cross-realm-via-call-apply.js




Diff

Modified: branches/safari-611-branch/JSTests/ChangeLog (277813 => 277814)

--- branches/safari-611-branch/JSTests/ChangeLog	2021-05-20 19:09:18 UTC (rev 277813)
+++ branches/safari-611-branch/JSTests/ChangeLog	2021-05-20 19:09:22 UTC (rev 277814)
@@ -1,3 +1,46 @@
+2021-05-20  Alan Coon  
+
+Cherry-pick r277613. rdar://problem/78264256
+
+REGRESSION (r271119): Object methods defined with shorthand notation cannot access "caller" in non-strict mode
+https://bugs.webkit.org/show_bug.cgi?id=225277
+
+Reviewed by Darin Adler.
+
+JSTests:
+
+* stress/caller-and-arguments-properties-for-functions-that-dont-have-them.js: Now covers #157461 and #157863.
+* stress/function-caller-cross-realm-via-call-apply.js: Added, coverage for #34553.
+* stress/function-hidden-as-caller.js: Also adds test case for #102276.
+
+Source/_javascript_Core:
+
+This patch loosens `function.caller` to allow non-strict getters, setters, arrow functions,
+and ES6 methods to be returned as callers, fixing web compatibility.
+
+The intent of r230662 is preserved: generator / async functions are never exposed. There is
+no good way to acquire wrapper function from the internal body one, nor from its arguments.
+Also, this behavior is on standards track [1] (seems to be considered desirable).
+
+[1]: https://github.com/claudepache/es-legacy-function-reflection/blob/master/spec.md#get-functionprototypecaller (step 14)
+
+* runtime/JSFunction.cpp:
+(JSC::JSC_DEFINE_CUSTOM_GETTER):
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277613 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-05-17  Alexey Shvayka  
+
+REGRESSION (r271119): Object methods defined with shorthand notation cannot access "caller" in non-strict mode
+https://bugs.webkit.org/show_bug.cgi?id=225277
+
+Reviewed by Darin Adler.
+
+* stress/caller-and-arguments-properties-for-functions-that-dont-have-them.js: Now covers #157461 and #157863.
+* stress/function-caller-cross-realm-via-call-apply.js: Added, coverage for #34553.
+* stress/function-hidden-as-caller.js: Also adds test case for #102276.
+
 2021-04-08  Russell Epstein  
 
 Cherry-pick r274699. rdar://problem/76373830


Modified: branches/safari-611-branch/JSTests/stress/caller-and-arguments-properties-for-functions-that-dont-have-them.js (277813 => 277814)

--- branches/safari-611-branch/JSTests/stress/caller-and-arguments-properties-for-functions-that-dont-have-them.js	2021-05-20 19:09:18 UTC (rev 277813)
+++ branches/safari-611-branch/JSTests/stress/caller-and-arguments-properties-for-functions-that-dont-have-them.js	2021-05-20 19:09:22 UTC (rev 277814)
@@ -3,15 +3,22 @@
 throw new Error;
 }
 
+const GeneratorFunction = (function* () {}).constructor;
+
 function test1(f) {
 f.__proto__ = {};
+assert(!f.hasOwnProperty("caller"));
 Object.defineProperty(f, "caller", 

[webkit-changes] [277811] branches/safari-611-branch/Source/WebKit

2021-05-20 Thread alancoon
Title: [277811] branches/safari-611-branch/Source/WebKit








Revision 277811
Author alanc...@apple.com
Date 2021-05-20 12:09:12 -0700 (Thu, 20 May 2021)


Log Message
Cherry-pick r277375. rdar://problem/78264303

Crash in WebPageProxy::endColorPicker()
https://bugs.webkit.org/show_bug.cgi?id=225679

Patch by Julian Gonzalez  on 2021-05-12
Reviewed by Ryosuke Niwa.

Make sure that endColorPicker() and didEndColorPicker()
do not both attempt to null-out m_colorPicker.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::endColorPicker):
(WebKit::WebPageProxy::didEndColorPicker):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277375 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-611-branch/Source/WebKit/ChangeLog
branches/safari-611-branch/Source/WebKit/UIProcess/WebPageProxy.cpp




Diff

Modified: branches/safari-611-branch/Source/WebKit/ChangeLog (277810 => 277811)

--- branches/safari-611-branch/Source/WebKit/ChangeLog	2021-05-20 19:09:09 UTC (rev 277810)
+++ branches/safari-611-branch/Source/WebKit/ChangeLog	2021-05-20 19:09:12 UTC (rev 277811)
@@ -1,5 +1,38 @@
 2021-05-20  Alan Coon  
 
+Cherry-pick r277375. rdar://problem/78264303
+
+Crash in WebPageProxy::endColorPicker()
+https://bugs.webkit.org/show_bug.cgi?id=225679
+
+Patch by Julian Gonzalez  on 2021-05-12
+Reviewed by Ryosuke Niwa.
+
+Make sure that endColorPicker() and didEndColorPicker()
+do not both attempt to null-out m_colorPicker.
+
+* UIProcess/WebPageProxy.cpp:
+(WebKit::WebPageProxy::endColorPicker):
+(WebKit::WebPageProxy::didEndColorPicker):
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277375 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-05-12  Julian Gonzalez  
+
+Crash in WebPageProxy::endColorPicker()
+https://bugs.webkit.org/show_bug.cgi?id=225679
+
+Reviewed by Ryosuke Niwa.
+
+Make sure that endColorPicker() and didEndColorPicker()
+do not both attempt to null-out m_colorPicker.
+
+* UIProcess/WebPageProxy.cpp:
+(WebKit::WebPageProxy::endColorPicker):
+(WebKit::WebPageProxy::didEndColorPicker):
+
+2021-05-20  Alan Coon  
+
 Cherry-pick r276788. rdar://problem/78264378
 
 Reduce memory footprint for background tabs


Modified: branches/safari-611-branch/Source/WebKit/UIProcess/WebPageProxy.cpp (277810 => 277811)

--- branches/safari-611-branch/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-05-20 19:09:09 UTC (rev 277810)
+++ branches/safari-611-branch/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-05-20 19:09:12 UTC (rev 277811)
@@ -6104,10 +6104,8 @@
 
 void WebPageProxy::endColorPicker()
 {
-if (!m_colorPicker)
-return;
-
-m_colorPicker->endPicker();
+if (auto colorPicker = std::exchange(m_colorPicker, nullptr))
+colorPicker->endPicker();
 }
 
 void WebPageProxy::didChooseColor(const WebCore::Color& color)
@@ -6120,11 +6118,13 @@
 
 void WebPageProxy::didEndColorPicker()
 {
-m_colorPicker = nullptr;
-if (!hasRunningProcess())
-return;
+if (std::exchange(m_colorPicker, nullptr)) {
+if (!hasRunningProcess())
+return;
 
-send(Messages::WebPage::DidEndColorPicker());
+send(Messages::WebPage::DidEndColorPicker());
+}
+
 }
 #endif
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277810] branches/safari-611-branch/Source/ThirdParty/libwebrtc

2021-05-20 Thread alancoon
Title: [277810] branches/safari-611-branch/Source/ThirdParty/libwebrtc








Revision 277810
Author alanc...@apple.com
Date 2021-05-20 12:09:09 -0700 (Thu, 20 May 2021)


Log Message
Cherry-pick r277332. rdar://problem/78264344

Improve usrsctp restart handling
https://bugs.webkit.org/show_bug.cgi?id=225638


Reviewed by Alex Christensen.

* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c:
(sctp_process_cookie_existing):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277332 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-611-branch/Source/ThirdParty/libwebrtc/ChangeLog
branches/safari-611-branch/Source/ThirdParty/libwebrtc/Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c




Diff

Modified: branches/safari-611-branch/Source/ThirdParty/libwebrtc/ChangeLog (277809 => 277810)

--- branches/safari-611-branch/Source/ThirdParty/libwebrtc/ChangeLog	2021-05-20 19:09:06 UTC (rev 277809)
+++ branches/safari-611-branch/Source/ThirdParty/libwebrtc/ChangeLog	2021-05-20 19:09:09 UTC (rev 277810)
@@ -1,3 +1,30 @@
+2021-05-20  Alan Coon  
+
+Cherry-pick r277332. rdar://problem/78264344
+
+Improve usrsctp restart handling
+https://bugs.webkit.org/show_bug.cgi?id=225638
+
+
+Reviewed by Alex Christensen.
+
+* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c:
+(sctp_process_cookie_existing):
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277332 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-05-11  Youenn Fablet  
+
+Improve usrsctp restart handling
+https://bugs.webkit.org/show_bug.cgi?id=225638
+
+
+Reviewed by Alex Christensen.
+
+* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c:
+(sctp_process_cookie_existing):
+
 2021-04-08  Russell Epstein  
 
 Cherry-pick r275300. rdar://problem/76375624


Modified: branches/safari-611-branch/Source/ThirdParty/libwebrtc/Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c (277809 => 277810)

--- branches/safari-611-branch/Source/ThirdParty/libwebrtc/Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c	2021-05-20 19:09:06 UTC (rev 277809)
+++ branches/safari-611-branch/Source/ThirdParty/libwebrtc/Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c	2021-05-20 19:09:09 UTC (rev 277810)
@@ -2005,11 +2005,7 @@
 		/* temp code */
 		if (how_indx < sizeof(asoc->cookie_how))
 			asoc->cookie_how[how_indx] = 12;
-		sctp_timer_stop(SCTP_TIMER_TYPE_INIT, inp, stcb, net,
-		SCTP_FROM_SCTP_INPUT + SCTP_LOC_16);
-		sctp_timer_stop(SCTP_TIMER_TYPE_HEARTBEAT, inp, stcb, net,
-		SCTP_FROM_SCTP_INPUT + SCTP_LOC_17);
-
+		sctp_stop_association_timers(stcb, false);
 		/* notify upper layer */
 		*notification = SCTP_NOTIFY_ASSOC_RESTART;
 		atomic_add_int(>asoc.refcnt, 1);
@@ -2042,6 +2038,10 @@
 		asoc->str_reset_seq_in = asoc->init_seq_number;
 		asoc->advanced_peer_ack_point = asoc->last_acked_seq;
 		asoc->send_sack = 1;
+		asoc->data_pkts_seen = 0;
+		asoc->last_data_chunk_from = NULL;
+		asoc->last_control_chunk_from = NULL;
+		asoc->last_net_cmt_send_started = NULL;
 		if (asoc->mapping_array) {
 			memset(asoc->mapping_array, 0,
 			   asoc->mapping_array_size);
@@ -2106,6 +2106,9 @@
 			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), chk);
 			SCTP_DECR_CHK_COUNT();
 		}
+		asoc->ctrl_queue_cnt = 0;
+		asoc->str_reset = NULL;
+		asoc->stream_reset_outstanding = 0;
 		TAILQ_FOREACH_SAFE(chk, >asconf_send_queue, sctp_next, nchk) {
 			TAILQ_REMOVE(>asconf_send_queue, chk, sctp_next);
 			if (chk->data) {
@@ -2176,12 +2179,13 @@
 			return (NULL);
 		}
 		/* respond with a COOKIE-ACK */
-		sctp_stop_all_cookie_timers(stcb);
-		sctp_toss_old_cookies(stcb, asoc);
 		sctp_send_cookie_ack(stcb);
 		if (how_indx < sizeof(asoc->cookie_how))
 			asoc->cookie_how[how_indx] = 15;
-
+		if (sctp_is_feature_on(inp, SCTP_PCB_FLAGS_AUTOCLOSE) &&
+		(asoc->sctp_autoclose_ticks > 0)) {
+			sctp_timer_start(SCTP_TIMER_TYPE_AUTOCLOSE, inp, stcb, NULL);
+		}
 		return (stcb);
 	}
 	if (how_indx < sizeof(asoc->cookie_how))






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277809] branches/safari-611-branch/Source/WebCore

2021-05-20 Thread alancoon
Title: [277809] branches/safari-611-branch/Source/WebCore








Revision 277809
Author alanc...@apple.com
Date 2021-05-20 12:09:06 -0700 (Thu, 20 May 2021)


Log Message
Cherry-pick r277232. rdar://problem/78264335

Add bounds checks around calls to GlyphBuffer::stringOffsetAt()
https://bugs.webkit.org/show_bug.cgi?id=225335


Reviewed by Simon Fraser and Geoff Garen.

We're getting crash reports that look like they're from string offsets being out-of-bounds.
These string offsets round-trip through Core Text, which is allowed to modify them, which
can end up making them out-of-bounds.

No new tests because I don't have a reproducible test case; just crash reports.

* platform/graphics/FontCascade.cpp:
(WebCore::computeUnderlineType):
* platform/graphics/GlyphBuffer.h:
(WebCore::GlyphBuffer::uncheckedStringOffsetAt const):
(WebCore::GlyphBuffer::checkedStringOffsetAt const):
(WebCore::GlyphBuffer::stringOffsetAt const): Deleted.
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::applyFontTransforms):
(WebCore::WidthIterator::applyExtraSpacingAfterShaping):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277232 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-611-branch/Source/WebCore/ChangeLog
branches/safari-611-branch/Source/WebCore/platform/graphics/FontCascade.cpp
branches/safari-611-branch/Source/WebCore/platform/graphics/GlyphBuffer.h
branches/safari-611-branch/Source/WebCore/platform/graphics/WidthIterator.cpp




Diff

Modified: branches/safari-611-branch/Source/WebCore/ChangeLog (277808 => 277809)

--- branches/safari-611-branch/Source/WebCore/ChangeLog	2021-05-20 19:09:06 UTC (rev 277808)
+++ branches/safari-611-branch/Source/WebCore/ChangeLog	2021-05-20 19:09:06 UTC (rev 277809)
@@ -1,3 +1,56 @@
+2021-05-20  Alan Coon  
+
+Cherry-pick r277232. rdar://problem/78264335
+
+Add bounds checks around calls to GlyphBuffer::stringOffsetAt()
+https://bugs.webkit.org/show_bug.cgi?id=225335
+
+
+Reviewed by Simon Fraser and Geoff Garen.
+
+We're getting crash reports that look like they're from string offsets being out-of-bounds.
+These string offsets round-trip through Core Text, which is allowed to modify them, which
+can end up making them out-of-bounds.
+
+No new tests because I don't have a reproducible test case; just crash reports.
+
+* platform/graphics/FontCascade.cpp:
+(WebCore::computeUnderlineType):
+* platform/graphics/GlyphBuffer.h:
+(WebCore::GlyphBuffer::uncheckedStringOffsetAt const):
+(WebCore::GlyphBuffer::checkedStringOffsetAt const):
+(WebCore::GlyphBuffer::stringOffsetAt const): Deleted.
+* platform/graphics/WidthIterator.cpp:
+(WebCore::WidthIterator::applyFontTransforms):
+(WebCore::WidthIterator::applyExtraSpacingAfterShaping):
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277232 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-05-08  Myles C. Maxfield  
+
+Add bounds checks around calls to GlyphBuffer::stringOffsetAt()
+https://bugs.webkit.org/show_bug.cgi?id=225335
+
+
+Reviewed by Simon Fraser and Geoff Garen.
+
+We're getting crash reports that look like they're from string offsets being out-of-bounds.
+These string offsets round-trip through Core Text, which is allowed to modify them, which
+can end up making them out-of-bounds.
+
+No new tests because I don't have a reproducible test case; just crash reports.
+
+* platform/graphics/FontCascade.cpp:
+(WebCore::computeUnderlineType):
+* platform/graphics/GlyphBuffer.h:
+(WebCore::GlyphBuffer::uncheckedStringOffsetAt const):
+(WebCore::GlyphBuffer::checkedStringOffsetAt const):
+(WebCore::GlyphBuffer::stringOffsetAt const): Deleted.
+* platform/graphics/WidthIterator.cpp:
+(WebCore::WidthIterator::applyFontTransforms):
+(WebCore::WidthIterator::applyExtraSpacingAfterShaping):
+
 2021-05-12  Russell Epstein  
 
 Cherry-pick r277373. rdar://problem/77916543


Modified: branches/safari-611-branch/Source/WebCore/platform/graphics/FontCascade.cpp (277808 => 277809)

--- branches/safari-611-branch/Source/WebCore/platform/graphics/FontCascade.cpp	2021-05-20 19:09:06 UTC (rev 277808)
+++ branches/safari-611-branch/Source/WebCore/platform/graphics/FontCascade.cpp	2021-05-20 19:09:06 UTC (rev 277809)
@@ -1264,15 +1264,14 @@
 // so we want to draw through CJK characters (on a character-by-character basis).
 // FIXME: The CSS spec says this should instead be done by the user-agent stylesheet using the lang= attribute.
 UChar32 baseCharacter;
-auto offsetInString = glyphBuffer.stringOffsetAt(index);
-
-GlyphBufferStringOffset textRunLength = textRun.length();
-

[webkit-changes] [277808] trunk/Tools

2021-05-20 Thread gsnedders
Title: [277808] trunk/Tools








Revision 277808
Author gsnedd...@apple.com
Date 2021-05-20 12:09:06 -0700 (Thu, 20 May 2021)


Log Message
Add tox file for webkitpy
https://bugs.webkit.org/show_bug.cgi?id=226016

Reviewed by Jonathan Bedard.

* Scripts/webkitpy/tox.ini: Added.

Modified Paths

trunk/Tools/ChangeLog


Added Paths

trunk/Tools/Scripts/webkitpy/tox.ini




Diff

Modified: trunk/Tools/ChangeLog (277807 => 277808)

--- trunk/Tools/ChangeLog	2021-05-20 19:08:59 UTC (rev 277807)
+++ trunk/Tools/ChangeLog	2021-05-20 19:09:06 UTC (rev 277808)
@@ -1,3 +1,12 @@
+2021-05-20  Sam Sneddon  
+
+Add tox file for webkitpy
+https://bugs.webkit.org/show_bug.cgi?id=226016
+
+Reviewed by Jonathan Bedard.
+
+* Scripts/webkitpy/tox.ini: Added.
+
 2021-05-20  Kate Cheney  
 
 Unreviewed contributor name update.


Added: trunk/Tools/Scripts/webkitpy/tox.ini (0 => 277808)

--- trunk/Tools/Scripts/webkitpy/tox.ini	(rev 0)
+++ trunk/Tools/Scripts/webkitpy/tox.ini	2021-05-20 19:09:06 UTC (rev 277808)
@@ -0,0 +1,18 @@
+[tox]
+envlist = py27,py36,py37,py38,py39,py310
+skipsdist=True
+
+[testenv:py27]
+# Some of our tests fail with unpredictable dict enumeration order
+setenv = PYTHONHASHSEED = 0
+
+[testenv:py36]
+# Some of our tests fail with unpredictable dict enumeration order
+setenv = PYTHONHASHSEED = 0
+
+[testenv]
+deps =
+pytest
+pytest-xdist
+commands =
+pytest {posargs}






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277813] branches/safari-611-branch/Source/JavaScriptCore

2021-05-20 Thread alancoon
Title: [277813] branches/safari-611-branch/Source/_javascript_Core








Revision 277813
Author alanc...@apple.com
Date 2021-05-20 12:09:18 -0700 (Thu, 20 May 2021)


Log Message
Cherry-pick r277477. rdar://problem/78264390

[REGRESSION: r271876] Web Inspector: [Cocoa] Remote inspection crashes when using WEB_THREAD
https://bugs.webkit.org/show_bug.cgi?id=225794

Reviewed by Devin Rousso.

For WEB_THREAD, move `callback` in `dispatchAsyncOnTarget` to `block` scope to ensure it is available for the
lifetime of the block.

* inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:
(Inspector::RemoteConnectionToTarget::dispatchAsyncOnTarget):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277477 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-611-branch/Source/_javascript_Core/ChangeLog
branches/safari-611-branch/Source/_javascript_Core/inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm




Diff

Modified: branches/safari-611-branch/Source/_javascript_Core/ChangeLog (277812 => 277813)

--- branches/safari-611-branch/Source/_javascript_Core/ChangeLog	2021-05-20 19:09:16 UTC (rev 277812)
+++ branches/safari-611-branch/Source/_javascript_Core/ChangeLog	2021-05-20 19:09:18 UTC (rev 277813)
@@ -1,3 +1,34 @@
+2021-05-20  Alan Coon  
+
+Cherry-pick r277477. rdar://problem/78264390
+
+[REGRESSION: r271876] Web Inspector: [Cocoa] Remote inspection crashes when using WEB_THREAD
+https://bugs.webkit.org/show_bug.cgi?id=225794
+
+Reviewed by Devin Rousso.
+
+For WEB_THREAD, move `callback` in `dispatchAsyncOnTarget` to `block` scope to ensure it is available for the
+lifetime of the block.
+
+* inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:
+(Inspector::RemoteConnectionToTarget::dispatchAsyncOnTarget):
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277477 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-05-13  Patrick Angle  
+
+[REGRESSION: r271876] Web Inspector: [Cocoa] Remote inspection crashes when using WEB_THREAD
+https://bugs.webkit.org/show_bug.cgi?id=225794
+
+Reviewed by Devin Rousso.
+
+For WEB_THREAD, move `callback` in `dispatchAsyncOnTarget` to `block` scope to ensure it is available for the
+lifetime of the block.
+
+* inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:
+(Inspector::RemoteConnectionToTarget::dispatchAsyncOnTarget):
+
 2021-04-27  Russell Epstein  
 
 Cherry-pick r276609. rdar://problem/77211512


Modified: branches/safari-611-branch/Source/_javascript_Core/inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm (277812 => 277813)

--- branches/safari-611-branch/Source/_javascript_Core/inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm	2021-05-20 19:09:16 UTC (rev 277812)
+++ branches/safari-611-branch/Source/_javascript_Core/inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm	2021-05-20 19:09:18 UTC (rev 277813)
@@ -145,7 +145,10 @@
 
 #if USE(WEB_THREAD)
 if (WebCoreWebThreadIsEnabled && WebCoreWebThreadIsEnabled()) {
-WebCoreWebThreadRun(^ { callback(); });
+__block auto blockCallback(WTFMove(callback));
+WebCoreWebThreadRun(^{
+blockCallback();
+});
 return;
 }
 #endif






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277807] branches/safari-611-branch/Source

2021-05-20 Thread alancoon
Title: [277807] branches/safari-611-branch/Source








Revision 277807
Author alanc...@apple.com
Date 2021-05-20 12:08:59 -0700 (Thu, 20 May 2021)


Log Message
Cherry-pick r276788. rdar://problem/78264378

Reduce memory footprint for background tabs
https://bugs.webkit.org/show_bug.cgi?id=225007

Reviewed by Chris Dumez.

Source/WebKit:

When a WebContent process contains only non-visible pages (e.g. if it is a background tab),
we should attempt to reduce our memory footprint after some time interval to help relieve
system-wide memory pressure. This is enabled only on Mac because iOS already does something
similar just before WebContent suspends.

One exception to this is that we don't do this proactive slimming for processes that are in
the back/forward cache or in the WebProcess cache. This is because dropping the memory cache
in those types of processes leads to perf regressions in benchmarks that do certain types of
cross-origin navigations. We'll use a separate mechanism for controlling the memory usage of
those processes; our current logic keeps those processes around until we are at the warning
or critical memory pressure level.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::pageDidEnterWindow):
(WebKit::WebProcess::pageWillLeaveWindow):
(WebKit::WebProcess::nonVisibleProcessGraphicsCleanupTimerFired):
(WebKit::WebProcess::nonVisibleProcessMemoryCleanupTimerFired):
(WebKit::WebProcess::nonVisibleProcessCleanupTimerFired): Deleted.
* WebProcess/WebProcess.h:

Source/WTF:

Add an option to slim background tabs by proactively calling WebCore::releaseMemory on Macs.

* wtf/PlatformEnableCocoa.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@276788 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-611-branch/Source/WTF/ChangeLog
branches/safari-611-branch/Source/WTF/wtf/PlatformEnableCocoa.h
branches/safari-611-branch/Source/WebKit/ChangeLog
branches/safari-611-branch/Source/WebKit/WebProcess/WebProcess.cpp
branches/safari-611-branch/Source/WebKit/WebProcess/WebProcess.h




Diff

Modified: branches/safari-611-branch/Source/WTF/ChangeLog (277806 => 277807)

--- branches/safari-611-branch/Source/WTF/ChangeLog	2021-05-20 18:44:09 UTC (rev 277806)
+++ branches/safari-611-branch/Source/WTF/ChangeLog	2021-05-20 19:08:59 UTC (rev 277807)
@@ -1,3 +1,54 @@
+2021-05-20  Alan Coon  
+
+Cherry-pick r276788. rdar://problem/78264378
+
+Reduce memory footprint for background tabs
+https://bugs.webkit.org/show_bug.cgi?id=225007
+
+Reviewed by Chris Dumez.
+
+Source/WebKit:
+
+When a WebContent process contains only non-visible pages (e.g. if it is a background tab),
+we should attempt to reduce our memory footprint after some time interval to help relieve
+system-wide memory pressure. This is enabled only on Mac because iOS already does something
+similar just before WebContent suspends.
+
+One exception to this is that we don't do this proactive slimming for processes that are in
+the back/forward cache or in the WebProcess cache. This is because dropping the memory cache
+in those types of processes leads to perf regressions in benchmarks that do certain types of
+cross-origin navigations. We'll use a separate mechanism for controlling the memory usage of
+those processes; our current logic keeps those processes around until we are at the warning
+or critical memory pressure level.
+
+* WebProcess/WebProcess.cpp:
+(WebKit::WebProcess::pageDidEnterWindow):
+(WebKit::WebProcess::pageWillLeaveWindow):
+(WebKit::WebProcess::nonVisibleProcessGraphicsCleanupTimerFired):
+(WebKit::WebProcess::nonVisibleProcessMemoryCleanupTimerFired):
+(WebKit::WebProcess::nonVisibleProcessCleanupTimerFired): Deleted.
+* WebProcess/WebProcess.h:
+
+Source/WTF:
+
+Add an option to slim background tabs by proactively calling WebCore::releaseMemory on Macs.
+
+* wtf/PlatformEnableCocoa.h:
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@276788 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-04-29  Ben Nham  
+
+Reduce memory footprint for background tabs
+https://bugs.webkit.org/show_bug.cgi?id=225007
+
+Reviewed by Chris Dumez.
+
+Add an option to slim background tabs by proactively calling WebCore::releaseMemory on Macs.
+
+* wtf/PlatformEnableCocoa.h:
+
 2021-04-23  Russell Epstein  
 
 Cherry-pick r276324. rdar://problem/77086404


Modified: branches/safari-611-branch/Source/WTF/wtf/PlatformEnableCocoa.h (277806 => 277807)

--- branches/safari-611-branch/Source/WTF/wtf/PlatformEnableCocoa.h	2021-05-20 18:44:09 UTC (rev 277806)
+++ branches/safari-611-branch/Source/WTF/wtf/PlatformEnableCocoa.h	2021-05-20 19:08:59 UTC (rev 277807)
@@ -377,6 +377,10 @@
 #define 

[webkit-changes] [277815] branches/safari-611-branch

2021-05-20 Thread alancoon
Title: [277815] branches/safari-611-branch








Revision 277815
Author alanc...@apple.com
Date 2021-05-20 12:09:25 -0700 (Thu, 20 May 2021)


Log Message
Cherry-pick r277713. rdar://problem/78264364

allowsContentJavaScript API not applied from defaultWebpagePreferences
https://bugs.webkit.org/show_bug.cgi?id=225957

Reviewed by Wenson Hsieh.

New API test: WebKit.AllowsContentJavaScriptFromDefaultPreferences

* UIProcess/API/APIWebsitePolicies.cpp:
(API::WebsitePolicies::copy const):
allowsContentJavaScript works fine on the per-navigation-level WKWebpagePreferences,
but is ignored if applied on the WKWebViewConfiguration's defaultWebpagePreferences,
because it is not copied in copy(). Copy it!

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277713 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-611-branch/Source/WebKit/ChangeLog
branches/safari-611-branch/Source/WebKit/UIProcess/API/APIWebsitePolicies.cpp
branches/safari-611-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm




Diff

Modified: branches/safari-611-branch/Source/WebKit/ChangeLog (277814 => 277815)

--- branches/safari-611-branch/Source/WebKit/ChangeLog	2021-05-20 19:09:22 UTC (rev 277814)
+++ branches/safari-611-branch/Source/WebKit/ChangeLog	2021-05-20 19:09:25 UTC (rev 277815)
@@ -1,5 +1,40 @@
 2021-05-20  Alan Coon  
 
+Cherry-pick r277713. rdar://problem/78264364
+
+allowsContentJavaScript API not applied from defaultWebpagePreferences
+https://bugs.webkit.org/show_bug.cgi?id=225957
+
+Reviewed by Wenson Hsieh.
+
+New API test: WebKit.AllowsContentJavaScriptFromDefaultPreferences
+
+* UIProcess/API/APIWebsitePolicies.cpp:
+(API::WebsitePolicies::copy const):
+allowsContentJavaScript works fine on the per-navigation-level WKWebpagePreferences,
+but is ignored if applied on the WKWebViewConfiguration's defaultWebpagePreferences,
+because it is not copied in copy(). Copy it!
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277713 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-05-18  Tim Horton  
+
+allowsContentJavaScript API not applied from defaultWebpagePreferences
+https://bugs.webkit.org/show_bug.cgi?id=225957
+
+Reviewed by Wenson Hsieh.
+
+New API test: WebKit.AllowsContentJavaScriptFromDefaultPreferences
+
+* UIProcess/API/APIWebsitePolicies.cpp:
+(API::WebsitePolicies::copy const):
+allowsContentJavaScript works fine on the per-navigation-level WKWebpagePreferences,
+but is ignored if applied on the WKWebViewConfiguration's defaultWebpagePreferences,
+because it is not copied in copy(). Copy it!
+
+2021-05-20  Alan Coon  
+
 Cherry-pick r277375. rdar://problem/78264303
 
 Crash in WebPageProxy::endColorPicker()


Modified: branches/safari-611-branch/Source/WebKit/UIProcess/API/APIWebsitePolicies.cpp (277814 => 277815)

--- branches/safari-611-branch/Source/WebKit/UIProcess/API/APIWebsitePolicies.cpp	2021-05-20 19:09:22 UTC (rev 277814)
+++ branches/safari-611-branch/Source/WebKit/UIProcess/API/APIWebsitePolicies.cpp	2021-05-20 19:09:25 UTC (rev 277815)
@@ -71,6 +71,7 @@
 policies->setCustomHeaderFields(WTFMove(customHeaderFields));
 policies->setAllowSiteSpecificQuirksToOverrideContentMode(m_allowSiteSpecificQuirksToOverrideContentMode);
 policies->setApplicationNameForDesktopUserAgent(m_applicationNameForDesktopUserAgent);
+policies->setAllowsContentJavaScript(m_allowsContentJavaScript);
 policies->setMouseEventPolicy(m_mouseEventPolicy);
 return policies;
 }


Modified: branches/safari-611-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm (277814 => 277815)

--- branches/safari-611-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm	2021-05-20 19:09:22 UTC (rev 277814)
+++ branches/safari-611-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm	2021-05-20 19:09:25 UTC (rev 277815)
@@ -438,6 +438,27 @@
 }
 #endif
 
+TEST(WebKit, AllowsContentJavaScriptFromDefaultPreferences)
+{
+RetainPtr preferences = adoptNS([[WKWebpagePreferences alloc] init]);
+[preferences setAllowsContentJavaScript:NO];
+
+RetainPtr configuration = adoptNS([[WKWebViewConfiguration alloc] init]);
+[configuration setDefaultWebpagePreferences:preferences.get()];
+
+RetainPtr webView = adoptNS([[TestWKWebView alloc] initWithFrame:NSMakeRect(0, 0, 800, 600) configuration:configuration.get()]);
+
+[webView synchronouslyLoadHTMLString:@"var foo = 'bar'"];
+
+__block bool done = false;
+[webView evaluateJavaScript:@"foo" completionHandler:^(id result, NSError *error) {
+EXPECT_NULL(result);
+EXPECT_TRUE([[error description] containsString:@"Can't find variable: foo"]);
+done = true;
+}];
+

[webkit-changes] [277806] trunk/Source/WebKit

2021-05-20 Thread cdumez
Title: [277806] trunk/Source/WebKit








Revision 277806
Author cdu...@apple.com
Date 2021-05-20 11:44:09 -0700 (Thu, 20 May 2021)


Log Message
Use CheckedLock more in IPC::Connection
https://bugs.webkit.org/show_bug.cgi?id=226021

Reviewed by Darin Adler.

Use CheckedLock more in IPC::Connection. This is heavily multithreaded code and
it would benefit significantly from Clang Thread Safety Analysis.

* Platform/IPC/Connection.cpp:
(IPC::Connection::SyncMessageState::processIncomingMessage):
(IPC::Connection::enqueueMatchingMessagesToMessageReceiveQueue):
(IPC::Connection::addMessageReceiveQueue):
(IPC::Connection::addWorkQueueMessageReceiver):
(IPC::Connection::addThreadMessageReceiver):
(IPC::Connection::removeMessageReceiveQueue):
(IPC::Connection::sendMessage):
(IPC::Connection::waitForMessage):
(IPC::Connection::pushPendingSyncRequestID):
(IPC::Connection::popPendingSyncRequestID):
(IPC::Connection::waitForSyncReply):
(IPC::Connection::processIncomingSyncReply):
(IPC::Connection::processIncomingMessage):
(IPC::Connection::installIncomingSyncMessageCallback):
(IPC::Connection::uninstallIncomingSyncMessageCallback):
(IPC::Connection::hasIncomingSyncMessage):
(IPC::Connection::connectionDidClose):
(IPC::Connection::sendOutgoingMessages):
(IPC::Connection::enqueueIncomingMessage):
(IPC::Connection::dispatchMessage):
(IPC::Connection::dispatchOneIncomingMessage):
(IPC::Connection::dispatchIncomingMessages):
* Platform/IPC/Connection.h:
(IPC::Connection::WTF_GUARDED_BY_LOCK):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Platform/IPC/Connection.cpp
trunk/Source/WebKit/Platform/IPC/Connection.h




Diff

Modified: trunk/Source/WebKit/ChangeLog (277805 => 277806)

--- trunk/Source/WebKit/ChangeLog	2021-05-20 18:41:33 UTC (rev 277805)
+++ trunk/Source/WebKit/ChangeLog	2021-05-20 18:44:09 UTC (rev 277806)
@@ -1,3 +1,39 @@
+2021-05-20  Chris Dumez  
+
+Use CheckedLock more in IPC::Connection
+https://bugs.webkit.org/show_bug.cgi?id=226021
+
+Reviewed by Darin Adler.
+
+Use CheckedLock more in IPC::Connection. This is heavily multithreaded code and
+it would benefit significantly from Clang Thread Safety Analysis.
+
+* Platform/IPC/Connection.cpp:
+(IPC::Connection::SyncMessageState::processIncomingMessage):
+(IPC::Connection::enqueueMatchingMessagesToMessageReceiveQueue):
+(IPC::Connection::addMessageReceiveQueue):
+(IPC::Connection::addWorkQueueMessageReceiver):
+(IPC::Connection::addThreadMessageReceiver):
+(IPC::Connection::removeMessageReceiveQueue):
+(IPC::Connection::sendMessage):
+(IPC::Connection::waitForMessage):
+(IPC::Connection::pushPendingSyncRequestID):
+(IPC::Connection::popPendingSyncRequestID):
+(IPC::Connection::waitForSyncReply):
+(IPC::Connection::processIncomingSyncReply):
+(IPC::Connection::processIncomingMessage):
+(IPC::Connection::installIncomingSyncMessageCallback):
+(IPC::Connection::uninstallIncomingSyncMessageCallback):
+(IPC::Connection::hasIncomingSyncMessage):
+(IPC::Connection::connectionDidClose):
+(IPC::Connection::sendOutgoingMessages):
+(IPC::Connection::enqueueIncomingMessage):
+(IPC::Connection::dispatchMessage):
+(IPC::Connection::dispatchOneIncomingMessage):
+(IPC::Connection::dispatchIncomingMessages):
+* Platform/IPC/Connection.h:
+(IPC::Connection::WTF_GUARDED_BY_LOCK):
+
 2021-05-20  Geoffrey Garen  
 
 GraphicsLayer::setName() causes heap fragmentation


Modified: trunk/Source/WebKit/Platform/IPC/Connection.cpp (277805 => 277806)

--- trunk/Source/WebKit/Platform/IPC/Connection.cpp	2021-05-20 18:41:33 UTC (rev 277805)
+++ trunk/Source/WebKit/Platform/IPC/Connection.cpp	2021-05-20 18:44:09 UTC (rev 277806)
@@ -90,7 +90,7 @@
 
 // Returns true if this message will be handled on a client thread that is currently
 // waiting for a reply to a synchronous message.
-bool processIncomingMessage(Connection&, std::unique_ptr&);
+bool processIncomingMessage(Connection& connection, std::unique_ptr&) WTF_REQUIRES_LOCK(connection.m_incomingMessagesLock);
 
 // Dispatch pending sync messages.
 void dispatchMessages(Function&& willDispatchMessage = { });
@@ -173,7 +173,7 @@
 {
 auto locker = holdLock(m_mutex);
 shouldDispatch = m_didScheduleDispatchMessagesWorkSet.add().isNewEntry;
-ASSERT(connection.m_incomingMessagesMutex.isHeld());
+ASSERT(connection.m_incomingMessagesLock.isHeld());
 if (message->shouldMaintainOrderingWithAsyncMessages()) {
 // This sync message should maintain ordering with async messages so we need to process the pending async messages first.
 while (!connection.m_incomingMessages.isEmpty())
@@ -333,7 +333,7 @@
 
 // Enqueue any pending message to the MessageReceiveQueue that is meant to go on that 

[webkit-changes] [277804] trunk/Source/WebCore

2021-05-20 Thread wenson_hsieh
Title: [277804] trunk/Source/WebCore








Revision 277804
Author wenson_hs...@apple.com
Date 2021-05-20 11:25:38 -0700 (Thu, 20 May 2021)


Log Message
[GPU Process] ItemHandle::safeCopy is not actually safe, does no bounds-checking
https://bugs.webkit.org/show_bug.cgi?id=226022
rdar://78181677

Reviewed by Chris Dumez.

Currently, it's possible for DisplayList iteration to trigger out-of-bounds access when decoding inline display
list items; this patch adds hardening to prevent this. See below for more details.

* platform/graphics/displaylists/DisplayListItemBuffer.cpp:

Add an `ItemType` argument to `safeCopy`, and use this `ItemType` instead of assuming that the item type of the
`ItemHandle` we're copying from hasn't changed since we've validated it.

(WebCore::DisplayList::ItemHandle::safeCopy const):
* platform/graphics/displaylists/DisplayListItemBuffer.h:
* platform/graphics/displaylists/DisplayListIterator.cpp:
(WebCore::DisplayList::DisplayList::Iterator::updateCurrentItem):

Verify that the remaining item buffer capacity is at least as large as `paddedSizeOfTypeAndItem`, such that we
won't go out of bounds when attempting to read from the item handle in `safeCopy`.

* platform/graphics/displaylists/InMemoryDisplayList.cpp:
(WebCore::DisplayList::InMemoryDisplayList::ReadingClient::decodeItem):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp
trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.h
trunk/Source/WebCore/platform/graphics/displaylists/DisplayListIterator.cpp
trunk/Source/WebCore/platform/graphics/displaylists/InMemoryDisplayList.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (277803 => 277804)

--- trunk/Source/WebCore/ChangeLog	2021-05-20 18:12:34 UTC (rev 277803)
+++ trunk/Source/WebCore/ChangeLog	2021-05-20 18:25:38 UTC (rev 277804)
@@ -1,3 +1,30 @@
+2021-05-20  Wenson Hsieh  
+
+[GPU Process] ItemHandle::safeCopy is not actually safe, does no bounds-checking
+https://bugs.webkit.org/show_bug.cgi?id=226022
+rdar://78181677
+
+Reviewed by Chris Dumez.
+
+Currently, it's possible for DisplayList iteration to trigger out-of-bounds access when decoding inline display
+list items; this patch adds hardening to prevent this. See below for more details.
+
+* platform/graphics/displaylists/DisplayListItemBuffer.cpp:
+
+Add an `ItemType` argument to `safeCopy`, and use this `ItemType` instead of assuming that the item type of the
+`ItemHandle` we're copying from hasn't changed since we've validated it.
+
+(WebCore::DisplayList::ItemHandle::safeCopy const):
+* platform/graphics/displaylists/DisplayListItemBuffer.h:
+* platform/graphics/displaylists/DisplayListIterator.cpp:
+(WebCore::DisplayList::DisplayList::Iterator::updateCurrentItem):
+
+Verify that the remaining item buffer capacity is at least as large as `paddedSizeOfTypeAndItem`, such that we
+won't go out of bounds when attempting to read from the item handle in `safeCopy`.
+
+* platform/graphics/displaylists/InMemoryDisplayList.cpp:
+(WebCore::DisplayList::InMemoryDisplayList::ReadingClient::decodeItem):
+
 2021-05-20  Chris Lord  
 
 Allow passing a VisibleRectContext when calculating the clipped overflow rect


Modified: trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp (277803 => 277804)

--- trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp	2021-05-20 18:12:34 UTC (rev 277803)
+++ trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp	2021-05-20 18:25:38 UTC (rev 277804)
@@ -466,9 +466,9 @@
 return copyInto(destinationWithOffset, itemHandle.get());
 }
 
-bool ItemHandle::safeCopy(ItemHandle destination) const
+bool ItemHandle::safeCopy(ItemType itemType, ItemHandle destination) const
 {
-auto itemType = type();
+ASSERT(itemType == type());
 destination.data[0] = static_cast(itemType);
 auto itemOffset = destination.data + sizeof(uint64_t);
 switch (itemType) {


Modified: trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.h (277803 => 277804)

--- trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.h	2021-05-20 18:12:34 UTC (rev 277803)
+++ trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.h	2021-05-20 18:25:38 UTC (rev 277804)
@@ -79,7 +79,7 @@
 return *reinterpret_cast(data + sizeof(uint64_t));
 }
 
-bool safeCopy(ItemHandle destination) const;
+bool safeCopy(ItemType, ItemHandle destination) const;
 };
 
 bool safeCopy(ItemHandle destination, const DisplayListItem& source);


Modified: trunk/Source/WebCore/platform/graphics/displaylists/DisplayListIterator.cpp (277803 => 277804)

--- trunk/Source/WebCore/platform/graphics/displaylists/DisplayListIterator.cpp	2021-05-20 18:12:34 UTC (rev 

[webkit-changes] [277803] branches/safari-612.1.15.0-branch/Source

2021-05-20 Thread rubent_22
Title: [277803] branches/safari-612.1.15.0-branch/Source








Revision 277803
Author rubent...@apple.com
Date 2021-05-20 11:12:34 -0700 (Thu, 20 May 2021)


Log Message
Versioning.

WebKit-7612.1.15.0.3

Modified Paths

branches/safari-612.1.15.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig
branches/safari-612.1.15.0-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig
branches/safari-612.1.15.0-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig
branches/safari-612.1.15.0-branch/Source/WebCore/Configurations/Version.xcconfig
branches/safari-612.1.15.0-branch/Source/WebCore/PAL/Configurations/Version.xcconfig
branches/safari-612.1.15.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig
branches/safari-612.1.15.0-branch/Source/WebKit/Configurations/Version.xcconfig
branches/safari-612.1.15.0-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig




Diff

Modified: branches/safari-612.1.15.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig (277802 => 277803)

--- branches/safari-612.1.15.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-05-20 18:08:36 UTC (rev 277802)
+++ branches/safari-612.1.15.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-05-20 18:12:34 UTC (rev 277803)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 1;
 TINY_VERSION = 15;
 MICRO_VERSION = 0;
-NANO_VERSION = 2;
+NANO_VERSION = 3;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.1.15.0-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (277802 => 277803)

--- branches/safari-612.1.15.0-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-05-20 18:08:36 UTC (rev 277802)
+++ branches/safari-612.1.15.0-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-05-20 18:12:34 UTC (rev 277803)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 1;
 TINY_VERSION = 15;
 MICRO_VERSION = 0;
-NANO_VERSION = 2;
+NANO_VERSION = 3;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.1.15.0-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (277802 => 277803)

--- branches/safari-612.1.15.0-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-05-20 18:08:36 UTC (rev 277802)
+++ branches/safari-612.1.15.0-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-05-20 18:12:34 UTC (rev 277803)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 1;
 TINY_VERSION = 15;
 MICRO_VERSION = 0;
-NANO_VERSION = 2;
+NANO_VERSION = 3;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.1.15.0-branch/Source/WebCore/Configurations/Version.xcconfig (277802 => 277803)

--- branches/safari-612.1.15.0-branch/Source/WebCore/Configurations/Version.xcconfig	2021-05-20 18:08:36 UTC (rev 277802)
+++ branches/safari-612.1.15.0-branch/Source/WebCore/Configurations/Version.xcconfig	2021-05-20 18:12:34 UTC (rev 277803)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 1;
 TINY_VERSION = 15;
 MICRO_VERSION = 0;
-NANO_VERSION = 2;
+NANO_VERSION = 3;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.1.15.0-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (277802 => 277803)

--- branches/safari-612.1.15.0-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-05-20 18:08:36 UTC (rev 277802)
+++ branches/safari-612.1.15.0-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-05-20 18:12:34 UTC (rev 277803)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 1;
 TINY_VERSION = 15;
 MICRO_VERSION = 0;
-NANO_VERSION = 2;
+NANO_VERSION = 3;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.1.15.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (277802 => 277803)

--- branches/safari-612.1.15.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-05-20 18:08:36 UTC (rev 277802)
+++ branches/safari-612.1.15.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-05-20 18:12:34 UTC (rev 277803)
@@ -2,7 +2,7 @@
 MINOR_VERSION = 1;
 TINY_VERSION = 15;
 MICRO_VERSION = 0;
-NANO_VERSION = 2;
+NANO_VERSION = 3;
 FULL_VERSION = 

[webkit-changes] [277802] trunk/Source/WebCore

2021-05-20 Thread clord
Title: [277802] trunk/Source/WebCore








Revision 277802
Author cl...@igalia.com
Date 2021-05-20 11:08:36 -0700 (Thu, 20 May 2021)


Log Message
Allow passing a VisibleRectContext when calculating the clipped overflow rect
https://bugs.webkit.org/show_bug.cgi?id=226007

Reviewed by Simon Fraser.

Refactor rendering classes to allow specifying a VisibleRectContext
when calculating the clipped overflow rect.

No new tests, this is just a small refactor.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isOffScreen const):
* dom/DocumentMarkerController.cpp:
(WebCore::DocumentMarkerController::renderedRectsForMarkers):
* page/SpatialNavigation.cpp:
(WebCore::hasOffscreenRect):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::clippedOverflowRect const):
* rendering/RenderBox.h:
* rendering/RenderElement.cpp:
(WebCore::RenderElement::mayCauseRepaintInsideViewport const):
(WebCore::RenderElement::isVisibleInDocumentRect const):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::clippedOverflowRect const):
* rendering/RenderInline.h:
* rendering/RenderLineBreak.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect const):
(WebCore::RenderObject::clippedOverflowRect const):
(WebCore::RenderObject::computeRect const):
(WebCore::absoluteRectsForRangeInText):
* rendering/RenderObject.h:
(WebCore::RenderObject::absoluteClippedOverflowRectForRepaint const):
(WebCore::RenderObject::clippedOverflowRectForRepaint const):
(WebCore::RenderObject::outlineBoundsForRepaint const):
(WebCore::RenderObject::computeAbsoluteRepaintRect const):
(WebCore::RenderObject::computeRectForRepaint const):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::clippedOverflowRect const):
* rendering/RenderReplaced.h:
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::clippedOverflowRect const):
* rendering/RenderTableCell.h:
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::clippedOverflowRect const):
* rendering/RenderTableCol.h:
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::layout):
(WebCore::RenderTableRow::clippedOverflowRect const):
* rendering/RenderTableRow.h:
* rendering/RenderText.cpp:
(WebCore::RenderText::clippedOverflowRect const):
* rendering/RenderText.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::updateVisibleViewportRect):
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::clippedOverflowRect const):
* rendering/svg/RenderSVGForeignObject.h:
* rendering/svg/RenderSVGGradientStop.h:
* rendering/svg/RenderSVGHiddenContainer.h:
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::clippedOverflowRect const):
* rendering/svg/RenderSVGInline.h:
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::clippedOverflowRect const):
* rendering/svg/RenderSVGModelObject.h:
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::clippedOverflowRect const):
* rendering/svg/RenderSVGRoot.h:
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::clippedOverflowRect const):
* rendering/svg/RenderSVGText.h:
* rendering/svg/SVGRenderTreeAsText.cpp:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
trunk/Source/WebCore/dom/DocumentMarkerController.cpp
trunk/Source/WebCore/page/SpatialNavigation.cpp
trunk/Source/WebCore/rendering/RenderBox.cpp
trunk/Source/WebCore/rendering/RenderBox.h
trunk/Source/WebCore/rendering/RenderElement.cpp
trunk/Source/WebCore/rendering/RenderInline.cpp
trunk/Source/WebCore/rendering/RenderInline.h
trunk/Source/WebCore/rendering/RenderLineBreak.h
trunk/Source/WebCore/rendering/RenderObject.cpp
trunk/Source/WebCore/rendering/RenderObject.h
trunk/Source/WebCore/rendering/RenderReplaced.cpp
trunk/Source/WebCore/rendering/RenderReplaced.h
trunk/Source/WebCore/rendering/RenderTableCell.cpp
trunk/Source/WebCore/rendering/RenderTableCell.h
trunk/Source/WebCore/rendering/RenderTableCol.cpp
trunk/Source/WebCore/rendering/RenderTableCol.h
trunk/Source/WebCore/rendering/RenderTableRow.cpp
trunk/Source/WebCore/rendering/RenderTableRow.h
trunk/Source/WebCore/rendering/RenderText.cpp
trunk/Source/WebCore/rendering/RenderText.h
trunk/Source/WebCore/rendering/RenderView.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGForeignObject.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGForeignObject.h
trunk/Source/WebCore/rendering/svg/RenderSVGGradientStop.h
trunk/Source/WebCore/rendering/svg/RenderSVGHiddenContainer.h
trunk/Source/WebCore/rendering/svg/RenderSVGInline.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGInline.h
trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.h
trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGRoot.h
trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGText.h

[webkit-changes] [277800] branches/safari-612.1.15.1-branch/Source

2021-05-20 Thread repstein
Title: [277800] branches/safari-612.1.15.1-branch/Source








Revision 277800
Author repst...@apple.com
Date 2021-05-20 11:02:15 -0700 (Thu, 20 May 2021)


Log Message
Versioning.

WebKit-7612.1.15.1.6

Modified Paths

branches/safari-612.1.15.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig
branches/safari-612.1.15.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig
branches/safari-612.1.15.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig
branches/safari-612.1.15.1-branch/Source/WebCore/Configurations/Version.xcconfig
branches/safari-612.1.15.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig
branches/safari-612.1.15.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig
branches/safari-612.1.15.1-branch/Source/WebKit/Configurations/Version.xcconfig
branches/safari-612.1.15.1-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig




Diff

Modified: branches/safari-612.1.15.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig (277799 => 277800)

--- branches/safari-612.1.15.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-05-20 17:43:35 UTC (rev 277799)
+++ branches/safari-612.1.15.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-05-20 18:02:15 UTC (rev 277800)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 1;
 TINY_VERSION = 15;
 MICRO_VERSION = 1;
-NANO_VERSION = 5;
+NANO_VERSION = 6;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.1.15.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (277799 => 277800)

--- branches/safari-612.1.15.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-05-20 17:43:35 UTC (rev 277799)
+++ branches/safari-612.1.15.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-05-20 18:02:15 UTC (rev 277800)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 1;
 TINY_VERSION = 15;
 MICRO_VERSION = 1;
-NANO_VERSION = 5;
+NANO_VERSION = 6;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.1.15.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (277799 => 277800)

--- branches/safari-612.1.15.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-05-20 17:43:35 UTC (rev 277799)
+++ branches/safari-612.1.15.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-05-20 18:02:15 UTC (rev 277800)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 1;
 TINY_VERSION = 15;
 MICRO_VERSION = 1;
-NANO_VERSION = 5;
+NANO_VERSION = 6;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.1.15.1-branch/Source/WebCore/Configurations/Version.xcconfig (277799 => 277800)

--- branches/safari-612.1.15.1-branch/Source/WebCore/Configurations/Version.xcconfig	2021-05-20 17:43:35 UTC (rev 277799)
+++ branches/safari-612.1.15.1-branch/Source/WebCore/Configurations/Version.xcconfig	2021-05-20 18:02:15 UTC (rev 277800)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 1;
 TINY_VERSION = 15;
 MICRO_VERSION = 1;
-NANO_VERSION = 5;
+NANO_VERSION = 6;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.1.15.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (277799 => 277800)

--- branches/safari-612.1.15.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-05-20 17:43:35 UTC (rev 277799)
+++ branches/safari-612.1.15.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-05-20 18:02:15 UTC (rev 277800)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 1;
 TINY_VERSION = 15;
 MICRO_VERSION = 1;
-NANO_VERSION = 5;
+NANO_VERSION = 6;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.1.15.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (277799 => 277800)

--- branches/safari-612.1.15.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-05-20 17:43:35 UTC (rev 277799)
+++ branches/safari-612.1.15.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-05-20 18:02:15 UTC (rev 277800)
@@ -2,7 +2,7 @@
 MINOR_VERSION = 1;
 TINY_VERSION = 15;
 MICRO_VERSION = 1;
-NANO_VERSION = 5;
+NANO_VERSION = 6;
 FULL_VERSION = 

[webkit-changes] [277801] trunk/Tools

2021-05-20 Thread katherine_cheney
Title: [277801] trunk/Tools








Revision 277801
Author katherine_che...@apple.com
Date 2021-05-20 11:02:34 -0700 (Thu, 20 May 2021)


Log Message
Unreviewed contributor name update.

* Scripts/webkitpy/common/config/contributors.json:

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/common/config/contributors.json




Diff

Modified: trunk/Tools/ChangeLog (277800 => 277801)

--- trunk/Tools/ChangeLog	2021-05-20 18:02:15 UTC (rev 277800)
+++ trunk/Tools/ChangeLog	2021-05-20 18:02:34 UTC (rev 277801)
@@ -1,3 +1,9 @@
+2021-05-20  Kate Cheney  
+
+Unreviewed contributor name update.
+
+* Scripts/webkitpy/common/config/contributors.json:
+
 2021-05-20  Jonathan Bedard  
 
 [webkitpy] Forward booted simulators to children processes


Modified: trunk/Tools/Scripts/webkitpy/common/config/contributors.json (277800 => 277801)

--- trunk/Tools/Scripts/webkitpy/common/config/contributors.json	2021-05-20 18:02:15 UTC (rev 277800)
+++ trunk/Tools/Scripts/webkitpy/common/config/contributors.json	2021-05-20 18:02:34 UTC (rev 277801)
@@ -3359,7 +3359,7 @@
   ],
   "status" : "committer"
},
-   "Katherine Cheney" : {
+   "Kate Cheney" : {
   "emails" : [
  "katherine_che...@apple.com"
   ],






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277799] trunk/Source/WebCore

2021-05-20 Thread commit-queue
Title: [277799] trunk/Source/WebCore








Revision 277799
Author commit-qu...@webkit.org
Date 2021-05-20 10:43:35 -0700 (Thu, 20 May 2021)


Log Message
Add null checks in FrameSelection::selectFrameElementInParentIfFullySelected
https://bugs.webkit.org/show_bug.cgi?id=225973


Patch by Alex Christensen  on 2021-05-20
Reviewed by Katherine Cheney.

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::selectFrameElementInParentIfFullySelected):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/editing/FrameSelection.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (277798 => 277799)

--- trunk/Source/WebCore/ChangeLog	2021-05-20 17:37:33 UTC (rev 277798)
+++ trunk/Source/WebCore/ChangeLog	2021-05-20 17:43:35 UTC (rev 277799)
@@ -1,3 +1,14 @@
+2021-05-20  Alex Christensen  
+
+Add null checks in FrameSelection::selectFrameElementInParentIfFullySelected
+https://bugs.webkit.org/show_bug.cgi?id=225973
+
+
+Reviewed by Katherine Cheney.
+
+* editing/FrameSelection.cpp:
+(WebCore::FrameSelection::selectFrameElementInParentIfFullySelected):
+
 2021-05-20  Devin Rousso  
 
 [Modern Media Controls] add a suffix based on `TextTrack::Kind` when generating display names for `TrackBase`


Modified: trunk/Source/WebCore/editing/FrameSelection.cpp (277798 => 277799)

--- trunk/Source/WebCore/editing/FrameSelection.cpp	2021-05-20 17:37:33 UTC (rev 277798)
+++ trunk/Source/WebCore/editing/FrameSelection.cpp	2021-05-20 17:43:35 UTC (rev 277799)
@@ -1922,7 +1922,13 @@
 void FrameSelection::selectFrameElementInParentIfFullySelected()
 {
 // Find the parent frame; if there is none, then we have nothing to do.
-auto parent = makeRefPtr(m_document->frame()->tree().parent());
+auto document = makeRefPtr(m_document.get());
+if (!document)
+return;
+auto frame = makeRefPtr(document->frame());
+if (!frame)
+return;
+auto parent = makeRefPtr(frame->tree().parent());
 if (!parent)
 return;
 Page* page = m_document->page();






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277798] branches/safari-611-branch/Source

2021-05-20 Thread alancoon
Title: [277798] branches/safari-611-branch/Source








Revision 277798
Author alanc...@apple.com
Date 2021-05-20 10:37:33 -0700 (Thu, 20 May 2021)


Log Message
Versioning.

WebKit-7611.3.5

Modified Paths

branches/safari-611-branch/Source/_javascript_Core/Configurations/Version.xcconfig
branches/safari-611-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig
branches/safari-611-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig
branches/safari-611-branch/Source/WebCore/Configurations/Version.xcconfig
branches/safari-611-branch/Source/WebCore/PAL/Configurations/Version.xcconfig
branches/safari-611-branch/Source/WebInspectorUI/Configurations/Version.xcconfig
branches/safari-611-branch/Source/WebKit/Configurations/Version.xcconfig
branches/safari-611-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig




Diff

Modified: branches/safari-611-branch/Source/_javascript_Core/Configurations/Version.xcconfig (277797 => 277798)

--- branches/safari-611-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-05-20 17:33:46 UTC (rev 277797)
+++ branches/safari-611-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-05-20 17:37:33 UTC (rev 277798)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 611;
 MINOR_VERSION = 3;
-TINY_VERSION = 4;
+TINY_VERSION = 5;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-611-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (277797 => 277798)

--- branches/safari-611-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-05-20 17:33:46 UTC (rev 277797)
+++ branches/safari-611-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-05-20 17:37:33 UTC (rev 277798)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 611;
 MINOR_VERSION = 3;
-TINY_VERSION = 4;
+TINY_VERSION = 5;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-611-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (277797 => 277798)

--- branches/safari-611-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-05-20 17:33:46 UTC (rev 277797)
+++ branches/safari-611-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-05-20 17:37:33 UTC (rev 277798)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 611;
 MINOR_VERSION = 3;
-TINY_VERSION = 4;
+TINY_VERSION = 5;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-611-branch/Source/WebCore/Configurations/Version.xcconfig (277797 => 277798)

--- branches/safari-611-branch/Source/WebCore/Configurations/Version.xcconfig	2021-05-20 17:33:46 UTC (rev 277797)
+++ branches/safari-611-branch/Source/WebCore/Configurations/Version.xcconfig	2021-05-20 17:37:33 UTC (rev 277798)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 611;
 MINOR_VERSION = 3;
-TINY_VERSION = 4;
+TINY_VERSION = 5;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-611-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (277797 => 277798)

--- branches/safari-611-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-05-20 17:33:46 UTC (rev 277797)
+++ branches/safari-611-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-05-20 17:37:33 UTC (rev 277798)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 611;
 MINOR_VERSION = 3;
-TINY_VERSION = 4;
+TINY_VERSION = 5;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-611-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (277797 => 277798)

--- branches/safari-611-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-05-20 17:33:46 UTC (rev 277797)
+++ branches/safari-611-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-05-20 17:37:33 UTC (rev 277798)
@@ -1,6 +1,6 @@
 MAJOR_VERSION = 611;
 MINOR_VERSION = 3;
-TINY_VERSION = 4;
+TINY_VERSION = 5;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-611-branch/Source/WebKit/Configurations/Version.xcconfig (277797 => 277798)

--- branches/safari-611-branch/Source/WebKit/Configurations/Version.xcconfig	2021-05-20 17:33:46 UTC (rev 277797)
+++ branches/safari-611-branch/Source/WebKit/Configurations/Version.xcconfig	2021-05-20 17:37:33 UTC (rev 277798)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 611;
 MINOR_VERSION = 3;
-TINY_VERSION = 4;
+TINY_VERSION = 5;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-611-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig (277797 => 277798)

--- branches/safari-611-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig	2021-05-20 17:33:46 UTC 

[webkit-changes] [277797] trunk/Source/WebCore

2021-05-20 Thread drousso
Title: [277797] trunk/Source/WebCore








Revision 277797
Author drou...@apple.com
Date 2021-05-20 10:33:46 -0700 (Thu, 20 May 2021)


Log Message
[Modern Media Controls] add a suffix based on `TextTrack::Kind` when generating display names for `TrackBase`
https://bugs.webkit.org/show_bug.cgi?id=225995

Reviewed by Eric Carlson.

* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::buildDisplayStringForTrackBase):

* platform/LocalizedStrings.h:
* platform/LocalizedStrings.cpp:
(WebCore::captionsTextTrackWithoutLabelMenuItemText): Added.
(WebCore::descriptionsTextTrackWithoutLabelMenuItemText): Added.
(WebCore::chaptersTextTrackWithoutLabelMenuItemText): Added.
(WebCore::metadataTextTrackWithoutLabelMenuItemText): Added.
* en.lproj/Localizable.strings:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/en.lproj/Localizable.strings
trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp
trunk/Source/WebCore/platform/LocalizedStrings.cpp
trunk/Source/WebCore/platform/LocalizedStrings.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (277796 => 277797)

--- trunk/Source/WebCore/ChangeLog	2021-05-20 17:32:37 UTC (rev 277796)
+++ trunk/Source/WebCore/ChangeLog	2021-05-20 17:33:46 UTC (rev 277797)
@@ -1,5 +1,23 @@
 2021-05-20  Devin Rousso  
 
+[Modern Media Controls] add a suffix based on `TextTrack::Kind` when generating display names for `TrackBase`
+https://bugs.webkit.org/show_bug.cgi?id=225995
+
+Reviewed by Eric Carlson.
+
+* page/CaptionUserPreferencesMediaAF.cpp:
+(WebCore::buildDisplayStringForTrackBase):
+
+* platform/LocalizedStrings.h:
+* platform/LocalizedStrings.cpp:
+(WebCore::captionsTextTrackWithoutLabelMenuItemText): Added.
+(WebCore::descriptionsTextTrackWithoutLabelMenuItemText): Added.
+(WebCore::chaptersTextTrackWithoutLabelMenuItemText): Added.
+(WebCore::metadataTextTrackWithoutLabelMenuItemText): Added.
+* en.lproj/Localizable.strings:
+
+2021-05-20  Devin Rousso  
+
 [Modern Media Controls] should not use `codePointCompare` as it doesn't take into account language specific sorting rules
 https://bugs.webkit.org/show_bug.cgi?id=225993
 


Modified: trunk/Source/WebCore/en.lproj/Localizable.strings (277796 => 277797)

--- trunk/Source/WebCore/en.lproj/Localizable.strings	2021-05-20 17:32:37 UTC (rev 277796)
+++ trunk/Source/WebCore/en.lproj/Localizable.strings	2021-05-20 17:33:46 UTC (rev 277797)
@@ -28,6 +28,15 @@
 /* Text track contains closed captions */
 "%@ CC" = "%@ CC";
 
+/* Captions text track display name format that includes the language and/or locale (e.g. 'English Captions'). */
+"%@ Captions" = "%@ Captions";
+
+/* Chapters text track display name format that includes the language and/or locale (e.g. 'English Chapters'). */
+"%@ Chapters" = "%@ Chapters";
+
+/* Descriptions text track display name format that includes the language and/or locale (e.g. 'English Descriptions'). */
+"%@ Descriptions" = "%@ Descriptions";
+
 /* Text track contains simplified (3rd grade level) subtitles */
 "%@ Easy Reader" = "%@ Easy Reader";
 
@@ -37,6 +46,9 @@
 /* visible name of the GPU process. The argument is the application name. */
 "%@ Graphics and Media" = "%@ Graphics and Media";
 
+/* Metadata text track display name format that includes the language and/or locale (e.g. 'English Metadats'). */
+"%@ Metadata" = "%@ Metadata";
+
 /* visible name of the network process. The argument is the application name. */
 "%@ Networking" = "%@ Networking";
 


Modified: trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp (277796 => 277797)

--- trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp	2021-05-20 17:32:37 UTC (rev 277796)
+++ trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp	2021-05-20 17:33:46 UTC (rev 277797)
@@ -608,11 +608,43 @@
 } else {
 String languageAndLocale = adoptCF(CFLocaleCopyDisplayNameForPropertyValue(currentLocale.get(), kCFLocaleIdentifier, trackLanguageIdentifier.createCFString().get())).get();
 if (!languageAndLocale.isEmpty())
-displayName.append(languageAndLocale);
+label = languageAndLocale;
 else if (!language.isEmpty())
-displayName.append(language);
+label = language;
 else
-displayName.append(localeIdentifier.get());
+label = localeIdentifier.get();
+
+if (track.type() == TrackBase::TextTrack) {
+auto& textTrack = downcast(track);
+switch (textTrack.kind()) {
+case TextTrack::Kind::Subtitles:
+// Subtitle text tracks are only shown in a dedicated "Subtitle" grouping, meaning
+// it would look odd to add the same title as a suffix (e.g. "English Subtitles").
+break;
+
+case TextTrack::Kind::Captions:
+label = captionsTextTrackWithoutLabelMenuItemText(label);
+

[webkit-changes] [277796] branches/safari-612.1.15.1-branch/Source/WebCore

2021-05-20 Thread rubent_22
Title: [277796] branches/safari-612.1.15.1-branch/Source/WebCore








Revision 277796
Author rubent...@apple.com
Date 2021-05-20 10:32:37 -0700 (Thu, 20 May 2021)


Log Message
Cherry-pick r277784. rdar://problem/78264934

CRASH: Null-pointer deref in MediaSessionManagerCocoa::setNowPlayingInfo()
https://bugs.webkit.org/show_bug.cgi?id=225999


Reviewed by Eric Carlson.

Null-check `nowPlayingInfo.artwork->imageData` before dereferencing.

* platform/audio/cocoa/MediaSessionManagerCocoa.mm:
(WebCore::MediaSessionManagerCocoa::setNowPlayingInfo):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277784 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-612.1.15.1-branch/Source/WebCore/ChangeLog
branches/safari-612.1.15.1-branch/Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm




Diff

Modified: branches/safari-612.1.15.1-branch/Source/WebCore/ChangeLog (277795 => 277796)

--- branches/safari-612.1.15.1-branch/Source/WebCore/ChangeLog	2021-05-20 17:32:35 UTC (rev 277795)
+++ branches/safari-612.1.15.1-branch/Source/WebCore/ChangeLog	2021-05-20 17:32:37 UTC (rev 277796)
@@ -1,5 +1,36 @@
 2021-05-20  Russell Epstein  
 
+Cherry-pick r277784. rdar://problem/78264934
+
+CRASH: Null-pointer deref in MediaSessionManagerCocoa::setNowPlayingInfo()
+https://bugs.webkit.org/show_bug.cgi?id=225999
+
+
+Reviewed by Eric Carlson.
+
+Null-check `nowPlayingInfo.artwork->imageData` before dereferencing.
+
+* platform/audio/cocoa/MediaSessionManagerCocoa.mm:
+(WebCore::MediaSessionManagerCocoa::setNowPlayingInfo):
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277784 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-05-20  Jer Noble  
+
+CRASH: Null-pointer deref in MediaSessionManagerCocoa::setNowPlayingInfo()
+https://bugs.webkit.org/show_bug.cgi?id=225999
+
+
+Reviewed by Eric Carlson.
+
+Null-check `nowPlayingInfo.artwork->imageData` before dereferencing.
+
+* platform/audio/cocoa/MediaSessionManagerCocoa.mm:
+(WebCore::MediaSessionManagerCocoa::setNowPlayingInfo):
+
+2021-05-20  Russell Epstein  
+
 Cherry-pick r277726. rdar://problem/78260457
 
 [Mac] MSE-based video pauses when put in background; PiP context menu disabled


Modified: branches/safari-612.1.15.1-branch/Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm (277795 => 277796)

--- branches/safari-612.1.15.1-branch/Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm	2021-05-20 17:32:35 UTC (rev 277795)
+++ branches/safari-612.1.15.1-branch/Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm	2021-05-20 17:32:37 UTC (rev 277796)
@@ -309,7 +309,7 @@
 auto cfCurrentTime = adoptCF(CFNumberCreate(kCFAllocatorDefault, kCFNumberDoubleType, ));
 CFDictionarySetValue(info.get(), kMRMediaRemoteNowPlayingInfoElapsedTime, cfCurrentTime.get());
 }
-if (nowPlayingInfo.artwork) {
+if (nowPlayingInfo.artwork && nowPlayingInfo.artwork->imageData) {
 auto nsArtwork = nowPlayingInfo.artwork->imageData->createNSData();
 CFDictionarySetValue(info.get(), kMRMediaRemoteNowPlayingInfoArtworkData, nsArtwork.get());
 CFDictionarySetValue(info.get(), kMRMediaRemoteNowPlayingInfoArtworkMIMEType, nowPlayingInfo.artwork->mimeType.createCFString().get());






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277794] branches/safari-612.1.15.1-branch/Source/WebKit

2021-05-20 Thread rubent_22
Title: [277794] branches/safari-612.1.15.1-branch/Source/WebKit








Revision 277794
Author rubent...@apple.com
Date 2021-05-20 10:32:31 -0700 (Thu, 20 May 2021)


Log Message
Cherry-pick r277518. rdar://problem/78260425

Web Inspector: `_WKInspector` leaks `WebInspectorUIProxy`
https://bugs.webkit.org/show_bug.cgi?id=225815

Reviewed by Tim Horton.

Add a missing call in `_WKInspector`'s destructor to destruct the `WebInspectorUIProxy` in API object storage.

* UIProcess/API/Cocoa/_WKInspector.mm:
(-[_WKInspector dealloc]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277518 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-612.1.15.1-branch/Source/WebKit/ChangeLog
branches/safari-612.1.15.1-branch/Source/WebKit/UIProcess/API/Cocoa/_WKInspector.mm




Diff

Modified: branches/safari-612.1.15.1-branch/Source/WebKit/ChangeLog (277793 => 277794)

--- branches/safari-612.1.15.1-branch/Source/WebKit/ChangeLog	2021-05-20 17:28:39 UTC (rev 277793)
+++ branches/safari-612.1.15.1-branch/Source/WebKit/ChangeLog	2021-05-20 17:32:31 UTC (rev 277794)
@@ -1,3 +1,32 @@
+2021-05-20  Russell Epstein  
+
+Cherry-pick r277518. rdar://problem/78260425
+
+Web Inspector: `_WKInspector` leaks `WebInspectorUIProxy`
+https://bugs.webkit.org/show_bug.cgi?id=225815
+
+Reviewed by Tim Horton.
+
+Add a missing call in `_WKInspector`'s destructor to destruct the `WebInspectorUIProxy` in API object storage.
+
+* UIProcess/API/Cocoa/_WKInspector.mm:
+(-[_WKInspector dealloc]):
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277518 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-05-14  Patrick Angle  
+
+Web Inspector: `_WKInspector` leaks `WebInspectorUIProxy`
+https://bugs.webkit.org/show_bug.cgi?id=225815
+
+Reviewed by Tim Horton.
+
+Add a missing call in `_WKInspector`'s destructor to destruct the `WebInspectorUIProxy` in API object storage.
+
+* UIProcess/API/Cocoa/_WKInspector.mm:
+(-[_WKInspector dealloc]):
+
 2021-05-19  Alan Coon  
 
 Cherry-pick r277665. rdar://problem/78224090


Modified: branches/safari-612.1.15.1-branch/Source/WebKit/UIProcess/API/Cocoa/_WKInspector.mm (277793 => 277794)

--- branches/safari-612.1.15.1-branch/Source/WebKit/UIProcess/API/Cocoa/_WKInspector.mm	2021-05-20 17:28:39 UTC (rev 277793)
+++ branches/safari-612.1.15.1-branch/Source/WebKit/UIProcess/API/Cocoa/_WKInspector.mm	2021-05-20 17:32:31 UTC (rev 277794)
@@ -213,6 +213,8 @@
 {
 if (WebCoreObjCScheduleDeallocateOnMainRunLoop(_WKInspector.class, self))
 return;
+
+_inspector->~WebInspectorUIProxy();
 
 [super dealloc];
 }






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277795] branches/safari-612.1.15.1-branch

2021-05-20 Thread rubent_22
Title: [277795] branches/safari-612.1.15.1-branch








Revision 277795
Author rubent...@apple.com
Date 2021-05-20 10:32:35 -0700 (Thu, 20 May 2021)


Log Message
Cherry-pick r277726. rdar://problem/78260457

[Mac] MSE-based video pauses when put in background; PiP context menu disabled
https://bugs.webkit.org/show_bug.cgi?id=225958


Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-source/media-source-has-audio-video.html

In r277116, in order to reduce the CPU usage incurred when pushing state changes from
the GPU process to the WebContent process, state changes to `hasAudio` and `hasVideo`
were now only updated when the MediaPlayer indicated that its `characteristicsChanged()`.
However, in SourceBufferPrivateAVFObjC, this call was performed too early, before the
SourceBuffer in the WebContent process had informed SourceBufferPrivate of newly added
audio and video tracks. Thus the cached values of `hasAudio` and `hasVideo` inside the
WebContent process were never updated.

Call `characteristicsChanged()` from the callback handler of `didReceiveInitializationSegment()`,
which will be called only after the WebContent process completes its handling of the
new initialization segment, which includes telling the SourceBufferPrivate in the GPU
process about newly added audio and video tracks.

* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::didParseInitializationData):

LayoutTests:

* media/media-source/media-source-has-audio-video-expected.txt: Added.
* media/media-source/media-source-has-audio-video.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277726 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-612.1.15.1-branch/LayoutTests/ChangeLog
branches/safari-612.1.15.1-branch/Source/WebCore/ChangeLog
branches/safari-612.1.15.1-branch/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm


Added Paths

branches/safari-612.1.15.1-branch/LayoutTests/media/media-source/media-source-has-audio-video-expected.txt
branches/safari-612.1.15.1-branch/LayoutTests/media/media-source/media-source-has-audio-video.html




Diff

Modified: branches/safari-612.1.15.1-branch/LayoutTests/ChangeLog (277794 => 277795)

--- branches/safari-612.1.15.1-branch/LayoutTests/ChangeLog	2021-05-20 17:32:31 UTC (rev 277794)
+++ branches/safari-612.1.15.1-branch/LayoutTests/ChangeLog	2021-05-20 17:32:35 UTC (rev 277795)
@@ -1,3 +1,52 @@
+2021-05-20  Russell Epstein  
+
+Cherry-pick r277726. rdar://problem/78260457
+
+[Mac] MSE-based video pauses when put in background; PiP context menu disabled
+https://bugs.webkit.org/show_bug.cgi?id=225958
+
+
+Reviewed by Eric Carlson.
+
+Source/WebCore:
+
+Test: media/media-source/media-source-has-audio-video.html
+
+In r277116, in order to reduce the CPU usage incurred when pushing state changes from
+the GPU process to the WebContent process, state changes to `hasAudio` and `hasVideo`
+were now only updated when the MediaPlayer indicated that its `characteristicsChanged()`.
+However, in SourceBufferPrivateAVFObjC, this call was performed too early, before the
+SourceBuffer in the WebContent process had informed SourceBufferPrivate of newly added
+audio and video tracks. Thus the cached values of `hasAudio` and `hasVideo` inside the
+WebContent process were never updated.
+
+Call `characteristicsChanged()` from the callback handler of `didReceiveInitializationSegment()`,
+which will be called only after the WebContent process completes its handling of the
+new initialization segment, which includes telling the SourceBufferPrivate in the GPU
+process about newly added audio and video tracks.
+
+* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
+(WebCore::SourceBufferPrivateAVFObjC::didParseInitializationData):
+
+LayoutTests:
+
+* media/media-source/media-source-has-audio-video-expected.txt: Added.
+* media/media-source/media-source-has-audio-video.html: Added.
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277726 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-05-19  Jer Noble  
+
+[Mac] MSE-based video pauses when put in background; PiP context menu disabled
+https://bugs.webkit.org/show_bug.cgi?id=225958
+
+
+Reviewed by Eric Carlson.
+
+* media/media-source/media-source-has-audio-video-expected.txt: Added.
+* media/media-source/media-source-has-audio-video.html: Added.
+
 2021-05-19  Alan Coon  
 
 Cherry-pick r277665. rdar://problem/78224090


Added: branches/safari-612.1.15.1-branch/LayoutTests/media/media-source/media-source-has-audio-video-expected.txt (0 => 277795)

--- 

[webkit-changes] [277793] trunk/Source/WebCore

2021-05-20 Thread drousso
Title: [277793] trunk/Source/WebCore








Revision 277793
Author drou...@apple.com
Date 2021-05-20 10:28:39 -0700 (Thu, 20 May 2021)


Log Message
[Modern Media Controls] should not use `codePointCompare` as it doesn't take into account language specific sorting rules
https://bugs.webkit.org/show_bug.cgi?id=225993

Reviewed by Eric Carlson.

* page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::sortedTrackListForMenu):
* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::textTrackCompare):
(WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/CaptionUserPreferences.cpp
trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (277792 => 277793)

--- trunk/Source/WebCore/ChangeLog	2021-05-20 17:08:30 UTC (rev 277792)
+++ trunk/Source/WebCore/ChangeLog	2021-05-20 17:28:39 UTC (rev 277793)
@@ -1,3 +1,16 @@
+2021-05-20  Devin Rousso  
+
+[Modern Media Controls] should not use `codePointCompare` as it doesn't take into account language specific sorting rules
+https://bugs.webkit.org/show_bug.cgi?id=225993
+
+Reviewed by Eric Carlson.
+
+* page/CaptionUserPreferences.cpp:
+(WebCore::CaptionUserPreferences::sortedTrackListForMenu):
+* page/CaptionUserPreferencesMediaAF.cpp:
+(WebCore::textTrackCompare):
+(WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):
+
 2021-05-20  Geoffrey Garen  
 
 GraphicsLayer::setName() causes heap fragmentation


Modified: trunk/Source/WebCore/page/CaptionUserPreferences.cpp (277792 => 277793)

--- trunk/Source/WebCore/page/CaptionUserPreferences.cpp	2021-05-20 17:08:30 UTC (rev 277792)
+++ trunk/Source/WebCore/page/CaptionUserPreferences.cpp	2021-05-20 17:28:39 UTC (rev 277793)
@@ -45,6 +45,7 @@
 #include <_javascript_Core/JSCellInlines.h>
 #include <_javascript_Core/StructureInlines.h>
 #include 
+#include 
 
 namespace WebCore {
 
@@ -237,8 +238,10 @@
 tracksForMenu.append(track);
 }
 
-std::sort(tracksForMenu.begin(), tracksForMenu.end(), [](auto& a, auto& b) {
-return codePointCompare(trackDisplayName(a.get()), trackDisplayName(b.get())) < 0;
+Collator collator;
+
+std::sort(tracksForMenu.begin(), tracksForMenu.end(), [&] (auto& a, auto& b) {
+return collator.collate(trackDisplayName(a.get()), trackDisplayName(b.get())) < 0;
 });
 
 if (kinds.contains(TextTrack::Kind::Subtitles) || kinds.contains(TextTrack::Kind::Captions) || kinds.contains(TextTrack::Kind::Descriptions)) {
@@ -279,8 +282,10 @@
 tracksForMenu.append(track);
 }
 
-std::sort(tracksForMenu.begin(), tracksForMenu.end(), [](auto& a, auto& b) {
-return codePointCompare(trackDisplayName(a.get()), trackDisplayName(b.get())) < 0;
+Collator collator;
+
+std::sort(tracksForMenu.begin(), tracksForMenu.end(), [&] (auto& a, auto& b) {
+return collator.collate(trackDisplayName(a.get()), trackDisplayName(b.get())) < 0;
 });
 
 return tracksForMenu;


Modified: trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp (277792 => 277793)

--- trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp	2021-05-20 17:08:30 UTC (rev 277792)
+++ trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp	2021-05-20 17:28:39 UTC (rev 277793)
@@ -49,6 +49,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #if PLATFORM(IOS_FAMILY)
 #import "WebCoreThreadRun.h"
@@ -681,13 +682,15 @@
 String bLanguageDisplayName = displayNameForLanguageLocale(languageIdentifier(b->validBCP47Language()));
 
 // Tracks in the user's preferred language are always at the top of the menu.
-bool aIsPreferredLanguage = !codePointCompare(aLanguageDisplayName, preferredLanguageDisplayName);
-bool bIsPreferredLanguage = !codePointCompare(bLanguageDisplayName, preferredLanguageDisplayName);
+bool aIsPreferredLanguage = aLanguageDisplayName == preferredLanguageDisplayName;
+bool bIsPreferredLanguage = bLanguageDisplayName == preferredLanguageDisplayName;
 if (aIsPreferredLanguage != bIsPreferredLanguage)
 return aIsPreferredLanguage;
 
+Collator collator;
+
 // Tracks not in the user's preferred language sort first by language ...
-if (auto languageDisplayNameComparison = codePointCompare(aLanguageDisplayName, bLanguageDisplayName))
+if (auto languageDisplayNameComparison = collator.collate(aLanguageDisplayName, bLanguageDisplayName))
 return languageDisplayNameComparison < 0;
 
 // ... but when tracks have the same language, main program content sorts next highest ...
@@ -703,7 +706,7 @@
 return aIsCC;
 
 // ... and tracks of the same type and language sort by the menu item text.
-if (auto trackDisplayComparison = codePointCompare(trackDisplayName(a.get()), trackDisplayName(b.get(
+if (auto trackDisplayComparison = 

[webkit-changes] [277792] trunk/Source

2021-05-20 Thread ggaren
Title: [277792] trunk/Source








Revision 277792
Author gga...@apple.com
Date 2021-05-20 10:08:30 -0700 (Thu, 20 May 2021)


Log Message
GraphicsLayer::setName() causes heap fragmentation
https://bugs.webkit.org/show_bug.cgi?id=225838

Reviewed by Simon Fraser.

Profiling for heap fragmentation shows that GraphicsLayer::setName() is
a top contributor. Worth about 5MB maximum on GMail.

Use MAKE_STATIC_STRING_IMPL for our constant layer names so we end up
with only one copy and no heap allocation in the many cases that are
compile-time constants.

Source/WebCore:

* display/compositing/DisplayLayerController.cpp:
(WebCore::Display::LayerController::setupRootLayerHierarchy):
* page/PageOverlayController.cpp:
(WebCore::PageOverlayController::createRootLayersIfNeeded):
(WebCore::PageOverlayController::installPageOverlay):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setContentsToSolidColor):
(WebCore::GraphicsLayerCA::setContentsToModel):
(WebCore::GraphicsLayerCA::updateBackdropFilters):
(WebCore::GraphicsLayerCA::updateContentsImage):
(WebCore::GraphicsLayerCA::updateClippingStrategy):
(WebCore::GraphicsLayerCA::updateContentsRects):
* platform/graphics/ca/TileCoverageMap.cpp:
(WebCore::TileCoverageMap::TileCoverageMap):
* platform/graphics/ca/win/CACFLayerTreeHost.cpp:
(WebCore::CACFLayerTreeHost::initialize):
(WebCore::CACFLayerTreeHost::updateDebugInfoLayer):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateLayerForTopOverhangArea):
(WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):
(WebCore::RenderLayerCompositor::updateLayerForHeader):
(WebCore::RenderLayerCompositor::updateLayerForFooter):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
(WebCore::RenderLayerCompositor::ensureRootLayer):

Source/WebKit:

* WebProcess/Inspector/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::showPaintRect):
* WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
(WebKit::CompositingCoordinator::CompositingCoordinator):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:
(WebKit::LayerTreeHost::LayerTreeHost):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.cpp:
(WebKit::LayerTreeHost::LayerTreeHost):
* WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/display/compositing/DisplayLayerController.cpp
trunk/Source/WebCore/page/PageOverlayController.cpp
trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
trunk/Source/WebCore/platform/graphics/ca/TileCoverageMap.cpp
trunk/Source/WebCore/platform/graphics/ca/win/CACFLayerTreeHost.cpp
trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp
trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/WebProcess/Inspector/WebInspectorClient.cpp
trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp
trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.cpp
trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (277791 => 277792)

--- trunk/Source/WebCore/ChangeLog	2021-05-20 17:00:15 UTC (rev 277791)
+++ trunk/Source/WebCore/ChangeLog	2021-05-20 17:08:30 UTC (rev 277792)
@@ -1,3 +1,44 @@
+2021-05-20  Geoffrey Garen  
+
+GraphicsLayer::setName() causes heap fragmentation
+https://bugs.webkit.org/show_bug.cgi?id=225838
+
+Reviewed by Simon Fraser.
+
+Profiling for heap fragmentation shows that GraphicsLayer::setName() is
+a top contributor. Worth about 5MB maximum on GMail.
+
+Use MAKE_STATIC_STRING_IMPL for our constant layer names so we end up
+with only one copy and no heap allocation in the many cases that are
+compile-time constants.
+
+* display/compositing/DisplayLayerController.cpp:
+(WebCore::Display::LayerController::setupRootLayerHierarchy):
+* page/PageOverlayController.cpp:
+(WebCore::PageOverlayController::createRootLayersIfNeeded):
+(WebCore::PageOverlayController::installPageOverlay):
+* platform/graphics/ca/GraphicsLayerCA.cpp:
+(WebCore::GraphicsLayerCA::setContentsToSolidColor):
+(WebCore::GraphicsLayerCA::setContentsToModel):
+(WebCore::GraphicsLayerCA::updateBackdropFilters):
+(WebCore::GraphicsLayerCA::updateContentsImage):
+(WebCore::GraphicsLayerCA::updateClippingStrategy):
+(WebCore::GraphicsLayerCA::updateContentsRects):
+* platform/graphics/ca/TileCoverageMap.cpp:
+(WebCore::TileCoverageMap::TileCoverageMap):
+* 

[webkit-changes] [277791] trunk/Source/WebKit

2021-05-20 Thread pvollan
Title: [277791] trunk/Source/WebKit








Revision 277791
Author pvol...@apple.com
Date 2021-05-20 10:00:15 -0700 (Thu, 20 May 2021)


Log Message
[iOS] Add missing method in sandbox IOKit filter
https://bugs.webkit.org/show_bug.cgi?id=225975


Reviewed by Brent Fulgham.

Add missing method in IOSurfaceRootUserClient filter on iOS.

* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb




Diff

Modified: trunk/Source/WebKit/ChangeLog (277790 => 277791)

--- trunk/Source/WebKit/ChangeLog	2021-05-20 16:45:53 UTC (rev 277790)
+++ trunk/Source/WebKit/ChangeLog	2021-05-20 17:00:15 UTC (rev 277791)
@@ -1,3 +1,15 @@
+2021-05-20  Per Arne  
+
+[iOS] Add missing method in sandbox IOKit filter
+https://bugs.webkit.org/show_bug.cgi?id=225975
+
+
+Reviewed by Brent Fulgham.
+
+Add missing method in IOSurfaceRootUserClient filter on iOS.
+
+* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
+
 2021-05-20  Chris Dumez  
 
 Use CheckedLock more in WebKit2 code


Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb (277790 => 277791)

--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb	2021-05-20 16:45:53 UTC (rev 277790)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb	2021-05-20 17:00:15 UTC (rev 277791)
@@ -441,6 +441,7 @@
 32
 34
 35
+36
 )
 )
 )






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277790] trunk/Source/WebCore

2021-05-20 Thread drousso
Title: [277790] trunk/Source/WebCore








Revision 277790
Author drou...@apple.com
Date 2021-05-20 09:45:53 -0700 (Thu, 20 May 2021)


Log Message
[Modern Media Controls] should not include `TextTrack` when sorting `TextTrackList` if it doesn't have a desired `TextTrack::Kind` when `CaptionDisplayMode::Manual`
https://bugs.webkit.org/show_bug.cgi?id=225992

Reviewed by Eric Carlson.

* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (277789 => 277790)

--- trunk/Source/WebCore/ChangeLog	2021-05-20 16:13:29 UTC (rev 277789)
+++ trunk/Source/WebCore/ChangeLog	2021-05-20 16:45:53 UTC (rev 277790)
@@ -1,3 +1,13 @@
+2021-05-20  Devin Rousso  
+
+[Modern Media Controls] should not include `TextTrack` when sorting `TextTrackList` if it doesn't have a desired `TextTrack::Kind` when `CaptionDisplayMode::Manual`
+https://bugs.webkit.org/show_bug.cgi?id=225992
+
+Reviewed by Eric Carlson.
+
+* page/CaptionUserPreferencesMediaAF.cpp:
+(WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):
+
 2021-05-20  Peng Liu  
 
 AirPlay icon of the Vimeo.com video player is missing after reloading the page


Modified: trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp (277789 => 277790)

--- trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp	2021-05-20 16:13:29 UTC (rev 277789)
+++ trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp	2021-05-20 16:45:53 UTC (rev 277790)
@@ -746,6 +746,9 @@
 
 for (unsigned i = 0, length = trackList->length(); i < length; ++i) {
 TextTrack* track = trackList->item(i);
+if (!kinds.contains(track->kind()))
+continue;
+
 String language = displayNameForLanguageLocale(track->validBCP47Language());
 
 if (displayMode == Manual) {
@@ -754,9 +757,6 @@
 continue;
 }
 
-if (!kinds.contains(track->kind()))
-continue;
-
 if (requestingCaptionsOrDescriptionsOrSubtitles) {
 if (track->containsOnlyForcedSubtitles()) {
 LOG(Media, "CaptionUserPreferencesMediaAF::sortedTrackListForMenu - skipping '%s' track with language '%s' because it contains only forced subtitles", track->kindKeyword().string().utf8().data(), language.utf8().data());






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277789] trunk/Source/WebCore

2021-05-20 Thread peng . liu6
Title: [277789] trunk/Source/WebCore








Revision 277789
Author peng.l...@apple.com
Date 2021-05-20 09:13:29 -0700 (Thu, 20 May 2021)


Log Message
AirPlay icon of the Vimeo.com video player is missing after reloading the page
https://bugs.webkit.org/show_bug.cgi?id=226005

Reviewed by Eric Carlson.

Some sites, e.g., vimeo.com, depends on the "webkitplaybacktargetavailabilitychanged"
event to setup the player related to AirPlay feature properly. When we reload a
page including media element(s), the element's media session will be constructed
with `m_hasPlaybackTargets` be `true`, so no "webkitplaybacktargetavailabilitychanged"
event will be fired.

This patch ensures that an `HTMLMediaElement` always fires that event when we
reload the page.

* html/MediaElementSession.cpp:
(WebCore::MediaElementSession::MediaElementSession):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/MediaElementSession.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (277788 => 277789)

--- trunk/Source/WebCore/ChangeLog	2021-05-20 16:12:49 UTC (rev 277788)
+++ trunk/Source/WebCore/ChangeLog	2021-05-20 16:13:29 UTC (rev 277789)
@@ -1,5 +1,24 @@
 2021-05-20  Peng Liu  
 
+AirPlay icon of the Vimeo.com video player is missing after reloading the page
+https://bugs.webkit.org/show_bug.cgi?id=226005
+
+Reviewed by Eric Carlson.
+
+Some sites, e.g., vimeo.com, depends on the "webkitplaybacktargetavailabilitychanged"
+event to setup the player related to AirPlay feature properly. When we reload a
+page including media element(s), the element's media session will be constructed
+with `m_hasPlaybackTargets` be `true`, so no "webkitplaybacktargetavailabilitychanged"
+event will be fired.
+
+This patch ensures that an `HTMLMediaElement` always fires that event when we
+reload the page.
+
+* html/MediaElementSession.cpp:
+(WebCore::MediaElementSession::MediaElementSession):
+
+2021-05-20  Peng Liu  
+
 AirPlay icon of the Vimeo.com video player is missing
 https://bugs.webkit.org/show_bug.cgi?id=226004
 


Modified: trunk/Source/WebCore/html/MediaElementSession.cpp (277788 => 277789)

--- trunk/Source/WebCore/html/MediaElementSession.cpp	2021-05-20 16:12:49 UTC (rev 277788)
+++ trunk/Source/WebCore/html/MediaElementSession.cpp	2021-05-20 16:13:29 UTC (rev 277789)
@@ -162,7 +162,6 @@
 , m_restrictions(NoRestrictions)
 #if ENABLE(WIRELESS_PLAYBACK_TARGET)
 , m_targetAvailabilityChangedTimer(*this, ::targetAvailabilityChangedTimerFired)
-, m_hasPlaybackTargets(manager().hasWirelessTargetsAvailable())
 #endif
 , m_mainContentCheckTimer(*this, ::mainContentCheckTimerFired)
 , m_clientDataBufferingTimer(*this, ::clientDataBufferingTimerFired)






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277788] trunk/Source/WebCore

2021-05-20 Thread peng . liu6
Title: [277788] trunk/Source/WebCore








Revision 277788
Author peng.l...@apple.com
Date 2021-05-20 09:12:49 -0700 (Thu, 20 May 2021)


Log Message
AirPlay icon of the Vimeo.com video player is missing
https://bugs.webkit.org/show_bug.cgi?id=226004

Reviewed by Eric Carlson.

With the optimizations in r276883, an `HTMLMediaElement` will activate its
`MediaSession` just before creating its `MediaPlayer` inside `prepareForLoad()`
or `loadNextSourceChild()`, and will deactivate its `MediaSession` after tearing
down its `MediaPlayer` inside `mediaLoadingFailed()`.

However, with these changes, when a new `HTMLMediaElement` is created and an
event handler of "webkitplaybacktargetavailabilitychanged" is added to the element,
the element's `MediaSession` might be inactive when function
`MediaSessionManageriOS::configureWireLessTargetMonitoring()` runs, so its
`MediaSession` won't monitor wireless routes, and no "webkitplaybacktargetavailabilitychanged"
will be fired thereafter.

This patch fixes this issue by activating an `HTMLMediaElement`'s `MediaSession`
when adding the first event handler to "webkitplaybacktargetavailabilitychanged" event.
It also keeps the `MediaSession` active if there is event handler to
"webkitplaybacktargetavailabilitychanged" after tearing down the `HTMLMediaElement`'s
`MediaPlayer` (in `HTMLMediaElement::mediaLoadingFailed()`).

We can improve the fix by refactoring the way to activate/deactivate
an `HTMLMediaElement`'s `MediaSession`.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::prepareForLoad):
(WebCore::HTMLMediaElement::loadNextSourceChild):
(WebCore::HTMLMediaElement::mediaLoadingFailed):
(WebCore::HTMLMediaElement::addEventListener):
(WebCore::HTMLMediaElement::createMediaPlayer):
Replace two `mediaSession().setActive(true);` in `prepareForLoad()`
and `loadNextSourceChild()` with one in `createMediaPlayer()`.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/HTMLMediaElement.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (277787 => 277788)

--- trunk/Source/WebCore/ChangeLog	2021-05-20 16:11:24 UTC (rev 277787)
+++ trunk/Source/WebCore/ChangeLog	2021-05-20 16:12:49 UTC (rev 277788)
@@ -1,3 +1,40 @@
+2021-05-20  Peng Liu  
+
+AirPlay icon of the Vimeo.com video player is missing
+https://bugs.webkit.org/show_bug.cgi?id=226004
+
+Reviewed by Eric Carlson.
+
+With the optimizations in r276883, an `HTMLMediaElement` will activate its
+`MediaSession` just before creating its `MediaPlayer` inside `prepareForLoad()`
+or `loadNextSourceChild()`, and will deactivate its `MediaSession` after tearing
+down its `MediaPlayer` inside `mediaLoadingFailed()`.
+
+However, with these changes, when a new `HTMLMediaElement` is created and an
+event handler of "webkitplaybacktargetavailabilitychanged" is added to the element,
+the element's `MediaSession` might be inactive when function
+`MediaSessionManageriOS::configureWireLessTargetMonitoring()` runs, so its
+`MediaSession` won't monitor wireless routes, and no "webkitplaybacktargetavailabilitychanged"
+will be fired thereafter.
+
+This patch fixes this issue by activating an `HTMLMediaElement`'s `MediaSession`
+when adding the first event handler to "webkitplaybacktargetavailabilitychanged" event.
+It also keeps the `MediaSession` active if there is event handler to
+"webkitplaybacktargetavailabilitychanged" after tearing down the `HTMLMediaElement`'s
+`MediaPlayer` (in `HTMLMediaElement::mediaLoadingFailed()`).
+
+We can improve the fix by refactoring the way to activate/deactivate
+an `HTMLMediaElement`'s `MediaSession`.
+
+* html/HTMLMediaElement.cpp:
+(WebCore::HTMLMediaElement::prepareForLoad):
+(WebCore::HTMLMediaElement::loadNextSourceChild):
+(WebCore::HTMLMediaElement::mediaLoadingFailed):
+(WebCore::HTMLMediaElement::addEventListener):
+(WebCore::HTMLMediaElement::createMediaPlayer):
+Replace two `mediaSession().setActive(true);` in `prepareForLoad()`
+and `loadNextSourceChild()` with one in `createMediaPlayer()`.
+
 2021-05-20  Jer Noble  
 
 CRASH: Null-pointer deref in MediaSessionManagerCocoa::setNowPlayingInfo()


Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (277787 => 277788)

--- trunk/Source/WebCore/html/HTMLMediaElement.cpp	2021-05-20 16:11:24 UTC (rev 277787)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp	2021-05-20 16:12:49 UTC (rev 277788)
@@ -1137,7 +1137,6 @@
 if (!document().hasBrowsingContext())
 return;
 
-mediaSession().setActive(true);
 createMediaPlayer();
 
 // 2 - Let pending tasks be a list of all tasks from the media element's media element event task source in one of the task queues.
@@ -1424,8 +1423,6 @@
 return;
 }
 
-mediaSession().setActive(true);
-
 // Recreate the media 

[webkit-changes] [277787] trunk

2021-05-20 Thread cdumez
Title: [277787] trunk








Revision 277787
Author cdu...@apple.com
Date 2021-05-20 09:11:24 -0700 (Thu, 20 May 2021)


Log Message
Use CheckedLock more in WebKit2 code
https://bugs.webkit.org/show_bug.cgi?id=226001

Reviewed by Alex Christensen.

Use CheckedLock more in WebKit2 code to benefit from Clang Thread Safety Analysis.

* NetworkProcess/CustomProtocols/Cocoa/LegacyCustomProtocolManagerCocoa.mm:
(LegacyCustomProtocolManager::networkProcessCreated):
(WebKit::LegacyCustomProtocolManager::registerScheme):
(WebKit::LegacyCustomProtocolManager::unregisterScheme):
(WebKit::LegacyCustomProtocolManager::supportsScheme):
(WebKit::LegacyCustomProtocolManager::protocolForID):
* NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.cpp:
(WebKit::LegacyCustomProtocolManager::addCustomProtocol):
(WebKit::LegacyCustomProtocolManager::removeCustomProtocol):
* NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.h:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::addSessionStorageQuotaManager):
(WebKit::NetworkProcess::removeSessionStorageQuotaManager):
(WebKit::NetworkProcess::setSessionStorageQuotaManagerIDBRootPath):
(WebKit::NetworkProcess::resetQuota):
(WebKit::NetworkProcess::storageQuotaManager):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/WebStorage/StorageManagerSet.cpp:
(WebKit::StorageManagerSet::suspend):
(WebKit::StorageManagerSet::resume):
* NetworkProcess/WebStorage/StorageManagerSet.h:
* NetworkProcess/cocoa/LaunchServicesDatabaseObserver.h:
* NetworkProcess/cocoa/LaunchServicesDatabaseObserver.mm:
(WebKit::LaunchServicesDatabaseObserver::LaunchServicesDatabaseObserver):
(WebKit::LaunchServicesDatabaseObserver::startObserving):
(WebKit::LaunchServicesDatabaseObserver::handleEvent):
* Shared/BlockingResponseMap.h:
(BlockingResponseMap::waitForResponse):
(BlockingResponseMap::didReceiveResponse):
* Shared/Cocoa/XPCEndpointClient.h:
* Shared/Cocoa/XPCEndpointClient.mm:
(WebKit::XPCEndpointClient::setEndpoint):
(WebKit::XPCEndpointClient::connection):
* UIProcess/WebURLSchemeTask.cpp:
(WebKit::WebURLSchemeTask::request const):
(WebKit::WebURLSchemeTask::willPerformRedirection):
(WebKit::WebURLSchemeTask::didPerformRedirection):
(WebKit::WebURLSchemeTask::pageDestroyed):
(WebKit::WebURLSchemeTask::stop):
(WebKit::WebURLSchemeTask::nsRequest const):
* UIProcess/WebURLSchemeTask.h:
* UIProcess/mac/DisplayLink.cpp:
(WebKit::DisplayLink::addObserver):
(WebKit::DisplayLink::removeObserver):
(WebKit::DisplayLink::removeObservers):
(WebKit::DisplayLink::incrementFullSpeedRequestClientCount):
(WebKit::DisplayLink::decrementFullSpeedRequestClientCount):
(WebKit::DisplayLink::setPreferredFramesPerSecond):
(WebKit::DisplayLink::notifyObserversDisplayWasRefreshed):
* UIProcess/mac/DisplayLink.h:
* WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
(WebKit::LibWebRTCCodecs::ensureGPUProcessConnectionOnMainThread):
(WebKit::LibWebRTCCodecs::ensureGPUProcessConnectionAndDispatchToThread):
(WebKit::LibWebRTCCodecs::createDecoder):
(WebKit::LibWebRTCCodecs::decodeFrame):
(WebKit::LibWebRTCCodecs::createEncoder):
(WebKit::LibWebRTCCodecs::encodeFrame):
(WebKit::LibWebRTCCodecs::setEncodeRates):
(WebKit::LibWebRTCCodecs::gpuProcessConnectionDidClose):
(WebKit::LibWebRTCCodecs::setLoggingLevel):
* WebProcess/GPU/webrtc/LibWebRTCCodecs.h:
* WebProcess/Plugins/PluginProcessConnectionManager.cpp:
(WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
(WebKit::PluginProcessConnectionManager::removePluginProcessConnection):
(WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
* WebProcess/Plugins/PluginProcessConnectionManager.h:
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::addScrollingTreeForPage):
(WebKit::EventDispatcher::removeScrollingTreeForPage):
(WebKit::EventDispatcher::wheelEvent):
(WebKit::EventDispatcher::takeQueuedTouchEventsForPage):
(WebKit::EventDispatcher::touchEvent):
(WebKit::EventDispatcher::dispatchTouchEvents):
(WebKit::EventDispatcher::notifyScrollingTreesDisplayWasRefreshed):
* WebProcess/WebPage/EventDispatcher.h:
* WebProcess/WebPage/ViewUpdateDispatcher.cpp:
(WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):
(WebKit::ViewUpdateDispatcher::dispatchVisibleContentRectUpdate):
* WebProcess/WebPage/ViewUpdateDispatcher.h:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/NetworkProcess/CustomProtocols/Cocoa/LegacyCustomProtocolManagerCocoa.mm
trunk/Source/WebKit/NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.cpp
trunk/Source/WebKit/NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.h
trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp
trunk/Source/WebKit/NetworkProcess/NetworkProcess.h
trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManagerSet.cpp
trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManagerSet.h
trunk/Source/WebKit/NetworkProcess/cocoa/LaunchServicesDatabaseObserver.h
trunk/Source/WebKit/NetworkProcess/cocoa/LaunchServicesDatabaseObserver.mm

[webkit-changes] [277786] trunk/Source/JavaScriptCore

2021-05-20 Thread commit-queue
Title: [277786] trunk/Source/_javascript_Core








Revision 277786
Author commit-qu...@webkit.org
Date 2021-05-20 09:00:28 -0700 (Thu, 20 May 2021)


Log Message
$vm should have a function for checking if ASan is enabled similar to $vm.assertEnabled
https://bugs.webkit.org/show_bug.cgi?id=226019

Patch by Tuomas Karkkainen  on 2021-05-20
Reviewed by Mark Lam.

Add method $vm.asanEnabled(), which parallels $vm.assertEnabled(), and allows checking at
runtime whether the current _javascript_Core build is instrumented with AddressSanitizer.

* tools/JSDollarVM.cpp:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/tools/JSDollarVM.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (277785 => 277786)

--- trunk/Source/_javascript_Core/ChangeLog	2021-05-20 15:49:23 UTC (rev 277785)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-05-20 16:00:28 UTC (rev 277786)
@@ -1,3 +1,15 @@
+2021-05-20  Tuomas Karkkainen  
+
+$vm should have a function for checking if ASan is enabled similar to $vm.assertEnabled
+https://bugs.webkit.org/show_bug.cgi?id=226019
+
+Reviewed by Mark Lam.
+
+Add method $vm.asanEnabled(), which parallels $vm.assertEnabled(), and allows checking at
+runtime whether the current _javascript_Core build is instrumented with AddressSanitizer.
+
+* tools/JSDollarVM.cpp:
+
 2021-05-19  Mark Lam  
 
 AbstractSlotVisitor::containsOpaqueRoot() should only declare didFindOpaqueRoot if the root is actually found.


Modified: trunk/Source/_javascript_Core/tools/JSDollarVM.cpp (277785 => 277786)

--- trunk/Source/_javascript_Core/tools/JSDollarVM.cpp	2021-05-20 15:49:23 UTC (rev 277785)
+++ trunk/Source/_javascript_Core/tools/JSDollarVM.cpp	2021-05-20 16:00:28 UTC (rev 277786)
@@ -1984,6 +1984,7 @@
 static JSC_DECLARE_HOST_FUNCTION(functionICUVersion);
 static JSC_DECLARE_HOST_FUNCTION(functionICUHeaderVersion);
 static JSC_DECLARE_HOST_FUNCTION(functionAssertEnabled);
+static JSC_DECLARE_HOST_FUNCTION(functionAsanEnabled);
 static JSC_DECLARE_HOST_FUNCTION(functionIsMemoryLimited);
 static JSC_DECLARE_HOST_FUNCTION(functionUseJIT);
 static JSC_DECLARE_HOST_FUNCTION(functionIsGigacageEnabled);
@@ -3527,6 +3528,12 @@
 return JSValue::encode(jsBoolean(ASSERT_ENABLED));
 }
 
+JSC_DEFINE_HOST_FUNCTION(functionAsanEnabled, (JSGlobalObject*, CallFrame*))
+{
+DollarVMAssertScope assertScope;
+return JSValue::encode(jsBoolean(ASAN_ENABLED));
+}
+
 JSC_DEFINE_HOST_FUNCTION(functionIsMemoryLimited, (JSGlobalObject*, CallFrame*))
 {
 DollarVMAssertScope assertScope;
@@ -3718,6 +3725,7 @@
 addFunction(vm, "icuHeaderVersion", functionICUHeaderVersion, 0);
 
 addFunction(vm, "assertEnabled", functionAssertEnabled, 0);
+addFunction(vm, "asanEnabled", functionAsanEnabled, 0);
 
 addFunction(vm, "isMemoryLimited", functionIsMemoryLimited, 0);
 addFunction(vm, "useJIT", functionUseJIT, 0);






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277785] trunk/Source/ThirdParty/libwebrtc

2021-05-20 Thread youenn
Title: [277785] trunk/Source/ThirdParty/libwebrtc








Revision 277785
Author you...@apple.com
Date 2021-05-20 08:49:23 -0700 (Thu, 20 May 2021)


Log Message
Enable VCP for H264 baseline
https://bugs.webkit.org/show_bug.cgi?id=224043

Reviewed by Eric Carlson.

Enable VCP for baseline past BigSur/iOS14.
Add macros and introduce _useBaseline in addition to _useVCP for that purpose.

* Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 initWithCodecInfo:]):
(-[RTCVideoEncoderH264 configureCompressionSession]):

Modified Paths

trunk/Source/ThirdParty/libwebrtc/ChangeLog
trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h
trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm




Diff

Modified: trunk/Source/ThirdParty/libwebrtc/ChangeLog (277784 => 277785)

--- trunk/Source/ThirdParty/libwebrtc/ChangeLog	2021-05-20 15:41:41 UTC (rev 277784)
+++ trunk/Source/ThirdParty/libwebrtc/ChangeLog	2021-05-20 15:49:23 UTC (rev 277785)
@@ -1,3 +1,18 @@
+2021-05-20  Youenn Fablet  
+
+Enable VCP for H264 baseline
+https://bugs.webkit.org/show_bug.cgi?id=224043
+
+Reviewed by Eric Carlson.
+
+Enable VCP for baseline past BigSur/iOS14.
+Add macros and introduce _useBaseline in addition to _useVCP for that purpose.
+
+* Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
+* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
+(-[RTCVideoEncoderH264 initWithCodecInfo:]):
+(-[RTCVideoEncoderH264 configureCompressionSession]):
+
 2021-05-11  Youenn Fablet  
 
 Improve usrsctp restart handling


Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h (277784 => 277785)

--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h	2021-05-20 15:41:41 UTC (rev 277784)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h	2021-05-20 15:49:23 UTC (rev 277785)
@@ -34,14 +34,17 @@
 #if (defined(TARGET_IPHONE_SIMULATOR) && TARGET_IPHONE_SIMULATOR)
 #define ENABLE_VCP_ENCODER 0
 #define ENABLE_VCP_VTB_ENCODER 0
+#define ENABLE_VCP_FOR_H264_BASELINE 0
 #elif (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
 #define ENABLE_VCP_ENCODER __IPHONE_OS_VERSION_MIN_REQUIRED < 14
 #define ENABLE_VCP_VTB_ENCODER __IPHONE_OS_VERSION_MIN_REQUIRED >= 13 && __IPHONE_OS_VERSION_MIN_REQUIRED < 14
 #define HAVE_VTB_REQUIREDLOWLATENCY __IPHONE_OS_VERSION_MIN_REQUIRED >= 14
+#define ENABLE_VCP_FOR_H264_BASELINE __IPHONE_OS_VERSION_MIN_REQUIRED >= 15
 #elif (defined(TARGET_OS_MAC) && TARGET_OS_MAC)
 #define ENABLE_VCP_ENCODER __MAC_OS_X_VERSION_MIN_REQUIRED < 11
 #define ENABLE_VCP_VTB_ENCODER __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500 && __MAC_OS_X_VERSION_MIN_REQUIRED < 11
 #define HAVE_VTB_REQUIREDLOWLATENCY __MAC_OS_X_VERSION_MIN_REQUIRED >= 11
+#define ENABLE_VCP_FOR_H264_BASELINE __MAC_OS_X_VERSION_MIN_REQUIRED >= 12
 #endif
 
 #if !defined(ENABLE_VCP_ENCODER)
@@ -53,6 +56,9 @@
 #if !defined(HAVE_VTB_REQUIREDLOWLATENCY)
 #define HAVE_VTB_REQUIREDLOWLATENCY 0
 #endif
+#if !defined(ENABLE_VCP_FOR_H264_BASELINE)
+#define ENABLE_VCP_FOR_H264_BASELINE 0
+#endif
 
 #if !defined(ALWAYS_INLINE)
 #define ALWAYS_INLINE inline


Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm (277784 => 277785)

--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm	2021-05-20 15:41:41 UTC (rev 277784)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm	2021-05-20 15:49:23 UTC (rev 277785)
@@ -338,6 +338,7 @@
   int32_t _width;
   int32_t _height;
   bool _useVCP;
+  bool _useBaseline;
   VTCompressionSessionRef _vtCompressionSession;
   VCPCompressionSessionRef _vcpCompressionSession;
   CVPixelBufferPoolRef _pixelBufferPool;
@@ -364,12 +365,12 @@
 _packetizationMode = RTCH264PacketizationModeNonInterleaved;
 _profile_level_id =
 webrtc::H264::ParseSdpProfileLevelId([codecInfo nativeSdpVideoFormat].parameters);
-if (_profile_level_id) {
-  auto profile = ""
-  _useVCP = [(__bridge NSString *)profile containsString: @"High"];
-} else {
-  _useVCP = false;
-}
+_useBaseline = !_profile_level_id || ![(__bridge NSString *)ExtractProfile(*_profile_level_id) containsString: @"High"];
+#if ENABLE_VCP_FOR_H264_BASELINE
+_useVCP = true;
+#else
+_useVCP = !_useBaseline;
+#endif
 RTC_DCHECK(_profile_level_id);
 RTC_LOG(LS_INFO) << "Using profile " << CFStringToString(ExtractProfile(*_profile_level_id));
 RTC_CHECK([codecInfo.name isEqualToString:kRTCVideoCodecH264Name]);
@@ -783,7 +784,12 @@
 - (void)configureCompressionSession {
   RTC_DCHECK([self 

[webkit-changes] [277784] trunk/Source/WebCore

2021-05-20 Thread jer . noble
Title: [277784] trunk/Source/WebCore








Revision 277784
Author jer.no...@apple.com
Date 2021-05-20 08:41:41 -0700 (Thu, 20 May 2021)


Log Message
CRASH: Null-pointer deref in MediaSessionManagerCocoa::setNowPlayingInfo()
https://bugs.webkit.org/show_bug.cgi?id=225999


Reviewed by Eric Carlson.

Null-check `nowPlayingInfo.artwork->imageData` before dereferencing.

* platform/audio/cocoa/MediaSessionManagerCocoa.mm:
(WebCore::MediaSessionManagerCocoa::setNowPlayingInfo):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (277783 => 277784)

--- trunk/Source/WebCore/ChangeLog	2021-05-20 15:33:12 UTC (rev 277783)
+++ trunk/Source/WebCore/ChangeLog	2021-05-20 15:41:41 UTC (rev 277784)
@@ -1,3 +1,16 @@
+2021-05-20  Jer Noble  
+
+CRASH: Null-pointer deref in MediaSessionManagerCocoa::setNowPlayingInfo()
+https://bugs.webkit.org/show_bug.cgi?id=225999
+
+
+Reviewed by Eric Carlson.
+
+Null-check `nowPlayingInfo.artwork->imageData` before dereferencing.
+
+* platform/audio/cocoa/MediaSessionManagerCocoa.mm:
+(WebCore::MediaSessionManagerCocoa::setNowPlayingInfo):
+
 2021-05-20  Youenn Fablet  
 
  rendered inside  shows black for webcam stream (Safari 14.0.3 only)


Modified: trunk/Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm (277783 => 277784)

--- trunk/Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm	2021-05-20 15:33:12 UTC (rev 277783)
+++ trunk/Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm	2021-05-20 15:41:41 UTC (rev 277784)
@@ -318,7 +318,7 @@
 auto cfCurrentTime = adoptCF(CFNumberCreate(kCFAllocatorDefault, kCFNumberDoubleType, ));
 CFDictionarySetValue(info.get(), kMRMediaRemoteNowPlayingInfoElapsedTime, cfCurrentTime.get());
 }
-if (nowPlayingInfo.artwork) {
+if (nowPlayingInfo.artwork && nowPlayingInfo.artwork->imageData) {
 auto nsArtwork = nowPlayingInfo.artwork->imageData->createNSData();
 CFDictionarySetValue(info.get(), kMRMediaRemoteNowPlayingInfoArtworkData, nsArtwork.get());
 CFDictionarySetValue(info.get(), kMRMediaRemoteNowPlayingInfoArtworkMIMEType, nowPlayingInfo.artwork->mimeType.createCFString().get());






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [277783] trunk

2021-05-20 Thread youenn
Title: [277783] trunk








Revision 277783
Author you...@apple.com
Date 2021-05-20 08:33:12 -0700 (Thu, 20 May 2021)


Log Message
 rendered inside  shows black for webcam stream (Safari 14.0.3 only)
https://bugs.webkit.org/show_bug.cgi?id=222115


Reviewed by Eric Carlson.

Source/WebCore:

Update element visibility if changing of document. Add internals API to test this.

Test: fast/media/template-hidden.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::didMoveToNewDocument):
* testing/Internals.cpp:
(WebCore::Internals::isMediaElementHidden):
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

* fast/media/template-hidden-expected.txt: Added.
* fast/media/template-hidden.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/HTMLMediaElement.cpp
trunk/Source/WebCore/testing/Internals.cpp
trunk/Source/WebCore/testing/Internals.h
trunk/Source/WebCore/testing/Internals.idl


Added Paths

trunk/LayoutTests/fast/media/template-hidden-expected.txt
trunk/LayoutTests/fast/media/template-hidden.html




Diff

Modified: trunk/LayoutTests/ChangeLog (277782 => 277783)

--- trunk/LayoutTests/ChangeLog	2021-05-20 14:45:30 UTC (rev 277782)
+++ trunk/LayoutTests/ChangeLog	2021-05-20 15:33:12 UTC (rev 277783)
@@ -1,3 +1,14 @@
+2021-05-20  Youenn Fablet  
+
+ rendered inside  shows black for webcam stream (Safari 14.0.3 only)
+https://bugs.webkit.org/show_bug.cgi?id=222115
+
+
+Reviewed by Eric Carlson.
+
+* fast/media/template-hidden-expected.txt: Added.
+* fast/media/template-hidden.html: Added.
+
 2021-05-20  Alan Bujtas  
 
 [LFC][TFC] Available space distribution should account for the top and bottom table spacing


Added: trunk/LayoutTests/fast/media/template-hidden-expected.txt (0 => 277783)

--- trunk/LayoutTests/fast/media/template-hidden-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/media/template-hidden-expected.txt	2021-05-20 15:33:12 UTC (rev 277783)
@@ -0,0 +1,4 @@
+
+
+PASS Test templated video visibility
+


Added: trunk/LayoutTests/fast/media/template-hidden.html (0 => 277783)

--- trunk/LayoutTests/fast/media/template-hidden.html	(rev 0)
+++ trunk/LayoutTests/fast/media/template-hidden.html	2021-05-20 15:33:12 UTC (rev 277783)
@@ -0,0 +1,35 @@
+
+
+
+
+Testing template video visibility
+
+
+
+
+