main
Name already in use
Commits on Feb 7, 2023
-
Fix statement depth for parsing static block
https://bugs.webkit.org/show_bug.cgi?id=251760 rdar://105104494 Reviewed by Mark Lam. Static block is treated as a function in spec, that is it should be parsed as a function and executed as a function invocation. However, the implementation of parsing class static block is based on parseBlockStatement. To be consistent with the function environment during parsing, we should initialize the statement depth to 0. * JSTests/stress/function-lexical-declaration.js: Added. (A.C): (A): * Source/JavaScriptCore/parser/Parser.h: (JSC::Scope::declareFunction): Canonical link: https://commits.webkit.org/259981@main
Yijia Huang committedFeb 7, 2023 -
[JSC] Check SIMD existence for call's return value / catch's value
https://bugs.webkit.org/show_bug.cgi?id=251878 rdar://105124299 Reviewed by Mark Lam. Function calls / catch can generate new SIMD values. So we need to check types of them, and let generator know SIMD existence when we see it. * JSTests/wasm/stress/call-returns-v128.js: Added. (let.fn0): (async let): * JSTests/wasm/stress/resources/call-returns-v128.wasm: Added. * Source/JavaScriptCore/wasm/WasmFunctionParser.h: (JSC::Wasm::FunctionParser<Context>::parseExpression): (JSC::Wasm::FunctionParser<Context>::parseUnreachableExpression): Canonical link: https://commits.webkit.org/259980@main
-
[webkitcorepy] Add filtered_call
https://bugs.webkit.org/show_bug.cgi?id=251872 rdar://105138155 Reviewed by Aakash Jain. * Tools/Scripts/libraries/webkitcorepy/setup.py: Add inspect2 dependency. * Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto. * Tools/Scripts/libraries/webkitcorepy/webkitcorepy/filtered_call.py: Added. (filtered_call): Invoke the provided function with the provided arguments, if that function supports those arguments. * Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/filtered_call_unittest.py: Added. (FilteredCallTestCase.function): (FilteredCallTestCase.test_passthrough): (FilteredCallTestCase.test_filtered): * Tools/Scripts/libraries/webkitscmpy/setup.py: Remove inspect2 dependency. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py: Use filtered_call instead of implementing that functionality ourselves. Canonical link: https://commits.webkit.org/259979@main
-
Address Masonry First Load Image Failures
https://bugs.webkit.org/show_bug.cgi?id=251733 Reviewed by Matt Woodrow. Masonry has been having some interesting behavior with pure images due to heights often being incorrectly rendered as 0px. This patch fixes the first load problem. This seems to be connected to not properly populating grid positions. * Source/WebCore/rendering/GridMasonryLayout.cpp: (WebCore::GridMasonryLayout::performMasonryPlacement): Canonical link: https://commits.webkit.org/259978@main
-
DocumentLoader should use std::unique_ptr<ServiceWorkerRegistrationDa…
…ta> rather than std::optional<> https://bugs.webkit.org/show_bug.cgi?id=251772 rdar://problem/105074302 Reviewed by Chris Dumez. Reduce memory consumption by storing service worker data in DocumentLoader as a separate pointer. Covered by existing tests. * Source/WebCore/loader/DocumentLoader.cpp: (WebCore::DocumentLoader::setControllingServiceWorkerRegistration): (WebCore::DocumentLoader::responseReceived): (WebCore::DocumentLoader::startLoadingMainResource): * Source/WebCore/loader/DocumentLoader.h: * Source/WebCore/workers/service/ServiceWorkerRegistrationData.h: Canonical link: https://commits.webkit.org/259977@main
-
Cross-Origin-Resource-Policy blocks fetch from extensions.
https://webkit.org/b/251858 rdar://103793194 Reviewed by Chris Dumez. SecurityPolicy was blocking the fetch load due to the Cross-Origin-Resource-Policy check in the NetworkProcess. In the WebProcess, SecurityPolicy checks were succeeding due to the existing call to SecurityPolicy::allowAccessTo() when parsing the corsDisablingPatterns. This step was missing in the NetworkProcess. Now both processes have the same checks. * Source/WebKit/NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::setCORSDisablingPatterns): Add the pattern to SecurityPolicy to match WebPage.cpp's parseAndAllowAccessToCORSDisablingPatterns(). * Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm: (TEST(URLSchemeHandler, DisableCORSAndCORP)): Added. Canonical link: https://commits.webkit.org/259976@main
-
[WinCairo] include secure cookies for secure WebSockets
https://bugs.webkit.org/show_bug.cgi?id=251581 Reviewed by Fujii Hironori. Before this patch for wss:// connections, secure cookies were not includes. This fixes it and includes them. Canonical link: https://commits.webkit.org/259975@main
-
Unreviewed, reverting r259884@main.
https://bugs.webkit.org/show_bug.cgi?id=251880 caused animations to be super flickery Reverted changeset: "[WebGPU] Migrate from createSurfaceTexture() to getCurrentTexture()" https://bugs.webkit.org/show_bug.cgi?id=250995 https://commits.webkit.org/259884@main Canonical link: https://commits.webkit.org/259974@main
-
[ iOS Debug ] editing/selection/selection-scrolling-in-multiple-neste…
…d-subframes.html is a flaky crash. https://bugs.webkit.org/show_bug.cgi?id=251876 rdar://105140067 Unreviewed test gardening. Setting Expectations for Flaky Crash. * LayoutTests/platform/ios/TestExpectations: Canonical link: https://commits.webkit.org/259973@main
-
https://bugs.webkit.org/show_bug.cgi?id=251870 rdar://105137566 Reviewed by Aakash Jain and Jonathan Bedard. * Tools/CISupport/build-webkit-org/config.json: * Tools/CISupport/build-webkit-org/factories_unittest.py: (TestExpectedBuildSteps): * Tools/CISupport/ews-app/ews/common/github.py: (GitHubEWS): * Tools/CISupport/ews-app/ews/views/statusbubble.py: (StatusBubble): * Tools/CISupport/ews-build/config.json: * Tools/CISupport/ews-build/factories_unittest.py: Canonical link: https://commits.webkit.org/259972@main
-
Individually paused / playing animations are not effected by Play All…
… Animations and Pause All Animations https://bugs.webkit.org/show_bug.cgi?id=251738 rdar://105043493 Reviewed by Andres Gonzalez. Prior to this patch, given this sequence: 1. Load a page with a GIF animation 2. Individually pause that animation 3. Perform Play All Animations The animation does not start playing again. With this patch, RenderView::updatePlayStateForAllAnimations now overrides any individual animation state, making Play All Animations and Pause All Animations behave as expected. Test case added to fast/images/page-wide-animation-toggle.html to cover this behavior. * LayoutTests/fast/images/mac/play-pause-individual-animation-context-menu-items.html: The js-test.js and resource import for this test was wrong, so I fixed it. * LayoutTests/fast/images/page-wide-animation-toggle-expected.txt: * LayoutTests/fast/images/page-wide-animation-toggle.html: * Source/WebCore/html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::setAllowsAnimation): * Source/WebCore/html/HTMLImageElement.h: * Source/WebCore/page/Page.cpp: (WebCore::Page::setImageAnimationEnabled): * Source/WebCore/rendering/RenderView.cpp: (WebCore::RenderView::updatePlayStateForAllAnimations): * Source/WebCore/html/HTMLImageElement.h: * Source/WebCore/page/FrameView.cpp: * Source/WebCore/page/FrameView.h: * Source/WebCore/page/Page.cpp: * Source/WebCore/page/Page.h: * Source/WebCore/rendering/RenderView.h: Use ENABLE(ACCESSIBILITY_ANIMATION_CONTROL) in more places (we have to, because HTMLImageElement::setAllowsAnimation is only defined under this flag, and with this patch we start using that function in RenderView::updatePlayStateForAllAnimations). Canonical link: https://commits.webkit.org/259971@main
-
[WK2] Turn on Clear-Site-Data HTTP header support
https://bugs.webkit.org/show_bug.cgi?id=251856 Reviewed by Brent Fulgham. Turn on Clear-Site-Data HTTP header support in modern WebKit now that its implementation is complete and we've addressed all known issues. * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: Canonical link: https://commits.webkit.org/259970@main
-
getDisplayMedia does not require a list of every screen and window
https://bugs.webkit.org/show_bug.cgi?id=251719 rdar://105018387 Reviewed by Youenn Fablet. getDisplayMedia always requires a prompt and an explicit user selection, so we will never need to build a list of every window and screen. * Source/WebCore/platform/mediastream/DisplayCaptureManager.h: (WebCore::DisplayCaptureManager::windowDevices): Deleted. * Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp: (WebCore::RealtimeMediaSource::setIntrinsicSize): * Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp: (WebCore::RealtimeMediaSourceCenter::getMediaStreamDevices): (WebCore::RealtimeMediaSourceCenter::enumerateDevices): (WebCore::RealtimeMediaSourceCenter::validateRequestConstraints): (WebCore::RealtimeMediaSourceCenter::validateRequestConstraintsAfterEnumeration): (WebCore::RealtimeMediaSourceCenter::getDisplayMediaDevices): Deleted. * Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h: * Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.cpp: (WebCore::DisplayCaptureSourceCocoa::updateFrameSize): (WebCore::DisplayCaptureSourceCocoa::capturerConfigurationChanged): * Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.h: * Source/WebCore/platform/mediastream/mac/DisplayCaptureManagerCocoa.cpp: (WebCore::DisplayCaptureManagerCocoa::captureDevices): (WebCore::DisplayCaptureManagerCocoa::updateDisplayCaptureDevices): Deleted. (WebCore::DisplayCaptureManagerCocoa::updateWindowCaptureDevices): Deleted. (WebCore::DisplayCaptureManagerCocoa::windowDevices): Deleted. * Source/WebCore/platform/mediastream/mac/DisplayCaptureManagerCocoa.h: * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h: * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm: (WebCore::ScreenCaptureKitCaptureSource::startContentStream): (WebCore::ScreenCaptureKitCaptureSource::intrinsicSize const): (WebCore::ScreenCaptureKitCaptureSource::streamDidOutputSampleBuffer): (WebCore::ScreenCaptureKitCaptureSource::windowCaptureDeviceWithPersistentID): (WebCore::ScreenCaptureKitCaptureSource::captureDeviceWithPersistentID): Deleted. (WebCore::ScreenCaptureKitCaptureSource::screenCaptureDevices): Deleted. (WebCore::ScreenCaptureKitCaptureSource::windowCaptureDevices): Deleted. (WebCore::ScreenCaptureKitCaptureSource::windowDevices): Deleted. (WebCore::forEachNSWindow): Deleted. * Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp: (WebCore::MockRealtimeMediaSourceCenter::MockDisplayCaptureDeviceManager::windowDevices): Deleted. * Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.h: * Source/WebKit/UIProcess/API/C/WKUserMediaPermissionRequest.cpp: (WKUserMediaPermissionRequestRequiresDisplayCapture): * Source/WebKit/UIProcess/API/C/WKUserMediaPermissionRequest.h: * Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp: (WebKit::UserMediaPermissionRequestManagerProxy::finishGrantingRequest): (WebKit::UserMediaPermissionRequestManagerProxy::getRequestAction): (WebKit::UserMediaPermissionRequestManagerProxy::processUserMediaPermissionRequest): (WebKit::UserMediaPermissionRequestManagerProxy::processUserMediaPermissionValidRequest): * Source/WebKit/UIProcess/UserMediaPermissionRequestProxy.h: (WebKit::UserMediaPermissionRequestProxy::requiresDisplayCapture const): (WebKit::UserMediaPermissionRequestProxy::requiresDisplayCaptureWithAudio const): * Source/WebKit/UIProcess/UserMediaProcessManager.cpp: (WebKit::UserMediaProcessManager::willCreateMediaStream): * Source/WebKit/UIProcess/UserMediaProcessManager.h: * Source/WebKit/UIProcess/mac/DisplayCaptureSessionManager.mm: (WebKit::DisplayCaptureSessionManager::showWindowPicker): (WebKit::DisplayCaptureSessionManager::showScreenPicker): (WebKit::alertForWindowSelection): Deleted. * Tools/WebKitTestRunner/TestController.cpp: (WTR::TestController::decidePolicyForUserMediaPermissionRequestIfPossible): Canonical link: https://commits.webkit.org/259969@main
-
[IFC][Integration] Enable pagination while printing
https://bugs.webkit.org/show_bug.cgi?id=251846 <rdar://problem/105124947> Reviewed by Alan Baradlay. Printing uses pagination without a flow thread. * LayoutTests/platform/mac/printing/width-overflow-expected.txt: * Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp: (WebCore::LayoutIntegration::printReason): (WebCore::LayoutIntegration::canUseForLineLayoutWithReason): * Source/WebCore/layout/integration/LayoutIntegrationCoverage.h: Canonical link: https://commits.webkit.org/259968@main
-
https://bugs.webkit.org/show_bug.cgi?id=251519 Reviewed by Carlos Garcia Campos. * Source/WebKit/UIProcess/API/glib/WebKitFaviconDatabase.cpp: * Source/WebKit/UIProcess/API/glib/WebKitFaviconDatabase.h.in: * Source/WebKit/gtk/migrating-to-webkitgtk-6.0.md: * Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp: Canonical link: https://commits.webkit.org/259967@main
-
SQLiteStorageArea should start new transaction when the previous one …
…is rolled back by sqlite https://bugs.webkit.org/show_bug.cgi?id=251764 rdar://105061923 Reviewed by Chris Dumez. When debugging storage_local_setitem_quotaexceedederr.window.html failure, I found SQLiteStorageArea does not start new transaction after SQLITE_FULL error, which means it would create an implicit transaction for each statement. To fix this, this patch makes startTransactionIfNecessary() check whether existing transaction is already rolled back. If the transaction is rolled back, it should start a new transaction. * Source/WebCore/platform/sql/SQLiteTransaction.h: * Source/WebKit/NetworkProcess/storage/SQLiteStorageArea.cpp: (WebKit::SQLiteStorageArea::startTransactionIfNecessary): Canonical link: https://commits.webkit.org/259966@main
-
WebKitTestRunner crashes when run with --world-leaks
https://bugs.webkit.org/show_bug.cgi?id=251834 rdar://105112156 Reviewed by Cameron McCormack. Document::identifier() (aka ScriptExecutionContext::identifier()) is now a UUID, which doesn't convert to a uint64_t, so just convert it to a string for the abandoned documents hash key. * Tools/WebKitTestRunner/TestController.cpp: (WTR::TestController::didReceiveLiveDocumentsList): * Tools/WebKitTestRunner/TestController.h: Canonical link: https://commits.webkit.org/259965@main
-
Distorted audio after getUserMedia when playing with AudioWorkletNode
https://bugs.webkit.org/show_bug.cgi?id=251091 rdar://104870451 Reviewed by Youenn Fablet and Jer Noble. Our WebAudio rendering logic was trying to deal with buffer sizes greater than 128 by signaling the IPC semaphore multiple times so that the producer on the WebProcess side would produce enough 128 frames-sized chunks to satisfy the reader on the GPUProcess side. This logic isn't exercised a lot though since MediaSessionManagerCocoa::updateSessionState() requests a buffer size of 128 whenever WebAudio is in use. However, 246166@main added logic in RemoteAudioSessionProxyManager::updatePreferredBufferSizeForProcess() that delays setting the preferred buffer size if we're currently capturing media. In the demo case, we're capturing media so we would end up using WebAudio with a buffer size of 960. There were multiple issues here: 1. 960 wasn't a multiple of 128 so the GPUProcess would signal the semaphore an inconsistent number of times for each render quantum (sometimes requesting 1024 frames, sometimes 896). 2. Because the demo is using an Audio Worklet, we were doing 7 to 8 dispatches to the Audio Worklet thread (from the Audio Thread) in order to do the rendering on the WebProcess size. This was unnecessarily expensive. To address the issue, I made 2 changes: 1. MediaSessionManagerCocoa::updateSessionState() now rounds the preferred buffer size to the upper power of 2. 2. RemoteAudioDestinationProxy now relies on IPCSemaphore::waitFor(0_s) to see if the consumer is requesting more than 128 samples at once. Once it has determined the actual number of frames the consumer wants, it calls renderQuantum() once with this number. As a result, when an AudioWorklet is used, we greatly reduce the number of dispatches to the AudioWorklet thread. In the case of the demo, we end up with a buffer size of 1024 and we dispatch once per 1024 quantum instead of 7-8 times. We do the splitting into 128-frames chunks on the AudioWorklet threads. * Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm: (WebCore::MediaSessionManagerCocoa::updateSessionState): * Source/WebKit/WebProcess/GPU/media/RemoteAudioDestinationProxy.cpp: (WebKit::RemoteAudioDestinationProxy::startRenderingThread): (WebKit::RemoteAudioDestinationProxy::connection): (WebKit::RemoteAudioDestinationProxy::renderQuantum): * Source/WebKit/WebProcess/GPU/media/RemoteAudioDestinationProxy.h: Canonical link: https://commits.webkit.org/259964@main
-
<link> elements with media queries that do not affect the current pag…
…e can be delayed https://bugs.webkit.org/show_bug.cgi?id=39455 rdar://102178226 Reviewed by Alan Baradlay. We correctly deprioritize stylesheets with non-matching media attribute and don't make them rendering blocking. However they may still delay the visually non-empty milestone. This delay only comes into play if there is not enough visual content to trigger the milestone otherwise. This may end up delaying rendering until the non-matching stylesheets are fully loaded on simple pages. * LayoutTests/http/tests/css/link-with-non-matching-media-slow-load-expected.html: Added. * LayoutTests/http/tests/css/link-with-non-matching-media-slow-load.html: Added. * Source/WebCore/page/FrameView.cpp: (WebCore::FrameView::checkAndDispatchDidReachVisuallyNonEmptyState): Ignore "very low" priority resources when determining if everything important is loaded. * Source/WebCore/testing/Internals.cpp: (WebCore::Internals::isVisuallyNonEmpty const): * Source/WebCore/testing/Internals.h: * Source/WebCore/testing/Internals.idl: Testing support. Canonical link: https://commits.webkit.org/259963@main
-
https://bugs.webkit.org/show_bug.cgi?id=251812 rdar://105094655 Reviewed by Tim Nguyen. Resync CSS image set tests as of upstream 4fd61f8a20ca5d526007f39e0c138b8e881193c4 * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/resources/resource-files.json: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-content-rendering-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-content-rendering.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-dpcm-rendering-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-dpcm-rendering.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-dpi-rendering-2-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-dpi-rendering-2.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-dpi-rendering-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-dpi-rendering.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-dppx-rendering-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-dppx-rendering.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-empty-url-rendering-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-empty-url-rendering.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-first-match-rendering-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-first-match-rendering.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-invalid-resolution-rendering-2-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-invalid-resolution-rendering-2.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-invalid-resolution-rendering-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-invalid-resolution-rendering.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-linear-gradient-rendering-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-linear-gradient-rendering.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-no-res-rendering-2-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-no-res-rendering-2.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-no-res-rendering-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-no-res-rendering.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-no-url-rendering-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-no-url-rendering.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-radial-gradient-rendering-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-radial-gradient-rendering.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-rendering-2-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-rendering-2.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-rendering-expected.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-rendering.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-resolution-001-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-resolution-001-ref.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-resolution-001.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-resolution-002-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-resolution-002.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-resolution-003-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-resolution-003.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-first-match-rendering-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-first-match-rendering.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-rendering-2-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-rendering-2.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-rendering-3-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-rendering-3.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-rendering-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-rendering.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-skip-unsupported-rendering-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-skip-unsupported-rendering.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-unsupported-rendering-2-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-unsupported-rendering-2.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-unsupported-rendering-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-type-unsupported-rendering.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-unordered-res-rendering-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-unordered-res-rendering.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/w3c-import.log: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-computed.sub-expected.txt: Added. * LayoutTests/platform/ios-wk2/TestExpectations: Canonical link: https://commits.webkit.org/259962@main
-
Delete unused WebCoreNSURLSessionInternal.h file
https://bugs.webkit.org/show_bug.cgi?id=251798 Reviewed by Tim Nguyen. Nowhere in the repository is this file even mentioned. It is also an empty file. This can be safely removed. *Source\WebCore\platform\network\cocoa\WebCoreNSURLSessionInternal.h: Deleted. Canonical link: https://commits.webkit.org/259961@main
-
Reduce build times by refactoring FrameView.h
https://bugs.webkit.org/show_bug.cgi?id=251626 rdar://104975520 Reviewed by Brent Fulgham. Forward declare more things in FrameView.h and remove #include statements. In order to forward-declare some enumerations used in FrameView.h, those enums needed to be moved out of their classes' scopes, and in one case, need to be converted to an OptionSet. Canonical link: https://commits.webkit.org/259960@main
-
[webkitscmpy] Speed up files_changed
https://bugs.webkit.org/show_bug.cgi?id=251826 rdar://105106632 Reviewed by Aakash Jain. Only invoke a repository's 'find' function if the provided argument is not a hash. * Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py: (Git.files_changed): * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/bitbucket.py: (BitBucket.files_changed): * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py: (GitHub.files_changed): Canonical link: https://commits.webkit.org/259959@main
-
[JSC][armv7] Fix wasm ref.as_non_null
https://bugs.webkit.org/show_bug.cgi?id=251606 Reviewed by Yusuke Suzuki. Right now, the implementation of this instruction triggers assertion failures in both LLInt and the BBQ/Air backends on 32-bit ARM. For LLInt, the incorrect `return` instruction is used, use `return2i` since refs are two-word values. For the Air backend, we need to use `emitMove` (again, because refs are two-word values); here, we also need a version that doesn't assert in the JIT that the dest is a supertype of the source TypedTmp--since the whole point of ref.as_non_null is that it works as a checked coercion... So, I've added that as `emitMoveWithoutTypeCheck` * Source/JavaScriptCore/llint/WebAssembly32_64.asm: * Source/JavaScriptCore/wasm/WasmAirIRGenerator32_64.cpp: (JSC::Wasm::AirIRGenerator32::emitMoveWithoutTypeCheck): (JSC::Wasm::AirIRGenerator32::emitMove): * Source/JavaScriptCore/wasm/WasmAirIRGenerator64.cpp: (JSC::Wasm::AirIRGenerator64::emitMoveWithoutTypeCheck): (JSC::Wasm::AirIRGenerator64::emitMove): * Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h: (JSC::Wasm::ExpressionType>::addRefAsNonNull): Canonical link: https://commits.webkit.org/259958@main
-
[GTK][WPE] Enable debug fission also when -g is present in the flags
https://bugs.webkit.org/show_bug.cgi?id=251685 Reviewed by Adrian Perez de Castro. * Source/cmake/OptionsCommon.cmake: Canonical link: https://commits.webkit.org/259957@main
-
Fix non-unified build for ScrollingTreeOverflowScrollingNodeRemoteMac
https://bugs.webkit.org/show_bug.cgi?id=251841 Reviewed by Adrian Perez de Castro. Fix non-unified build for error: ScrollingTreeOverflowScrollingNodeRemoteMac.cpp:45:15: error: member access into incomplete type 'WebCore::ScrollingTreeScrollingNodeDelegate' * Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.cpp: Canonical link: https://commits.webkit.org/259956@main
-
Table cells, rows, sections or column (groups) don't support margins
Table cells, rows, sections or column (groups) don't support margins https://bugs.webkit.org/show_bug.cgi?id=251100 rdar://problem/104876500 Reviewed by Alan Baradlay. Merge - https://src.chromium.org/viewvc/blink?revision=197770&view=revision This patch removes FIXME related 'if' clause and replaces with ASSERT in RenderBox.cpp and also remove computation for margins on table since table does not support margins from layout function. * Source/WebCore/rendering/RenderTableRow.cpp: (RenderTableRow::layout): Remove 'computeAndSetBlockDirectionMargins' since table does not support margins * Source/WebCore/rendering/RenderBox.cpp: (RenderBox::availableLogicalHeightUsing): Remove FIXME and related code and change with ASSERT Canonical link: https://commits.webkit.org/259955@main
-
[WGSL] Enable deferred compilation of compute shaders
https://bugs.webkit.org/show_bug.cgi?id=251785 <rdar://problem/105075787> Reviewed by Myles C. Maxfield. In #9441 we allowed early compilation of shaders even when no hints were provided. That was a workaround to start passing some of the CTS tests and unblock testing the API. Now we remove that workaround and add the necessary functionality to defer the compilation until the pipeline creation if no hints were provided. * Source/WebGPU/WGSL/EntryPointRewriter.cpp: (WGSL::EntryPointRewriter::EntryPointRewriter): (WGSL::EntryPointRewriter::rewrite): (WGSL::EntryPointRewriter::takeEntryPointInformation): (WGSL::EntryPointRewriter::collectParameters): (WGSL::EntryPointRewriter::checkReturnType): (WGSL::EntryPointRewriter::appendBuiltins): (WGSL::rewriteEntryPoints): * Source/WebGPU/WGSL/EntryPointRewriter.h: * Source/WebGPU/WGSL/MangleNames.cpp: (WGSL::NameManglerVisitor::NameManglerVisitor): (WGSL::NameManglerVisitor::run): (WGSL::mangleNames): * Source/WebGPU/WGSL/MangleNames.h: * Source/WebGPU/WGSL/WGSL.cpp: (WGSL::prepareImpl): (WGSL::prepare): * Source/WebGPU/WGSL/WGSL.h: * Source/WebGPU/WebGPU/ShaderModule.mm: (WebGPU::Device::createShaderModule): Canonical link: https://commits.webkit.org/259954@main
-
REGRESSION(258658@main): [GStreamer][WebRTC] Broke webrtc/multi-video…
….html https://bugs.webkit.org/show_bug.cgi?id=251791 Reviewed by Xabier Rodriguez-Calvar. The msid fallback assignment mechanism was not working as expected. In cases where the pad msid property was not set, the resulting mediaStreamId was the pad name, no msid lookup was performed in the SDP. * Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp: (WebCore::GStreamerMediaEndpoint::requestPad): (WebCore::GStreamerMediaEndpoint::addRemoteStream): Canonical link: https://commits.webkit.org/259953@main
-
REGRESSION (Safari 16.1): mediaSession API not showing artwork: part 2
https://bugs.webkit.org/show_bug.cgi?id=251836 rdar://105100208 Reviewed by Youenn Fablet. In https://bugs.webkit.org/show_bug.cgi?id=247043 an entitlements was added in order to satisfy extra security requirements allowing to send compressed images to MediaRemote. Unfortunately, the entitlements was only added for macOS. We add it for iOS too. * Source/WebKit/Scripts/process-entitlements.sh: Canonical link: https://commits.webkit.org/259952@main
-
[WebGPU] Minor cleanup in QuerySet
https://bugs.webkit.org/show_bug.cgi?id=251767 rdar://105062705 Reviewed by Tadeu Zagallo. This doesn't actually change any behavior; I'm just moving stuff around for stylistic reasons. A few varied cleanups: 1. We have 3 types of queries, so CommandEncoder::resolveQuerySet() should use a switch instead of an if statement 2. Instead of the constructor reverse-engineering the number of queries and their type, we can just pass them directly as arguments, and remember them 3. isValid() needs to return false after destroy() is called 4. We can set the label of the MTLCounterSampleBuffers / MTLBuffer 5. HardwareCapabilities already found the MTLCommonCounterTimestamp if it exists, so we can just use the one that we already have * Source/WebGPU/WebGPU/CommandEncoder.mm: (WebGPU::CommandEncoder::resolveQuerySet): * Source/WebGPU/WebGPU/QuerySet.h: (WebGPU::QuerySet::create): (WebGPU::QuerySet::isValid const): (WebGPU::QuerySet::count const): (WebGPU::QuerySet::type const): (WebGPU::QuerySet::queryCount const): Deleted. * Source/WebGPU/WebGPU/QuerySet.mm: (WebGPU::Device::createQuerySet): (WebGPU::QuerySet::QuerySet): (WebGPU::QuerySet::setLabel): (WebGPU::QuerySet::resolveTimestamps const): (wgpuQuerySetGetCount): (wgpuQuerySetGetType): (WebGPU::QuerySet::queryType const): Deleted. Canonical link: https://commits.webkit.org/259951@main
-
[WGSL] Make ShaderModule a container instead of a Node
https://bugs.webkit.org/show_bug.cgi?id=251790 rdar://105080434 Reviewed by Myles C. Maxfield. Make ShaderModule a container that can be created outside of the parser. This is helpful to hold metadata about the program (as well as the AST nodes) without plumbing it all the way thorugh the parser. * Source/WebGPU/WGSL/AST/AST.h: * Source/WebGPU/WGSL/AST/ASTForward.h: * Source/WebGPU/WGSL/AST/ASTShaderModule.h: Removed. * Source/WebGPU/WGSL/AST/ASTStringDumper.cpp: * Source/WebGPU/WGSL/AST/ASTStringDumper.h: * Source/WebGPU/WGSL/AST/ASTVisitor.cpp: * Source/WebGPU/WGSL/AST/ASTVisitor.h: * Source/WebGPU/WGSL/CallGraph.cpp: (WGSL::CallGraph::CallGraph): (WGSL::CallGraphBuilder::CallGraphBuilder): (WGSL::buildCallGraph): * Source/WebGPU/WGSL/CallGraph.h: (WGSL::CallGraph::ast const): * Source/WebGPU/WGSL/EntryPointRewriter.cpp: (WGSL::EntryPointRewriter::EntryPointRewriter): * Source/WebGPU/WGSL/GlobalVariableRewriter.cpp: * Source/WebGPU/WGSL/MangleNames.cpp: * Source/WebGPU/WGSL/Metal/MetalCodeGenerator.cpp: (WGSL::Metal::generateMetalCode): * Source/WebGPU/WGSL/Metal/MetalCodeGenerator.h: * Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp: (WGSL::Metal::FunctionDefinitionWriter::FunctionDefinitionWriter): (WGSL::Metal::FunctionDefinitionWriter::visit): (WGSL::Metal::emitMetalFunctions): * Source/WebGPU/WGSL/Metal/MetalFunctionWriter.h: * Source/WebGPU/WGSL/Parser.cpp: (WGSL::parse): (WGSL::Parser<Lexer>::parseShader): (WGSL::Parser<Lexer>::parseGlobalDecl): (WGSL::parseLChar): Deleted. (WGSL::parseUChar): Deleted. * Source/WebGPU/WGSL/Parser.h: * Source/WebGPU/WGSL/ParserPrivate.h: (WGSL::Parser::Parser): * Source/WebGPU/WGSL/PhaseTimer.h: (WGSL::dumpASTIfNeeded): (WGSL::dumpASTAfterParsingIfNeeded): (WGSL::dumpASTBetweenEachPassIfNeeded): (WGSL::dumpASTAtEndIfNeeded): * Source/WebGPU/WGSL/ResolveTypeReferences.cpp: (WGSL::resolveTypeReferences): * Source/WebGPU/WGSL/ResolveTypeReferences.h: * Source/WebGPU/WGSL/ShaderModule.h: Copied from Source/WebGPU/WGSL/CallGraph.h. (WGSL::ShaderModule::ShaderModule): (WGSL::ShaderModule::source const): (WGSL::ShaderModule::configuration const): (WGSL::ShaderModule::directives): (WGSL::ShaderModule::functions): (WGSL::ShaderModule::structures): (WGSL::ShaderModule::variables): * Source/WebGPU/WGSL/TypeCheck.cpp: (WGSL::TypeChecker::TypeChecker): (WGSL::typeCheck): * Source/WebGPU/WGSL/TypeCheck.h: * Source/WebGPU/WGSL/WGSL.cpp: (WGSL::staticCheck): (WGSL::SuccessfulCheck::SuccessfulCheck): (WGSL::prepare): * Source/WebGPU/WGSL/WGSL.h: * Source/WebGPU/WebGPU.xcodeproj/project.pbxproj: * Source/WebGPU/WebGPU/ShaderModule.h: * Source/WebGPU/WebGPU/ShaderModule.mm: (WebGPU::ShaderModule::ast const): Canonical link: https://commits.webkit.org/259950@main
-
[GStreamer] Implement pitch, rate, and volume controls of SpeechSynth…
…esis https://bugs.webkit.org/show_bug.cgi?id=251486 Reviewed by Philippe Normand. This change adds pitch, rate, and volume controls support to web speech synthesis. We use a GStreamer plugin of soundtouch for the pitch change of voice and control the voice rate with gst_element_seek. * Source/WebCore/platform/gstreamer/PlatformSpeechSynthesizerGStreamer.cpp: (WebCore::GstSpeechSynthesisWrapper::GstSpeechSynthesisWrapper): (WebCore::GstSpeechSynthesisWrapper::speakUtterance): Canonical link: https://commits.webkit.org/259949@main
-
[GStreamer][EME] video track configuration not updated when dealing w…
…ith cenc caps https://bugs.webkit.org/show_bug.cgi?id=251784 Reviewed by Xabier Rodriguez-Calvar. With encrypted caps `gst_video_info_from_caps()` would fail, so we fallback to our custom utilities in this case. * Source/WebCore/platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp: (WebCore::VideoTrackPrivateGStreamer::updateConfigurationFromCaps): Canonical link: https://commits.webkit.org/259948@main
-
[GStreamer][EME] Misc clean-ups in decryptor base class
https://bugs.webkit.org/show_bug.cgi?id=251783 Reviewed by Xabier Rodriguez-Calvar. Chain to parent constructed vfunc and fix a mislabelled debug statement. * Source/WebCore/platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp: (constructed): (attachCDMProxy): Canonical link: https://commits.webkit.org/259947@main