Branch: refs/heads/safari-7614.4.4.0-branch
  Home:   https://github.com/WebKit/WebKit
  Commit: e42fb9ec8a6627b8e905b6d9c5b2ca92f87de16f
      
https://github.com/WebKit/WebKit/commit/e42fb9ec8a6627b8e905b6d9c5b2ca92f87de16f
  Author: Alan Coon <[email protected]>
  Date:   2022-12-20 (Tue, 20 Dec 2022)

  Changed paths:
    M Source/JavaScriptCore/Configurations/Version.xcconfig
    M Source/ThirdParty/ANGLE/Configurations/Version.xcconfig
    M Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig
    M Source/WebCore/Configurations/Version.xcconfig
    M Source/WebCore/PAL/Configurations/Version.xcconfig
    M Source/WebGPU/Configurations/Version.xcconfig
    M Source/WebInspectorUI/Configurations/Version.xcconfig
    M Source/WebKit/Configurations/Version.xcconfig
    M Source/WebKitLegacy/mac/Configurations/Version.xcconfig

  Log Message:
  -----------
  Versioning.

WebKit-7614.4.4.0.1

Canonical link: https://commits.webkit.org/[email protected]


  Commit: cb5c54728e248d855ed31af1e4c68bb5a6bd6249
      
https://github.com/WebKit/WebKit/commit/cb5c54728e248d855ed31af1e4c68bb5a6bd6249
  Author: Kimmo Kinnunen <[email protected]>
  Date:   2022-12-20 (Tue, 20 Dec 2022)

  Changed paths:
    M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp
    M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp
    M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h
    M Tools/Scripts/generate-gpup-webgl

  Log Message:
  -----------
  Cherry-pick 5192197861cf. rdar://problem/100252324

    REGRESSION (iOS 16): WebGL 2 crashing on glReadPixels
    https://bugs.webkit.org/show_bug.cgi?id=245476
    rdar://problem/100252324

    Reviewed by Alex Christensen.

    ReadPixels is currently a method that sends the client
    passed data buffer to GPUP, reads the pixels into that
    and passes the data back to WP.
    Conceptually message of form ReadPixels(uint8_t* data) -> (uint8_t* data)

    Before:
    IPC encoding of memory arrays for calls like ReadPixels
    would work as follows:
     - If the array fits to the stream connection command buffer,
       copy the array there
     - Alternatively downgrade the message to out-of-stream message.
       - Copy the array to the IPC::Encoder message body buffer.
       - Pass the message body as Mach message memory mapping.

    IPC decoding of memory arrays for calls like ReadPixels
    would work as follows:
     - Allocate temp Vector for the data
     - Copy the data from stream command buffer / Mach message memory
       mapping into the temp buffer
     - Call ReadPixels
     - Copy the temp Vector to IPC::Encoder message body buffer
       similar to the encoding phase, and send it back to WP.

    This would have two problems:
     - Extensive copying is slow for very big buffers
     - The temp Vector and Mach message buffers via IPC encoding
       contribute to GPUP footprint.
       - The call IPC encoding buffer is not explicitly attributed to
         the caller. It's unclear to which process this belongs, likely
         this contributes to GPUP footprint.
       - The temp Vector is not attributed to the caller, contributing
         to GPUP footprint.
       - The reply IPC encoding buffer is not attributed to the caller,
         contributing to the GPUP footprint.
       - The ownership of the reply IPC encoding buffer, when passed as
         Mach message memory, is unclear. Likly this contributes to
         GPUP footprint. (Same as the encoding part).

    After:
    If the read pixels buffer is large, copy it to a newly allocated
    shared memory buffer and use that to read the pixels.
    Add a new IPC message variant for passing the shared memory area.

    * Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
    (WebKit::RemoteGraphicsContextGL::readnPixels2):
    * Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h:
    * Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
    * Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
    (WebKit::RemoteGraphicsContextGLProxy::readnPixels):
    (WebKit::RemoteGraphicsContextGLProxy::readnPixelsSharedMemory):
    * Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
    * Tools/Scripts/generate-gpup-webgl:

    Canonical link: https://commits.webkit.org/258127@main

