[webkit-changes] [290545] trunk
Title: [290545] trunk Revision 290545 Author simon.fra...@apple.com Date 2022-02-25 23:58:41 -0800 (Fri, 25 Feb 2022) Log Message Scrollbars disappear when very long or wide https://bugs.webkit.org/show_bug.cgi?id=237232 Source/WebCore: Reviewed by Tim Horton. Our tiling logic does not play nicely with AppKit's NSScrollerImps, probably because we inadvertently unparent its layers. Fix by disallowing GraphicsLayers for scrollbars from going into tiled mode, for both root and overflow scrollbars. Test: fast/scrolling/mac/scrollbars/very-wide-overlay-scrollbar.html * platform/graphics/GraphicsLayer.cpp: (WebCore::GraphicsLayer::GraphicsLayer): * platform/graphics/GraphicsLayer.h: (WebCore::GraphicsLayer::setAllowsTiling): (WebCore::GraphicsLayer::allowsTiling const): * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::requiresTiledLayer const): * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateOverflowControlsLayers): * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateOverflowControlsLayers): LayoutTests: Reviewed by Tim Horton. * fast/scrolling/mac/scrollbars/very-wide-overlay-scrollbar-expected-mismatch.html: Added. * fast/scrolling/mac/scrollbars/very-wide-overlay-scrollbar.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/GraphicsLayer.cpp trunk/Source/WebCore/platform/graphics/GraphicsLayer.h trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp trunk/Source/WebCore/rendering/RenderLayerBacking.cpp trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp Added Paths trunk/LayoutTests/fast/scrolling/mac/scrollbars/very-wide-overlay-scrollbar-expected-mismatch.html trunk/LayoutTests/fast/scrolling/mac/scrollbars/very-wide-overlay-scrollbar.html Diff Modified: trunk/LayoutTests/ChangeLog (290544 => 290545) --- trunk/LayoutTests/ChangeLog 2022-02-26 05:42:38 UTC (rev 290544) +++ trunk/LayoutTests/ChangeLog 2022-02-26 07:58:41 UTC (rev 290545) @@ -1,3 +1,13 @@ +2022-02-25 Simon Fraser + +Scrollbars disappear when very long or wide +https://bugs.webkit.org/show_bug.cgi?id=237232 + +Reviewed by Tim Horton. + +* fast/scrolling/mac/scrollbars/very-wide-overlay-scrollbar-expected-mismatch.html: Added. +* fast/scrolling/mac/scrollbars/very-wide-overlay-scrollbar.html: Added. + 2022-02-25 Chris Dumez SharedArrayBuffer posted to AudioWorkletProcessor is not actually shared with the main thread Added: trunk/LayoutTests/fast/scrolling/mac/scrollbars/very-wide-overlay-scrollbar-expected-mismatch.html (0 => 290545) --- trunk/LayoutTests/fast/scrolling/mac/scrollbars/very-wide-overlay-scrollbar-expected-mismatch.html (rev 0) +++ trunk/LayoutTests/fast/scrolling/mac/scrollbars/very-wide-overlay-scrollbar-expected-mismatch.html 2022-02-26 07:58:41 UTC (rev 290545) @@ -0,0 +1,35 @@ + + + + +.scroller { +height: 200px; +width: 2096px; /* Wider than the 2048 tiling threshold */ +border: 1px solid black; +overflow-x: scroll; +} + +.content { +width: 200%; +} + + +if (window.testRunner) +testRunner.waitUntilDone(); + +if (window.internals) +internals.setUsesOverlayScrollbars(true); + +window.addEventListener('load', () => { +setTimeout(() => { +testRunner.notifyDone(); +}, 0); +}, false); + + + + +Scrolled content + + + Added: trunk/LayoutTests/fast/scrolling/mac/scrollbars/very-wide-overlay-scrollbar.html (0 => 290545) --- trunk/LayoutTests/fast/scrolling/mac/scrollbars/very-wide-overlay-scrollbar.html (rev 0) +++ trunk/LayoutTests/fast/scrolling/mac/scrollbars/very-wide-overlay-scrollbar.html 2022-02-26 07:58:41 UTC (rev 290545) @@ -0,0 +1,49 @@ + + + + +.scroller { +height: 200px; +width: 2096px; /* Wider than the 2048 tiling threshold */ +border: 1px solid black; +overflow-x: scroll; +} + +.content { +width: 200%; +} + + +if (window.testRunner) +testRunner.waitUntilDone(); + +if (window.internals) +internals.setUsesOverlayScrollbars(true); + +async function runTest() +{ +let scroller = document.querySelector('.scroller'); +await UIHelper.mouseWheelMayBeginAt(100, 100); +await UIHelper.waitForCondition(() => { +let state = internals.horizontalScrollbarState(scroller); +console.log(state); +return state.indexOf('visible_thumb') != -1; +}); + +testRunner.notifyDone(); +} + +window.addEventListener('load', () => { +
[webkit-changes] [290544] trunk
Title: [290544] trunk Revision 290544 Author sihui_...@apple.com Date 2022-02-25 21:42:38 -0800 (Fri, 25 Feb 2022) Log Message [macOS] TestWebKitAPI.WebKit.MigrateLocalStorageDataToGeneralStorageDirectory is a flaky failure https://bugs.webkit.org/show_bug.cgi?id=237065 Reviewed by Alexey Proskuryakov. Source/WebKit: Commit transactions of SQLiteStorageArea at exit of network process. * NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::didClose): * NetworkProcess/storage/SQLiteStorageArea.cpp: (WebKit::commitTransactionsAtExit): (WebKit::SQLiteStorageArea::SQLiteStorageArea): (WebKit::SQLiteStorageArea::startTransactionIfNecessary): (WebKit::SQLiteStorageArea::commitTransactionIfNecessary): Tools: * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: (TEST): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp trunk/Source/WebKit/NetworkProcess/storage/SQLiteStorageArea.cpp trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm Diff Modified: trunk/Source/WebKit/ChangeLog (290543 => 290544) --- trunk/Source/WebKit/ChangeLog 2022-02-26 05:38:48 UTC (rev 290543) +++ trunk/Source/WebKit/ChangeLog 2022-02-26 05:42:38 UTC (rev 290544) @@ -1,3 +1,21 @@ +2022-02-25 Sihui Liu + +[macOS] TestWebKitAPI.WebKit.MigrateLocalStorageDataToGeneralStorageDirectory is a flaky failure +https://bugs.webkit.org/show_bug.cgi?id=237065 + + +Reviewed by Alexey Proskuryakov. + +Commit transactions of SQLiteStorageArea at exit of network process. + +* NetworkProcess/NetworkProcess.cpp: +(WebKit::NetworkProcess::didClose): +* NetworkProcess/storage/SQLiteStorageArea.cpp: +(WebKit::commitTransactionsAtExit): +(WebKit::SQLiteStorageArea::SQLiteStorageArea): +(WebKit::SQLiteStorageArea::startTransactionIfNecessary): +(WebKit::SQLiteStorageArea::commitTransactionIfNecessary): + 2022-02-25 Wenson Hsieh Adjust -[WKContentView _requiresKeyboardWhenFirstResponder] to account for editable web views Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (290543 => 290544) --- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2022-02-26 05:38:48 UTC (rev 290543) +++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2022-02-26 05:42:38 UTC (rev 290544) @@ -261,9 +261,10 @@ stopRunLoop(); }); -// Make sure we flush all cookies to disk before exiting. forEachNetworkSession([&] (auto& session) { platformFlushCookies(session.sessionID(), [callbackAggregator] { }); +if (auto* storageManager = session.storageManager()) +storageManager->syncLocalStorage([callbackAggregator] { }); }); } Modified: trunk/Source/WebKit/NetworkProcess/storage/SQLiteStorageArea.cpp (290543 => 290544) --- trunk/Source/WebKit/NetworkProcess/storage/SQLiteStorageArea.cpp 2022-02-26 05:38:48 UTC (rev 290543) +++ trunk/Source/WebKit/NetworkProcess/storage/SQLiteStorageArea.cpp 2022-02-26 05:42:38 UTC (rev 290544) @@ -62,6 +62,20 @@ return ""_s; } +static Lock allTransactionsLock; +static HashSet& allTransactions() WTF_REQUIRES_LOCK(allTransactionsLock) +{ +static NeverDestroyed> transactions; +return transactions; +} + +static void commitTransactionsAtExit() +{ +Locker lock { allTransactionsLock }; +for (auto* transaction : allTransactions()) +transaction->commit(); +} + SQLiteStorageArea::SQLiteStorageArea(unsigned quota, const WebCore::ClientOrigin& origin, const String& path, Ref&& workQueue) : StorageAreaBase(quota, origin) , m_path(path) @@ -68,7 +82,12 @@ , m_queue(WTFMove(workQueue)) , m_cachedStatements(static_cast(StatementType::Invalid)) { -ASSERT(!isMainRunLoop()); +ASSERT(!isMainRunLoop()); + +static std::once_flag once; +std::call_once(once, [] { +std::atexit(commitTransactionsAtExit); +}); } void SQLiteStorageArea::close() @@ -186,16 +205,18 @@ if (!m_transaction) m_transaction = makeUnique(*m_database); -if (m_transaction->inProgress()) -return; +{ +Locker lock { allTransactionsLock }; +if (m_transaction->inProgress()) +return; -m_transaction->begin(); +m_transaction->begin(); +allTransactions().add(m_transaction.get()); +} + m_queue->dispatchAfter(transactionDuration, [weakThis = WeakPtr { *this }] { -if (!weakThis || !weakThis->m_transaction) -return; - -auto transaction = std::exchange(weakThis->m_transaction, nullptr); -transaction->commit(); +if (weakThis) +weakThis->commitTransactionIfNecessary(); }); } @@ -398,8 +419,13 @@ void SQLiteStorageArea::commitTransactionIfNecessary() { -if (auto transaction = std::exchange(m_transaction, nullptr)) -transaction->commit(); +
[webkit-changes] [290543] trunk
Title: [290543] trunk Revision 290543 Author wenson_hs...@apple.com Date 2022-02-25 21:38:48 -0800 (Fri, 25 Feb 2022) Log Message Adjust -[WKContentView _requiresKeyboardWhenFirstResponder] to account for editable web views https://bugs.webkit.org/show_bug.cgi?id=237226 rdar://89447095 Reviewed by Aditya Keerthi. Source/WebKit: Adjust the implementation of `-[WKContentView _requiresKeyboardWhenFirstResponder]`, such that it returns YES for editable web views, except for the scenario where an input field that does *not* require the automatic keyboard is currently focused in the page inside the editable web view (e.g. a `readonly` text field). UIKit consults this method to know whether or not a given responder would require the keyboard (either software keyboard or the minimized UCB for hardware keyboard) if it were to become the first responder. For web views that are made editable in the SPI sense, we know a-priori that this should return YES, unless a readonly element underneath the web view has focus (in which case, `_disableAutomaticKeyboardUI` would be true). Test: KeyboardInputTests.EditableWebViewRequiresKeyboardWhenFirstResponder * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _requiresKeyboardWhenFirstResponder]): Tools: Add an API test to exercise the change. This new API test is comprised of 3 parts: - Verify that `-_requiresKeyboardWhenFirstResponder` is NO after loading the page. - Verify that `-_requiresKeyboardWhenFirstResponder` becomes YES after making the web view editable. - Verify that `-_requiresKeyboardWhenFirstResponder` is NO again after focusing a readonly input inside the now-editable web view. * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/ios/UIKitSPI.h: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm trunk/Tools/TestWebKitAPI/ios/UIKitSPI.h Diff Modified: trunk/Source/WebKit/ChangeLog (290542 => 290543) --- trunk/Source/WebKit/ChangeLog 2022-02-26 05:05:55 UTC (rev 290542) +++ trunk/Source/WebKit/ChangeLog 2022-02-26 05:38:48 UTC (rev 290543) @@ -1,3 +1,25 @@ +2022-02-25 Wenson Hsieh + +Adjust -[WKContentView _requiresKeyboardWhenFirstResponder] to account for editable web views +https://bugs.webkit.org/show_bug.cgi?id=237226 +rdar://89447095 + +Reviewed by Aditya Keerthi. + +Adjust the implementation of `-[WKContentView _requiresKeyboardWhenFirstResponder]`, such that it returns YES +for editable web views, except for the scenario where an input field that does *not* require the automatic +keyboard is currently focused in the page inside the editable web view (e.g. a `readonly` text field). + +UIKit consults this method to know whether or not a given responder would require the keyboard (either software +keyboard or the minimized UCB for hardware keyboard) if it were to become the first responder. For web views +that are made editable in the SPI sense, we know a-priori that this should return YES, unless a readonly element +underneath the web view has focus (in which case, `_disableAutomaticKeyboardUI` would be true). + +Test: KeyboardInputTests.EditableWebViewRequiresKeyboardWhenFirstResponder + +* UIProcess/ios/WKContentViewInteraction.mm: +(-[WKContentView _requiresKeyboardWhenFirstResponder]): + 2022-02-25 Said Abou-Hallawa [GPU Process] Implement RemoteImageBufferProxy::drawConsuming() Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (290542 => 290543) --- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2022-02-26 05:05:55 UTC (rev 290542) +++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2022-02-26 05:38:48 UTC (rev 290543) @@ -2343,6 +2343,8 @@ - (BOOL)_requiresKeyboardWhenFirstResponder { +if ([_webView _isEditable] && !self._disableAutomaticKeyboardUI) +return YES; // FIXME: We should add the logic to handle keyboard visibility during focus redirects. return [self _shouldShowAutomaticKeyboardUIIgnoringInputMode] || _seenHardwareKeyDownInNonEditableElement; } Modified: trunk/Tools/ChangeLog (290542 => 290543) --- trunk/Tools/ChangeLog 2022-02-26 05:05:55 UTC (rev 290542) +++ trunk/Tools/ChangeLog 2022-02-26 05:38:48 UTC (rev 290543) @@ -1,3 +1,21 @@ +2022-02-25 Wenson Hsieh + +Adjust -[WKContentView _requiresKeyboardWhenFirstResponder] to account for editable web views +https://bugs.webkit.org/show_bug.cgi?id=237226 +rdar://89447095 + +Reviewed by Aditya Keerthi. + +Add an API test to exercise the change. This new API test is comprised of 3 parts: +- Verify that `-_requiresKeyboardWhenFirstResponder` is NO after loading the page. +- Verify that
[webkit-changes] [290542] trunk/Source
Title: [290542] trunk/Source Revision 290542 Author s...@apple.com Date 2022-02-25 21:05:55 -0800 (Fri, 25 Feb 2022) Log Message [GPU Process] Implement RemoteImageBufferProxy::drawConsuming() https://bugs.webkit.org/show_bug.cgi?id=236685 rdar://89007426 Reviewed by Simon Fraser. Source/WebCore: Assert ImageBuffer::drawConsuming() does not draw into its backend before it is destroyed. * platform/graphics/ConcreteImageBuffer.h: Source/WebKit: RemoteImageBufferProxy::drawConsuming() should call drawImageBuffer() of the destination GraphicsContext. No recursion will happen and the expected behavior will be achieved by this change. This is the sequence of calls when the Destination GraphicsContext is local and when it is remote: -- Destination GraphicsContext is local: In this case, the backend of the RemoteImageBufferProxy can be mapped in WebProcess; i.e. we do have access to its memory. ConcreteImageBuffer::draw() will be called eventually. This function will call its backend->draw() which will get a NativeImage by calling backend->copyNativeImage(). There is no difference between draw() and drawConsuming() in this case because the backend is still owned by GPUProcess. So it will not be released immediately. We do not copy the pixels since we have to pass DontCopyBackingStore to copyNativeImage(). -- Destination GraphicsContext is remote: In this case, Recorder::drawImageBuffer() will be called which will call RemoteDisplayListRecorderProxy::recordDrawImageBuffer(). This will send a message to GPUProcess and hence all the drawing will happen in GPUProcess. Similar to the case of the local GraphicsContext, no pixels will be copied from the RemoteImageBuffer backend to the NativeImage in all cases. The assumption is the backend will be destroyed automatically after calling drawConsuming(). * WebProcess/GPU/graphics/RemoteImageBufferProxy.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/ConcreteImageBuffer.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h Diff Modified: trunk/Source/WebCore/ChangeLog (290541 => 290542) --- trunk/Source/WebCore/ChangeLog 2022-02-26 03:59:24 UTC (rev 290541) +++ trunk/Source/WebCore/ChangeLog 2022-02-26 05:05:55 UTC (rev 290542) @@ -1,3 +1,16 @@ +2022-02-25 Said Abou-Hallawa + +[GPU Process] Implement RemoteImageBufferProxy::drawConsuming() +https://bugs.webkit.org/show_bug.cgi?id=236685 +rdar://89007426 + +Reviewed by Simon Fraser. + +Assert ImageBuffer::drawConsuming() does not draw into its backend before +it is destroyed. + +* platform/graphics/ConcreteImageBuffer.h: + 2022-02-25 Alejandro G. Castro and Fujii Hironori [GTK][WPE][WC] Move ANGLE context initialisation to GraphicsContextGLTextureMapper::initialize Modified: trunk/Source/WebCore/platform/graphics/ConcreteImageBuffer.h (290541 => 290542) --- trunk/Source/WebCore/platform/graphics/ConcreteImageBuffer.h 2022-02-26 03:59:24 UTC (rev 290541) +++ trunk/Source/WebCore/platform/graphics/ConcreteImageBuffer.h 2022-02-26 05:05:55 UTC (rev 290542) @@ -196,6 +196,7 @@ void drawConsuming(GraphicsContext& destContext, const FloatRect& destRect, const FloatRect& srcRect, const ImagePaintingOptions& options) override { +ASSERT( != ()); if (auto* backend = ensureBackendCreated()) { flushDrawingContext(); backend->drawConsuming(destContext, destRect, srcRect, options); Modified: trunk/Source/WebKit/ChangeLog (290541 => 290542) --- trunk/Source/WebKit/ChangeLog 2022-02-26 03:59:24 UTC (rev 290541) +++ trunk/Source/WebKit/ChangeLog 2022-02-26 05:05:55 UTC (rev 290542) @@ -1,3 +1,39 @@ +2022-02-25 Said Abou-Hallawa + +[GPU Process] Implement RemoteImageBufferProxy::drawConsuming() +https://bugs.webkit.org/show_bug.cgi?id=236685 +rdar://89007426 + +Reviewed by Simon Fraser. + +RemoteImageBufferProxy::drawConsuming() should call drawImageBuffer() of +the destination GraphicsContext. No recursion will happen and the expected +behavior will be achieved by this change. + +This is the sequence of calls when the Destination GraphicsContext is +local and when it is remote: + +-- Destination GraphicsContext is local: + In this case, the backend of the RemoteImageBufferProxy can be mapped + in WebProcess; i.e. we do have access to its memory. + ConcreteImageBuffer::draw() will be called eventually. This function + will call its backend->draw() which will get a NativeImage by calling + backend->copyNativeImage(). There is no difference between draw() and + drawConsuming() in this case because the backend is still owned by + GPUProcess. So it will not be released immediately. We do not copy the +
[webkit-changes] [290541] trunk/Source/bmalloc
Title: [290541] trunk/Source/bmalloc Revision 290541 Author basuke.suz...@sony.com Date 2022-02-25 19:59:24 -0800 (Fri, 25 Feb 2022) Log Message [libpas] Suppress cast-align warnings https://bugs.webkit.org/show_bug.cgi?id=237179 Reviewed by Yusuke Suzuki. Ignore cast-align warnings for libpas target. * CMakeLists.txt: * libpas/src/libpas/bmalloc_heap_inlines.h: Modified Paths trunk/Source/bmalloc/CMakeLists.txt trunk/Source/bmalloc/ChangeLog trunk/Source/bmalloc/libpas/src/libpas/bmalloc_heap_inlines.h Diff Modified: trunk/Source/bmalloc/CMakeLists.txt (290540 => 290541) --- trunk/Source/bmalloc/CMakeLists.txt 2022-02-26 02:03:23 UTC (rev 290540) +++ trunk/Source/bmalloc/CMakeLists.txt 2022-02-26 03:59:24 UTC (rev 290541) @@ -695,7 +695,9 @@ libpas/src/libpas/pas_fast_megapage_cache.c PROPERTIES LANGUAGE CXX) -WEBKIT_ADD_TARGET_CXX_FLAGS(bmalloc -Wno-missing-field-initializers) +WEBKIT_ADD_TARGET_CXX_FLAGS(bmalloc +-Wno-missing-field-initializers +-Wno-cast-align) # Only build mbmalloc on platforms that MallocBench supports if (DEVELOPER_MODE AND (APPLE OR HAVE_MALLOC_TRIM)) Modified: trunk/Source/bmalloc/ChangeLog (290540 => 290541) --- trunk/Source/bmalloc/ChangeLog 2022-02-26 02:03:23 UTC (rev 290540) +++ trunk/Source/bmalloc/ChangeLog 2022-02-26 03:59:24 UTC (rev 290541) @@ -1,3 +1,16 @@ +2022-02-25 Basuke Suzuki + +[libpas] Suppress cast-align warnings +https://bugs.webkit.org/show_bug.cgi?id=237179 + + +Reviewed by Yusuke Suzuki. + +Ignore cast-align warnings for libpas target. + +* CMakeLists.txt: +* libpas/src/libpas/bmalloc_heap_inlines.h: + 2022-02-23 Basuke Suzuki [libpas] PlayStation uses 16k page size. Modified: trunk/Source/bmalloc/libpas/src/libpas/bmalloc_heap_inlines.h (290540 => 290541) --- trunk/Source/bmalloc/libpas/src/libpas/bmalloc_heap_inlines.h 2022-02-26 02:03:23 UTC (rev 290540) +++ trunk/Source/bmalloc/libpas/src/libpas/bmalloc_heap_inlines.h 2022-02-26 03:59:24 UTC (rev 290541) @@ -29,6 +29,7 @@ #include "pas_platform.h" PAS_IGNORE_WARNINGS_BEGIN("missing-field-initializers") +PAS_IGNORE_WARNINGS_BEGIN("cast-align") #include "bmalloc_heap.h" #include "bmalloc_heap_config.h" @@ -577,6 +578,7 @@ #endif /* PAS_ENABLE_BMALLOC */ PAS_IGNORE_WARNINGS_END +PAS_IGNORE_WARNINGS_END #endif /* BMALLOC_HEAP_INLINES_H */ ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290540] trunk/Source/WebCore
Title: [290540] trunk/Source/WebCore Revision 290540 Author hironori.fu...@sony.com Date 2022-02-25 18:03:23 -0800 (Fri, 25 Feb 2022) Log Message [GTK][WPE][WC] Move ANGLE context initialisation to GraphicsContextGLTextureMapper::initialize https://bugs.webkit.org/show_bug.cgi?id=236769 Reviewed by Chris Lord. This is the first step for the long-term plan to share more code in GraphicsContextGLANGLE between Cocoa and non-Cocoa, and minimise the ifdefs in GraphicsContextGLANGLE. We are moving the context initialisation and holding to GraphicsContextGLTextureMapper, away from GCGLANGLELayer::ANGLEContext and the layer classes in case of COORDINATED_GRAPHICS. Later on, Cocoa and non-Cocoa can merge their ::initialize. No new tests, this is a refactoring patch. * platform/TextureMapper.cmake: * platform/graphics/angle/GraphicsContextGLANGLE.h: * platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.cpp: (Nicosia::GCGLANGLELayer::GCGLANGLELayer): (Nicosia::GCGLANGLELayer::ANGLEContext::errorString): Deleted. (Nicosia::GCGLANGLELayer::ANGLEContext::lastErrorString): Deleted. (Nicosia::GCGLANGLELayer::ANGLEContext::createContext): Deleted. (Nicosia::GCGLANGLELayer::ANGLEContext::ANGLEContext): Deleted. (Nicosia::GCGLANGLELayer::ANGLEContext::~ANGLEContext): Deleted. (Nicosia::GCGLANGLELayer::ANGLEContext::makeContextCurrent): Deleted. (Nicosia::GCGLANGLELayer::ANGLEContext::platformContext const): Deleted. (Nicosia::GCGLANGLELayer::ANGLEContext::platformDisplay const): Deleted. (Nicosia::GCGLANGLELayer::ANGLEContext::platformConfig const): Deleted. (Nicosia::GCGLANGLELayer::makeContextCurrent): Deleted. (Nicosia::GCGLANGLELayer::platformContext const): Deleted. (Nicosia::GCGLANGLELayer::platformDisplay const): Deleted. (Nicosia::GCGLANGLELayer::platformConfig const): Deleted. * platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.h: * platform/graphics/opengl/GraphicsContextGLOpenGL.cpp: (WebCore::GraphicsContextGLOpenGL::initialize): * platform/graphics/opengl/GraphicsContextGLOpenGL.h: * platform/graphics/texmap/ANGLEContext.cpp: Removed. * platform/graphics/texmap/ANGLEContext.h: Removed. * platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp: (WebCore::GraphicsContextGLTextureMapper::create): (WebCore::GraphicsContextGLTextureMapper::GraphicsContextGLTextureMapper): (WebCore::GraphicsContextGLTextureMapper::layerContentsDisplayDelegate): (WebCore::GraphicsContextGLTextureMapper::platformInitialize): (): Deleted. * platform/graphics/texmap/GraphicsContextGLTextureMapper.h: * platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp: (WebCore::GraphicsContextGLANGLE::GraphicsContextGLANGLE): (WebCore::GraphicsContextGLTextureMapper::platformInitializeContext): (WebCore::GraphicsContextGLTextureMapper::platformInitialize): (WebCore::GraphicsContextGLANGLE::platformDisplay const): (WebCore::GraphicsContextGLANGLE::platformConfig const): (WebCore::GraphicsContextGLANGLE::makeContextCurrent): * platform/graphics/texmap/PlatformLayerDisplayDelegate.h: Copied from Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapper.h. * platform/graphics/texmap/TextureMapperGCGLPlatformLayer.cpp: (WebCore::TextureMapperGCGLPlatformLayer::TextureMapperGCGLPlatformLayer): (WebCore::TextureMapperGCGLPlatformLayer::~TextureMapperGCGLPlatformLayer): (WebCore::TextureMapperGCGLPlatformLayer::paintToTextureMapper): (WebCore::TextureMapperGCGLPlatformLayer::makeContextCurrent): Deleted. (WebCore::TextureMapperGCGLPlatformLayer::platformContext const): Deleted. (WebCore::TextureMapperGCGLPlatformLayer::platformDisplay const): Deleted. (WebCore::TextureMapperGCGLPlatformLayer::platformConfig const): Deleted. (WebCore::TextureMapperGCGLPlatformLayer::proxy const): Deleted. (WebCore::TextureMapperGCGLPlatformLayer::swapBuffersIfNeeded): Deleted. * platform/graphics/texmap/TextureMapperGCGLPlatformLayer.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/TextureMapper.cmake trunk/Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h trunk/Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.cpp trunk/Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.h trunk/Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.cpp trunk/Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.h trunk/Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp trunk/Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapper.h trunk/Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp trunk/Source/WebCore/platform/graphics/texmap/TextureMapperGCGLPlatformLayer.cpp trunk/Source/WebCore/platform/graphics/texmap/TextureMapperGCGLPlatformLayer.h Added Paths trunk/Source/WebCore/platform/graphics/texmap/PlatformLayerDisplayDelegate.h Removed Paths trunk/Source/WebCore/platform/graphics/texmap/ANGLEContext.cpp trunk/Source/WebCore/platform/graphics/texmap/ANGLEContext.h
[webkit-changes] [290539] trunk
Title: [290539] trunk Revision 290539 Author j_pas...@apple.com Date 2022-02-25 17:47:04 -0800 (Fri, 25 Feb 2022) Log Message [WebAuthn] Fallback to attestation=none whenever attestation fails https://bugs.webkit.org/show_bug.cgi?id=237223 rdar://88767812 Reviewed by Brent Fulgham. Source/WebKit: Whenever attestation is requested by a RP and it fails to complete, we previously errored out of the registration. The more correct platform behavior in this case is to provide attestation=none. Created API test for this behavior. * UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm: (WebKit::LocalAuthenticator::continueMakeCredentialAfterAttested): Tools: Add test for local authenticator attestation fallback behavior. * TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (TestWebKitAPI::TEST): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm Diff Modified: trunk/Source/WebKit/ChangeLog (290538 => 290539) --- trunk/Source/WebKit/ChangeLog 2022-02-26 01:19:30 UTC (rev 290538) +++ trunk/Source/WebKit/ChangeLog 2022-02-26 01:47:04 UTC (rev 290539) @@ -1,3 +1,20 @@ +2022-02-25 J Pascoe + +[WebAuthn] Fallback to attestation=none whenever attestation fails +https://bugs.webkit.org/show_bug.cgi?id=237223 +rdar://88767812 + +Reviewed by Brent Fulgham. + +Whenever attestation is requested by a RP and it fails to complete, +we previously errored out of the registration. The more correct platform +behavior in this case is to provide attestation=none. + +Created API test for this behavior. + +* UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm: +(WebKit::LocalAuthenticator::continueMakeCredentialAfterAttested): + 2022-02-25 Per Arne Vollan [macOS] Add access to required mach service in the Network process Modified: trunk/Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm (290538 => 290539) --- trunk/Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm 2022-02-26 01:19:30 UTC (rev 290538) +++ trunk/Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm 2022-02-26 01:47:04 UTC (rev 290539) @@ -465,7 +465,9 @@ auto& creationOptions = std::get(requestData().options); if (error) { -receiveException({ UnknownError, makeString("Couldn't attest: ", String(error.localizedDescription)) }); +LOG_ERROR("Couldn't attest: %s", String(error.localizedDescription).utf8().data()); +auto attestationObject = buildAttestationObject(WTFMove(authData), "", { }, AttestationConveyancePreference::None); +receiveRespond(AuthenticatorAttestationResponse::create(credentialId, attestationObject, AuthenticatorAttachment::Platform)); return; } // Attestation Certificate and Attestation Issuing CA Modified: trunk/Tools/ChangeLog (290538 => 290539) --- trunk/Tools/ChangeLog 2022-02-26 01:19:30 UTC (rev 290538) +++ trunk/Tools/ChangeLog 2022-02-26 01:47:04 UTC (rev 290539) @@ -1,3 +1,16 @@ +2022-02-25 J Pascoe + +[WebAuthn] Fallback to attestation=none whenever attestation fails +https://bugs.webkit.org/show_bug.cgi?id=237223 +rdar://88767812 + +Reviewed by Brent Fulgham. + +Add test for local authenticator attestation fallback behavior. + +* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: +(TestWebKitAPI::TEST): + 2022-02-25 Brent Fulgham WebKit continues to render PDF images in Captive Portal mode Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm (290538 => 290539) --- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm 2022-02-26 01:19:30 UTC (rev 290538) +++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm 2022-02-26 01:47:04 UTC (rev 290539) @@ -1928,6 +1928,39 @@ }]; Util::run(); } + +TEST(WebAuthenticationPanel, MakeCredentialLAAttestationFalback) +{ +reset(); + +uint8_t identifier[] = { 0x01, 0x02, 0x03, 0x04 }; +uint8_t hash[] = { 0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x03, 0x04 }; +NSData *nsIdentifier = [NSData dataWithBytes:identifier length:sizeof(identifier)]; +auto nsHash = adoptNS([[NSData alloc] initWithBytes:hash length:sizeof(hash)]); +auto parameters = adoptNS([[_WKPublicKeyCredentialParameters alloc] initWithAlgorithm:@-7]); + +auto rp = adoptNS([[_WKPublicKeyCredentialRelyingPartyEntity alloc] initWithName:@"example.com"]); +[rp setIdentifier:@"example.com"]; +auto user = adoptNS([[_WKPublicKeyCredentialUserEntity alloc] initWithName:@"japples...@example.com"
[webkit-changes] [290538] trunk/Source/WebCore
Title: [290538] trunk/Source/WebCore Revision 290538 Author cdu...@apple.com Date 2022-02-25 17:19:30 -0800 (Fri, 25 Feb 2022) Log Message Use the modern Hasher more in Content Extensions code https://bugs.webkit.org/show_bug.cgi?id=237228 Reviewed by Darin Adler. * contentextensions/CombinedFiltersAlphabet.cpp: (WebCore::ContentExtensions::add): (WebCore::ContentExtensions::TermCreatorTranslator::hash): * contentextensions/CombinedFiltersAlphabet.h: (WebCore::ContentExtensions::CombinedFiltersAlphabet::TermPointerHash::hash): * contentextensions/ContentExtensionRule.h: (WebCore::ContentExtensions::add): (WebCore::ContentExtensions::TriggerHash::hash): * contentextensions/Term.h: (WebCore::ContentExtensions::Term::Group::operator== const): (WebCore::ContentExtensions::add): (WebCore::ContentExtensions::Term::CharacterSet::hash const): Deleted. (WebCore::ContentExtensions::Term::Group::hash const): Deleted. (WebCore::ContentExtensions::Term::hash const): Deleted. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/contentextensions/CombinedFiltersAlphabet.cpp trunk/Source/WebCore/contentextensions/CombinedFiltersAlphabet.h trunk/Source/WebCore/contentextensions/ContentExtensionRule.h trunk/Source/WebCore/contentextensions/Term.h Diff Modified: trunk/Source/WebCore/ChangeLog (290537 => 290538) --- trunk/Source/WebCore/ChangeLog 2022-02-26 00:27:37 UTC (rev 290537) +++ trunk/Source/WebCore/ChangeLog 2022-02-26 01:19:30 UTC (rev 290538) @@ -1,3 +1,25 @@ +2022-02-25 Chris Dumez + +Use the modern Hasher more in Content Extensions code +https://bugs.webkit.org/show_bug.cgi?id=237228 + +Reviewed by Darin Adler. + +* contentextensions/CombinedFiltersAlphabet.cpp: +(WebCore::ContentExtensions::add): +(WebCore::ContentExtensions::TermCreatorTranslator::hash): +* contentextensions/CombinedFiltersAlphabet.h: +(WebCore::ContentExtensions::CombinedFiltersAlphabet::TermPointerHash::hash): +* contentextensions/ContentExtensionRule.h: +(WebCore::ContentExtensions::add): +(WebCore::ContentExtensions::TriggerHash::hash): +* contentextensions/Term.h: +(WebCore::ContentExtensions::Term::Group::operator== const): +(WebCore::ContentExtensions::add): +(WebCore::ContentExtensions::Term::CharacterSet::hash const): Deleted. +(WebCore::ContentExtensions::Term::Group::hash const): Deleted. +(WebCore::ContentExtensions::Term::hash const): Deleted. + 2022-02-25 Brandon Stewart Do not trigger didFail during FileReaderLoader Destruction Modified: trunk/Source/WebCore/contentextensions/CombinedFiltersAlphabet.cpp (290537 => 290538) --- trunk/Source/WebCore/contentextensions/CombinedFiltersAlphabet.cpp 2022-02-26 00:27:37 UTC (rev 290537) +++ trunk/Source/WebCore/contentextensions/CombinedFiltersAlphabet.cpp 2022-02-26 01:19:30 UTC (rev 290538) @@ -37,10 +37,15 @@ Vector>& internedTermsStorage; }; +inline void add(Hasher& hasher, const TermCreatorInput& input) +{ +add(hasher, input.term); +} + struct TermCreatorTranslator { static unsigned hash(const TermCreatorInput& input) { -return input.term.hash(); +return computeHash(input); } static inline bool equal(const Term* term, const TermCreatorInput& input) Modified: trunk/Source/WebCore/contentextensions/CombinedFiltersAlphabet.h (290537 => 290538) --- trunk/Source/WebCore/contentextensions/CombinedFiltersAlphabet.h 2022-02-26 00:27:37 UTC (rev 290537) +++ trunk/Source/WebCore/contentextensions/CombinedFiltersAlphabet.h 2022-02-26 01:19:30 UTC (rev 290538) @@ -45,7 +45,7 @@ private: struct TermPointerHash { -static unsigned hash(const Term* key) { return key->hash(); } +static unsigned hash(const Term* key) { return computeHash(*key); } static inline bool equal(const Term* a, const Term* b) { return *a == *b; Modified: trunk/Source/WebCore/contentextensions/ContentExtensionRule.h (290537 => 290538) --- trunk/Source/WebCore/contentextensions/ContentExtensionRule.h 2022-02-26 00:27:37 UTC (rev 290537) +++ trunk/Source/WebCore/contentextensions/ContentExtensionRule.h 2022-02-26 01:19:30 UTC (rev 290538) @@ -80,10 +80,15 @@ } }; +inline void add(Hasher& hasher, const Trigger& trigger) +{ +add(hasher, trigger.urlFilterIsCaseSensitive, trigger.urlFilter, trigger.flags, trigger.conditions); +} + struct TriggerHash { static unsigned hash(const Trigger& trigger) { -return computeHash(trigger.urlFilterIsCaseSensitive, trigger.urlFilter, trigger.flags, trigger.conditions); +return computeHash(trigger); } static bool equal(const Trigger& a, const Trigger& b) { Modified: trunk/Source/WebCore/contentextensions/Term.h (290537 => 290538) --- trunk/Source/WebCore/contentextensions/Term.h 2022-02-26 00:27:37 UTC (rev 290537) +++
[webkit-changes] [290537] trunk/Source/WebCore
Title: [290537] trunk/Source/WebCore Revision 290537 Author commit-qu...@webkit.org Date 2022-02-25 16:27:37 -0800 (Fri, 25 Feb 2022) Log Message Do not trigger didFail during FileReaderLoader Destruction https://bugs.webkit.org/show_bug.cgi?id=237060 Patch by Brandon Stewart on 2022-02-25 Reviewed by Darin Adler. Setting cancel() instead of terminate() will prevent the didFail() method from being triggered. This method has the unfortunate side effect of trying to allocate memory, which is not allowed when under going a sweep event. * fileapi/FileReaderLoader.cpp: (WebCore::FileReaderLoader::~FileReaderLoader): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/fileapi/FileReaderLoader.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (290536 => 290537) --- trunk/Source/WebCore/ChangeLog 2022-02-26 00:17:25 UTC (rev 290536) +++ trunk/Source/WebCore/ChangeLog 2022-02-26 00:27:37 UTC (rev 290537) @@ -1,3 +1,17 @@ +2022-02-25 Brandon Stewart + +Do not trigger didFail during FileReaderLoader Destruction +https://bugs.webkit.org/show_bug.cgi?id=237060 + +Reviewed by Darin Adler. + +Setting cancel() instead of terminate() will prevent the didFail() method from being triggered. +This method has the unfortunate side effect of trying to allocate memory, which is not allowed when +under going a sweep event. + +* fileapi/FileReaderLoader.cpp: +(WebCore::FileReaderLoader::~FileReaderLoader): + 2022-02-25 Brent Fulgham WebKit continues to render PDF images in Captive Portal mode Modified: trunk/Source/WebCore/fileapi/FileReaderLoader.cpp (290536 => 290537) --- trunk/Source/WebCore/fileapi/FileReaderLoader.cpp 2022-02-26 00:17:25 UTC (rev 290536) +++ trunk/Source/WebCore/fileapi/FileReaderLoader.cpp 2022-02-26 00:27:37 UTC (rev 290537) @@ -68,7 +68,8 @@ FileReaderLoader::~FileReaderLoader() { -terminate(); +cancel(); + if (!m_urlForReading.isEmpty()) ThreadableBlobRegistry::unregisterBlobURL(m_urlForReading); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290536] tags/Safari-613.1.17.1.9/
Title: [290536] tags/Safari-613.1.17.1.9/ Revision 290536 Author repst...@apple.com Date 2022-02-25 16:17:25 -0800 (Fri, 25 Feb 2022) Log Message Tag Safari-613.1.17.1.9. Added Paths tags/Safari-613.1.17.1.9/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290535] trunk/Source/WebKit
Title: [290535] trunk/Source/WebKit Revision 290535 Author pvol...@apple.com Date 2022-02-25 16:04:52 -0800 (Fri, 25 Feb 2022) Log Message [macOS] Add access to required mach service in the Network process https://bugs.webkit.org/show_bug.cgi?id=237216 Reviewed by Brent Fulgham. * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in Diff Modified: trunk/Source/WebKit/ChangeLog (290534 => 290535) --- trunk/Source/WebKit/ChangeLog 2022-02-26 00:02:09 UTC (rev 290534) +++ trunk/Source/WebKit/ChangeLog 2022-02-26 00:04:52 UTC (rev 290535) @@ -1,3 +1,13 @@ +2022-02-25 Per Arne Vollan + +[macOS] Add access to required mach service in the Network process +https://bugs.webkit.org/show_bug.cgi?id=237216 + + +Reviewed by Brent Fulgham. + +* NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: + 2022-02-25 Brent Fulgham WebKit continues to render PDF images in Captive Portal mode Modified: trunk/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in (290534 => 290535) --- trunk/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in 2022-02-26 00:02:09 UTC (rev 290534) +++ trunk/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in 2022-02-26 00:04:52 UTC (rev 290535) @@ -450,6 +450,10 @@ (allow mach-lookup (global-name "com.apple.tccd")) +;; +(allow mach-lookup +(global-name "com.apple.networkserviceproxy.fetch-token")) + (allow file-read* file-write* (home-subpath "/Library/HTTPStorages")) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290534] trunk
Title: [290534] trunk Revision 290534 Author bfulg...@apple.com Date 2022-02-25 16:02:09 -0800 (Fri, 25 Feb 2022) Log Message WebKit continues to render PDF images in Captive Portal mode https://bugs.webkit.org/show_bug.cgi?id=237120 Reviewed by Chris Dumez. Source/WebCore: WebKit should handle all PDF processing in PDF.JS when in Captive Portal mode. However, testing revealed that PDF images are still rendered natively. As a first step we should bypass the native PDF code path. A subsequent patch will handle in PDF.JS. We need to thread the state of the Captive Portal setting through the image loading code so that WebKit knows to bail out before consuming the PDF data in the native decoder. Tested by TestWebKitAPI. * page/RuntimeEnabledFeatures.h: Add new flag for PDF image decoding state. * platform/graphics/Image.cpp: (WebCore::Image::create): Check whether PDF image decoding should be permitted. Source/WebKit: * WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeWebProcess): Turn PDF image decoding off when in CaptivePortal mode. Tools: WebKit should handle all PDF processing in PDF.JS when in Captive Portal mode. However, testing revealed that PDF images are still rendered natively. As a first step we should bypass the native PDF code path. A subsequent patch will handle in PDF.JS. We need to thread the state of the Captive Portal setting through the image loading code so that WebKit knows to bail out before consuming the PDF data in the native decoder. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/CaptivePortalPDF.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: (-[CaptivePortalMessageHandler userContentController:didReceiveScriptMessage:]): Add new test case. * TestWebKitAPI/Tests/WebKitCocoa/webkit-logo.pdf: Added. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/RuntimeEnabledFeatures.h trunk/Source/WebCore/platform/graphics/Image.cpp trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/WebProcess.cpp trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm Added Paths trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/CaptivePortalPDF.html trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/webkit-logo.pdf Diff Modified: trunk/Source/WebCore/ChangeLog (290533 => 290534) --- trunk/Source/WebCore/ChangeLog 2022-02-25 23:49:58 UTC (rev 290533) +++ trunk/Source/WebCore/ChangeLog 2022-02-26 00:02:09 UTC (rev 290534) @@ -1,3 +1,24 @@ +2022-02-25 Brent Fulgham + +WebKit continues to render PDF images in Captive Portal mode +https://bugs.webkit.org/show_bug.cgi?id=237120 + + +Reviewed by Chris Dumez. + +WebKit should handle all PDF processing in PDF.JS when in Captive Portal mode. However, testing +revealed that PDF images are still rendered natively. As a first step we should bypass the +native PDF code path. A subsequent patch will handle in PDF.JS. + +We need to thread the state of the Captive Portal setting through the image loading code so that +WebKit knows to bail out before consuming the PDF data in the native decoder. + +Tested by TestWebKitAPI. + +* page/RuntimeEnabledFeatures.h: Add new flag for PDF image decoding state. +* platform/graphics/Image.cpp: +(WebCore::Image::create): Check whether PDF image decoding should be permitted. + 2022-02-25 Sihui Liu Regression(r242729): m_origin in IDBDatabaseIdentifier is incorrect Modified: trunk/Source/WebCore/page/RuntimeEnabledFeatures.h (290533 => 290534) --- trunk/Source/WebCore/page/RuntimeEnabledFeatures.h 2022-02-25 23:49:58 UTC (rev 290533) +++ trunk/Source/WebCore/page/RuntimeEnabledFeatures.h 2022-02-26 00:02:09 UTC (rev 290534) @@ -1,6 +1,6 @@ /* * Copyright (C) 2009 Google Inc. All rights reserved. - * Copyright (C) 2013-2017 Apple Inc. All rights reserved. + * Copyright (C) 2013-2022 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -200,7 +200,10 @@ void setIsAccessibilityIsolatedTreeEnabled(bool isEnabled) { m_accessibilityIsolatedTree = isEnabled; } bool isAccessibilityIsolatedTreeEnabled() const { return m_accessibilityIsolatedTree; } #endif - + +void setArePDFImagesEnabled(bool isEnabled) { m_arePDFImagesEnabled = isEnabled; } +bool arePDFImagesEnabled() const { return m_arePDFImagesEnabled; } + #if HAVE(INCREMENTAL_PDF_APIS) void setIncrementalPDFLoadingEnabled(bool isEnabled) { m_incrementalPDFLoadingEnabled = isEnabled; } bool incrementalPDFLoadingEnabled() const { return m_incrementalPDFLoadingEnabled; } @@ -354,6 +357,8 @@ bool m_accessibilityIsolatedTree { false }; #endif +bool m_arePDFImagesEnabled
[webkit-changes] [290533] tags/Safari-614.1.5.5/
Title: [290533] tags/Safari-614.1.5.5/ Revision 290533 Author repst...@apple.com Date 2022-02-25 15:49:58 -0800 (Fri, 25 Feb 2022) Log Message Tag Safari-614.1.5.5. Added Paths tags/Safari-614.1.5.5/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290532] trunk
Title: [290532] trunk Revision 290532 Author sihui_...@apple.com Date 2022-02-25 15:45:34 -0800 (Fri, 25 Feb 2022) Log Message Regression(r242729): m_origin in IDBDatabaseIdentifier is incorrect https://bugs.webkit.org/show_bug.cgi?id=237044 Reviewed by Youenn Fablet. Source/WebCore: In r242729, we swapped top origin and opening origin in m_origin (it is a ClientOrigin) of IDBDatabaseIdentifier. This can cause trouble since IndexedDB operation will be processed by wrong OriginStorageManager (OriginStorageManager is identified by ClientOrigin). To fix this issue, we need to swap it back. New test: IndexedDB.IndexedDBThirdPartyStorageLayout * Modules/indexeddb/IDBDatabaseIdentifier.cpp: (WebCore::IDBDatabaseIdentifier::IDBDatabaseIdentifier): (WebCore::IDBDatabaseIdentifier::databaseDirectoryRelativeToRoot const): (WebCore::IDBDatabaseIdentifier::databaseDirectoryRelativeToRoot): * Modules/indexeddb/IDBDatabaseIdentifier.h: * Modules/indexeddb/server/IDBServer.cpp: (WebCore::IDBServer::IDBServer::getAllDatabaseNamesAndVersions): (WebCore::IDBServer::IDBServer::diskUsage): Source/WebKit: * NetworkProcess/storage/IDBStorageManager.cpp: (WebKit::migrateOriginData): (WebKit::IDBStorageManager::idbStorageOriginDirectory): Tools: * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm: (-[IndexedDBMessageHandler userContentController:didReceiveScriptMessage:]): (TEST): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.h trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/storage/IDBStorageManager.cpp trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm Diff Modified: trunk/Source/WebCore/ChangeLog (290531 => 290532) --- trunk/Source/WebCore/ChangeLog 2022-02-25 23:29:21 UTC (rev 290531) +++ trunk/Source/WebCore/ChangeLog 2022-02-25 23:45:34 UTC (rev 290532) @@ -1,3 +1,25 @@ +2022-02-25 Sihui Liu + +Regression(r242729): m_origin in IDBDatabaseIdentifier is incorrect +https://bugs.webkit.org/show_bug.cgi?id=237044 + +Reviewed by Youenn Fablet. + +In r242729, we swapped top origin and opening origin in m_origin (it is a ClientOrigin) of IDBDatabaseIdentifier. +This can cause trouble since IndexedDB operation will be processed by wrong OriginStorageManager +(OriginStorageManager is identified by ClientOrigin). To fix this issue, we need to swap it back. + +New test: IndexedDB.IndexedDBThirdPartyStorageLayout + +* Modules/indexeddb/IDBDatabaseIdentifier.cpp: +(WebCore::IDBDatabaseIdentifier::IDBDatabaseIdentifier): +(WebCore::IDBDatabaseIdentifier::databaseDirectoryRelativeToRoot const): +(WebCore::IDBDatabaseIdentifier::databaseDirectoryRelativeToRoot): +* Modules/indexeddb/IDBDatabaseIdentifier.h: +* Modules/indexeddb/server/IDBServer.cpp: +(WebCore::IDBServer::IDBServer::getAllDatabaseNamesAndVersions): +(WebCore::IDBServer::IDBServer::diskUsage): + 2022-02-25 Chris Dumez SharedArrayBuffer posted to AudioWorkletProcessor is not actually shared with the main thread Modified: trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp (290531 => 290532) --- trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp 2022-02-25 23:29:21 UTC (rev 290531) +++ trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseIdentifier.cpp 2022-02-25 23:45:34 UTC (rev 290532) @@ -35,7 +35,7 @@ IDBDatabaseIdentifier::IDBDatabaseIdentifier(const String& databaseName, SecurityOriginData&& openingOrigin, SecurityOriginData&& mainFrameOrigin, bool isTransient) : m_databaseName(databaseName) -, m_origin { WTFMove(openingOrigin), WTFMove(mainFrameOrigin) } +, m_origin { WTFMove(mainFrameOrigin), WTFMove(openingOrigin) } , m_isTransient(isTransient) { // The empty string is a valid database name, but a null string is not. @@ -55,19 +55,19 @@ String IDBDatabaseIdentifier::databaseDirectoryRelativeToRoot(const String& rootDirectory, const String& versionString) const { -return databaseDirectoryRelativeToRoot(m_origin.topOrigin, m_origin.clientOrigin, rootDirectory, versionString); +return databaseDirectoryRelativeToRoot(m_origin, rootDirectory, versionString); } -String IDBDatabaseIdentifier::databaseDirectoryRelativeToRoot(const SecurityOriginData& topLevelOrigin, const SecurityOriginData& openingOrigin, const String& rootDirectory, const String& versionString) +String IDBDatabaseIdentifier::databaseDirectoryRelativeToRoot(const ClientOrigin& origin, const String& rootDirectory, const String& versionString) { String versionDirectory = FileSystem::pathByAppendingComponent(rootDirectory, versionString); -String mainFrameDirectory = FileSystem::pathByAppendingComponent(versionDirectory,
[webkit-changes] [290531] trunk
Title: [290531] trunk Revision 290531 Author cdu...@apple.com Date 2022-02-25 15:29:21 -0800 (Fri, 25 Feb 2022) Log Message SharedArrayBuffer posted to AudioWorkletProcessor is not actually shared with the main thread https://bugs.webkit.org/show_bug.cgi?id=237144 Reviewed by Darin Adler. Source/WebCore: SerializedScriptValue only maintains SharedArrayBuffers when constructed with SerializationContext::WorkerPostMessage. With other SerializationContext values, such as the default one that AudioWorkletNode was using, SharedArrayBuffers are serialized as simple arrays and are no longer shared. This patch passes SerializationContext::WorkerPostMessage when constructing the SerializedScriptValue since we want SharedArrayBuffer sharing and since a worklet is essentially a worker. Note that this patch allows passing a SharedArrayBuffer to an AudioWorklet upon construction via processorOptions. However, SharedArrayBuffer still won't be shared if sent later on via a MessagePort.postMessage() call. This is because MessagePort.postMessage() routes all messages via the network process, even if the destination ends up being within the same process as the sender (See Bug 220038). Test: http/wpt/webaudio/the-audio-api/the-audioworklet-interface/shared-array-buffer.https.html * Modules/webaudio/AudioWorkletNode.cpp: (WebCore::AudioWorkletNode::create): LayoutTests: Add layout test coverage. * http/wpt/webaudio/the-audio-api/the-audioworklet-interface/processors/shared-array-buffer-processor.js: Added. (SharedArrayBufferTestProcessor): (SharedArrayBufferTestProcessor.prototype.process): * http/wpt/webaudio/the-audio-api/the-audioworklet-interface/shared-array-buffer.https-expected.txt: Added. * http/wpt/webaudio/the-audio-api/the-audioworklet-interface/shared-array-buffer.https.html: Added. * http/wpt/webaudio/the-audio-api/the-audioworklet-interface/shared-array-buffer.https.html.headers: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/webaudio/AudioWorkletNode.cpp Added Paths trunk/LayoutTests/http/wpt/webaudio/the-audio-api/the-audioworklet-interface/processors/shared-array-buffer-processor.js trunk/LayoutTests/http/wpt/webaudio/the-audio-api/the-audioworklet-interface/shared-array-buffer.https-expected.txt trunk/LayoutTests/http/wpt/webaudio/the-audio-api/the-audioworklet-interface/shared-array-buffer.https.html trunk/LayoutTests/http/wpt/webaudio/the-audio-api/the-audioworklet-interface/shared-array-buffer.https.html.headers Diff Modified: trunk/LayoutTests/ChangeLog (290530 => 290531) --- trunk/LayoutTests/ChangeLog 2022-02-25 23:19:46 UTC (rev 290530) +++ trunk/LayoutTests/ChangeLog 2022-02-25 23:29:21 UTC (rev 290531) @@ -1,3 +1,20 @@ +2022-02-25 Chris Dumez + +SharedArrayBuffer posted to AudioWorkletProcessor is not actually shared with the main thread +https://bugs.webkit.org/show_bug.cgi?id=237144 + + +Reviewed by Darin Adler. + +Add layout test coverage. + +* http/wpt/webaudio/the-audio-api/the-audioworklet-interface/processors/shared-array-buffer-processor.js: Added. +(SharedArrayBufferTestProcessor): +(SharedArrayBufferTestProcessor.prototype.process): +* http/wpt/webaudio/the-audio-api/the-audioworklet-interface/shared-array-buffer.https-expected.txt: Added. +* http/wpt/webaudio/the-audio-api/the-audioworklet-interface/shared-array-buffer.https.html: Added. +* http/wpt/webaudio/the-audio-api/the-audioworklet-interface/shared-array-buffer.https.html.headers: Added. + 2022-02-25 Robert Jenner [ Mac wk1 ] 7X imported/w3c/web-platform-tests/pointerevents/pointerevent (layout-tests) are flaky text failures Added: trunk/LayoutTests/http/wpt/webaudio/the-audio-api/the-audioworklet-interface/processors/shared-array-buffer-processor.js (0 => 290531) --- trunk/LayoutTests/http/wpt/webaudio/the-audio-api/the-audioworklet-interface/processors/shared-array-buffer-processor.js (rev 0) +++ trunk/LayoutTests/http/wpt/webaudio/the-audio-api/the-audioworklet-interface/processors/shared-array-buffer-processor.js 2022-02-25 23:29:21 UTC (rev 290531) @@ -0,0 +1,16 @@ +class SharedArrayBufferTestProcessor extends AudioWorkletProcessor { + constructor(options) { +super(); +this.sab = options.processorOptions['buffer']; +this.port._onmessage_ = (e) => { +this.port.postMessage({ 'sab_value': new Int16Array(this.sab)[0] }); +}; +this.port.postMessage({ 'sab_value': new Int16Array(this.sab)[0] }); + } + + process(inputs, outputs) { +return true; + } +} + +registerProcessor('shared-array-buffer-test', SharedArrayBufferTestProcessor); Added: trunk/LayoutTests/http/wpt/webaudio/the-audio-api/the-audioworklet-interface/shared-array-buffer.https-expected.txt (0 => 290531) ---
[webkit-changes] [290530] trunk/Source/JavaScriptCore
Title: [290530] trunk/Source/_javascript_Core Revision 290530 Author mark@apple.com Date 2022-02-25 15:19:46 -0800 (Fri, 25 Feb 2022) Log Message Remove incorrect ASSERT. https://bugs.webkit.org/show_bug.cgi?id=237185 Reviewed by Yusuke Suzuki. These debug ASSERTs were added in http://trac.webkit.org/r283632 back when we weren't sure that the StringImpl pointer can be null or not. We're now certain that the StringImpl pointer can be null because: The site of the ASSERT looks like this: ``` auto* impl = string->tryGetValueImpl(); ASSERT(impl); // FIXME: rdar://83902782 if (impl && impl->isAtom() && ... ``` ... where string is a JSString, which can also be a JSRopeString. JSString::tryGetValueImpl() is: ``` inline const StringImpl* JSString::tryGetValueImpl() const { uintptr_t pointer = fiberConcurrently(); if (pointer & isRopeInPointer) return nullptr; return bitwise_cast(pointer); } ``` If string is a JSRopeString, the returned impl will be null. Hence, the ASSERT is invalid and should be removed. * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::handlePutByVal): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (290529 => 290530) --- trunk/Source/_javascript_Core/ChangeLog 2022-02-25 22:24:44 UTC (rev 290529) +++ trunk/Source/_javascript_Core/ChangeLog 2022-02-25 23:19:46 UTC (rev 290530) @@ -1,3 +1,42 @@ +2022-02-24 Mark Lam + +Remove incorrect ASSERT. +https://bugs.webkit.org/show_bug.cgi?id=237185 + + +Reviewed by Yusuke Suzuki. + +These debug ASSERTs were added in http://trac.webkit.org/r283632 back when we +weren't sure that the StringImpl pointer can be null or not. We're now certain +that the StringImpl pointer can be null because: + +The site of the ASSERT looks like this: +``` +auto* impl = string->tryGetValueImpl(); +ASSERT(impl); // FIXME: rdar://83902782 +if (impl && impl->isAtom() && +... +``` +... where string is a JSString, which can also be a JSRopeString. + +JSString::tryGetValueImpl() is: +``` +inline const StringImpl* JSString::tryGetValueImpl() const +{ +uintptr_t pointer = fiberConcurrently(); +if (pointer & isRopeInPointer) +return nullptr; +return bitwise_cast(pointer); +} +``` + +If string is a JSRopeString, the returned impl will be null. Hence, the ASSERT is +invalid and should be removed. + +* dfg/DFGByteCodeParser.cpp: +(JSC::DFG::ByteCodeParser::parseBlock): +(JSC::DFG::ByteCodeParser::handlePutByVal): + 2022-02-25 Commit Queue Unreviewed, reverting r290516. Modified: trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp (290529 => 290530) --- trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp 2022-02-25 22:24:44 UTC (rev 290529) +++ trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp 2022-02-25 23:19:46 UTC (rev 290530) @@ -6502,7 +6502,6 @@ addToGraph(CheckIsConstant, OpInfo(frozen), property); } else if (auto* string = property->dynamicCastConstant(*m_vm)) { auto* impl = string->tryGetValueImpl(); -ASSERT(impl); // FIXME: rdar://83902782 if (impl && impl->isAtom() && !parseIndex(*const_cast(impl))) { uid = bitwise_cast(impl); propertyCell = string; @@ -8899,7 +8898,6 @@ addToGraph(CheckIsConstant, OpInfo(frozen), property); } else if (auto* string = property->dynamicCastConstant(*m_vm)) { auto* impl = string->tryGetValueImpl(); -ASSERT(impl); // FIXME: rdar://83902782 if (impl && impl->isAtom() && !parseIndex(*const_cast(impl))) { uid = bitwise_cast(impl); propertyCell = string; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290529] releases/WPE WebKit/webkit-2.35.90/
Title: [290529] releases/WPE WebKit/webkit-2.35.90/ Revision 290529 Author ape...@igalia.com Date 2022-02-25 14:24:44 -0800 (Fri, 25 Feb 2022) Log Message WPE WebKit 2.35.90 Added Paths releases/WPE WebKit/webkit-2.35.90/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290527] releases/WebKitGTK/webkit-2.36/Source/WebKit
Title: [290527] releases/WebKitGTK/webkit-2.36/Source/WebKit Revision 290527 Author ape...@igalia.com Date 2022-02-25 14:20:26 -0800 (Fri, 25 Feb 2022) Log Message Unreviewed non-unified build fix. * WebProcess/glib/WebProcessGLib.cpp: Add missing WebPage.h inclusion. Modified Paths releases/WebKitGTK/webkit-2.36/Source/WebKit/ChangeLog releases/WebKitGTK/webkit-2.36/Source/WebKit/WebProcess/glib/WebProcessGLib.cpp Diff Modified: releases/WebKitGTK/webkit-2.36/Source/WebKit/ChangeLog (290526 => 290527) --- releases/WebKitGTK/webkit-2.36/Source/WebKit/ChangeLog 2022-02-25 22:18:16 UTC (rev 290526) +++ releases/WebKitGTK/webkit-2.36/Source/WebKit/ChangeLog 2022-02-25 22:20:26 UTC (rev 290527) @@ -1,3 +1,9 @@ +2022-02-25 Adrian Perez de Castro + +Unreviewed non-unified build fix. + +* WebProcess/glib/WebProcessGLib.cpp: Add missing WebPage.h inclusion. + 2022-02-25 Carlos Garcia Campos Unreviewed. Update OptionsGTK.cmake and NEWS for 2.35.90 release Modified: releases/WebKitGTK/webkit-2.36/Source/WebKit/WebProcess/glib/WebProcessGLib.cpp (290526 => 290527) --- releases/WebKitGTK/webkit-2.36/Source/WebKit/WebProcess/glib/WebProcessGLib.cpp 2022-02-25 22:18:16 UTC (rev 290526) +++ releases/WebKitGTK/webkit-2.36/Source/WebKit/WebProcess/glib/WebProcessGLib.cpp 2022-02-25 22:20:26 UTC (rev 290527) @@ -29,6 +29,7 @@ #include "WebKitExtensionManager.h" #include "WebKitWebExtensionPrivate.h" +#include "WebPage.h" #include "WebProcessCreationParameters.h" #if USE(GSTREAMER) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290528] releases/WebKitGTK/webkit-2.36
Title: [290528] releases/WebKitGTK/webkit-2.36 Revision 290528 Author ape...@igalia.com Date 2022-02-25 14:20:32 -0800 (Fri, 25 Feb 2022) Log Message Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.35.90 release .: * Source/cmake/OptionsWPE.cmake: Bump version numbers. Source/WebKit: * wpe/NEWS: Add release notes for 2.35.90. Modified Paths releases/WebKitGTK/webkit-2.36/ChangeLog releases/WebKitGTK/webkit-2.36/Source/WebKit/ChangeLog releases/WebKitGTK/webkit-2.36/Source/WebKit/wpe/NEWS releases/WebKitGTK/webkit-2.36/Source/cmake/OptionsWPE.cmake Diff Modified: releases/WebKitGTK/webkit-2.36/ChangeLog (290527 => 290528) --- releases/WebKitGTK/webkit-2.36/ChangeLog 2022-02-25 22:20:26 UTC (rev 290527) +++ releases/WebKitGTK/webkit-2.36/ChangeLog 2022-02-25 22:20:32 UTC (rev 290528) @@ -1,3 +1,9 @@ +2022-02-25 Adrian Perez de Castro + +Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.35.90 release + +* Source/cmake/OptionsWPE.cmake: Bump version numbers. + 2022-02-25 Carlos Garcia Campos Unreviewed. Update OptionsGTK.cmake and NEWS for 2.35.90 release Modified: releases/WebKitGTK/webkit-2.36/Source/WebKit/ChangeLog (290527 => 290528) --- releases/WebKitGTK/webkit-2.36/Source/WebKit/ChangeLog 2022-02-25 22:20:26 UTC (rev 290527) +++ releases/WebKitGTK/webkit-2.36/Source/WebKit/ChangeLog 2022-02-25 22:20:32 UTC (rev 290528) @@ -1,5 +1,11 @@ 2022-02-25 Adrian Perez de Castro +Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.35.90 release + +* wpe/NEWS: Add release notes for 2.35.90. + +2022-02-25 Adrian Perez de Castro + Unreviewed non-unified build fix. * WebProcess/glib/WebProcessGLib.cpp: Add missing WebPage.h inclusion. Modified: releases/WebKitGTK/webkit-2.36/Source/WebKit/wpe/NEWS (290527 => 290528) --- releases/WebKitGTK/webkit-2.36/Source/WebKit/wpe/NEWS 2022-02-25 22:20:26 UTC (rev 290527) +++ releases/WebKitGTK/webkit-2.36/Source/WebKit/wpe/NEWS 2022-02-25 22:20:32 UTC (rev 290528) @@ -1,3 +1,24 @@ +== +WPE WebKit 2.35.90 +== + +What's new in WPE WebKit 2.35.90? + + - Fix scrolling with the mouse wheel on sites using overscroll-behavior. + - Suspend web processes after some time in the process cache. + - Ensure EGL displays are terminated before web process exits. + - Deinitialize gstreamer before web process exits. + - Make fonts under XDG_DATA_DIRS available in web process sanbox. + - Canonicalize paths passed to bubblewrap launcher. + - The WebKitSettings:enable-developer-extras option is no longer enabled by default. + - Allow tweaking media source buffering with the MSE_MAX_BUFFER_SIZE, and configure +regular playback on-disk buffering with WPE_SHELL_DISABLE_MEDIA_DISK_CACHE and +WPE_SHELL_MEDIA_DISK_CACHE_PATH environment variables. + - Add new accessibility implementation using ATSPI DBus interfaces instead of ATK. + - Add support for requestVideoFrameCallback. + - Fix a crash at startup when bubblewrap sandbox is enabled. + - Fix several crashes and rendering issues. + = WPE WebKit 2.35.1 = Modified: releases/WebKitGTK/webkit-2.36/Source/cmake/OptionsWPE.cmake (290527 => 290528) --- releases/WebKitGTK/webkit-2.36/Source/cmake/OptionsWPE.cmake 2022-02-25 22:20:26 UTC (rev 290527) +++ releases/WebKitGTK/webkit-2.36/Source/cmake/OptionsWPE.cmake 2022-02-25 22:20:32 UTC (rev 290528) @@ -1,7 +1,7 @@ include(GNUInstallDirs) include(VersioningUtils) -SET_PROJECT_VERSION(2 35 1) +SET_PROJECT_VERSION(2 35 90) set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string") @@ -145,9 +145,9 @@ endif () if (WPE_API_VERSION VERSION_EQUAL "1.0") -CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(WEBKIT 20 0 17) +CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(WEBKIT 20 1 17) else () -CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(WEBKIT 1 0 1) +CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(WEBKIT 1 1 1) endif () set(CMAKE_C_VISIBILITY_PRESET hidden) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290526] trunk/Source/WebCore
Title: [290526] trunk/Source/WebCore Revision 290526 Author jer.no...@apple.com Date 2022-02-25 14:18:16 -0800 (Fri, 25 Feb 2022) Log Message [Cocoa] HLS + Modern EME key rotation causes playback to stall indefinitely https://bugs.webkit.org/show_bug.cgi?id=237214 Reviewed by Eric Carlson. In r275916, Ref was changed to perform pointer equality in its operator==. This caused takeUnexpectedKeyRequestForInitializationData() to fail to find key requests matching the initData passed in through MediaKeySession. Fix the equality test by calling .get() on the Ref, which causes the `==` to resolve to FragmentedSharedBuffer::operator==(). * platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm: (WebCore::CDMInstanceFairPlayStreamingAVFObjC::takeUnexpectedKeyRequestForInitializationData): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm Diff Modified: trunk/Source/WebCore/ChangeLog (290525 => 290526) --- trunk/Source/WebCore/ChangeLog 2022-02-25 21:01:41 UTC (rev 290525) +++ trunk/Source/WebCore/ChangeLog 2022-02-25 22:18:16 UTC (rev 290526) @@ -1,3 +1,21 @@ +2022-02-25 Jer Noble + +[Cocoa] HLS + Modern EME key rotation causes playback to stall indefinitely +https://bugs.webkit.org/show_bug.cgi?id=237214 + + +Reviewed by Eric Carlson. + +In r275916, Ref was changed to perform pointer equality in its operator==. This caused +takeUnexpectedKeyRequestForInitializationData() to fail to find key requests matching +the initData passed in through MediaKeySession. + +Fix the equality test by calling .get() on the Ref, which causes the `==` to resolve to +FragmentedSharedBuffer::operator==(). + +* platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm: +(WebCore::CDMInstanceFairPlayStreamingAVFObjC::takeUnexpectedKeyRequestForInitializationData): + 2022-02-25 Alex Christensen Re-add YouTubePluginReplacement, removed in r285252 Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm (290525 => 290526) --- trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm 2022-02-25 21:01:41 UTC (rev 290525) +++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm 2022-02-25 22:18:16 UTC (rev 290526) @@ -275,7 +275,7 @@ auto& request = *requestIter; auto requestType = initTypeForRequest(request.get()); auto requestInitData = initializationDataForRequest(request.get()); -if (initDataType != requestType || initData != requestInitData) +if (initDataType != requestType || initData != requestInitData.get()) continue; return m_unexpectedKeyRequests.take(requestIter); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290525] trunk/Source/JavaScriptCore
Title: [290525] trunk/Source/_javascript_Core Revision 290525 Author commit-qu...@webkit.org Date 2022-02-25 13:01:41 -0800 (Fri, 25 Feb 2022) Log Message Unreviewed, reverting r290516. https://bugs.webkit.org/show_bug.cgi?id=237222 broke debug tests Reverted changeset: "[JSC] Use DeferTerminationForAWhile in Interpreter::unwind" https://bugs.webkit.org/show_bug.cgi?id=237176 https://commits.webkit.org/r290516 Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/interpreter/Interpreter.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (290524 => 290525) --- trunk/Source/_javascript_Core/ChangeLog 2022-02-25 20:54:59 UTC (rev 290524) +++ trunk/Source/_javascript_Core/ChangeLog 2022-02-25 21:01:41 UTC (rev 290525) @@ -1,3 +1,16 @@ +2022-02-25 Commit Queue + +Unreviewed, reverting r290516. +https://bugs.webkit.org/show_bug.cgi?id=237222 + +broke debug tests + +Reverted changeset: + +"[JSC] Use DeferTerminationForAWhile in Interpreter::unwind" +https://bugs.webkit.org/show_bug.cgi?id=237176 +https://commits.webkit.org/r290516 + 2022-02-25 Mark Lam operationMaterializeObjectInOSR should DeferTerminationForAWhile instead of just DeferTermination. Modified: trunk/Source/_javascript_Core/interpreter/Interpreter.cpp (290524 => 290525) --- trunk/Source/_javascript_Core/interpreter/Interpreter.cpp 2022-02-25 20:54:59 UTC (rev 290524) +++ trunk/Source/_javascript_Core/interpreter/Interpreter.cpp 2022-02-25 21:01:41 UTC (rev 290525) @@ -675,7 +675,7 @@ // Replace an exception which passes across a marshalling boundary with a TypeError for its handler's global object. static void sanitizeRemoteFunctionException(VM& vm, JSRemoteFunction* remoteFunction, Exception* exception) { -ASSERT(vm.traps().isDeferringTermination()); +DeferTermination deferScope(vm); auto scope = DECLARE_THROW_SCOPE(vm); ASSERT(exception); ASSERT(!vm.isTerminationException(exception)); @@ -703,10 +703,6 @@ NEVER_INLINE CatchInfo Interpreter::unwind(VM& vm, CallFrame*& callFrame, Exception* exception) { -// While running Interpreter::unwind, we must not accept concurrently set termination exception, -// otherwise, we can end up in a found error handler with a TerminationException, and effectively -// "catch" the TerminationException which should not be catchable. -DeferTerminationForAWhile deferScope(vm); auto scope = DECLARE_CATCH_SCOPE(vm); ASSERT(reinterpret_cast(callFrame) != vm.topEntryFrame); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290524] trunk/LayoutTests
Title: [290524] trunk/LayoutTests Revision 290524 Author jen...@apple.com Date 2022-02-25 12:54:59 -0800 (Fri, 25 Feb 2022) Log Message [ Mac wk1 ] 7X imported/w3c/web-platform-tests/pointerevents/pointerevent (layout-tests) are flaky text failures https://bugs.webkit.org/show_bug.cgi?id=236128 Unreviewed test gardening. * platform/mac-wk1/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/mac-wk1/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (290523 => 290524) --- trunk/LayoutTests/ChangeLog 2022-02-25 20:44:18 UTC (rev 290523) +++ trunk/LayoutTests/ChangeLog 2022-02-25 20:54:59 UTC (rev 290524) @@ -1,3 +1,13 @@ +2022-02-25 Robert Jenner + +[ Mac wk1 ] 7X imported/w3c/web-platform-tests/pointerevents/pointerevent (layout-tests) are flaky text failures +https://bugs.webkit.org/show_bug.cgi?id=236128 + + +Unreviewed test gardening. + +* platform/mac-wk1/TestExpectations: + 2022-02-25 Matteo Flores [ iOS EWS ] imported/w3c/web-platform-tests/svg/coordinate-systems/abspos.html is a flaky image failure. Modified: trunk/LayoutTests/platform/mac-wk1/TestExpectations (290523 => 290524) --- trunk/LayoutTests/platform/mac-wk1/TestExpectations 2022-02-25 20:44:18 UTC (rev 290523) +++ trunk/LayoutTests/platform/mac-wk1/TestExpectations 2022-02-25 20:54:59 UTC (rev 290524) @@ -1783,3 +1783,12 @@ http/tests/push-api/subscribe-grant-permissions.html [ Skip ] webkit.org/b/236126 imported/w3c/web-platform-tests/html/user-activation/activation-trigger-pointerevent.html [ Pass Failure ] + +# webkit.org/b/236128 [ Mac wk1 ] 7X imported/w3c/web-platform-tests/pointerevents/pointerevent (layout-tests) are flaky text failures +imported/w3c/web-platform-tests/pointerevents/pointerevent_boundary_events_at_implicit_release_hoverable_pointers.html [ Pass Failure ] +imported/w3c/web-platform-tests/pointerevents/pointerevent_capture_mouse.html [ Pass Failure ] +imported/w3c/web-platform-tests/pointerevents/pointerevent_click_during_capture.html [ Pass Failure ] +imported/w3c/web-platform-tests/pointerevents/pointerevent_element_haspointercapture.html [ Pass Failure ] +imported/w3c/web-platform-tests/pointerevents/pointerevent_mouse_capture_change_hover.html [ Pass Failure ] +imported/w3c/web-platform-tests/pointerevents/pointerevent_mouse_pointercapture_in_frame.html [ Pass Failure ] +imported/w3c/web-platform-tests/pointerevents/pointerevent_pointercapture-in-custom-element.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] [290522] trunk/LayoutTests
Title: [290522] trunk/LayoutTests Revision 290522 Author jen...@apple.com Date 2022-02-25 12:19:30 -0800 (Fri, 25 Feb 2022) Log Message [ iOS EWS ] imported/w3c/web-platform-tests/svg/coordinate-systems/abspos.html is a flaky image failure. https://bugs.webkit.org/show_bug.cgi?id=237220 Unreviewed test gardening. Patch by Matteo Flores on 2022-02-25 * platform/ios/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (290521 => 290522) --- trunk/LayoutTests/ChangeLog 2022-02-25 20:08:55 UTC (rev 290521) +++ trunk/LayoutTests/ChangeLog 2022-02-25 20:19:30 UTC (rev 290522) @@ -1,5 +1,14 @@ 2022-02-25 Matteo Flores +[ iOS EWS ] imported/w3c/web-platform-tests/svg/coordinate-systems/abspos.html is a flaky image failure. +https://bugs.webkit.org/show_bug.cgi?id=237220 + +Unreviewed test gardening. + +* platform/ios/TestExpectations: + +2022-02-25 Matteo Flores + REGRESSION(r289787?) [ iOS EWS ]fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping.html is a flaky image failure. https://bugs.webkit.org/show_bug.cgi?id=237218 Modified: trunk/LayoutTests/platform/ios/TestExpectations (290521 => 290522) --- trunk/LayoutTests/platform/ios/TestExpectations 2022-02-25 20:08:55 UTC (rev 290521) +++ trunk/LayoutTests/platform/ios/TestExpectations 2022-02-25 20:19:30 UTC (rev 290522) @@ -3389,6 +3389,8 @@ # rdar://82190832 ([ iOS15 ] editing/caret/ios/caret-in-overflow-area.html is failing) [ Debug ] editing/caret/ios/caret-in-overflow-area.html [ Pass Timeout Failure ] +webkit.org/b/237220 imported/w3c/web-platform-tests/svg/coordinate-systems/abspos.html [ Pass Failure ] + webkit.org/b/237218 fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping.html [ Pass Failure ] webkit.org/b/229832 [ Release ] imported/w3c/web-platform-tests/beacon/beacon-redirect.https.window.html [ Pass Failure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290521] trunk/Source/WebKit
Title: [290521] trunk/Source/WebKit Revision 290521 Author pvol...@apple.com Date 2022-02-25 12:08:55 -0800 (Fri, 25 Feb 2022) Log Message Make sure there is a default Networking process to provide the Launch Services database https://bugs.webkit.org/show_bug.cgi?id=236629 Reviewed by Brent Fulgham. The WebContent processes relies on getting the Launch Services database from the Networking process. It is possible to enter a state where there is no default Network process, but a Network process is running because a Website data store is holding a reference to it. This patch addresses this issue by removing Network process references in all remaining Website data stores when the last process pool is being deleted. * UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::~WebProcessPool): * UIProcess/WebsiteData/WebsiteDataStore.cpp: (WebKit::WebsiteDataStore::removeNetworkProcessReference): * UIProcess/WebsiteData/WebsiteDataStore.h: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/WebProcessPool.cpp trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h Diff Modified: trunk/Source/WebKit/ChangeLog (290520 => 290521) --- trunk/Source/WebKit/ChangeLog 2022-02-25 19:42:15 UTC (rev 290520) +++ trunk/Source/WebKit/ChangeLog 2022-02-25 20:08:55 UTC (rev 290521) @@ -1,3 +1,22 @@ +2022-02-25 Per Arne Vollan + +Make sure there is a default Networking process to provide the Launch Services database +https://bugs.webkit.org/show_bug.cgi?id=236629 + +Reviewed by Brent Fulgham. + +The WebContent processes relies on getting the Launch Services database from the Networking process. +It is possible to enter a state where there is no default Network process, but a Network process is +running because a Website data store is holding a reference to it. This patch addresses this issue +by removing Network process references in all remaining Website data stores when the last process +pool is being deleted. + +* UIProcess/WebProcessPool.cpp: +(WebKit::WebProcessPool::~WebProcessPool): +* UIProcess/WebsiteData/WebsiteDataStore.cpp: +(WebKit::WebsiteDataStore::removeNetworkProcessReference): +* UIProcess/WebsiteData/WebsiteDataStore.h: + 2022-02-25 Youenn Fablet Better isolate RemoteVideoFrameObjectHeap clients from ThreadSafeObjectHeap implementation details Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.cpp (290520 => 290521) --- trunk/Source/WebKit/UIProcess/WebProcessPool.cpp 2022-02-25 19:42:15 UTC (rev 290520) +++ trunk/Source/WebKit/UIProcess/WebProcessPool.cpp 2022-02-25 20:08:55 UTC (rev 290521) @@ -329,8 +329,15 @@ process->shutDown(); } -if (processPools().isEmpty() && !!NetworkProcessProxy::defaultNetworkProcess()) -NetworkProcessProxy::defaultNetworkProcess() = nullptr; +if (processPools().isEmpty()) { +WebsiteDataStore::forEachWebsiteDataStore([](auto& websiteDataStore) { +websiteDataStore.removeNetworkProcessReference(); +}); +if (auto& networkProcess = NetworkProcessProxy::defaultNetworkProcess()) { +ASSERT(networkProcess->hasOneRef()); +networkProcess = nullptr; +} +} } void WebProcessPool::initializeClient(const WKContextClientBase* client) Modified: trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp (290520 => 290521) --- trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp 2022-02-25 19:42:15 UTC (rev 290520) +++ trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp 2022-02-25 20:08:55 UTC (rev 290521) @@ -226,6 +226,11 @@ return const_cast(*this).networkProcess(); } +void WebsiteDataStore::removeNetworkProcessReference() +{ +m_networkProcess = nullptr; +} + void WebsiteDataStore::registerProcess(WebProcessProxy& process) { ASSERT(process.pageCount() || process.provisionalPageCount()); Modified: trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h (290520 => 290521) --- trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h 2022-02-25 19:42:15 UTC (rev 290520) +++ trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h 2022-02-25 20:08:55 UTC (rev 290521) @@ -125,7 +125,8 @@ NetworkProcessProxy& networkProcess() const; NetworkProcessProxy& networkProcess(); NetworkProcessProxy* networkProcessIfExists() { return m_networkProcess.get(); } - +void removeNetworkProcessReference(); + static WebsiteDataStore* existingDataStoreForSessionID(PAL::SessionID); bool isPersistent() const { return !m_sessionID.isEphemeral(); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290520] trunk/LayoutTests
Title: [290520] trunk/LayoutTests Revision 290520 Author jen...@apple.com Date 2022-02-25 11:42:15 -0800 (Fri, 25 Feb 2022) Log Message REGRESSION(r289787?) [ iOS EWS ]fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping.html is a flaky image failure. https://bugs.webkit.org/show_bug.cgi?id=237218 Unreviewed test gardening. Patch by Matteo Flores on 2022-02-25 * platform/ios/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (290519 => 290520) --- trunk/LayoutTests/ChangeLog 2022-02-25 19:26:27 UTC (rev 290519) +++ trunk/LayoutTests/ChangeLog 2022-02-25 19:42:15 UTC (rev 290520) @@ -1,3 +1,12 @@ +2022-02-25 Matteo Flores + +REGRESSION(r289787?) [ iOS EWS ]fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping.html is a flaky image failure. +https://bugs.webkit.org/show_bug.cgi?id=237218 + +Unreviewed test gardening. + +* platform/ios/TestExpectations: + 2022-02-25 Alex Christensen Re-add YouTubePluginReplacement, removed in r285252 Modified: trunk/LayoutTests/platform/ios/TestExpectations (290519 => 290520) --- trunk/LayoutTests/platform/ios/TestExpectations 2022-02-25 19:26:27 UTC (rev 290519) +++ trunk/LayoutTests/platform/ios/TestExpectations 2022-02-25 19:42:15 UTC (rev 290520) @@ -3389,6 +3389,8 @@ # rdar://82190832 ([ iOS15 ] editing/caret/ios/caret-in-overflow-area.html is failing) [ Debug ] editing/caret/ios/caret-in-overflow-area.html [ Pass Timeout Failure ] +webkit.org/b/237218 fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping.html [ Pass Failure ] + webkit.org/b/229832 [ Release ] imported/w3c/web-platform-tests/beacon/beacon-redirect.https.window.html [ Pass Failure ] # rdar://83207621 ([ BigSur wk2 Release ] 2 fast/canvas/ tests are flaky failing (230366)) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290519] trunk
Title: [290519] trunk Revision 290519 Author commit-qu...@webkit.org Date 2022-02-25 11:26:27 -0800 (Fri, 25 Feb 2022) Log Message Re-add YouTubePluginReplacement, removed in r285252 https://bugs.webkit.org/show_bug.cgi?id=237182 Source/WebCore: Patch by Alex Christensen on 2022-02-25 Reviewed by Chris Dumez. Tests: security/contentSecurityPolicy/object-src-none-blocks-youtube-plugin-replacement.html security/contentSecurityPolicy/plugins-types-allows-youtube-plugin-replacement.html security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement-without-mime-type.html security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement.html Its removal broke webpages that work in Chrome and Firefox, so back it comes. * Headers.cmake: * Modules/plugins: Copied from Source/WebCore/Modules/plugins. * SourcesCocoa.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): * bindings/scripts/CodeGeneratorJS.pm: (GenerateImplementation): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::visitChildrenImpl): * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::createElementRenderer): (WebCore::HTMLPlugInElement::didAddUserAgentShadowRoot): (WebCore::registrar): (WebCore::pluginReplacementForType): (WebCore::HTMLPlugInElement::requestObject): (WebCore::HTMLPlugInElement::scriptObjectForPluginReplacement): * html/HTMLPlugInElement.h: (WebCore::HTMLPlugInElement::pluginReplacementScriptObject): * html/shadow/ShadowPseudoIds.cpp: (WebCore::ShadowPseudoIds::webkitPluginReplacement): * html/shadow/ShadowPseudoIds.h: * html/shadow/YouTubeEmbedShadowElement.cpp: * html/shadow/YouTubeEmbedShadowElement.h: * page/Settings.yaml: Tools: Patch by Alex Christensen on 2022-02-25 Reviewed by Chris Dumez. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/YouTubePluginReplacement.cpp: LayoutTests: Patch by Alex Christensen on 2022-02-25 Reviewed by Chris Dumez. * TestExpectations: * platform/ios-wk2/TestExpectations: * platform/win/TestExpectations: * security/contentSecurityPolicy/object-src-none-blocks-youtube-plugin-replacement-expected.txt: Copied from LayoutTests/security/contentSecurityPolicy/object-src-none-blocks-youtube-plugin-replacement-expected.txt. * security/contentSecurityPolicy/object-src-none-blocks-youtube-plugin-replacement.html: Copied from LayoutTests/security/contentSecurityPolicy/object-src-none-blocks-youtube-plugin-replacement.html. * security/contentSecurityPolicy/plugins-types-allows-youtube-plugin-replacement-expected.txt: Copied from LayoutTests/security/contentSecurityPolicy/plugins-types-allows-youtube-plugin-replacement-expected.txt. * security/contentSecurityPolicy/plugins-types-allows-youtube-plugin-replacement.html: Copied from LayoutTests/security/contentSecurityPolicy/plugins-types-allows-youtube-plugin-replacement.html. * security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement-expected.txt: Copied from LayoutTests/security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement-expected.txt. * security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement-without-mime-type-expected.txt: Copied from LayoutTests/security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement-without-mime-type-expected.txt. * security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement-without-mime-type.html: Copied from LayoutTests/security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement-without-mime-type.html. * security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement.html: Copied from LayoutTests/security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement.html. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/platform/ios-wk2/TestExpectations trunk/LayoutTests/platform/win/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Headers.cmake trunk/Source/WebCore/SourcesCocoa.txt trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/bindings/js/JSPluginElementFunctions.cpp trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm trunk/Source/WebCore/bindings/scripts/test/JS/JSTestPluginInterface.cpp trunk/Source/WebCore/html/HTMLPlugInElement.cpp trunk/Source/WebCore/html/HTMLPlugInElement.h trunk/Source/WebCore/html/shadow/ShadowPseudoIds.cpp trunk/Source/WebCore/html/shadow/ShadowPseudoIds.h trunk/Source/WebCore/page/Settings.yaml trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj Added Paths trunk/LayoutTests/security/contentSecurityPolicy/object-src-none-blocks-youtube-plugin-replacement-expected.txt trunk/LayoutTests/security/contentSecurityPolicy/object-src-none-blocks-youtube-plugin-replacement.html
[webkit-changes] [290518] branches/safari-613.1.17.1-branch
Title: [290518] branches/safari-613.1.17.1-branch Revision 290518 Author repst...@apple.com Date 2022-02-25 11:13:53 -0800 (Fri, 25 Feb 2022) Log Message Cherry-pick r290512. rdar://problem/86582214 [Tables] Incorrect table sizing when colgroup comes after tbody https://bugs.webkit.org/show_bug.cgi?id=237205 Reviewed by Antti Koivisto. Source/WebCore: Let's use the colgroup for table sizing even when it comes after any thead, tbody, tfoot, and tr elements. This makes WebKit match other rendering engines (see https://src.chromium.org/viewvc/blink?revision=159442=revision) Test: fast/table/table-sizing-fails-when-colgroup-comes-after-content.html * rendering/RenderTable.cpp: (WebCore::RenderTable::firstColumn const): * rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::nextColumn const): LayoutTests: * fast/table/table-sizing-fails-when-colgroup-comes-after-content-expected.html: Added. * fast/table/table-sizing-fails-when-colgroup-comes-after-content.html: Added. * platform/mac/tables/mozilla_expected_failures/dom/appendCol1-expected.txt: Progression. * platform/mac/tables/mozilla_expected_failures/dom/appendColGroup1-expected.txt: Progression. git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290512 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-613.1.17.1-branch/LayoutTests/ChangeLog branches/safari-613.1.17.1-branch/LayoutTests/platform/ios/tables/mozilla_expected_failures/dom/appendCol1-expected.txt branches/safari-613.1.17.1-branch/LayoutTests/platform/ios/tables/mozilla_expected_failures/dom/appendColGroup1-expected.txt branches/safari-613.1.17.1-branch/LayoutTests/platform/mac/tables/mozilla_expected_failures/dom/appendCol1-expected.txt branches/safari-613.1.17.1-branch/LayoutTests/platform/mac/tables/mozilla_expected_failures/dom/appendColGroup1-expected.txt branches/safari-613.1.17.1-branch/Source/WebCore/ChangeLog branches/safari-613.1.17.1-branch/Source/WebCore/rendering/RenderTable.cpp branches/safari-613.1.17.1-branch/Source/WebCore/rendering/RenderTableCol.cpp Added Paths branches/safari-613.1.17.1-branch/LayoutTests/fast/table/table-sizing-fails-when-colgroup-comes-after-content-expected.html branches/safari-613.1.17.1-branch/LayoutTests/fast/table/table-sizing-fails-when-colgroup-comes-after-content.html Diff Modified: branches/safari-613.1.17.1-branch/LayoutTests/ChangeLog (290517 => 290518) --- branches/safari-613.1.17.1-branch/LayoutTests/ChangeLog 2022-02-25 19:03:10 UTC (rev 290517) +++ branches/safari-613.1.17.1-branch/LayoutTests/ChangeLog 2022-02-25 19:13:53 UTC (rev 290518) @@ -1,3 +1,48 @@ +2022-02-25 Russell Epstein + +Cherry-pick r290512. rdar://problem/86582214 + +[Tables] Incorrect table sizing when colgroup comes after tbody +https://bugs.webkit.org/show_bug.cgi?id=237205 + + +Reviewed by Antti Koivisto. + +Source/WebCore: + +Let's use the colgroup for table sizing even when it comes after any thead, tbody, tfoot, and tr elements. +This makes WebKit match other rendering engines (see https://src.chromium.org/viewvc/blink?revision=159442=revision) + +Test: fast/table/table-sizing-fails-when-colgroup-comes-after-content.html + +* rendering/RenderTable.cpp: +(WebCore::RenderTable::firstColumn const): +* rendering/RenderTableCol.cpp: +(WebCore::RenderTableCol::nextColumn const): + +LayoutTests: + +* fast/table/table-sizing-fails-when-colgroup-comes-after-content-expected.html: Added. +* fast/table/table-sizing-fails-when-colgroup-comes-after-content.html: Added. +* platform/mac/tables/mozilla_expected_failures/dom/appendCol1-expected.txt: Progression. +* platform/mac/tables/mozilla_expected_failures/dom/appendColGroup1-expected.txt: Progression. + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290512 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2022-02-25 Alan Bujtas + +[Tables] Incorrect table sizing when colgroup comes after tbody +https://bugs.webkit.org/show_bug.cgi?id=237205 + + +Reviewed by Antti Koivisto. + +* fast/table/table-sizing-fails-when-colgroup-comes-after-content-expected.html: Added. +* fast/table/table-sizing-fails-when-colgroup-comes-after-content.html: Added. +* platform/mac/tables/mozilla_expected_failures/dom/appendCol1-expected.txt: Progression. +* platform/mac/tables/mozilla_expected_failures/dom/appendColGroup1-expected.txt: Progression. + 2022-02-18 Russell Epstein Cherry-pick r290156. rdar://problem/89154452 Added: branches/safari-613.1.17.1-branch/LayoutTests/fast/table/table-sizing-fails-when-colgroup-comes-after-content-expected.html (0 => 290518) ---
[webkit-changes] [290517] trunk
Title: [290517] trunk Revision 290517 Author mark@apple.com Date 2022-02-25 11:03:10 -0800 (Fri, 25 Feb 2022) Log Message operationMaterializeObjectInOSR should DeferTerminationForAWhile instead of just DeferTermination. https://bugs.webkit.org/show_bug.cgi?id=237173 rdar://problem/89450245 Reviewed by Yusuke Suzuki. JSTests: * stress/termination-exception-in-operationMaterializeObjectInOSR2.js: Added. Source/_javascript_Core: DeferTermination can throw the TerminationException on destruction of the scope object. operationMaterializeObjectInOSR() was using DeferTermination, resulting in the TerminationException being thrown on exit. This trips up validateDFGExceptionHandling testing (which is enabled on Debug builds) because the TerminationException is unexpected. The solution is simply to use DeferTerminationForAWhile instead, and let a more natural trap checkpoint throw the TerminationException later. Also refactored notifyDebuggerOfUnwinding() to return early if a debugger is not present. This avoids unnecessarily entering and exiting a DeferTermination scope in notifyDebuggerOfUnwinding(). This was observed while testing this change on the attached test case. * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * interpreter/Interpreter.cpp: (JSC::notifyDebuggerOfUnwinding): Modified Paths trunk/JSTests/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/ftl/FTLOperations.cpp trunk/Source/_javascript_Core/interpreter/Interpreter.cpp Added Paths trunk/JSTests/stress/termination-exception-in-operationMaterializeObjectInOSR2.js Diff Modified: trunk/JSTests/ChangeLog (290516 => 290517) --- trunk/JSTests/ChangeLog 2022-02-25 18:53:01 UTC (rev 290516) +++ trunk/JSTests/ChangeLog 2022-02-25 19:03:10 UTC (rev 290517) @@ -1,3 +1,13 @@ +2022-02-25 Mark Lam + +operationMaterializeObjectInOSR should DeferTerminationForAWhile instead of just DeferTermination. +https://bugs.webkit.org/show_bug.cgi?id=237173 +rdar://problem/89450245 + +Reviewed by Yusuke Suzuki. + +* stress/termination-exception-in-operationMaterializeObjectInOSR2.js: Added. + 2022-02-24 Angelos Oikonomopoulos Skip shadow-realm-import-value on ARM too Added: trunk/JSTests/stress/termination-exception-in-operationMaterializeObjectInOSR2.js (0 => 290517) --- trunk/JSTests/stress/termination-exception-in-operationMaterializeObjectInOSR2.js (rev 0) +++ trunk/JSTests/stress/termination-exception-in-operationMaterializeObjectInOSR2.js 2022-02-25 19:03:10 UTC (rev 290517) @@ -0,0 +1,18 @@ +//@ skip if $buildType == "release" +//@ runDefault("--watchdog=90", "--jitPolicyScale=0", "--watchdog-exception-ok") + +function bar() { + try { +undefined instanceof []; + } catch {} + let a = [0]; + for (let i = 0; i < 100; i++) {} + foo(); + let b = a; +} + +function foo() { + bar(); +} + +bar(); Modified: trunk/Source/_javascript_Core/ChangeLog (290516 => 290517) --- trunk/Source/_javascript_Core/ChangeLog 2022-02-25 18:53:01 UTC (rev 290516) +++ trunk/Source/_javascript_Core/ChangeLog 2022-02-25 19:03:10 UTC (rev 290517) @@ -1,3 +1,29 @@ +2022-02-25 Mark Lam + +operationMaterializeObjectInOSR should DeferTerminationForAWhile instead of just DeferTermination. +https://bugs.webkit.org/show_bug.cgi?id=237173 +rdar://problem/89450245 + +Reviewed by Yusuke Suzuki. + +DeferTermination can throw the TerminationException on destruction of the scope +object. operationMaterializeObjectInOSR() was using DeferTermination, resulting +in the TerminationException being thrown on exit. This trips up +validateDFGExceptionHandling testing (which is enabled on Debug builds) because the +TerminationException is unexpected. The solution is simply to use +DeferTerminationForAWhile instead, and let a more natural trap checkpoint throw +the TerminationException later. + +Also refactored notifyDebuggerOfUnwinding() to return early if a debugger is not +present. This avoids unnecessarily entering and exiting a DeferTermination scope +in notifyDebuggerOfUnwinding(). This was observed while testing this change on +the attached test case. + +* ftl/FTLOperations.cpp: +(JSC::FTL::operationMaterializeObjectInOSR): +* interpreter/Interpreter.cpp: +(JSC::notifyDebuggerOfUnwinding): + 2022-02-24 Yusuke Suzuki [JSC] Use DeferTerminationForAWhile in Interpreter::unwind Modified: trunk/Source/_javascript_Core/ftl/FTLOperations.cpp (290516 => 290517) --- trunk/Source/_javascript_Core/ftl/FTLOperations.cpp 2022-02-25 18:53:01 UTC (rev 290516) +++ trunk/Source/_javascript_Core/ftl/FTLOperations.cpp 2022-02-25 19:03:10 UTC (rev 290517) @@ -192,7 +192,7 @@ // It's too hairy to handle TerminationExceptions during OSR object materialization. //
[webkit-changes] [290516] trunk/Source/JavaScriptCore
Title: [290516] trunk/Source/_javascript_Core Revision 290516 Author ysuz...@apple.com Date 2022-02-25 10:53:01 -0800 (Fri, 25 Feb 2022) Log Message [JSC] Use DeferTerminationForAWhile in Interpreter::unwind https://bugs.webkit.org/show_bug.cgi?id=237176 Reviewed by Mark Lam. Interpreter::unwind calls sanitizeRemoteFunctionException, which would like to create scope (but it does not have user observable behavior). Problem is that, since it is creating a scope, it can throw a termination exception. We were using DeferTermination, but destructor of this scope can still set termination exception, which results in throwing a termination exception for the error handler. We use DeferTerminationForAWhile in the prologue of the Interpreter::unwind to ensure that this function will not accept termination exception coming concurrently. * interpreter/Interpreter.cpp: (JSC::sanitizeRemoteFunctionException): (JSC::Interpreter::unwind): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/interpreter/Interpreter.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (290515 => 290516) --- trunk/Source/_javascript_Core/ChangeLog 2022-02-25 18:44:20 UTC (rev 290515) +++ trunk/Source/_javascript_Core/ChangeLog 2022-02-25 18:53:01 UTC (rev 290516) @@ -1,3 +1,22 @@ +2022-02-24 Yusuke Suzuki + +[JSC] Use DeferTerminationForAWhile in Interpreter::unwind +https://bugs.webkit.org/show_bug.cgi?id=237176 + +Reviewed by Mark Lam. + +Interpreter::unwind calls sanitizeRemoteFunctionException, which would like to create scope (but it +does not have user observable behavior). Problem is that, since it is creating a scope, it can throw +a termination exception. We were using DeferTermination, but destructor of this scope can still set +termination exception, which results in throwing a termination exception for the error handler. + +We use DeferTerminationForAWhile in the prologue of the Interpreter::unwind to ensure that this function +will not accept termination exception coming concurrently. + +* interpreter/Interpreter.cpp: +(JSC::sanitizeRemoteFunctionException): +(JSC::Interpreter::unwind): + 2022-02-25 Patrick Angle Web Inspector: [Cocoa] Split remote inspector message data into smaller chunks for large messages Modified: trunk/Source/_javascript_Core/interpreter/Interpreter.cpp (290515 => 290516) --- trunk/Source/_javascript_Core/interpreter/Interpreter.cpp 2022-02-25 18:44:20 UTC (rev 290515) +++ trunk/Source/_javascript_Core/interpreter/Interpreter.cpp 2022-02-25 18:53:01 UTC (rev 290516) @@ -672,7 +672,7 @@ // Replace an exception which passes across a marshalling boundary with a TypeError for its handler's global object. static void sanitizeRemoteFunctionException(VM& vm, JSRemoteFunction* remoteFunction, Exception* exception) { -DeferTermination deferScope(vm); +ASSERT(vm.traps().isDeferringTermination()); auto scope = DECLARE_THROW_SCOPE(vm); ASSERT(exception); ASSERT(!vm.isTerminationException(exception)); @@ -700,6 +700,10 @@ NEVER_INLINE CatchInfo Interpreter::unwind(VM& vm, CallFrame*& callFrame, Exception* exception) { +// While running Interpreter::unwind, we must not accept concurrently set termination exception, +// otherwise, we can end up in a found error handler with a TerminationException, and effectively +// "catch" the TerminationException which should not be catchable. +DeferTerminationForAWhile deferScope(vm); auto scope = DECLARE_CATCH_SCOPE(vm); ASSERT(reinterpret_cast(callFrame) != vm.topEntryFrame); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290515] trunk
Title: [290515] trunk Revision 290515 Author j_pas...@apple.com Date 2022-02-25 10:44:20 -0800 (Fri, 25 Feb 2022) Log Message [WebAuthn] Use default pubKeyCredParams if empty in makeCredential https://bugs.webkit.org/show_bug.cgi?id=237109 rdar://problem/89376484 Reviewed by Brent Fulgham. Source/WebCore: The Web Authentication level 2 spec was updated to clarify that a set of default pubKeyCredParams should be used if the list supplied by the RP is empty. This patch starts using the default and updates associated tests. * Modules/webauthn/AuthenticatorCoordinator.cpp: (WebCore::AuthenticatorCoordinator::create const): * Modules/webauthn/PublicKeyCredentialCreationOptions.h: * Modules/webauthn/WebAuthenticationConstants.h: LayoutTests: Update tests to take in account using default pubKeyCredParams. * http/wpt/webauthn/public-key-credential-create-failure.https-expected.txt: * http/wpt/webauthn/public-key-credential-create-failure.https.html: * http/wpt/webauthn/public-key-credential-create-success-hid.https-expected.txt: * http/wpt/webauthn/public-key-credential-create-success-hid.https.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/http/wpt/webauthn/public-key-credential-create-failure.https-expected.txt trunk/LayoutTests/http/wpt/webauthn/public-key-credential-create-failure.https.html trunk/LayoutTests/http/wpt/webauthn/public-key-credential-create-success-hid.https-expected.txt trunk/LayoutTests/http/wpt/webauthn/public-key-credential-create-success-hid.https.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp trunk/Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.h trunk/Source/WebCore/Modules/webauthn/WebAuthenticationConstants.h Diff Modified: trunk/LayoutTests/ChangeLog (290514 => 290515) --- trunk/LayoutTests/ChangeLog 2022-02-25 17:23:52 UTC (rev 290514) +++ trunk/LayoutTests/ChangeLog 2022-02-25 18:44:20 UTC (rev 290515) @@ -1,3 +1,18 @@ +2022-02-25 J Pascoe + +[WebAuthn] Use default pubKeyCredParams if empty in makeCredential +https://bugs.webkit.org/show_bug.cgi?id=237109 +rdar://problem/89376484 + +Reviewed by Brent Fulgham. + +Update tests to take in account using default pubKeyCredParams. + +* http/wpt/webauthn/public-key-credential-create-failure.https-expected.txt: +* http/wpt/webauthn/public-key-credential-create-failure.https.html: +* http/wpt/webauthn/public-key-credential-create-success-hid.https-expected.txt: +* http/wpt/webauthn/public-key-credential-create-success-hid.https.html: + 2022-02-25 Alan Bujtas [Tables] Incorrect table sizing when colgroup comes after tbody Modified: trunk/LayoutTests/http/wpt/webauthn/public-key-credential-create-failure.https-expected.txt (290514 => 290515) --- trunk/LayoutTests/http/wpt/webauthn/public-key-credential-create-failure.https-expected.txt 2022-02-25 17:23:52 UTC (rev 290514) +++ trunk/LayoutTests/http/wpt/webauthn/public-key-credential-create-failure.https-expected.txt 2022-02-25 18:44:20 UTC (rev 290515) @@ -7,7 +7,6 @@ PASS PublicKeyCredential's [[create]] with timeout PASS PublicKeyCredential's [[create]] with a mismatched RP ID -PASS PublicKeyCredential's [[create]] with an empty pubKeyCredParams PASS PublicKeyCredential's [[create]] with two consecutive requests PASS PublicKeyCredential's [[create]] with two consecutive requests (2) PASS PublicKeyCredential's [[create]] with new requests in a new page Modified: trunk/LayoutTests/http/wpt/webauthn/public-key-credential-create-failure.https.html (290514 => 290515) --- trunk/LayoutTests/http/wpt/webauthn/public-key-credential-create-failure.https.html 2022-02-25 17:23:52 UTC (rev 290514) +++ trunk/LayoutTests/http/wpt/webauthn/public-key-credential-create-failure.https.html 2022-02-25 18:44:20 UTC (rev 290515) @@ -54,27 +54,6 @@ const options = { publicKey: { rp: { -name: "localhost", -id: "localhost" -}, -user: { -name: "John Appleseed", -id: asciiToUint8Array("123456"), -displayName: "Appleseed", -}, -challenge: asciiToUint8Array("123456"), -pubKeyCredParams: [ ], -} -}; - -return promiseRejects(t, "NotSupportedError", -navigator.credentials.create(options), "Unable to create credential because options.pubKeyCredParams is empty."); -}, "PublicKeyCredential's [[create]] with an empty pubKeyCredParams"); - -promise_test(function(t) { -const options = { -publicKey: { -rp: { name: "example.com" }, user: { Modified: trunk/LayoutTests/http/wpt/webauthn/public-key-credential-create-success-hid.https-expected.txt (290514 =>
[webkit-changes] [290514] trunk/Source/WebCore
Title: [290514] trunk/Source/WebCore Revision 290514 Author cdu...@apple.com Date 2022-02-25 09:23:52 -0800 (Fri, 25 Feb 2022) Log Message Use modern Hasher in ContentExtensionsActions https://bugs.webkit.org/show_bug.cgi?id=237157 Reviewed by Darin Adler. * contentextensions/ContentExtensionActions.h: (WebCore::ContentExtensions::add): (WTF::DefaultHash::hash): (WTF::DefaultHash::hash): (WebCore::ContentExtensions::VariantHasher::hash): Deleted. (WebCore::ContentExtensions::VectorHasher::hash): Deleted. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/contentextensions/ContentExtensionActions.h Diff Modified: trunk/Source/WebCore/ChangeLog (290513 => 290514) --- trunk/Source/WebCore/ChangeLog 2022-02-25 16:56:17 UTC (rev 290513) +++ trunk/Source/WebCore/ChangeLog 2022-02-25 17:23:52 UTC (rev 290514) @@ -1,3 +1,17 @@ +2022-02-25 Chris Dumez + +Use modern Hasher in ContentExtensionsActions +https://bugs.webkit.org/show_bug.cgi?id=237157 + +Reviewed by Darin Adler. + +* contentextensions/ContentExtensionActions.h: +(WebCore::ContentExtensions::add): +(WTF::DefaultHash::hash): +(WTF::DefaultHash::hash): +(WebCore::ContentExtensions::VariantHasher::hash): Deleted. +(WebCore::ContentExtensions::VectorHasher::hash): Deleted. + 2022-02-25 Alan Bujtas [Tables] Incorrect table sizing when colgroup comes after tbody Modified: trunk/Source/WebCore/contentextensions/ContentExtensionActions.h (290513 => 290514) --- trunk/Source/WebCore/contentextensions/ContentExtensionActions.h 2022-02-25 16:56:17 UTC (rev 290513) +++ trunk/Source/WebCore/contentextensions/ContentExtensionActions.h 2022-02-25 17:23:52 UTC (rev 290514) @@ -29,7 +29,6 @@ #include "ContentExtensionStringSerialization.h" #include -#include #include namespace WebCore { @@ -38,29 +37,6 @@ namespace WebCore::ContentExtensions { -// FIXME: This probably belongs in WTF, such as in HashFunctions.h. -struct VariantHasher { -template -static uint32_t hash(V&& variant) -{ -return pairIntHash(variant.index(), std::visit([](const auto& type) { -return type.hash(); -}, std::forward(variant))); -} -}; - -// FIXME: This probably belongs in WTF, such as in Hasher.h. -struct VectorHasher { -template -static uint32_t hash(V&& vector) -{ -Hasher hasher; -for (auto& element : vector) -add(hasher, element.hash()); -return hasher.hash(); -} -}; - struct Action; using SerializedActionByte = uint8_t; @@ -95,7 +71,6 @@ String header; String value; -uint32_t hash() const { return pairIntHash(header.hash(), value.hash()); } AppendOperation isolatedCopy() const { return { header.isolatedCopy(), value.isolatedCopy() }; } bool operator==(const AppendOperation& other) const { return other.header == this->header && other.value == this->value; } }; @@ -103,7 +78,6 @@ String header; String value; -uint32_t hash() const { return pairIntHash(header.hash(), value.hash()); } SetOperation isolatedCopy() const { return { header.isolatedCopy(), value.isolatedCopy() }; } bool operator==(const SetOperation& other) const { return other.header == this->header && other.value == this->value; } }; @@ -110,7 +84,6 @@ struct RemoveOperation { String header; -uint32_t hash() const { return header.hash(); } RemoveOperation isolatedCopy() const { return { header.isolatedCopy() }; } bool operator==(const RemoveOperation& other) const { return other.header == this->header; } }; @@ -117,7 +90,6 @@ using OperationVariant = std::variant; OperationVariant operation; -uint32_t hash() const { return VariantHasher::hash(operation); } static Expected parse(const JSON::Value&); ModifyHeaderInfo isolatedCopy() const; bool operator==(const ModifyHeaderInfo&) const; @@ -142,7 +114,6 @@ ModifyHeadersAction(DeletedValueTag) : hashTableType(HashTableType::Deleted) { } bool isDeletedValue() const { return hashTableType == HashTableType::Deleted; } -uint32_t hash() const { return pairIntHash(VectorHasher::hash(requestHeaders), VectorHasher::hash(responseHeaders)); } static Expected parse(const JSON::Object&); ModifyHeadersAction isolatedCopy() const; bool operator==(const ModifyHeadersAction&) const; @@ -156,7 +127,6 @@ struct ExtensionPathAction { String extensionPath; -uint32_t hash() const { return extensionPath.hash(); } ExtensionPathAction isolatedCopy() const { return { extensionPath.isolatedCopy() }; } bool operator==(const ExtensionPathAction& other) const { return other.extensionPath == this->extensionPath; } }; @@ -163,7
[webkit-changes] [290513] trunk/Source/WebKit
Title: [290513] trunk/Source/WebKit Revision 290513 Author you...@apple.com Date 2022-02-25 08:56:17 -0800 (Fri, 25 Feb 2022) Log Message Better isolate RemoteVideoFrameObjectHeap clients from ThreadSafeObjectHeap implementation details https://bugs.webkit.org/show_bug.cgi?id=237191 Reviewed by Kimmo Kinnunen. Refactoring to make RemoteVideoFrameObjectHeap API independent of ThreadSafeObjectHeap. This makes code more readable and simplifies client side usage as well, for instance by not having to care about timers, or using more known names like add/get instead of retire. No change of behavior. * GPUProcess/graphics/RemoteGraphicsContextGL.cpp: * GPUProcess/graphics/RemoteGraphicsContextGL.h: * GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp: * GPUProcess/media/RemoteMediaPlayerProxy.cpp: * GPUProcess/media/RemoteVideoFrameObjectHeap.cpp: * GPUProcess/media/RemoteVideoFrameObjectHeap.h: * GPUProcess/webrtc/LibWebRTCCodecsProxy.mm: * GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp: * Shared/ThreadSafeObjectHeap.h: * WebProcess/GPU/webrtc/SharedVideoFrame.cpp: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp trunk/Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h trunk/Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp trunk/Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp trunk/Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.cpp trunk/Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.h trunk/Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm trunk/Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp trunk/Source/WebKit/Shared/ThreadSafeObjectHeap.h trunk/Source/WebKit/WebProcess/GPU/webrtc/SharedVideoFrame.cpp Diff Modified: trunk/Source/WebKit/ChangeLog (290512 => 290513) --- trunk/Source/WebKit/ChangeLog 2022-02-25 16:44:23 UTC (rev 290512) +++ trunk/Source/WebKit/ChangeLog 2022-02-25 16:56:17 UTC (rev 290513) @@ -1,3 +1,27 @@ +2022-02-25 Youenn Fablet + +Better isolate RemoteVideoFrameObjectHeap clients from ThreadSafeObjectHeap implementation details +https://bugs.webkit.org/show_bug.cgi?id=237191 + +Reviewed by Kimmo Kinnunen. + +Refactoring to make RemoteVideoFrameObjectHeap API independent of ThreadSafeObjectHeap. +This makes code more readable and simplifies client side usage as well, +for instance by not having to care about timers, or using more known names like add/get instead of retire. + +No change of behavior. + +* GPUProcess/graphics/RemoteGraphicsContextGL.cpp: +* GPUProcess/graphics/RemoteGraphicsContextGL.h: +* GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp: +* GPUProcess/media/RemoteMediaPlayerProxy.cpp: +* GPUProcess/media/RemoteVideoFrameObjectHeap.cpp: +* GPUProcess/media/RemoteVideoFrameObjectHeap.h: +* GPUProcess/webrtc/LibWebRTCCodecsProxy.mm: +* GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp: +* Shared/ThreadSafeObjectHeap.h: +* WebProcess/GPU/webrtc/SharedVideoFrame.cpp: + 2022-02-25 Per Arne Vollan Remove unused soft linking declarations Modified: trunk/Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp (290512 => 290513) --- trunk/Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp 2022-02-25 16:44:23 UTC (rev 290512) +++ trunk/Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp 2022-02-25 16:56:17 UTC (rev 290513) @@ -228,12 +228,8 @@ { assertIsCurrent(workQueue()); std::optional result; -if (auto videoFrame = m_context->paintCompositedResultsToMediaSample()) { -auto write = RemoteVideoFrameWriteReference::generateForAdd(); -auto newFrameReference = write.retiredReference(); -result = RemoteVideoFrameProxy::properties(WTFMove(newFrameReference), *videoFrame); -m_videoFrameObjectHeap->retire(WTFMove(write), WTFMove(videoFrame), std::nullopt); -} +if (auto videoFrame = m_context->paintCompositedResultsToMediaSample()) +result = m_videoFrameObjectHeap->add(videoFrame.releaseNonNull()); completionHandler(WTFMove(result)); } #endif @@ -277,7 +273,7 @@ void RemoteGraphicsContextGL::copyTextureFromVideoFrame(WebKit::RemoteVideoFrameReadReference read, uint32_t, uint32_t, int32_t, uint32_t, uint32_t, uint32_t, bool, bool , CompletionHandler&& completionHandler) { notImplemented(); -m_videoFrameObjectHeap->retire(WTFMove(read), defaultTimeout); +m_videoFrameObjectHeap->get(WTFMove(read)); completionHandler(false); } #endif Modified: trunk/Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h (290512 => 290513) --- trunk/Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h 2022-02-25 16:44:23 UTC (rev 290512) +++ trunk/Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h 2022-02-25 16:56:17 UTC (rev 290513) @@
[webkit-changes] [290512] trunk
Title: [290512] trunk Revision 290512 Author za...@apple.com Date 2022-02-25 08:44:23 -0800 (Fri, 25 Feb 2022) Log Message [Tables] Incorrect table sizing when colgroup comes after tbody https://bugs.webkit.org/show_bug.cgi?id=237205 Reviewed by Antti Koivisto. Source/WebCore: Let's use the colgroup for table sizing even when it comes after any thead, tbody, tfoot, and tr elements. This makes WebKit match other rendering engines (see https://src.chromium.org/viewvc/blink?revision=159442=revision) Test: fast/table/table-sizing-fails-when-colgroup-comes-after-content.html * rendering/RenderTable.cpp: (WebCore::RenderTable::firstColumn const): * rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::nextColumn const): LayoutTests: * fast/table/table-sizing-fails-when-colgroup-comes-after-content-expected.html: Added. * fast/table/table-sizing-fails-when-colgroup-comes-after-content.html: Added. * platform/mac/tables/mozilla_expected_failures/dom/appendCol1-expected.txt: Progression. * platform/mac/tables/mozilla_expected_failures/dom/appendColGroup1-expected.txt: Progression. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios/tables/mozilla_expected_failures/dom/appendCol1-expected.txt trunk/LayoutTests/platform/ios/tables/mozilla_expected_failures/dom/appendColGroup1-expected.txt trunk/LayoutTests/platform/mac/tables/mozilla_expected_failures/dom/appendCol1-expected.txt trunk/LayoutTests/platform/mac/tables/mozilla_expected_failures/dom/appendColGroup1-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderTable.cpp trunk/Source/WebCore/rendering/RenderTableCol.cpp Added Paths trunk/LayoutTests/fast/table/table-sizing-fails-when-colgroup-comes-after-content-expected.html trunk/LayoutTests/fast/table/table-sizing-fails-when-colgroup-comes-after-content.html Diff Modified: trunk/LayoutTests/ChangeLog (290511 => 290512) --- trunk/LayoutTests/ChangeLog 2022-02-25 16:43:57 UTC (rev 290511) +++ trunk/LayoutTests/ChangeLog 2022-02-25 16:44:23 UTC (rev 290512) @@ -1,3 +1,16 @@ +2022-02-25 Alan Bujtas + +[Tables] Incorrect table sizing when colgroup comes after tbody +https://bugs.webkit.org/show_bug.cgi?id=237205 + + +Reviewed by Antti Koivisto. + +* fast/table/table-sizing-fails-when-colgroup-comes-after-content-expected.html: Added. +* fast/table/table-sizing-fails-when-colgroup-comes-after-content.html: Added. +* platform/mac/tables/mozilla_expected_failures/dom/appendCol1-expected.txt: Progression. +* platform/mac/tables/mozilla_expected_failures/dom/appendColGroup1-expected.txt: Progression. + 2022-02-25 Youenn Fablet Non-simple CORS preflight fails due to cache-control header Added: trunk/LayoutTests/fast/table/table-sizing-fails-when-colgroup-comes-after-content-expected.html (0 => 290512) --- trunk/LayoutTests/fast/table/table-sizing-fails-when-colgroup-comes-after-content-expected.html (rev 0) +++ trunk/LayoutTests/fast/table/table-sizing-fails-when-colgroup-comes-after-content-expected.html 2022-02-25 16:44:23 UTC (rev 290512) @@ -0,0 +1,25 @@ + +table { + width: 0px; + table-layout: fixed; + border: solid; +} + +td { + width: 50%; + overflow: auto; +} + +PASS if the table below is not blank. + + + + + + + +this text +should show + + + Added: trunk/LayoutTests/fast/table/table-sizing-fails-when-colgroup-comes-after-content.html (0 => 290512) --- trunk/LayoutTests/fast/table/table-sizing-fails-when-colgroup-comes-after-content.html (rev 0) +++ trunk/LayoutTests/fast/table/table-sizing-fails-when-colgroup-comes-after-content.html 2022-02-25 16:44:23 UTC (rev 290512) @@ -0,0 +1,25 @@ + +table { + width: 0px; + table-layout: fixed; + border: solid; +} + +td { + width: 50%; + overflow: auto; +} + +PASS if the table below is not blank. + + + +this text +should show + + + + + + + Modified: trunk/LayoutTests/platform/ios/tables/mozilla_expected_failures/dom/appendCol1-expected.txt (290511 => 290512) --- trunk/LayoutTests/platform/ios/tables/mozilla_expected_failures/dom/appendCol1-expected.txt 2022-02-25 16:43:57 UTC (rev 290511) +++ trunk/LayoutTests/platform/ios/tables/mozilla_expected_failures/dom/appendCol1-expected.txt 2022-02-25 16:44:23 UTC (rev 290512) @@ -6,15 +6,15 @@ RenderBlock (anonymous) at (0,0) size 784x20 RenderText {#text} at (0,0) size 218x19 text run at (0,0) width 218: "The 2 tables should look the same" - RenderTable {TABLE} at (0,20) size 62x30 [bgcolor=#FFA500] [border: (1px outset #808080)] + RenderTable {TABLE} at (0,20) size 235x30 [bgcolor=#FFA500] [border: (1px outset #808080)] RenderTableCol {COLGROUP} at (0,0) size 0x0 RenderTableCol {COL} at (0,0) size 0x0 -RenderTableSection {TBODY} at (1,1) size 60x28 - RenderTableRow {TR} at (0,2) size 60x24 +
[webkit-changes] [290511] branches/safari-614.1.5-branch/Source
Title: [290511] branches/safari-614.1.5-branch/Source Revision 290511 Author repst...@apple.com Date 2022-02-25 08:43:57 -0800 (Fri, 25 Feb 2022) Log Message Versioning. WebKit-7614.1.5.5 Modified Paths branches/safari-614.1.5-branch/Source/_javascript_Core/Configurations/Version.xcconfig branches/safari-614.1.5-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig branches/safari-614.1.5-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig branches/safari-614.1.5-branch/Source/WebCore/Configurations/Version.xcconfig branches/safari-614.1.5-branch/Source/WebCore/PAL/Configurations/Version.xcconfig branches/safari-614.1.5-branch/Source/WebGPU/Configurations/Version.xcconfig branches/safari-614.1.5-branch/Source/WebInspectorUI/Configurations/Version.xcconfig branches/safari-614.1.5-branch/Source/WebKit/Configurations/Version.xcconfig branches/safari-614.1.5-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig Diff Modified: branches/safari-614.1.5-branch/Source/_javascript_Core/Configurations/Version.xcconfig (290510 => 290511) --- branches/safari-614.1.5-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2022-02-25 16:32:10 UTC (rev 290510) +++ branches/safari-614.1.5-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2022-02-25 16:43:57 UTC (rev 290511) @@ -24,7 +24,7 @@ MAJOR_VERSION = 614; MINOR_VERSION = 1; TINY_VERSION = 5; -MICRO_VERSION = 4; +MICRO_VERSION = 5; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-614.1.5-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (290510 => 290511) --- branches/safari-614.1.5-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig 2022-02-25 16:32:10 UTC (rev 290510) +++ branches/safari-614.1.5-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig 2022-02-25 16:43:57 UTC (rev 290511) @@ -24,7 +24,7 @@ MAJOR_VERSION = 614; MINOR_VERSION = 1; TINY_VERSION = 5; -MICRO_VERSION = 4; +MICRO_VERSION = 5; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-614.1.5-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (290510 => 290511) --- branches/safari-614.1.5-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2022-02-25 16:32:10 UTC (rev 290510) +++ branches/safari-614.1.5-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2022-02-25 16:43:57 UTC (rev 290511) @@ -24,7 +24,7 @@ MAJOR_VERSION = 614; MINOR_VERSION = 1; TINY_VERSION = 5; -MICRO_VERSION = 4; +MICRO_VERSION = 5; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-614.1.5-branch/Source/WebCore/Configurations/Version.xcconfig (290510 => 290511) --- branches/safari-614.1.5-branch/Source/WebCore/Configurations/Version.xcconfig 2022-02-25 16:32:10 UTC (rev 290510) +++ branches/safari-614.1.5-branch/Source/WebCore/Configurations/Version.xcconfig 2022-02-25 16:43:57 UTC (rev 290511) @@ -24,7 +24,7 @@ MAJOR_VERSION = 614; MINOR_VERSION = 1; TINY_VERSION = 5; -MICRO_VERSION = 4; +MICRO_VERSION = 5; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-614.1.5-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (290510 => 290511) --- branches/safari-614.1.5-branch/Source/WebCore/PAL/Configurations/Version.xcconfig 2022-02-25 16:32:10 UTC (rev 290510) +++ branches/safari-614.1.5-branch/Source/WebCore/PAL/Configurations/Version.xcconfig 2022-02-25 16:43:57 UTC (rev 290511) @@ -24,7 +24,7 @@ MAJOR_VERSION = 614; MINOR_VERSION = 1; TINY_VERSION = 5; -MICRO_VERSION = 4; +MICRO_VERSION = 5; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-614.1.5-branch/Source/WebGPU/Configurations/Version.xcconfig (290510 => 290511) --- branches/safari-614.1.5-branch/Source/WebGPU/Configurations/Version.xcconfig 2022-02-25 16:32:10 UTC (rev 290510) +++ branches/safari-614.1.5-branch/Source/WebGPU/Configurations/Version.xcconfig 2022-02-25 16:43:57 UTC (rev 290511) @@ -24,7 +24,7 @@ MAJOR_VERSION = 614; MINOR_VERSION = 1; TINY_VERSION = 5; -MICRO_VERSION = 4; +MICRO_VERSION = 5; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-614.1.5-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (290510 => 290511) --- branches/safari-614.1.5-branch/Source/WebInspectorUI/Configurations/Version.xcconfig 2022-02-25 16:32:10 UTC (rev 290510) +++ branches/safari-614.1.5-branch/Source/WebInspectorUI/Configurations/Version.xcconfig 2022-02-25 16:43:57 UTC (rev 290511) @@ -1,7 +1,7 @@ MAJOR_VERSION = 614; MINOR_VERSION = 1; TINY_VERSION = 5; -MICRO_VERSION = 4; +MICRO_VERSION = 5;
[webkit-changes] [290510] trunk/Source/JavaScriptCore
Title: [290510] trunk/Source/_javascript_Core Revision 290510 Author pan...@apple.com Date 2022-02-25 08:32:10 -0800 (Fri, 25 Feb 2022) Log Message Web Inspector: [Cocoa] Split remote inspector message data into smaller chunks for large messages https://bugs.webkit.org/show_bug.cgi?id=237110 Reviewed by Devin Rousso. Messages over 2 MiB will now be split into multiple chunks, which allows us to not exceed any receiving daemon process' memory limit under otherwise normal conditions. 2 MiB was chosen as a balance between not having to split most messages at all and making sure that the messages (and any copies made during the relaying of the messages) do not exceed the memory limits of the receiving daemon process. In order to prevent us from sending chunked messages to a process that doesn't support them we check for a flag to enable this functionality during connection setup. * inspector/remote/RemoteInspector.h: * inspector/remote/RemoteInspectorConstants.h: * inspector/remote/cocoa/RemoteInspectorCocoa.mm: (Inspector::RemoteInspector::sendMessageToRemote): (Inspector::RemoteInspector::receivedSetupMessage): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/inspector/remote/RemoteInspector.h trunk/Source/_javascript_Core/inspector/remote/RemoteInspectorConstants.h trunk/Source/_javascript_Core/inspector/remote/cocoa/RemoteInspectorCocoa.mm Diff Modified: trunk/Source/_javascript_Core/ChangeLog (290509 => 290510) --- trunk/Source/_javascript_Core/ChangeLog 2022-02-25 16:23:12 UTC (rev 290509) +++ trunk/Source/_javascript_Core/ChangeLog 2022-02-25 16:32:10 UTC (rev 290510) @@ -1,3 +1,25 @@ +2022-02-25 Patrick Angle + +Web Inspector: [Cocoa] Split remote inspector message data into smaller chunks for large messages +https://bugs.webkit.org/show_bug.cgi?id=237110 + + +Reviewed by Devin Rousso. + +Messages over 2 MiB will now be split into multiple chunks, which allows us to not exceed any receiving daemon +process' memory limit under otherwise normal conditions. 2 MiB was chosen as a balance between not having to +split most messages at all and making sure that the messages (and any copies made during the relaying of the +messages) do not exceed the memory limits of the receiving daemon process. + +In order to prevent us from sending chunked messages to a process that doesn't support them we check for a flag +to enable this functionality during connection setup. + +* inspector/remote/RemoteInspector.h: +* inspector/remote/RemoteInspectorConstants.h: +* inspector/remote/cocoa/RemoteInspectorCocoa.mm: +(Inspector::RemoteInspector::sendMessageToRemote): +(Inspector::RemoteInspector::receivedSetupMessage): + 2022-02-24 Chris Dumez [Cocoa] Only clear ICU cache when time zone is changed Modified: trunk/Source/_javascript_Core/inspector/remote/RemoteInspector.h (290509 => 290510) --- trunk/Source/_javascript_Core/inspector/remote/RemoteInspector.h 2022-02-25 16:23:12 UTC (rev 290509) +++ trunk/Source/_javascript_Core/inspector/remote/RemoteInspector.h 2022-02-25 16:32:10 UTC (rev 290510) @@ -290,6 +290,7 @@ ProcessID m_parentProcessIdentifier { 0 }; #if PLATFORM(COCOA) RetainPtr m_parentProcessAuditData; +bool m_messageDataTypeChunkSupported { false }; #endif bool m_shouldSendParentProcessInformation { false }; bool m_automaticInspectionEnabled { false }; Modified: trunk/Source/_javascript_Core/inspector/remote/RemoteInspectorConstants.h (290509 => 290510) --- trunk/Source/_javascript_Core/inspector/remote/RemoteInspectorConstants.h 2022-02-25 16:23:12 UTC (rev 290509) +++ trunk/Source/_javascript_Core/inspector/remote/RemoteInspectorConstants.h 2022-02-25 16:32:10 UTC (rev 290510) @@ -56,6 +56,7 @@ #define WIRUserInfoKey @"WIRUserInfoKey" #define WIRApplicationDictionaryKey @"WIRApplicationDictionaryKey" #define WIRMessageDataKey @"WIRMessageDataKey" +#define WIRMessageDataTypeKey @"WIRMessageDataTypeKey" #define WIRApplicationGetListingMessage @"WIRApplicationGetListingMessage" #define WIRApplicationWakeUpDebuggablesMessage @"WIRApplicationWakeUpDebuggablesMessage" #define WIRIndicateMessage @"WIRIndicateMessage" @@ -82,7 +83,13 @@ #define WIRTypeWeb @"WIRTypeWeb" // COMPATIBILITY (iOS 13): "Web" was split into "Page" (WebCore::Page) and "WebPage" (WebKit::WebPageProxy). #define WIRTypeWebPage @"WIRTypeWebPage" #define WIRAutomaticallyPause @"WIRAutomaticallyPause" +#define WIRMessageDataTypeChunkSupportedKey @"WIRMessageDataTypeChunkSupportedKey" +// Allowed values for WIRMessageDataTypeKey. +#define WIRMessageDataTypeFull @"WIRMessageDataTypeFull" +#define WIRMessageDataTypeChunk
[webkit-changes] [290509] trunk/Source/WebKit
Title: [290509] trunk/Source/WebKit Revision 290509 Author pvol...@apple.com Date 2022-02-25 08:23:12 -0800 (Fri, 25 Feb 2022) Log Message Remove unused soft linking declarations https://bugs.webkit.org/show_bug.cgi?id=237209 Reviewed by Brent Fulgham. * WebProcess/cocoa/WebProcessCocoa.mm: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm Diff Modified: trunk/Source/WebKit/ChangeLog (290508 => 290509) --- trunk/Source/WebKit/ChangeLog 2022-02-25 16:04:56 UTC (rev 290508) +++ trunk/Source/WebKit/ChangeLog 2022-02-25 16:23:12 UTC (rev 290509) @@ -1,3 +1,12 @@ +2022-02-25 Per Arne Vollan + +Remove unused soft linking declarations +https://bugs.webkit.org/show_bug.cgi?id=237209 + +Reviewed by Brent Fulgham. + +* WebProcess/cocoa/WebProcessCocoa.mm: + 2022-02-25 Kimmo Kinnunen REGRESSION(r289580): [ iOS macOS ] TestWebKitAPI.IPCTestingAPI.CanReceiveSharedMemory is a constant timeout Modified: trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm (290508 => 290509) --- trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm 2022-02-25 16:04:56 UTC (rev 290508) +++ trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm 2022-02-25 16:23:12 UTC (rev 290509) @@ -170,15 +170,6 @@ SOFT_LINK_FUNCTION_MAY_FAIL_FOR_SOURCE(WebKit, UIKit, _UIApplicationCatalystRequestViewServiceIdiomAndScaleFactor, void, (UIUserInterfaceIdiom idiom, CGFloat scaleFactor), (idiom, scaleFactor)) #endif -SOFT_LINK_FRAMEWORK(CoreServices) -SOFT_LINK_CLASS(CoreServices, _LSDService) -SOFT_LINK_CLASS(CoreServices, _LSDOpenService) - -#if HAVE(CMPHOTO_TILE_DECODER_AVAILABLE) -SOFT_LINK_PRIVATE_FRAMEWORK_OPTIONAL(CMPhoto) -SOFT_LINK_FUNCTION_MAY_FAIL_FOR_SOURCE(WebKit, CMPhoto, CMPhotoIsTileDecoderAvailable, Boolean, (CMVideoCodecType decoder), (decoder)) -#endif - #define RELEASE_LOG_SESSION_ID (m_sessionID ? m_sessionID->toUInt64() : 0) #define WEBPROCESS_RELEASE_LOG(channel, fmt, ...) RELEASE_LOG(channel, "%p - [sessionID=%" PRIu64 "] WebProcess::" fmt, this, RELEASE_LOG_SESSION_ID, ##__VA_ARGS__) #define WEBPROCESS_RELEASE_LOG_ERROR(channel, fmt, ...) RELEASE_LOG_ERROR(channel, "%p - [sessionID=%" PRIu64 "] WebProcess::" fmt, this, RELEASE_LOG_SESSION_ID, ##__VA_ARGS__) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290508] trunk/Tools
Title: [290508] trunk/Tools Revision 290508 Author jbed...@apple.com Date 2022-02-25 08:04:56 -0800 (Fri, 25 Feb 2022) Log Message [Python 3] Invoke validate-committer-lists with Python 3 https://bugs.webkit.org/show_bug.cgi?id=237171 Reviewed by Alexey Proskuryakov. * Tools/Scripts/validate-committer-lists: (CommitterListFromMailingList): Use https urls. (CommitterListFromMailingList._fetch_authors_and_last_commit_time_from_git_log): Handle commits in the canonical repository. (CommitterListFromGit.possibly_expired_committers): Use Python 3 sorting idioms. (CommitterListFromGit.possibly_inactive_reviewers): Declare process encoding. (CommitterListFromGit.print_possibly_expired_committers): Committers which are not in contributors.json or are only contributors cannot have expired committer status. (CommitterListFromGit.print_possibly_inactive_reviewers): String already utf-8. (CommitterListFromGit.print_committers_missing_from_committer_list): Check contributors, not committers. * Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py: (BugzillaQueries.fetch_bugs_matching_quicksearch): Make urllib.quote invocations Python 3 compatible. (BugzillaQueries.fetch_bugs_matching_search): Ditto. (BugzillaQueries.fetch_bugs_from_review_queue): Ditto. (BugzillaQueries.fetch_login_userid_pairs_matching_substring): Ditto. (BugzillaQueries.is_invalid_bugzilla_email): Ditto. Canonical link: https://commits.webkit.org/247793@main Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/validate-committer-lists trunk/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py Diff Modified: trunk/Tools/ChangeLog (290507 => 290508) --- trunk/Tools/ChangeLog 2022-02-25 15:49:58 UTC (rev 290507) +++ trunk/Tools/ChangeLog 2022-02-25 16:04:56 UTC (rev 290508) @@ -1,3 +1,29 @@ +2022-02-24 Jonathan Bedard + +[Python 3] Invoke validate-committer-lists with Python 3 +https://bugs.webkit.org/show_bug.cgi?id=237171 + + +Reviewed by Alexey Proskuryakov. + +* Scripts/validate-committer-lists: +(CommitterListFromMailingList): Use https urls. +(CommitterListFromMailingList._fetch_authors_and_last_commit_time_from_git_log): +Handle commits in the canonical repository. +(CommitterListFromGit.possibly_expired_committers): Use Python 3 sorting idioms. +(CommitterListFromGit.possibly_inactive_reviewers): Declare process encoding. +(CommitterListFromGit.print_possibly_expired_committers): Committers which are not in +contributors.json or are only contributors cannot have expired committer status. +(CommitterListFromGit.print_possibly_inactive_reviewers): String already utf-8. +(CommitterListFromGit.print_committers_missing_from_committer_list): Check contributors, +not committers. +* Scripts/webkitpy/common/net/bugzilla/bugzilla.py: +(BugzillaQueries.fetch_bugs_matching_quicksearch): Make urllib.quote invocations Python 3 compatible. +(BugzillaQueries.fetch_bugs_matching_search): Ditto. +(BugzillaQueries.fetch_bugs_from_review_queue): Ditto. +(BugzillaQueries.fetch_login_userid_pairs_matching_substring): Ditto. +(BugzillaQueries.is_invalid_bugzilla_email): Ditto. + 2022-02-25 Kimmo Kinnunen REGRESSION(r289580): [ iOS macOS ] TestWebKitAPI.IPCTestingAPI.CanReceiveSharedMemory is a constant timeout Modified: trunk/Tools/Scripts/validate-committer-lists (290507 => 290508) --- trunk/Tools/Scripts/validate-committer-lists 2022-02-25 15:49:58 UTC (rev 290507) +++ trunk/Tools/Scripts/validate-committer-lists 2022-02-25 16:04:56 UTC (rev 290508) @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # Copyright (c) 2009, Google Inc. All rights reserved. # @@ -66,8 +66,8 @@ class CommitterListFromMailingList(object): -committers_list_url = "http://lists.webkit.org/mailman/roster/webkit-committers" -reviewers_list_url = "http://lists.webkit.org/mailman/roster/webkit-reviewers" +committers_list_url = "https://lists.webkit.org/mailman/roster/webkit-committers" +reviewers_list_url = "https://lists.webkit.org/mailman/roster/webkit-reviewers" def _fetch_emails_from_page(self, url): page = urlopen(url) @@ -201,10 +201,10 @@ def _fetch_authors_and_last_commit_time_from_git_log(self): last_commit_dates = {} git_log_args = ['git', 'log', '--reverse', '--pretty=format:%ae %at'] -process = subprocess.Popen(git_log_args, stdout=subprocess.PIPE) +process = subprocess.Popen(git_log_args, stdout=subprocess.PIPE, encoding='utf-8') # e...@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc 1257090899 -line_regexp = re.compile("^(?P.+)@\S+ (?P\d+)$") +line_regexp = re.compile(r"^(?P.+@.+) (?P\d+)$") while True: output_line = process.stdout.readline() if output_line == '' and process.poll() != None: @@ -212,9 +212,9 @@
[webkit-changes] [290507] trunk
Title: [290507] trunk
Revision 290507
Author you...@apple.com
Date 2022-02-25 07:49:58 -0800 (Fri, 25 Feb 2022)
Log Message
Non-simple CORS preflight fails due to cache-control header
https://bugs.webkit.org/show_bug.cgi?id=236837
Reviewed by Chris Dumez.
Source/WebCore:
We fixed cache-control in https://bugs.webkit.org/show_bug.cgi?id=233916.
The fix to make the website work is to ensure that Content-Type is not cleared when going to service worker.
Covered by updated tests.
* Modules/beacon/NavigatorBeacon.cpp:
LayoutTests:
* http/wpt/service-workers/cache-control-request-expected.txt:
* http/wpt/service-workers/cache-control-request.html:
* http/wpt/service-workers/resources/cross-origin-allow-for-beacon.py: Added.
Modified Paths
trunk/LayoutTests/ChangeLog
trunk/LayoutTests/http/wpt/service-workers/cache-control-request-expected.txt
trunk/LayoutTests/http/wpt/service-workers/cache-control-request.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/beacon/NavigatorBeacon.cpp
Added Paths
trunk/LayoutTests/http/wpt/service-workers/resources/cross-origin-allow-for-beacon.py
Diff
Modified: trunk/LayoutTests/ChangeLog (290506 => 290507)
--- trunk/LayoutTests/ChangeLog 2022-02-25 13:28:38 UTC (rev 290506)
+++ trunk/LayoutTests/ChangeLog 2022-02-25 15:49:58 UTC (rev 290507)
@@ -1,3 +1,15 @@
+2022-02-25 Youenn Fablet
+
+Non-simple CORS preflight fails due to cache-control header
+https://bugs.webkit.org/show_bug.cgi?id=236837
+
+
+Reviewed by Chris Dumez.
+
+* http/wpt/service-workers/cache-control-request-expected.txt:
+* http/wpt/service-workers/cache-control-request.html:
+* http/wpt/service-workers/resources/cross-origin-allow-for-beacon.py: Added.
+
2022-02-25 Kimmo Kinnunen
REGRESSION(r289580): [ iOS macOS ] TestWebKitAPI.IPCTestingAPI.CanReceiveSharedMemory is a constant timeout
Modified: trunk/LayoutTests/http/wpt/service-workers/cache-control-request-expected.txt (290506 => 290507)
--- trunk/LayoutTests/http/wpt/service-workers/cache-control-request-expected.txt 2022-02-25 13:28:38 UTC (rev 290506)
+++ trunk/LayoutTests/http/wpt/service-workers/cache-control-request-expected.txt 2022-02-25 15:49:58 UTC (rev 290507)
@@ -1,4 +1,5 @@
PASS Setup worker
PASS Ensure cache-control does not break service worker fetch handling
+PASS Ensure beacon headers are not broken by service worker fetch handling
Modified: trunk/LayoutTests/http/wpt/service-workers/cache-control-request.html (290506 => 290507)
--- trunk/LayoutTests/http/wpt/service-workers/cache-control-request.html 2022-02-25 13:28:38 UTC (rev 290506)
+++ trunk/LayoutTests/http/wpt/service-workers/cache-control-request.html 2022-02-25 15:49:58 UTC (rev 290507)
@@ -5,6 +5,7 @@