[webkit-changes] [286922] trunk/Source/WebCore
Title: [286922] trunk/Source/WebCore Revision 286922 Author don.olmst...@sony.com Date 2021-12-11 19:04:31 -0800 (Sat, 11 Dec 2021) Log Message SharedBuffer should use WTF::FileSystem when creating from a file https://bugs.webkit.org/show_bug.cgi?id=233598 Reviewed by Chris Dumez. Remove platform specific implementations of SharedBuffer::createFromReadingFile and use FileSystem::readEntireFile instead when creating a SharedBuffer from a file. The function was only used within SharedBuffer::createWithContentsOfFile so the implementation is just moved into that function. * PlatformFTW.cmake: * PlatformPlayStation.cmake: * PlatformWin.cmake: * platform/SharedBuffer.cpp: (WebCore::SharedBuffer::createWithContentsOfFile): * platform/SharedBuffer.h: * platform/cocoa/SharedBufferCocoa.mm: (WebCore::SharedBuffer::createFromReadingFile): Deleted. * platform/glib/SharedBufferGlib.cpp: (WebCore::SharedBuffer::createFromReadingFile): Deleted. * platform/posix/SharedBufferPOSIX.cpp: Removed. * platform/win/SharedBufferWin.cpp: Removed. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/PlatformFTW.cmake trunk/Source/WebCore/PlatformPlayStation.cmake trunk/Source/WebCore/PlatformWin.cmake trunk/Source/WebCore/platform/SharedBuffer.cpp trunk/Source/WebCore/platform/SharedBuffer.h trunk/Source/WebCore/platform/cocoa/SharedBufferCocoa.mm trunk/Source/WebCore/platform/glib/SharedBufferGlib.cpp Removed Paths trunk/Source/WebCore/platform/posix/ trunk/Source/WebCore/platform/win/SharedBufferWin.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (286921 => 286922) --- trunk/Source/WebCore/ChangeLog 2021-12-12 02:08:20 UTC (rev 286921) +++ trunk/Source/WebCore/ChangeLog 2021-12-12 03:04:31 UTC (rev 286922) @@ -1,3 +1,29 @@ +2021-12-11 Don Olmstead + +SharedBuffer should use WTF::FileSystem when creating from a file +https://bugs.webkit.org/show_bug.cgi?id=233598 + + +Reviewed by Chris Dumez. + +Remove platform specific implementations of SharedBuffer::createFromReadingFile and use +FileSystem::readEntireFile instead when creating a SharedBuffer from a file. The function +was only used within SharedBuffer::createWithContentsOfFile so the implementation is just +moved into that function. + +* PlatformFTW.cmake: +* PlatformPlayStation.cmake: +* PlatformWin.cmake: +* platform/SharedBuffer.cpp: +(WebCore::SharedBuffer::createWithContentsOfFile): +* platform/SharedBuffer.h: +* platform/cocoa/SharedBufferCocoa.mm: +(WebCore::SharedBuffer::createFromReadingFile): Deleted. +* platform/glib/SharedBufferGlib.cpp: +(WebCore::SharedBuffer::createFromReadingFile): Deleted. +* platform/posix/SharedBufferPOSIX.cpp: Removed. +* platform/win/SharedBufferWin.cpp: Removed. + 2021-12-11 Chris Dumez ContextDestructionObserver::m_scriptExecutionContext should be private Modified: trunk/Source/WebCore/PlatformFTW.cmake (286921 => 286922) --- trunk/Source/WebCore/PlatformFTW.cmake 2021-12-12 02:08:20 UTC (rev 286921) +++ trunk/Source/WebCore/PlatformFTW.cmake 2021-12-12 03:04:31 UTC (rev 286922) @@ -124,7 +124,6 @@ platform/win/ScrollbarThemeWin.cpp platform/win/SearchPopupMenuDB.cpp platform/win/SearchPopupMenuWin.cpp -platform/win/SharedBufferWin.cpp platform/win/StructuredExceptionHandlerSuppressor.cpp platform/win/SystemInfo.cpp platform/win/UserAgentWin.cpp Modified: trunk/Source/WebCore/PlatformPlayStation.cmake (286921 => 286922) --- trunk/Source/WebCore/PlatformPlayStation.cmake 2021-12-12 02:08:20 UTC (rev 286921) +++ trunk/Source/WebCore/PlatformPlayStation.cmake 2021-12-12 03:04:31 UTC (rev 286922) @@ -58,8 +58,6 @@ platform/playstation/UserAgentPlayStation.cpp platform/playstation/WidgetPlayStation.cpp -platform/posix/SharedBufferPOSIX.cpp - platform/text/Hyphenation.cpp platform/text/LocaleICU.cpp Modified: trunk/Source/WebCore/PlatformWin.cmake (286921 => 286922) --- trunk/Source/WebCore/PlatformWin.cmake 2021-12-12 02:08:20 UTC (rev 286921) +++ trunk/Source/WebCore/PlatformWin.cmake 2021-12-12 03:04:31 UTC (rev 286922) @@ -88,7 +88,6 @@ platform/win/ScrollbarThemeWin.cpp platform/win/SearchPopupMenuDB.cpp platform/win/SearchPopupMenuWin.cpp -platform/win/SharedBufferWin.cpp platform/win/SystemInfo.cpp platform/win/UserAgentWin.cpp platform/win/WCDataObject.cpp Modified: trunk/Source/WebCore/platform/SharedBuffer.cpp (286921 => 286922) --- trunk/Source/WebCore/platform/SharedBuffer.cpp 2021-12-12 02:08:20 UTC (rev 286921) +++ trunk/Source/WebCore/platform/SharedBuffer.cpp 2021-12-12 03:04:31 UTC (rev 286922) @@ -85,7 +85,12 @@ if (mappingSuccess) return adoptRef(new SharedBuffer(WTFMove(mappedFileData))); } -return SharedBuffer::createFromReadingFile(filePath); + +auto buffer =
[webkit-changes] [286921] trunk/LayoutTests
Title: [286921] trunk/LayoutTests Revision 286921 Author za...@apple.com Date 2021-12-11 18:08:20 -0800 (Sat, 11 Dec 2021) Log Message fast/borders/bidi-002.html is failing on Monterey bots. https://bugs.webkit.org/show_bug.cgi?id=234204 Unreviewed gardening. * platform/mac-bigsur/fast/borders/bidi-002-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/bidi-002-expected.txt. * platform/mac/fast/borders/bidi-002-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/mac/fast/borders/bidi-002-expected.txt Added Paths trunk/LayoutTests/platform/mac-bigsur/fast/borders/ trunk/LayoutTests/platform/mac-bigsur/fast/borders/bidi-002-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (286920 => 286921) --- trunk/LayoutTests/ChangeLog 2021-12-12 00:39:57 UTC (rev 286920) +++ trunk/LayoutTests/ChangeLog 2021-12-12 02:08:20 UTC (rev 286921) @@ -1,3 +1,13 @@ +2021-12-11 Alan Bujtas + +fast/borders/bidi-002.html is failing on Monterey bots. +https://bugs.webkit.org/show_bug.cgi?id=234204 + +Unreviewed gardening. + +* platform/mac-bigsur/fast/borders/bidi-002-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/bidi-002-expected.txt. +* platform/mac/fast/borders/bidi-002-expected.txt: + 2021-12-11 Antoine Quint Expose a frameRate property to Web Animations Modified: trunk/LayoutTests/platform/mac/fast/borders/bidi-002-expected.txt (286920 => 286921) --- trunk/LayoutTests/platform/mac/fast/borders/bidi-002-expected.txt 2021-12-12 00:39:57 UTC (rev 286920) +++ trunk/LayoutTests/platform/mac/fast/borders/bidi-002-expected.txt 2021-12-12 02:08:20 UTC (rev 286921) @@ -1,14 +1,14 @@ layer at (0,0) size 800x600 RenderView at (0,0) size 800x600 -layer at (0,0) size 800x260 - RenderBlock {HTML} at (0,0) size 800x260 -RenderBody {BODY} at (8,16) size 784x228 +layer at (0,0) size 800x259 + RenderBlock {HTML} at (0,0) size 800x259 +RenderBody {BODY} at (8,16) size 784x227 RenderBlock {P} at (0,0) size 784x19 RenderText {#text} at (0,1) size 521x18 text run at (0,1) width 506: "The following two blocks should be identical, including overflow. (Force bidi: " text run at (505,1) width 11 RTL: "\x{5D0}" text run at (515,1) width 6: ")" - RenderBlock {DIV} at (0,35) size 784x193 + RenderBlock {DIV} at (0,35) size 784x192 RenderBlock {P} at (16,0) size 294x88 [bgcolor=#CC] [border: (3px solid #00)] RenderInline {SPAN} at (0,0) size 118x38 [color=#80] [border: (3px solid #80) none (3px solid #80)] RenderText {#text} at (30,26) size 99x18 @@ -20,12 +20,12 @@ text run at (219,26) width 86: "GGGHHHIII" RenderText {#text} at (11,59) size 195x18 text run at (11,59) width 195: "JJJKKKLLLMMMNNNOOO" -RenderBlock {P} at (16,104) size 294x89 [bgcolor=#CC] [border: (3px solid #00)] +RenderBlock {P} at (16,104) size 294x88 [bgcolor=#CC] [border: (3px solid #00)] RenderInline {SPAN} at (0,0) size 313x38 [color=#80] [border: (3px solid #80)] RenderText {#text} at (30,26) size 275x18 text run at (30,26) width 99: "AAABBBCCC" text run at (219,26) width 86 RTL: "\x{202E}IIIHHHGGG" - RenderText {#text} at (128,26) size 209x52 + RenderText {#text} at (128,26) size 209x51 text run at (128,26) width 92 RTL: "FFFEEEDDD" -text run at (11,60) width 83 RTL: "LLLKKKJJJ" -text run at (93,60) width 113: "\x{202C}MMMNNNOOO" +text run at (11,59) width 83 RTL: "LLLKKKJJJ" +text run at (93,59) width 113: "\x{202C}MMMNNNOOO" Copied: trunk/LayoutTests/platform/mac-bigsur/fast/borders/bidi-002-expected.txt (from rev 286920, trunk/LayoutTests/platform/mac/fast/borders/bidi-002-expected.txt) (0 => 286921) --- trunk/LayoutTests/platform/mac-bigsur/fast/borders/bidi-002-expected.txt (rev 0) +++ trunk/LayoutTests/platform/mac-bigsur/fast/borders/bidi-002-expected.txt 2021-12-12 02:08:20 UTC (rev 286921) @@ -0,0 +1,31 @@ +layer at (0,0) size 800x600 + RenderView at (0,0) size 800x600 +layer at (0,0) size 800x260 + RenderBlock {HTML} at (0,0) size 800x260 +RenderBody {BODY} at (8,16) size 784x228 + RenderBlock {P} at (0,0) size 784x19 +RenderText {#text} at (0,1) size 521x18 + text run at (0,1) width 506: "The following two blocks should be identical, including overflow. (Force bidi: " + text run at (505,1) width 11 RTL: "\x{5D0}" + text run at (515,1) width 6: ")" + RenderBlock {DIV} at (0,35) size 784x193 +RenderBlock {P} at (16,0) size 294x88 [bgcolor=#CC] [border: (3px solid #00)] + RenderInline {SPAN} at (0,0) size 118x38 [color=#80] [border: (3px solid #80) none (3px solid #80)] +
[webkit-changes] [286920] trunk/Source/JavaScriptCore
Title: [286920] trunk/Source/_javascript_Core Revision 286920 Author sbar...@apple.com Date 2021-12-11 16:39:57 -0800 (Sat, 11 Dec 2021) Log Message Teach the sampling profiler how to display origin data for B3 Wasm https://bugs.webkit.org/show_bug.cgi?id=234097 Reviewed by Yusuke Suzuki. This teaches the SamplingProfiler how to gather origin data for Wasm. We reuse the PCToCodeOriginMap from JS, and store the wasm function offset data inside of CodeOrigin's BytecodeIndex. For now, this patch is only doing this for B3, because the Air backend doesn't currently generate filled in OpcodeOrigin data. We'll fix that in: https://bugs.webkit.org/show_bug.cgi?id=234182 Also, this capability isn't yet supported in Web Inspector. We'll want to do that in a future change as we improve Web Inspector's ability to debug Wasm code. When that time comes, we'll have to generate the PCToCodeOriginMap based on debugging info, and not just 'useSamplingProfiler' JSC option. The data now shows up like this for hottest bytecodes: Hottest bytecodes as 524'.wasm-function[2373]:OMG:0x21a' 414'.wasm-function[2363]:OMG:0x1ae' 395'.wasm-function[2373]:OMG:0x418' 354'.wasm-function[2373]:OMG:0x34f' 270'.wasm-function[2373]:OMG:0x352' 256'.wasm-function[2363]:OMG:0x152' * ftl/FTLCompile.cpp: (JSC::FTL::compile): * jit/PCToCodeOriginMap.cpp: (JSC::PCToCodeOriginMapBuilder::PCToCodeOriginMapBuilder): * jit/PCToCodeOriginMap.h: * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::recordJITFrame): (JSC::SamplingProfiler::processUnverifiedStackTraces): (JSC::SamplingProfiler::reportTopBytecodes): * runtime/SamplingProfiler.h: * wasm/WasmAirIRGenerator.cpp: (JSC::Wasm::AirIRGenerator::origin): (JSC::Wasm::parseAndCompileAir): * wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::parseAndCompile): (JSC::Wasm::computePCToCodeOriginMap): * wasm/WasmB3IRGenerator.h: (): Deleted. * wasm/WasmBBQPlan.cpp: (JSC::Wasm::BBQPlan::work): (JSC::Wasm::BBQPlan::didCompleteCompilation): (JSC::Wasm::BBQPlan::initializeCallees): * wasm/WasmCalleeRegistry.h: (JSC::Wasm::CalleeRegistry::unregisterCallee): (JSC::Wasm::CalleeRegistry::addPCToCodeOriginMap): (JSC::Wasm::CalleeRegistry::WTF_REQUIRES_LOCK): * wasm/WasmOMGPlan.cpp: (JSC::Wasm::OMGPlan::work): * wasm/WasmOpcodeOrigin.h: (JSC::Wasm::OpcodeOrigin::OpcodeOrigin): Modified Paths trunk/Source/_javascript_Core/CMakeLists.txt trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/ftl/FTLCompile.cpp trunk/Source/_javascript_Core/jit/PCToCodeOriginMap.cpp trunk/Source/_javascript_Core/jit/PCToCodeOriginMap.h trunk/Source/_javascript_Core/runtime/SamplingProfiler.cpp trunk/Source/_javascript_Core/runtime/SamplingProfiler.h trunk/Source/_javascript_Core/wasm/WasmAirIRGenerator.cpp trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.cpp trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.h trunk/Source/_javascript_Core/wasm/WasmBBQPlan.cpp trunk/Source/_javascript_Core/wasm/WasmCalleeRegistry.h trunk/Source/_javascript_Core/wasm/WasmOMGPlan.cpp trunk/Source/_javascript_Core/wasm/WasmOpcodeOrigin.h Diff Modified: trunk/Source/_javascript_Core/CMakeLists.txt (286919 => 286920) --- trunk/Source/_javascript_Core/CMakeLists.txt 2021-12-12 00:38:08 UTC (rev 286919) +++ trunk/Source/_javascript_Core/CMakeLists.txt 2021-12-12 00:39:57 UTC (rev 286920) @@ -878,6 +878,7 @@ jit/JITOperations.h jit/JITStubRoutine.h jit/JITThunks.h +jit/PCToCodeOriginMap.h jit/PolymorphicCallStubRoutine.h jit/Reg.h jit/RegisterAtOffset.h Modified: trunk/Source/_javascript_Core/ChangeLog (286919 => 286920) --- trunk/Source/_javascript_Core/ChangeLog 2021-12-12 00:38:08 UTC (rev 286919) +++ trunk/Source/_javascript_Core/ChangeLog 2021-12-12 00:39:57 UTC (rev 286920) @@ -1,3 +1,66 @@ +2021-12-11 Saam Barati + +Teach the sampling profiler how to display origin data for B3 Wasm +https://bugs.webkit.org/show_bug.cgi?id=234097 + +Reviewed by Yusuke Suzuki. + +This teaches the SamplingProfiler how to gather origin data for +Wasm. We reuse the PCToCodeOriginMap from JS, and store the wasm +function offset data inside of CodeOrigin's BytecodeIndex. + +For now, this patch is only doing this for B3, because the Air backend +doesn't currently generate filled in OpcodeOrigin data. We'll fix that +in: https://bugs.webkit.org/show_bug.cgi?id=234182 + +Also, this capability isn't yet supported in Web Inspector. We'll want +to do that in a future change as we improve Web Inspector's ability to +debug Wasm code. When that time comes, we'll have to generate the +PCToCodeOriginMap based on debugging info, and not just 'useSamplingProfiler' +JSC option. + +The data now shows up like this for hottest bytecodes: + +Hottest bytecodes as + 524'.wasm-function[2373]:OMG:0x21a' +
[webkit-changes] [286919] trunk/Source/WebKit
Title: [286919] trunk/Source/WebKit Revision 286919 Author timothy_hor...@apple.com Date 2021-12-11 16:38:08 -0800 (Sat, 11 Dec 2021) Log Message Momentum Event Dispatcher: Tail frames are the wrong velocity if momentum event dispatch rate doesn't match screen refresh rate https://bugs.webkit.org/show_bug.cgi?id=234168 Reviewed by Simon Fraser. In r286671, I scaled the tail frames into the momentum event disaptch rate, but they are actually always dispatched at display refresh frequency. In many cases these things are the same, but in some cases can differ (most commonly a 120Hz display with 60Hz event dispatch), so to always have the tail move at the right rate, scale into the display refresh rate instead). * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::windowScreenDidChange): * WebProcess/WebPage/EventDispatcher.cpp: (WebKit::EventDispatcher::pageScreenDidChange): * WebProcess/WebPage/EventDispatcher.h: * WebProcess/WebPage/EventDispatcher.messages.in: * WebProcess/WebPage/MomentumEventDispatcher.cpp: (WebKit::MomentumEventDispatcher::didStartMomentumPhase): (WebKit::MomentumEventDispatcher::displayProperties const): (WebKit::MomentumEventDispatcher::startDisplayLink): (WebKit::MomentumEventDispatcher::stopDisplayLink): (WebKit::MomentumEventDispatcher::pageScreenDidChange): (WebKit::MomentumEventDispatcher::displayWasRefreshed): (WebKit::MomentumEventDispatcher::displayID const): Deleted. * WebProcess/WebPage/MomentumEventDispatcher.h: Plumb and store the nominal display refresh rate. (WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta): Scale the tail frames from the 60Hz ideal rate into the display refresh rate, instead of the event dispatch rate. Incoming events still scale *in* from the event dispatch rate, since that's... the rate they come at. Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/WebPageProxy.cpp trunk/Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp trunk/Source/WebKit/WebProcess/WebPage/EventDispatcher.h trunk/Source/WebKit/WebProcess/WebPage/EventDispatcher.messages.in trunk/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp trunk/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.h Diff Modified: trunk/Source/WebKit/ChangeLog (286918 => 286919) --- trunk/Source/WebKit/ChangeLog 2021-12-12 00:29:03 UTC (rev 286918) +++ trunk/Source/WebKit/ChangeLog 2021-12-12 00:38:08 UTC (rev 286919) @@ -1,3 +1,42 @@ +2021-12-11 Tim Horton + +Momentum Event Dispatcher: Tail frames are the wrong velocity if momentum event dispatch rate doesn't match screen refresh rate +https://bugs.webkit.org/show_bug.cgi?id=234168 + + +Reviewed by Simon Fraser. + +In r286671, I scaled the tail frames into the momentum event disaptch +rate, but they are actually always dispatched at display refresh +frequency. In many cases these things are the same, but in some +cases can differ (most commonly a 120Hz display with 60Hz event dispatch), +so to always have the tail move at the right rate, scale into the display +refresh rate instead). + +* UIProcess/WebPageProxy.cpp: +(WebKit::WebPageProxy::windowScreenDidChange): +* WebProcess/WebPage/EventDispatcher.cpp: +(WebKit::EventDispatcher::pageScreenDidChange): +* WebProcess/WebPage/EventDispatcher.h: +* WebProcess/WebPage/EventDispatcher.messages.in: +* WebProcess/WebPage/MomentumEventDispatcher.cpp: +(WebKit::MomentumEventDispatcher::didStartMomentumPhase): +(WebKit::MomentumEventDispatcher::displayProperties const): +(WebKit::MomentumEventDispatcher::startDisplayLink): +(WebKit::MomentumEventDispatcher::stopDisplayLink): +(WebKit::MomentumEventDispatcher::pageScreenDidChange): +(WebKit::MomentumEventDispatcher::displayWasRefreshed): +(WebKit::MomentumEventDispatcher::displayID const): Deleted. +* WebProcess/WebPage/MomentumEventDispatcher.h: +Plumb and store the nominal display refresh rate. + +(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta): +Scale the tail frames from the 60Hz ideal rate into the display refresh +rate, instead of the event dispatch rate. + +Incoming events still scale *in* from the event dispatch rate, since +that's... the rate they come at. + 2021-12-11 Don Olmstead Add a std::nullptr_t constructor for RefPtr Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (286918 => 286919) --- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2021-12-12 00:29:03 UTC (rev 286918) +++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2021-12-12 00:38:08 UTC (rev 286919) @@ -3975,7 +3975,7 @@ if (!hasRunningProcess()) return; -send(Messages::EventDispatcher::PageScreenDidChange(m_webPageID, displayID)); +send(Messages::EventDispatcher::PageScreenDidChange(m_webPageID,
[webkit-changes] [286918] trunk/Source/WebCore
Title: [286918] trunk/Source/WebCore Revision 286918 Author cdu...@apple.com Date 2021-12-11 16:29:03 -0800 (Sat, 11 Dec 2021) Log Message ContextDestructionObserver::m_scriptExecutionContext should be private https://bugs.webkit.org/show_bug.cgi?id=234184 Reviewed by Youenn Fablet. ContextDestructionObserver::m_scriptExecutionContext should be private. It is poor encapsulation to have protected data members. * Modules/encryptedmedia/CDM.cpp: (WebCore::CDM::getSupportedConfiguration): * Modules/encryptedmedia/MediaKeySystemRequest.cpp: (WebCore::MediaKeySystemRequest::topLevelDocumentOrigin const): (WebCore::MediaKeySystemRequest::start): (WebCore::MediaKeySystemRequest::deny): (WebCore::MediaKeySystemRequest::stop): (WebCore::MediaKeySystemRequest::document const): * Modules/geolocation/Geolocation.cpp: (WebCore::Geolocation::watchPosition): * Modules/mediastream/RTCDataChannel.h: * Modules/mediastream/RTCDtlsTransport.h: * Modules/mediastream/RTCIceTransport.h: * Modules/mediastream/RTCSctpTransport.h: * Modules/mediastream/UserMediaRequest.cpp: (WebCore::UserMediaRequest::userMediaDocumentOrigin const): (WebCore::UserMediaRequest::topLevelDocumentOrigin const): (WebCore::UserMediaRequest::start): (WebCore::UserMediaRequest::allow): (WebCore::UserMediaRequest::deny): (WebCore::UserMediaRequest::stop): (WebCore::UserMediaRequest::document const): * Modules/webaudio/AudioContext.cpp: (WebCore::AudioContext::mediaSessionGroupIdentifier const): * Modules/webaudio/BaseAudioContext.cpp: (WebCore::BaseAudioContext::document const): (WebCore::BaseAudioContext::origin const): (WebCore::BaseAudioContext::addConsoleMessage): * Modules/webdatabase/DatabaseContext.cpp: (WebCore::DatabaseContext::allowDatabaseAccess const): (WebCore::DatabaseContext::databaseExceededQuota): (WebCore::DatabaseContext::securityOrigin const): (WebCore::DatabaseContext::isContextThread const): * Modules/webxr/WebXRSystem.cpp: (WebCore::WebXRSystem::DummyInlineDevice::requestFrame): * dom/ActiveDOMObject.cpp: (WebCore::ActiveDOMObject::~ActiveDOMObject): (WebCore::ActiveDOMObject::suspendIfNeeded): * dom/ContextDestructionObserver.h: * dom/MessagePort.cpp: (WebCore::MessagePort::MessagePort): (WebCore::MessagePort::~MessagePort): (WebCore::MessagePort::entangle): (WebCore::MessagePort::postMessage): (WebCore::MessagePort::disentangle): (WebCore::MessagePort::messageAvailable): (WebCore::MessagePort::start): (WebCore::MessagePort::contextDestroyed): (WebCore::MessagePort::dispatchMessages): (WebCore::MessagePort::dispatchEvent): (WebCore::MessagePort::virtualHasPendingActivity const): * html/track/VTTRegion.cpp: (WebCore::VTTRegion::getDisplayTree): (WebCore::VTTRegion::prepareRegionDisplayTree): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/encryptedmedia/CDM.cpp trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySystemRequest.cpp trunk/Source/WebCore/Modules/geolocation/Geolocation.cpp trunk/Source/WebCore/Modules/mediastream/RTCDataChannel.h trunk/Source/WebCore/Modules/mediastream/RTCDtlsTransport.h trunk/Source/WebCore/Modules/mediastream/RTCIceTransport.h trunk/Source/WebCore/Modules/mediastream/RTCSctpTransport.h trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.cpp trunk/Source/WebCore/Modules/webaudio/AudioContext.cpp trunk/Source/WebCore/Modules/webaudio/BaseAudioContext.cpp trunk/Source/WebCore/Modules/webdatabase/DatabaseContext.cpp trunk/Source/WebCore/Modules/webxr/WebXRSystem.cpp trunk/Source/WebCore/dom/ActiveDOMObject.cpp trunk/Source/WebCore/dom/ContextDestructionObserver.h trunk/Source/WebCore/dom/MessagePort.cpp trunk/Source/WebCore/html/track/VTTRegion.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (286917 => 286918) --- trunk/Source/WebCore/ChangeLog 2021-12-11 20:48:55 UTC (rev 286917) +++ trunk/Source/WebCore/ChangeLog 2021-12-12 00:29:03 UTC (rev 286918) @@ -1,3 +1,68 @@ +2021-12-11 Chris Dumez + +ContextDestructionObserver::m_scriptExecutionContext should be private +https://bugs.webkit.org/show_bug.cgi?id=234184 + +Reviewed by Youenn Fablet. + +ContextDestructionObserver::m_scriptExecutionContext should be private. It is poor encapsulation +to have protected data members. + +* Modules/encryptedmedia/CDM.cpp: +(WebCore::CDM::getSupportedConfiguration): +* Modules/encryptedmedia/MediaKeySystemRequest.cpp: +(WebCore::MediaKeySystemRequest::topLevelDocumentOrigin const): +(WebCore::MediaKeySystemRequest::start): +(WebCore::MediaKeySystemRequest::deny): +(WebCore::MediaKeySystemRequest::stop): +(WebCore::MediaKeySystemRequest::document const): +* Modules/geolocation/Geolocation.cpp: +(WebCore::Geolocation::watchPosition): +* Modules/mediastream/RTCDataChannel.h: +* Modules/mediastream/RTCDtlsTransport.h: +* Modules/mediastream/RTCIceTransport.h: +* Modules/mediastream/RTCSctpTransport.h: +*
[webkit-changes] [286917] trunk/Source
Title: [286917] trunk/Source Revision 286917 Author don.olmst...@sony.com Date 2021-12-11 12:48:55 -0800 (Sat, 11 Dec 2021) Log Message Add a std::nullptr_t constructor for RefPtr https://bugs.webkit.org/show_bug.cgi?id=234192 Reviewed by Yusuke Suzuki. Source/WebCore: Remove uses of `0` when creating an empty RefPtr. * accessibility/AccessibilityObject.cpp: (WebCore::Accessibility::findMatchingObjects): * platform/graphics/cairo/CairoUtilities.cpp: (WebCore::drawPatternToCairoContext): * platform/graphics/texmap/TextureMapperGL.cpp: (WebCore::TextureMapperGL::drawTexture): (WebCore::TextureMapperGL::drawTexturePlanarYUV): (WebCore::TextureMapperGL::drawTextureSemiPlanarYUV): (WebCore::TextureMapperGL::drawTexturePackedYUV): * platform/graphics/win/IconWin.cpp: (WebCore::Icon::createIconForFiles): * platform/graphics/win/ImageCGWin.cpp: (WebCore::BitmapImage::create): * platform/graphics/win/ImageCairoWin.cpp: (WebCore::BitmapImage::create): * platform/win/DragImageWin.cpp: (WebCore::dragLabelFont): Source/WebKit: Remove uses of `0` when creating an empty RefPtr. * WebProcess/win/WebProcessWin.cpp: (loadResourceIntoBuffer): Source/WebKitLegacy/win: Remove uses of `0` when creating an empty RefPtr. * FullscreenVideoController.cpp: (FullscreenVideoController::draw): * WebArchive.cpp: (WebArchive::createInstance): Source/WTF: Add the constexpr constructor RefPtr(std::nullptr_t) with the same behavior as the default constructor. Both std::unique_ptr and std::shared_ptr have this same overload to optimize for the nullptr case. As an added bonus this also makes it so `0` can't fill in as a nullptr since the ambiguity will cause a compilation error. * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/RefPtr.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/accessibility/AccessibilityObject.cpp trunk/Source/WebCore/platform/graphics/cairo/CairoUtilities.cpp trunk/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp trunk/Source/WebCore/platform/graphics/win/IconWin.cpp trunk/Source/WebCore/platform/graphics/win/ImageCGWin.cpp trunk/Source/WebCore/platform/graphics/win/ImageCairoWin.cpp trunk/Source/WebCore/platform/win/DragImageWin.cpp trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/win/WebProcessWin.cpp trunk/Source/WebKitLegacy/win/ChangeLog trunk/Source/WebKitLegacy/win/FullscreenVideoController.cpp trunk/Source/WebKitLegacy/win/WebArchive.cpp Diff Modified: trunk/Source/WTF/ChangeLog (286916 => 286917) --- trunk/Source/WTF/ChangeLog 2021-12-11 18:28:39 UTC (rev 286916) +++ trunk/Source/WTF/ChangeLog 2021-12-11 20:48:55 UTC (rev 286917) @@ -1,3 +1,18 @@ +2021-12-11 Don Olmstead + +Add a std::nullptr_t constructor for RefPtr +https://bugs.webkit.org/show_bug.cgi?id=234192 + +Reviewed by Yusuke Suzuki. + +Add the constexpr constructor RefPtr(std::nullptr_t) with the same behavior as the default +constructor. Both std::unique_ptr and std::shared_ptr have this same overload to optimize +for the nullptr case. As an added bonus this also makes it so `0` can't fill in as a +nullptr since the ambiguity will cause a compilation error. + +* wtf/RefPtr.h: +(WTF::RefPtr::RefPtr): + 2021-12-11 Commit Queue Unreviewed, reverting r286893. Modified: trunk/Source/WTF/wtf/RefPtr.h (286916 => 286917) --- trunk/Source/WTF/wtf/RefPtr.h 2021-12-11 18:28:39 UTC (rev 286916) +++ trunk/Source/WTF/wtf/RefPtr.h 2021-12-11 20:48:55 UTC (rev 286917) @@ -58,6 +58,7 @@ static constexpr bool isRefPtr = true; ALWAYS_INLINE constexpr RefPtr() : m_ptr(nullptr) { } +ALWAYS_INLINE constexpr RefPtr(std::nullptr_t) : m_ptr(nullptr) { } ALWAYS_INLINE RefPtr(T* ptr) : m_ptr(ptr) { RefDerefTraits::refIfNotNull(ptr); } ALWAYS_INLINE RefPtr(const RefPtr& o) : m_ptr(o.m_ptr) { RefDerefTraits::refIfNotNull(PtrTraits::unwrap(m_ptr)); } template RefPtr(const RefPtr& o) : m_ptr(o.get()) { RefDerefTraits::refIfNotNull(PtrTraits::unwrap(m_ptr)); } Modified: trunk/Source/WebCore/ChangeLog (286916 => 286917) --- trunk/Source/WebCore/ChangeLog 2021-12-11 18:28:39 UTC (rev 286916) +++ trunk/Source/WebCore/ChangeLog 2021-12-11 20:48:55 UTC (rev 286917) @@ -1,3 +1,30 @@ +2021-12-11 Don Olmstead + +Add a std::nullptr_t constructor for RefPtr +https://bugs.webkit.org/show_bug.cgi?id=234192 + +Reviewed by Yusuke Suzuki. + +Remove uses of `0` when creating an empty RefPtr. + +* accessibility/AccessibilityObject.cpp: +(WebCore::Accessibility::findMatchingObjects): +* platform/graphics/cairo/CairoUtilities.cpp: +(WebCore::drawPatternToCairoContext): +* platform/graphics/texmap/TextureMapperGL.cpp: +(WebCore::TextureMapperGL::drawTexture): +(WebCore::TextureMapperGL::drawTexturePlanarYUV): +(WebCore::TextureMapperGL::drawTextureSemiPlanarYUV): +
[webkit-changes] [286916] trunk/Source
Title: [286916] trunk/Source Revision 286916 Author an...@apple.com Date 2021-12-11 10:28:39 -0800 (Sat, 11 Dec 2021) Log Message Remove redundant StyleRule::Type enum https://bugs.webkit.org/show_bug.cgi?id=234156 Reviewed by Alan Bujtas. Source/WebCore: Remove redundant CSSRule::STYLE_RULE etc enum values and just use StyleRuleType enum class. * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/scripts/CodeGenerator.pm: (GenerateCompileTimeCheckForEnumsIfNeeded): Add 'ConstantsEnum' attribute to generate static_asserts for constants that match an enum class. * bindings/scripts/IDLAttributes.json: * css/CSSCounterStyleRule.h: * css/CSSFontFaceRule.h: * css/CSSFontPaletteValuesRule.h: * css/CSSImportRule.h: * css/CSSKeyframeRule.h: * css/CSSKeyframesRule.h: * css/CSSLayerBlockRule.h: * css/CSSLayerStatementRule.h: * css/CSSMediaRule.h: * css/CSSNamespaceRule.h: * css/CSSPageRule.h: * css/CSSRule.cpp: * css/CSSRule.h: (WebCore::CSSRule::typeForBindings const): * css/CSSRule.idl: * css/CSSStyleRule.h: * css/CSSSupportsRule.h: * css/CSSUnknownRule.h: * css/StyleRuleType.h: * style/InspectorCSSOMWrappers.cpp: (WebCore::Style::InspectorCSSOMWrappers::collect): Source/WebKitLegacy/mac: * DOM/DOMCSS.mm: (kitClass): * DOM/DOMCSSRule.mm: (-[DOMCSSRule type]): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/js/JSCSSRuleCustom.cpp trunk/Source/WebCore/bindings/scripts/CodeGenerator.pm trunk/Source/WebCore/bindings/scripts/IDLAttributes.json trunk/Source/WebCore/css/CSSCounterStyleRule.h trunk/Source/WebCore/css/CSSFontFaceRule.h trunk/Source/WebCore/css/CSSFontPaletteValuesRule.h trunk/Source/WebCore/css/CSSImportRule.h trunk/Source/WebCore/css/CSSKeyframeRule.h trunk/Source/WebCore/css/CSSKeyframesRule.h trunk/Source/WebCore/css/CSSLayerBlockRule.h trunk/Source/WebCore/css/CSSLayerStatementRule.h trunk/Source/WebCore/css/CSSMediaRule.h trunk/Source/WebCore/css/CSSNamespaceRule.h trunk/Source/WebCore/css/CSSPageRule.h trunk/Source/WebCore/css/CSSRule.cpp trunk/Source/WebCore/css/CSSRule.h trunk/Source/WebCore/css/CSSRule.idl trunk/Source/WebCore/css/CSSStyleRule.h trunk/Source/WebCore/css/CSSSupportsRule.h trunk/Source/WebCore/css/CSSUnknownRule.h trunk/Source/WebCore/css/StyleRule.cpp trunk/Source/WebCore/css/StyleRuleType.h trunk/Source/WebCore/css/StyleSheetContents.cpp trunk/Source/WebCore/style/InspectorCSSOMWrappers.cpp trunk/Source/WebKitLegacy/mac/ChangeLog trunk/Source/WebKitLegacy/mac/DOM/DOMCSS.mm trunk/Source/WebKitLegacy/mac/DOM/DOMCSSRule.mm Diff Modified: trunk/Source/WebCore/ChangeLog (286915 => 286916) --- trunk/Source/WebCore/ChangeLog 2021-12-11 18:20:09 UTC (rev 286915) +++ trunk/Source/WebCore/ChangeLog 2021-12-11 18:28:39 UTC (rev 286916) @@ -1,3 +1,42 @@ +2021-12-11 Antti Koivisto + +Remove redundant StyleRule::Type enum +https://bugs.webkit.org/show_bug.cgi?id=234156 + +Reviewed by Alan Bujtas. + +Remove redundant CSSRule::STYLE_RULE etc enum values and just use StyleRuleType enum class. + +* bindings/js/JSCSSRuleCustom.cpp: +(WebCore::toJSNewlyCreated): +* bindings/scripts/CodeGenerator.pm: +(GenerateCompileTimeCheckForEnumsIfNeeded): + +Add 'ConstantsEnum' attribute to generate static_asserts for constants that match an enum class. + +* bindings/scripts/IDLAttributes.json: +* css/CSSCounterStyleRule.h: +* css/CSSFontFaceRule.h: +* css/CSSFontPaletteValuesRule.h: +* css/CSSImportRule.h: +* css/CSSKeyframeRule.h: +* css/CSSKeyframesRule.h: +* css/CSSLayerBlockRule.h: +* css/CSSLayerStatementRule.h: +* css/CSSMediaRule.h: +* css/CSSNamespaceRule.h: +* css/CSSPageRule.h: +* css/CSSRule.cpp: +* css/CSSRule.h: +(WebCore::CSSRule::typeForBindings const): +* css/CSSRule.idl: +* css/CSSStyleRule.h: +* css/CSSSupportsRule.h: +* css/CSSUnknownRule.h: +* css/StyleRuleType.h: +* style/InspectorCSSOMWrappers.cpp: +(WebCore::Style::InspectorCSSOMWrappers::collect): + 2021-12-11 Antoine Quint Expose a frameRate property to Web Animations Modified: trunk/Source/WebCore/bindings/js/JSCSSRuleCustom.cpp (286915 => 286916) --- trunk/Source/WebCore/bindings/js/JSCSSRuleCustom.cpp 2021-12-11 18:20:09 UTC (rev 286915) +++ trunk/Source/WebCore/bindings/js/JSCSSRuleCustom.cpp 2021-12-11 18:28:39 UTC (rev 286916) @@ -69,36 +69,37 @@ JSValue toJSNewlyCreated(JSGlobalObject*, JSDOMGlobalObject* globalObject, Ref&& rule) { -switch (rule->type()) { -case CSSRule::STYLE_RULE: +switch (rule->styleRuleType()) { +case StyleRuleType::Style: return createWrapper(globalObject, WTFMove(rule)); -case CSSRule::MEDIA_RULE: +case StyleRuleType::Media: return createWrapper(globalObject, WTFMove(rule)); -case CSSRule::FONT_FACE_RULE: +case
[webkit-changes] [286915] trunk
Title: [286915] trunk Revision 286915 Author grao...@webkit.org Date 2021-12-11 10:20:09 -0800 (Sat, 11 Dec 2021) Log Message Expose a frameRate property to Web Animations https://bugs.webkit.org/show_bug.cgi?id=234174 rdar://86338983 Reviewed by Dean Jackson. LayoutTests/imported/w3c: Rebaseline the output of a Web Animations WPT which lists all enumerable Animation properties. * web-platform-tests/web-animations/interfaces/Animation/style-change-events-expected.txt: Source/WebCore: Expose a new frameRate property to the Animation interface. This property accepts either a value from the new AnimationFrameRatePreset enum (auto, low, high or highest) or a FramesPerSecond explicit value. This property is governed by an off-by-default runtime setting. When we obtain the frame rate from the IDL bindings, we record an "effective" frame rate which is either a null value for the default frame rate, or an explicit FramesPerSecond value for any value above or below it. Test: webanimations/frame-rate/animation-frame-rate.html * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Headers.cmake: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * animation/AnimationFrameRatePreset.h: Added. * animation/AnimationFrameRatePreset.idl: Added. * animation/WebAnimation.cpp: (WebCore::WebAnimation::setBindingsFrameRate): (WebCore::WebAnimation::setEffectiveFrameRate): * animation/WebAnimation.h: (WebCore::WebAnimation::bindingsFrameRate const): (WebCore::WebAnimation::frameRate const): * animation/WebAnimation.idl: LayoutTests: Add a new test checking whether valid values are accepted and invalid values rejected without effect. * webanimations/frame-rate/animation-frame-rate-expected.txt: Added. * webanimations/frame-rate/animation-frame-rate.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/style-change-events-expected.txt trunk/Source/WebCore/CMakeLists.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/DerivedSources-input.xcfilelist trunk/Source/WebCore/DerivedSources-output.xcfilelist trunk/Source/WebCore/DerivedSources.make trunk/Source/WebCore/Headers.cmake trunk/Source/WebCore/Sources.txt trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/animation/WebAnimation.cpp trunk/Source/WebCore/animation/WebAnimation.h trunk/Source/WebCore/animation/WebAnimation.idl Added Paths trunk/LayoutTests/webanimations/frame-rate/ trunk/LayoutTests/webanimations/frame-rate/animation-frame-rate-expected.txt trunk/LayoutTests/webanimations/frame-rate/animation-frame-rate.html trunk/Source/WebCore/animation/AnimationFrameRatePreset.h trunk/Source/WebCore/animation/AnimationFrameRatePreset.idl Diff Modified: trunk/LayoutTests/ChangeLog (286914 => 286915) --- trunk/LayoutTests/ChangeLog 2021-12-11 18:17:29 UTC (rev 286914) +++ trunk/LayoutTests/ChangeLog 2021-12-11 18:20:09 UTC (rev 286915) @@ -1,3 +1,17 @@ +2021-12-11 Antoine Quint + +Expose a frameRate property to Web Animations +https://bugs.webkit.org/show_bug.cgi?id=234174 +rdar://86338983 + +Reviewed by Dean Jackson. + +Add a new test checking whether valid values are accepted and invalid values +rejected without effect. + +* webanimations/frame-rate/animation-frame-rate-expected.txt: Added. +* webanimations/frame-rate/animation-frame-rate.html: Added. + 2021-12-11 Jer Noble Add an experimental trackConfiguration accessor on AudioTrack & VideoTrack. Modified: trunk/LayoutTests/imported/w3c/ChangeLog (286914 => 286915) --- trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-11 18:17:29 UTC (rev 286914) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-11 18:20:09 UTC (rev 286915) @@ -1,3 +1,15 @@ +2021-12-11 Antoine Quint + +Expose a frameRate property to Web Animations +https://bugs.webkit.org/show_bug.cgi?id=234174 +rdar://86338983 + +Reviewed by Dean Jackson. + +Rebaseline the output of a Web Animations WPT which lists all enumerable Animation properties. + +* web-platform-tests/web-animations/interfaces/Animation/style-change-events-expected.txt: + 2021-12-10 Chris Dumez Implement AbortSignal.throwIfAborted Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/style-change-events-expected.txt (286914 => 286915) --- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/style-change-events-expected.txt 2021-12-11 18:17:29 UTC (rev 286914) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/style-change-events-expected.txt 2021-12-11 18:20:09 UTC (rev 286915) @@ -6,6 +6,7 @@ PASS Animation.startTime produces expected style change events PASS Animation.currentTime
[webkit-changes] [286914] trunk/Source
Title: [286914] trunk/Source Revision 286914 Author lmo...@igalia.com Date 2021-12-11 10:17:29 -0800 (Sat, 11 Dec 2021) Log Message Non-unified build fixes, mid mid December 2021 edition https://bugs.webkit.org/show_bug.cgi?id=234191 Unreviewed build fix. A few more fixes already a couple of days after the last fix. Full build still failing due to the issue discussed on bug226088. All changes are inclusion of missing headers. Source/WebCore: * html/shadow/DateTimeEditElement.cpp: * platform/graphics/displaylists/DisplayListRecorder.cpp: * workers/WorkerDebuggerProxy.h: * workers/shared/SharedWorkerManager.cpp: * workers/shared/SharedWorkerProxy.cpp: * workers/shared/SharedWorkerScriptLoader.cpp: * workers/shared/SharedWorkerScriptLoader.h: * workers/shared/SharedWorkerThread.cpp: Source/WebKit: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDListElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDirectoryElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMenuElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/shadow/DateTimeEditElement.cpp trunk/Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp trunk/Source/WebCore/workers/WorkerDebuggerProxy.h trunk/Source/WebCore/workers/shared/SharedWorkerManager.cpp trunk/Source/WebCore/workers/shared/SharedWorkerProxy.cpp trunk/Source/WebCore/workers/shared/SharedWorkerScriptLoader.cpp trunk/Source/WebCore/workers/shared/SharedWorkerScriptLoader.h trunk/Source/WebCore/workers/shared/SharedWorkerThread.cpp trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDListElement.cpp trunk/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDirectoryElement.cpp trunk/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMenuElement.cpp trunk/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.cpp trunk/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.cpp trunk/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (286913 => 286914) --- trunk/Source/WebCore/ChangeLog 2021-12-11 16:59:05 UTC (rev 286913) +++ trunk/Source/WebCore/ChangeLog 2021-12-11 18:17:29 UTC (rev 286914) @@ -1,3 +1,25 @@ +2021-12-11 Lauro Moura + +Non-unified build fixes, mid mid December 2021 edition +https://bugs.webkit.org/show_bug.cgi?id=234191 + +Unreviewed build fix. + +A few more fixes already a couple of days after the last fix. + +Full build still failing due to the issue discussed on bug226088. + +All changes are inclusion of missing headers. + +* html/shadow/DateTimeEditElement.cpp: +* platform/graphics/displaylists/DisplayListRecorder.cpp: +* workers/WorkerDebuggerProxy.h: +* workers/shared/SharedWorkerManager.cpp: +* workers/shared/SharedWorkerProxy.cpp: +* workers/shared/SharedWorkerScriptLoader.cpp: +* workers/shared/SharedWorkerScriptLoader.h: +* workers/shared/SharedWorkerThread.cpp: + 2021-12-11 Mark Lam Automatically forbid JS execution when we throw a TerminationException. Modified: trunk/Source/WebCore/html/shadow/DateTimeEditElement.cpp (286913 => 286914) --- trunk/Source/WebCore/html/shadow/DateTimeEditElement.cpp 2021-12-11 16:59:05 UTC (rev 286913) +++ trunk/Source/WebCore/html/shadow/DateTimeEditElement.cpp 2021-12-11 18:17:29 UTC (rev 286914) @@ -34,6 +34,8 @@ #include "DateTimeFieldsState.h" #include "DateTimeFormat.h" #include "DateTimeSymbolicFieldElement.h" +#include "Document.h" +#include "Event.h" #include "HTMLNames.h" #include "PlatformLocale.h" #include "ShadowPseudoIds.h" Modified: trunk/Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp (286913 => 286914) --- trunk/Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp 2021-12-11 16:59:05 UTC (rev 286913) +++ trunk/Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp 2021-12-11 18:17:29 UTC (rev 286914) @@ -29,6 +29,7 @@ #include "DisplayList.h" #include "DisplayListDrawingContext.h" #include "DisplayListItems.h" +#include "Filter.h" #include "GraphicsContext.h" #include "ImageBuffer.h" #include "Logging.h" Modified: trunk/Source/WebCore/workers/WorkerDebuggerProxy.h (286913 => 286914) --- trunk/Source/WebCore/workers/WorkerDebuggerProxy.h 2021-12-11 16:59:05 UTC (rev 286913) +++ trunk/Source/WebCore/workers/WorkerDebuggerProxy.h 2021-12-11 18:17:29 UTC (rev 286914) @@ -30,6 +30,8 @@ #pragma once +#include + namespace WebCore { class WorkerDebuggerProxy { Modified:
[webkit-changes] [286913] trunk/Source
Title: [286913] trunk/Source Revision 286913 Author mark@apple.com Date 2021-12-11 08:59:05 -0800 (Sat, 11 Dec 2021) Log Message Automatically forbid JS execution when we throw a TerminationException. https://bugs.webkit.org/show_bug.cgi?id=234188 Reviewed by Yusuke Suzuki. Source/_javascript_Core: For Worker threads, we throw a TerminationException when Worker.terminate() is called. Once the TerminationException is thrown, we expect to completely unwind out of any JS frames on the stack, and we also expect the client to never call into JS again. Previously, WebCore will call VM:setExecutionForbidden() to flag that we should not re-enter the VM anymore. On JSC side, this executionForbidden() is used to prevent micro-tasks from firing. On WebCore side, it is used to prevent many things from running, including firing events. Previously, we reply on WebCore side to catch the TerminationException, determine that it is the TerminationException, and then call VM:setExecutionForbidden(). This is tedious and error prone as there may be places in WebCore that should call VM:setExecutionForbidden() but is missed. This has been the source of some bugs with the handling of the Worker termination in the past. In this patch, we change VM to setExecutionForbidden() immediately when we throw the TerminationException, but only if VM::m_executionForbiddenOnTermination is set. Currently, we'll only set VM:m_executionForbiddenOnTermination for Workers because for legacy reasons, other clients of JSC has the ability to re-enter the VM after a TerminationException unwinds out (which is ok to do when used under some controlled conditions). Until we can determine that it is safe to adopt this "execution forbidden on termination" behavior universally, we'll adopt it only for workers. In a subsequent patch, we can also look into removing all the places in WebCore that checks for TerminationException in order to call VM:setExecutionForbidden(). We'll leave those in place for now though they should be redundant after this patch. Also add some ASSERTs to document invariants regarding states used in the handing of TerminationException. * runtime/VM.cpp: (JSC::VM::setException): (JSC::VM::throwTerminationException): * runtime/VM.h: (JSC::VM::forbidExecutionOnTermination): Source/WebCore: Enable "execution forbidden on termination" behavior for workers. * workers/WorkerOrWorkletScriptController.cpp: (WebCore::WorkerOrWorkletScriptController::WorkerOrWorkletScriptController): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/VM.cpp trunk/Source/_javascript_Core/runtime/VM.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/workers/WorkerOrWorkletScriptController.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (286912 => 286913) --- trunk/Source/_javascript_Core/ChangeLog 2021-12-11 16:55:07 UTC (rev 286912) +++ trunk/Source/_javascript_Core/ChangeLog 2021-12-11 16:59:05 UTC (rev 286913) @@ -1,3 +1,46 @@ +2021-12-11 Mark Lam + +Automatically forbid JS execution when we throw a TerminationException. +https://bugs.webkit.org/show_bug.cgi?id=234188 + +Reviewed by Yusuke Suzuki. + +For Worker threads, we throw a TerminationException when Worker.terminate() is +called. Once the TerminationException is thrown, we expect to completely unwind +out of any JS frames on the stack, and we also expect the client to never call +into JS again. Previously, WebCore will call VM:setExecutionForbidden() to flag +that we should not re-enter the VM anymore. On JSC side, this executionForbidden() +is used to prevent micro-tasks from firing. On WebCore side, it is used to prevent +many things from running, including firing events. + +Previously, we reply on WebCore side to catch the TerminationException, determine +that it is the TerminationException, and then call VM:setExecutionForbidden(). +This is tedious and error prone as there may be places in WebCore that should call +VM:setExecutionForbidden() but is missed. This has been the source of some bugs +with the handling of the Worker termination in the past. + +In this patch, we change VM to setExecutionForbidden() immediately when we throw +the TerminationException, but only if VM::m_executionForbiddenOnTermination is set. +Currently, we'll only set VM:m_executionForbiddenOnTermination for Workers because +for legacy reasons, other clients of JSC has the ability to re-enter the VM after +a TerminationException unwinds out (which is ok to do when used under some +controlled conditions). Until we can determine that it is safe to adopt this +"execution forbidden on termination" behavior universally, we'll adopt it only for +workers. + +In a subsequent patch, we can also look into removing all the places in WebCore +
[webkit-changes] [286912] trunk/Source/WebCore
Title: [286912] trunk/Source/WebCore Revision 286912 Author mark@apple.com Date 2021-12-11 08:55:07 -0800 (Sat, 11 Dec 2021) Log Message WebCore::createDOMException() should abort early if termination is pending. https://bugs.webkit.org/show_bug.cgi?id=234190 Reviewed by Darin Adler. Attempting to create Error objects may re-enter the VM, which we should not do when termination is pending. This issue manifested as an ASSERT failure, and was discovered while running http/wpt/fetch/ layout tests with a Debug build on an M1 Mac. It also manifested on some testing bots. * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::createDOMException): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/js/JSDOMExceptionHandling.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (286911 => 286912) --- trunk/Source/WebCore/ChangeLog 2021-12-11 15:33:16 UTC (rev 286911) +++ trunk/Source/WebCore/ChangeLog 2021-12-11 16:55:07 UTC (rev 286912) @@ -1,3 +1,20 @@ +2021-12-11 Mark Lam + +WebCore::createDOMException() should abort early if termination is pending. +https://bugs.webkit.org/show_bug.cgi?id=234190 + +Reviewed by Darin Adler. + +Attempting to create Error objects may re-enter the VM, which we should not do +when termination is pending. + +This issue manifested as an ASSERT failure, and was discovered while running +http/wpt/fetch/ layout tests with a Debug build on an M1 Mac. It also manifested +on some testing bots. + +* bindings/js/JSDOMExceptionHandling.cpp: +(WebCore::createDOMException): + 2021-12-11 Commit Queue Unreviewed, reverting r286893. Modified: trunk/Source/WebCore/bindings/js/JSDOMExceptionHandling.cpp (286911 => 286912) --- trunk/Source/WebCore/bindings/js/JSDOMExceptionHandling.cpp 2021-12-11 15:33:16 UTC (rev 286911) +++ trunk/Source/WebCore/bindings/js/JSDOMExceptionHandling.cpp 2021-12-11 16:55:07 UTC (rev 286912) @@ -140,6 +140,10 @@ JSValue createDOMException(JSGlobalObject* lexicalGlobalObject, ExceptionCode ec, const String& message) { +VM& vm = lexicalGlobalObject->vm(); +if (UNLIKELY(vm.hasPendingTerminationException())) +return jsUndefined(); + switch (ec) { case ExistingExceptionError: return jsUndefined(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [286910] trunk
Title: [286910] trunk Revision 286910 Author aakash_j...@apple.com Date 2021-12-11 06:37:43 -0800 (Sat, 11 Dec 2021) Log Message Update my github username. Unreviewed. * metadata/contributors.json: Modified Paths trunk/ChangeLog trunk/metadata/contributors.json Diff Modified: trunk/ChangeLog (286909 => 286910) --- trunk/ChangeLog 2021-12-11 13:36:37 UTC (rev 286909) +++ trunk/ChangeLog 2021-12-11 14:37:43 UTC (rev 286910) @@ -1,3 +1,11 @@ +2021-12-11 Aakash Jain + +Update my github username. + +Unreviewed. + +* metadata/contributors.json: + 2021-12-10 Mikhail R. Gadelha Mark myself (Mikhail R. Gadelha) as committer Modified: trunk/metadata/contributors.json (286909 => 286910) --- trunk/metadata/contributors.json 2021-12-11 13:36:37 UTC (rev 286909) +++ trunk/metadata/contributors.json 2021-12-11 14:37:43 UTC (rev 286910) @@ -4,7 +4,7 @@ "aakash_j...@apple.com", "aj...@cornell.edu" ], - "github" : "aakashja", + "github" : "jain-aakash", "name" : "Aakash Jain", "nicks" : [ "aakash_jain" @@ -7073,4 +7073,4 @@ ], "status" : "reviewer" } -] \ 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] [286909] trunk/Source/WebCore
Title: [286909] trunk/Source/WebCore Revision 286909 Author jh718.p...@samsung.com Date 2021-12-11 05:36:37 -0800 (Sat, 11 Dec 2021) Log Message Unreviewed. CSSCalcOperationNode::allowsNegativePercentageReference() should be const member function. In r286897, the above method's const keyword was missed out, so add it. No new tests, no new behaviours. * css/calc/CSSCalcOperationNode.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/calc/CSSCalcOperationNode.h Diff Modified: trunk/Source/WebCore/ChangeLog (286908 => 286909) --- trunk/Source/WebCore/ChangeLog 2021-12-11 09:00:51 UTC (rev 286908) +++ trunk/Source/WebCore/ChangeLog 2021-12-11 13:36:37 UTC (rev 286909) @@ -1,3 +1,13 @@ +2021-12-11 Joonghun Park + +Unreviewed. CSSCalcOperationNode::allowsNegativePercentageReference() should be const member function. + +In r286897, the above method's const keyword was missed out, so add it. + +No new tests, no new behaviours. + +* css/calc/CSSCalcOperationNode.h: + 2021-12-11 Jer Noble Add an experimental trackConfiguration accessor on AudioTrack & VideoTrack. Modified: trunk/Source/WebCore/css/calc/CSSCalcOperationNode.h (286908 => 286909) --- trunk/Source/WebCore/css/calc/CSSCalcOperationNode.h 2021-12-11 09:00:51 UTC (rev 286908) +++ trunk/Source/WebCore/css/calc/CSSCalcOperationNode.h 2021-12-11 13:36:37 UTC (rev 286909) @@ -73,7 +73,7 @@ bool canCombineAllChildren() const; -bool allowsNegativePercentageReference() { return m_allowsNegativePercentageReference; } +bool allowsNegativePercentageReference() const { return m_allowsNegativePercentageReference; } void setAllowsNegativePercentageReference() { m_allowsNegativePercentageReference = true; } bool isIdentity() const { return m_children.size() == 1 && (m_operator == CalcOperator::Min || m_operator == CalcOperator::Max || m_operator == CalcOperator::Add || m_operator == CalcOperator::Multiply); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [286907] trunk/Source/WebCore
Title: [286907] trunk/Source/WebCore Revision 286907 Author jer.no...@apple.com Date 2021-12-11 00:47:27 -0800 (Sat, 11 Dec 2021) Log Message [Cocoa] -[AVPlayerItem liveUpdateInterval] can hang the main thread for ~60ms https://bugs.webkit.org/show_bug.cgi?id=234131 Reviewed by Eric Carlson. Direct property access of AVFoundation objects can take tens of milliseconds to return a value, even for simple properties. This impacts scrolling responsiveness. -liveUpdateInterval is not KVO-observable, but only changes when -seekableTimeRanges does as well. Query and cache that property during KVO of -seekableTimeRanges. * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::seekableTimeRangesLastModifiedTime const): (WebCore::MediaPlayerPrivateAVFoundationObjC::liveUpdateInterval const): (WebCore::MediaPlayerPrivateAVFoundationObjC::seekableTimeRangesDidChange): (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm Diff Modified: trunk/Source/WebCore/ChangeLog (286906 => 286907) --- trunk/Source/WebCore/ChangeLog 2021-12-11 08:01:17 UTC (rev 286906) +++ trunk/Source/WebCore/ChangeLog 2021-12-11 08:47:27 UTC (rev 286907) @@ -1,3 +1,23 @@ +2021-12-11 Jer Noble + +[Cocoa] -[AVPlayerItem liveUpdateInterval] can hang the main thread for ~60ms +https://bugs.webkit.org/show_bug.cgi?id=234131 + +Reviewed by Eric Carlson. + +Direct property access of AVFoundation objects can take tens of milliseconds to return +a value, even for simple properties. This impacts scrolling responsiveness. + +-liveUpdateInterval is not KVO-observable, but only changes when -seekableTimeRanges does +as well. Query and cache that property during KVO of -seekableTimeRanges. + +* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: +* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: +(WebCore::MediaPlayerPrivateAVFoundationObjC::seekableTimeRangesLastModifiedTime const): +(WebCore::MediaPlayerPrivateAVFoundationObjC::liveUpdateInterval const): +(WebCore::MediaPlayerPrivateAVFoundationObjC::seekableTimeRangesDidChange): +(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]): + 2021-12-10 Simon Fraser Scrolling can drop frames when CoreAnimation commits take a long time Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h (286906 => 286907) --- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h 2021-12-11 08:01:17 UTC (rev 286906) +++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h 2021-12-11 08:47:27 UTC (rev 286907) @@ -53,6 +53,7 @@ typedef struct CGImage *CGImageRef; typedef struct __CVBuffer *CVPixelBufferRef; typedef NSString *AVMediaCharacteristic; +typedef double NSTimeInterval; namespace WebCore { @@ -101,7 +102,7 @@ void playbackBufferFullWillChange(); void playbackBufferFullDidChange(bool); void loadedTimeRangesDidChange(RetainPtr&&); -void seekableTimeRangesDidChange(RetainPtr&&); +void seekableTimeRangesDidChange(RetainPtr&&, NSTimeInterval, NSTimeInterval); void tracksDidChange(const RetainPtr&); void hasEnabledAudioDidChange(bool); void presentationSizeDidChange(FloatSize); @@ -461,6 +462,8 @@ RetainPtr m_videoFrameMetadataGatheringObserver; bool m_isGatheringVideoFrameMetadata { false }; std::optional m_videoFrameMetadata; +mutable std::optional m_cachedSeekableTimeRangesLastModifiedTime; +mutable std::optional m_cachedLiveUpdateInterval; }; } Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm (286906 => 286907) --- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm 2021-12-11 08:01:17 UTC (rev 286906) +++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm 2021-12-11 08:47:27 UTC (rev 286907) @@ -102,6 +102,7 @@ #import #import #import +#import #import #import #import @@ -183,6 +184,7 @@ { WeakPtr m_player; int m_delayCallbacks; +RefPtr m_backgroundQueue; } -(id)initWithPlayer:(WeakPtr&&)callback; -(void)disconnect; @@ -1677,7 +1679,9 @@ double MediaPlayerPrivateAVFoundationObjC::seekableTimeRangesLastModifiedTime() const { #if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) -return [m_avPlayerItem
[webkit-changes] [286906] trunk/LayoutTests
Title: [286906] trunk/LayoutTests Revision 286906 Author mmaxfi...@apple.com Date 2021-12-11 00:01:17 -0800 (Sat, 11 Dec 2021) Log Message Test gardening after r286889. https://bugs.webkit.org/show_bug.cgi?id=234171 Unreviewed. * platform/mac/TestExpectations: * platform/win/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/mac/TestExpectations trunk/LayoutTests/platform/win/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (286905 => 286906) --- trunk/LayoutTests/ChangeLog 2021-12-11 07:17:48 UTC (rev 286905) +++ trunk/LayoutTests/ChangeLog 2021-12-11 08:01:17 UTC (rev 286906) @@ -1,3 +1,13 @@ +2021-12-10 Myles C. Maxfield + +Test gardening after r286889. +https://bugs.webkit.org/show_bug.cgi?id=234171 + +Unreviewed. + +* platform/mac/TestExpectations: +* platform/win/TestExpectations: + 2021-12-10 Alexey Shvayka Setting "onselectionchange" content attribute should add an event listener Modified: trunk/LayoutTests/platform/mac/TestExpectations (286905 => 286906) --- trunk/LayoutTests/platform/mac/TestExpectations 2021-12-11 07:17:48 UTC (rev 286905) +++ trunk/LayoutTests/platform/mac/TestExpectations 2021-12-11 08:01:17 UTC (rev 286906) @@ -2429,3 +2429,6 @@ webkit.org/b/226826 [ Monterey ] http/tests/ssl/applepay/ApplePayButton.html [ Failure ] webkit.org/b/221230 [ BigSur+ ] imported/w3c/web-platform-tests/media-source/mediasource-addsourcebuffer.html [ Pass Failure ] + +# OT-SVG is not implemented on Catalina. +[ Catalina ] fast/text/otsvg-canvas.html [ ImageOnlyFailure ] Modified: trunk/LayoutTests/platform/win/TestExpectations (286905 => 286906) --- trunk/LayoutTests/platform/win/TestExpectations 2021-12-11 07:17:48 UTC (rev 286905) +++ trunk/LayoutTests/platform/win/TestExpectations 2021-12-11 08:01:17 UTC (rev 286906) @@ -4762,3 +4762,6 @@ webkit.org/b/232703 webanimations/no-style-updates-for-animated-sibling-elements-accelerated.html [ Failure ] webkit.org/b/233887 webanimations/custom-effect [ Failure ] + +# OT-SVG is not implemented on Windows. +fast/text/otsvg-canvas.html [ ImageOnlyFailure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes