[webkit-changes] [277850] trunk
Title: [277850] trunk Revision 277850 Author sbar...@apple.com Date 2021-05-20 23:35:06 -0700 (Thu, 20 May 2021) Log Message [ Catalina Release JSC] A large number of JSC test appear to be flaky failing https://bugs.webkit.org/show_bug.cgi?id=225998 Reviewed by Yusuke Suzuki. JSTests: * stress/dont-link-virtual-calls-on-compiler-thread.js: Added. Source/_javascript_Core: This patch is fixing some fallout from moving JIT::link() to a background thread: 1. We can't shrink the CodeBlock's constant pool on a background thread since we read from it without grabbing a lock on the main thread (when reading things off the stack in slow path calls). 2. We can't create GCAwareJITStubRoutines on the compilation thread, since creating a GCAwareJITStubRoutines adds to a global hash table inside Heap. This means that we have to do that step of emitting virtual calls for eval when we're finalizing code on the main thread. This patch also makes it so that a baseline JIT compilation thread is correctly marked as such. * heap/JITStubRoutineSet.cpp: (JSC::JITStubRoutineSet::add): * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitUnlinkedVirtualCall): (JSC::AssemblyHelpers::emitVirtualCall): * jit/AssemblyHelpers.h: * jit/JIT.cpp: (JSC::JIT::link): (JSC::JIT::finalizeOnMainThread): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileCallEvalSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEvalSlowCase): * jit/JITWorklist.cpp: Modified Paths trunk/JSTests/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/assembler/LinkBuffer.cpp trunk/Source/_javascript_Core/heap/JITStubRoutineSet.cpp trunk/Source/_javascript_Core/jit/AssemblyHelpers.cpp trunk/Source/_javascript_Core/jit/AssemblyHelpers.h trunk/Source/_javascript_Core/jit/JIT.cpp trunk/Source/_javascript_Core/jit/JIT.h trunk/Source/_javascript_Core/jit/JITCall.cpp trunk/Source/_javascript_Core/jit/JITCall32_64.cpp trunk/Source/_javascript_Core/jit/JITThunks.cpp trunk/Source/_javascript_Core/jit/JITWorklist.cpp Added Paths trunk/JSTests/stress/dont-link-virtual-calls-on-compiler-thread.js Diff Modified: trunk/JSTests/ChangeLog (277849 => 277850) --- trunk/JSTests/ChangeLog 2021-05-21 04:14:55 UTC (rev 277849) +++ trunk/JSTests/ChangeLog 2021-05-21 06:35:06 UTC (rev 277850) @@ -1,3 +1,13 @@ +2021-05-20 Saam Barati + +[ Catalina Release JSC] A large number of JSC test appear to be flaky failing +https://bugs.webkit.org/show_bug.cgi?id=225998 + + +Reviewed by Yusuke Suzuki. + +* stress/dont-link-virtual-calls-on-compiler-thread.js: Added. + 2021-05-19 Robin Morisset Fix typo in AirUseCounts Added: trunk/JSTests/stress/dont-link-virtual-calls-on-compiler-thread.js (0 => 277850) --- trunk/JSTests/stress/dont-link-virtual-calls-on-compiler-thread.js (rev 0) +++ trunk/JSTests/stress/dont-link-virtual-calls-on-compiler-thread.js 2021-05-21 06:35:06 UTC (rev 277850) @@ -0,0 +1,10 @@ +//@ skip if $architecture != "arm64" and $architecture != "x86-64" + +let s = ` +for (let i = 0; i < 1; i++) { + eval?.('eval("function f() {}");'); +} +`; + +for (let i = 0; i < 5; ++i) +runString(s); Modified: trunk/Source/_javascript_Core/ChangeLog (277849 => 277850) --- trunk/Source/_javascript_Core/ChangeLog 2021-05-21 04:14:55 UTC (rev 277849) +++ trunk/Source/_javascript_Core/ChangeLog 2021-05-21 06:35:06 UTC (rev 277850) @@ -1,5 +1,42 @@ 2021-05-20 Saam Barati +[ Catalina Release JSC] A large number of JSC test appear to be flaky failing +https://bugs.webkit.org/show_bug.cgi?id=225998 + + +Reviewed by Yusuke Suzuki. + +This patch is fixing some fallout from moving JIT::link() to a background +thread: +1. We can't shrink the CodeBlock's constant pool on a background thread +since we read from it without grabbing a lock on the main thread (when +reading things off the stack in slow path calls). +2. We can't create GCAwareJITStubRoutines on the compilation thread, since +creating a GCAwareJITStubRoutines adds to a global hash table inside Heap. This +means that we have to do that step of emitting virtual calls for eval when +we're finalizing code on the main thread. + +This patch also makes it so that a baseline JIT compilation thread is +correctly marked as such. + +* heap/JITStubRoutineSet.cpp: +(JSC::JITStubRoutineSet::add): +* jit/AssemblyHelpers.cpp: +(JSC::AssemblyHelpers::emitUnlinkedVirtualCall): +(JSC::AssemblyHelpers::emitVirtualCall): +* jit/AssemblyHelpers.h: +* jit/JIT.cpp: +(JSC::JIT::link): +(JSC::JIT::finalizeOnMainThread): +* jit/JIT.h: +* jit/JITCall.cpp: +(JSC::JIT::compileCallEvalSlowCase): +* jit/JITCall32_64.cpp: +(JSC::JIT::compileCallEvalSlowCase): +* jit/JITWorklist
[webkit-changes] [277849] trunk
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 = replyInfo->
[webkit-changes] [277848] trunk/Source/ThirdParty/ANGLE
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
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: +(WTF
[webkit-changes] [277846] trunk/Source/WebKit
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
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
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
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/
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
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 = $(MAJOR_VERSION).$(MINOR_VERSION).$(TI
[webkit-changes] [277840] trunk
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 => 277840
[webkit-changes] [277839] trunk
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 loa
[webkit-changes] [277838] trunk/Source/JavaScriptCore
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
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
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
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 identifi
[webkit-changes] [277834] trunk/Source/WebKit
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
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/
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/
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
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 Al
[webkit-changes] [277828] trunk
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
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
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
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, -c
[webkit-changes] [277824] trunk/Source/ThirdParty/ANGLE
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
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
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
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
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/
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
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; Modified
[webkit-changes] [277817] trunk/Tools
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
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
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
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
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
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(&stcb->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, &asoc->asconf_send_queue, sctp_next, nchk) { TAILQ_REMOVE(&asoc->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
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(); -RELEASE_ASSER
[webkit-changes] [277808] trunk/Tools
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
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
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 ENABLE_NETWOR
[webkit-changes] [277815] branches/safari-611-branch
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; +}]; +TestWebKitAPI::
[webkit-changes] [277806] trunk/Source/WebKit
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(&connection).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
[webkit-changes] [277804] trunk/Source/WebCore
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 2
[webkit-changes] [277803] branches/safari-612.1.15.0-branch/Source
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 = $(MAJOR_VERSION).$(MINOR_VERSION).$(T
[webkit-changes] [277802] trunk/Source/WebCore
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 trunk/Source/WebCore/rendering/svg/SVGRenderTreeAsTe
[webkit-changes] [277800] branches/safari-612.1.15.1-branch/Source
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 = $(MAJOR_VERSION).$(MINOR_VERSION).$(TI
[webkit-changes] [277801] trunk/Tools
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
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
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
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); +br
[webkit-changes] [277796] branches/safari-612.1.15.1-branch/Source/WebCore
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, &nowPlayingInfo.currentTime)); 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
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
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) --- branches/safari-612.1.15.1-branch/Layout
[webkit-changes] [277793] trunk/Source/WebCore
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 = collator.collate(trackDispl
[webkit-changes] [277792] trunk/Source
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): +* platform/gra
[webkit-changes] [277791] trunk/Source/WebKit
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
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
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, &MediaElementSession::targetAvailabilityChangedTimerFired) -, m_hasPlaybackTargets(manager().hasWirelessTargetsAvailable()) #endif , m_mainContentCheckTimer(*this, &MediaElementSession::mainContentCheckTimerFired) , m_clientDataBufferingTimer(*this, &MediaElementSession::clientDataBufferingTimerFired) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [277788] trunk/Source/WebCore
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
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 trunk/Source/WebKit/Shar
[webkit-changes] [277786] trunk/Source/JavaScriptCore
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
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
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, &nowPlayingInfo.currentTime)); 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
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 + + + + + + +