Canonical link: https://commits.webkit.org/[email protected]


  Commit: 206fedd3cfbcdd349ed8c3407e8dc74fbf8a8027
      
https://github.com/WebKit/WebKit/commit/206fedd3cfbcdd349ed8c3407e8dc74fbf8a8027
  Author: Alan Coon <[email protected]>
  Date:   2022-12-20 (Tue, 20 Dec 2022)

  Changed paths:
    M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp
    M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp

  Log Message:
  -----------
  Apply build fix. rdar://problem/100252324

    FAILURE 
/System/Volumes/Data/otmp/od.luxon/lw.luxon/sandbox-0/WebCore/Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:473:68:
 error: no member named 'size' in 'GCGLSpan<GCGLvoid>'

Canonical link: https://commits.webkit.org/[email protected]


  Commit: 14e1d07d5d896ce890567cf38c4c0bd63edad9a5
      
https://github.com/WebKit/WebKit/commit/14e1d07d5d896ce890567cf38c4c0bd63edad9a5
  Author: Alan Coon <[email protected]>
  Date:   2022-12-21 (Wed, 21 Dec 2022)

  Changed paths:
    M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp
    M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp

  Log Message:
  -----------
  Revert 206fedd3cfb. rdar://problem/100252324

This reverts commit 206fedd3cfbcdd349ed8c3407e8dc74fbf8a8027.

Canonical link: https://commits.webkit.org/[email protected]


  Commit: a084118a465cdb7a991828cfea017a38ed64816a
      
https://github.com/WebKit/WebKit/commit/a084118a465cdb7a991828cfea017a38ed64816a
  Author: Alan Coon <[email protected]>
  Date:   2022-12-21 (Wed, 21 Dec 2022)

  Changed paths:
    M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp
    M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp
    M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h
    M Tools/Scripts/generate-gpup-webgl

  Log Message:
  -----------
  Revert 5192197861cf. rdar://problem/100252324

This reverts commit cb5c54728e248d855ed31af1e4c68bb5a6bd6249.

Canonical link: https://commits.webkit.org/[email protected]


  Commit: a2b8a5ff3ddc3117c8b520d2a3b2370ba2230b57
      
https://github.com/WebKit/WebKit/commit/a2b8a5ff3ddc3117c8b520d2a3b2370ba2230b57
  Author: Alan Coon <[email protected]>
  Date:   2022-12-21 (Wed, 21 Dec 2022)

  Changed paths:
    M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp
    M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp
    M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h
    M Tools/Scripts/generate-gpup-webgl

  Log Message:
  -----------
  Cherry-pick 5192197861cf. rdar://problem/100252324

This reverts commit a084118a465cdb7a991828cfea017a38ed64816a.

Canonical link: https://commits.webkit.org/[email protected]


  Commit: 714f527f4063087db73ea7bc3aaf3377dbf4fe0a
      
https://github.com/WebKit/WebKit/commit/714f527f4063087db73ea7bc3aaf3377dbf4fe0a
  Author: Alan Coon <[email protected]>
  Date:   2022-12-21 (Wed, 21 Dec 2022)

  Changed paths:
    M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp

  Log Message:
  -----------
  Apply patch. rdar://problem/100252324

    Fix build on branch after 5192197861cf.

Canonical link: https://commits.webkit.org/[email protected]


  Commit: 93b0d387547a9b96c576b03dddc33b06628b1784
      
https://github.com/WebKit/WebKit/commit/93b0d387547a9b96c576b03dddc33b06628b1784
  Author: Alan Coon <[email protected]>
  Date:   2022-12-21 (Wed, 21 Dec 2022)

  Changed paths:
    M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp
    M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp

  Log Message:
  -----------
  Apply build fix. rdar://problem/100252324

    Additional fix after 5192197861cf.

Canonical link: https://commits.webkit.org/[email protected]


  Commit: 50e64498ceb76c9e9ca0e07b1f7a3ab14d762298
      
https://github.com/WebKit/WebKit/commit/50e64498ceb76c9e9ca0e07b1f7a3ab14d762298
  Author: Alan Coon <[email protected]>
  Date:   2023-01-03 (Tue, 03 Jan 2023)

  Changed paths:
    M Source/JavaScriptCore/Configurations/Version.xcconfig
    M Source/ThirdParty/ANGLE/Configurations/Version.xcconfig
    M Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig
    M Source/WebCore/Configurations/Version.xcconfig
    M Source/WebCore/PAL/Configurations/Version.xcconfig
    M Source/WebGPU/Configurations/Version.xcconfig
    M Source/WebInspectorUI/Configurations/Version.xcconfig
    M Source/WebKit/Configurations/Version.xcconfig
    M Source/WebKitLegacy/mac/Configurations/Version.xcconfig

  Log Message:
  -----------
  Versioning.

WebKit-7614.4.4.0.2

Canonical link: https://commits.webkit.org/[email protected]


  Commit: 2ef5aae78a5f54fc0f695c953116259aeceb85d7
      
https://github.com/WebKit/WebKit/commit/2ef5aae78a5f54fc0f695c953116259aeceb85d7
  Author: Wenson Hsieh <[email protected]>
  Date:   2023-01-03 (Tue, 03 Jan 2023)

  Changed paths:
    A 
LayoutTests/http/tests/contentfiltering/load-event-in-allowed-subframe-expected.txt
    A 
LayoutTests/http/tests/contentfiltering/load-event-in-allowed-subframe.html
    A LayoutTests/http/tests/contentfiltering/resources/lots-of-text.html
    M Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp

  Log Message:
  -----------
  Cherry-pick 5d11f0377c18. rdar://problem/103247851

    REGRESSION (248723@main): Videos on bbc.co.uk fail to load when content 
filtering is enabled
    https://bugs.webkit.org/show_bug.cgi?id=249811
    rdar://103247851

    Reviewed by Brent Fulgham and Alex Christensen.

    On articles on bbc.co.uk, video elements are embedded inside subframes, and 
are only interactive
    once the containing subframe has finished loading (i.e. dispatched the 
"load" event). In the case
    where:

    1.  Content filtering is enabled, and also happens in the network process 
via the
        `CONTENT_FILTERING_IN_NETWORKING_PROCESS` codepath new in iOS 16/macOS 
Ventura.

    2.  The subframe is loaded from a disk cache entry (as opposed to over the 
network, or in memory
        cache).

    ...we end up never dispatching the load event on the subframe, due to the 
fact that the
    corresponding `WebCore::SubresourceLoader` driving the subframe load never 
gets notified that
    loading finished. This is because, in following code within the network 
process (in the codepath
    marked below), we exit early after delivering the cached data to the 
content filter, before either
    sending `WebResourceLoader::DidReceiveResource` or 
`WebResourceLoader::DidFinishResourceLoad` (the
    latter of which we use in the case where we don't already have a shareable 
resource handle). To fix
    this, we simply pull the logic to dispatch 
`WebResourceLoader::DidFinishResourceLoad` out into a
    separate callback, and invoke it from both places.

    ```
        #if ENABLE(SHAREABLE_RESOURCE)
            if (!entry->shareableResourceHandle().isNull()) {
        #if ENABLE(CONTENT_FILTERING_IN_NETWORKING_PROCESS)
                if (m_contentFilter && 
!m_contentFilter->continueAfterDataReceived(entry->buffer()->makeContiguous(), 
entry->buffer()->size())) {
                    
m_contentFilter->continueAfterNotifyFinished(m_parameters.request.url());
                    m_contentFilter->stopFilteringMainResource();               
// <-------
                    return;
                }
        #endif
                
send(Messages::WebResourceLoader::DidReceiveResource(entry->shareableResourceHandle()));
                return;
            }
        #endif
    ```

    Note that we prefer dispatching `DidFinishResourceLoad` over 
