Skip to content
Permalink
main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Commits on Feb 7, 2023

  1. 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 committed Feb 7, 2023
  2. [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
    Constellation committed Feb 7, 2023
  3. [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
    JonWBedard committed Feb 7, 2023
  4. 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
    stwrt committed Feb 7, 2023
  5. 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
    youennf committed Feb 7, 2023
  6. 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
    xeenon committed Feb 7, 2023
  7. [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
    mxschmitt authored and fujii committed Feb 7, 2023
  8. 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
    webkit-commit-queue authored and litherum committed Feb 7, 2023
  9. [ 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
    btashawn committed Feb 7, 2023
  10. Remove Apple Windows queues

    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
    ryanhaddad committed Feb 7, 2023
  11. 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
    twilco committed Feb 7, 2023
  12. [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
    cdumez committed Feb 7, 2023
  13. 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
    eric-carlson committed Feb 7, 2023
  14. [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
    anttijk committed Feb 7, 2023
  15. [GTK] Update documentation

    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
    mcatanzaro committed Feb 7, 2023
  16. 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
    szewai committed Feb 7, 2023
  17. 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
    smfr committed Feb 7, 2023
  18. 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
    cdumez committed Feb 7, 2023
  19. <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
    anttijk committed Feb 7, 2023
  20. [Image Set]: Resync WPT

    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
    rreno committed Feb 7, 2023
  21. 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
    AtariDreams authored and JonWBedard committed Feb 7, 2023
  22. 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
    jernoble committed Feb 7, 2023
  23. [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
    JonWBedard committed Feb 7, 2023
  24. [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
    jjgriego authored and aoikonomopoulos committed Feb 7, 2023
  25. [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
    calvaris committed Feb 7, 2023
  26. 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
    pgorszkowski-igalia authored and aperezdc committed Feb 7, 2023
  27. 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
    Ahmad-S792 authored and Ahmad Saleem committed Feb 7, 2023
  28. [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
    tadeuzagallo committed Feb 7, 2023
  29. 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
    philn committed Feb 7, 2023
  30. 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
    jyavenard committed Feb 7, 2023
  31. [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
    litherum committed Feb 7, 2023
  32. [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
    tadeuzagallo committed Feb 7, 2023
  33. [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
    shivamidow committed Feb 7, 2023
  34. [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
    philn committed Feb 7, 2023
  35. [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
    philn committed Feb 7, 2023
Older