`DidReceiveResource` below (which we
    would normally use in this shareable resource handle codepath), since the 
resource loader in the web
    process would already have received the data when content filtering is 
enabled, so sending the
    entire cached resource handle again is redundant.

    Test: http/tests/contentfiltering/load-event-in-allowed-subframe.html

    * 
LayoutTests/http/tests/contentfiltering/load-event-in-allowed-subframe-expected.txt:
 Added.
    * 
LayoutTests/http/tests/contentfiltering/load-event-in-allowed-subframe.html: 
Added.
    * LayoutTests/http/tests/contentfiltering/resources/lots-of-text.html: 
Added.

    Add a new test resource that consists of an HTML page that contains a large 
amount of text. This
    ensures that we'll attempt to store it in disk cache, which is a necessary 
part of reproducing this
    bug.

    * Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:
    (WebKit::NetworkResourceLoader::sendResultForCacheEntry):

    Dispatch `WebResourceLoader::DidFinishResourceLoad` in both content 
filtering codepaths when
    `CONTENT_FILTERING_IN_NETWORKING_PROCESS` is enabled.

    Canonical link: https://commits.webkit.org/258394@main

Canonical link: https://commits.webkit.org/[email protected]


  Commit: 60146d1b9b54b6940ec9bca53c2e5f19aa5d3924
      
https://github.com/WebKit/WebKit/commit/60146d1b9b54b6940ec9bca53c2e5f19aa5d3924
  Author: Alan Coon <[email protected]>
  Date:   2023-01-04 (Wed, 04 Jan 2023)

  Changed paths:
    M Source/JavaScriptCore/Configurations/Version.xcconfig
    M Source/ThirdParty/ANGLE/Configurations/Version.xcconfig
    M Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig
    M Source/WebCore/Configurations/Version.xcconfig
    M Source/WebCore/PAL/Configurations/Version.xcconfig
    M Source/WebGPU/Configurations/Version.xcconfig
    M Source/WebInspectorUI/Configurations/Version.xcconfig
    M Source/WebKit/Configurations/Version.xcconfig
    M Source/WebKitLegacy/mac/Configurations/Version.xcconfig

  Log Message:
  -----------
  Versioning.

WebKit-7614.4.4.0.3

Canonical link: https://commits.webkit.org/[email protected]


  Commit: bde5951526cde6d2a2c4f600a99669d2354c7168
      
https://github.com/WebKit/WebKit/commit/bde5951526cde6d2a2c4f600a99669d2354c7168
  Author: Jer Noble <[email protected]>
  Date:   2023-01-04 (Wed, 04 Jan 2023)

  Changed paths:
    A LayoutTests/media/audio-session-category-unmute-mute-expected.txt
    A LayoutTests/media/audio-session-category-unmute-mute.html
    M LayoutTests/media/video-test.js
    M LayoutTests/platform/gtk/TestExpectations
    M Source/WebCore/platform/audio/PlatformMediaSession.cpp
    M Source/WebCore/platform/audio/PlatformMediaSession.h
    M Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm
    M Source/WebCore/platform/audio/glib/MediaSessionManagerGLib.cpp

  Log Message:
  -----------
  Cherry-pick 2ed67ffbd825. rdar://problem/103408312

    [iOS] Changing the mute state of autoplaying silent videos can interrupt 
system audio
    https://bugs.webkit.org/show_bug.cgi?id=249408
    rdar://103408312

    Reviewed by Eric Carlson.

    WebKit will attempt to leave the default AVAudioSession category in 
"ambient"
    when no audible playback exists. However, when an audible media element 
pauses,
    WebKit will leave the category in "media playback", which allows APIs like 
Now
    Playing to continue working. It does this by tracking, for each media 
element,
    that the element has played sometime since the last time WebKit received an
    interruption. The assumption is that elements which have previously played
    should not cause the category to drop to "none" when they pause.

    However, this logic gets confused when a previously silent media element
    (i.e., muted) pauses, then becomes not-silent (i.e., unmuted). The
    PlatformMediaSessionManager sees that the element is capable of producing
    audio, and has played since the last interruption, so sets the 
AVAudioSession
    category to "media playback". When that element is then played, AVFoundation
    will activate the AVAudioSession, which by virtue of being configured for
    "media playback", will interrupt other system audio.

    To resolve this, rather than tracking whether the element has "played since 
the
    last interruption", track whether the element has "played _audibly_ since 
the
    last interruption." Rename hasPlayedSinceLastInterruption() ->
    hasPlayedAudiblySinceLastInterruption() to clarify the new behavior.

    * LayoutTests/media/audio-session-category-unmute-mute-expected.txt: Added.
    * LayoutTests/media/audio-session-category-unmute-mute.html: Added.
    * Source/WebCore/platform/audio/PlatformMediaSession.cpp:
    (WebCore::PlatformMediaSession::setState):
    * Source/WebCore/platform/audio/PlatformMediaSession.h:
    (WebCore::PlatformMediaSession::hasPlayedAudiblySinceLastInterruption 
const):
    (WebCore::PlatformMediaSession::clearHasPlayedAudiblySinceLastInterruption):
    (WebCore::PlatformMediaSession::hasPlayedSinceLastInterruption const): 
Deleted.
    (WebCore::PlatformMediaSession::clearHasPlayedSinceLastInterruption): 
Deleted.
    * Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm:
    (WebCore::MediaSessionManagerCocoa::updateSessionState):
    (WebCore::MediaSessionManagerCocoa::beginInterruption):

    Canonical link: https://commits.webkit.org/258000@main

Canonical link: https://commits.webkit.org/[email protected]


  Commit: d25016dd82de695207d0d596213d2d6cfa69f4c6
      
https://github.com/WebKit/WebKit/commit/d25016dd82de695207d0d596213d2d6cfa69f4c6
  Author: Ryosuke Niwa <[email protected]>
  Date:   2023-01-04 (Wed, 04 Jan 2023)

  Changed paths:
    A LayoutTests/fast/forms/datalist/datalist-id-change-crash-expected.txt
    A LayoutTests/fast/forms/datalist/datalist-id-change-crash.html
    M Source/WebCore/html/HTMLInputElement.cpp

  Log Message:
  -----------
  Cherry-pick 3be45019e7fd. rdar://problem/103823004

    Crash in HTMLInputElement::dataListMayHaveChanged via 
ListAttributeTargetObserver::idTargetChanged
    https://bugs.webkit.org/show_bug.cgi?id=250039

    Reviewed by Wenson Hsieh, Geoffrey Garen and Aditya Keerthi.

    Merge https://commits.webkit.org/253773@main to avoid hitting this crash.

    * LayoutTests/fast/forms/datalist/datalist-id-change-crash-expected.txt: 
Added.
    * LayoutTests/fast/forms/datalist/datalist-id-change-crash.html: Added.
    * Source/WebCore/html/HTMLInputElement.cpp:
    (WebCore::HTMLInputElement::resetListAttributeTargetObserver):
    (WebCore::ListAttributeTargetObserver::ListAttributeTargetObserver):

    Canonical link: https://commits.webkit.org/252432.1015@safari-7614-branch

Canonical link: https://commits.webkit.org/[email protected]


Compare: https://github.com/WebKit/WebKit/compare/e42fb9ec8a66%5E...d25016dd82de
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to