[webkit-changes] [WebKit/WebKit] 42a2de: Cherry-pick 282550 at main (ecae3f6ca830). <bug>

Patrick noreply at github.com
Wed Aug 21 02:56:42 PDT 2024


  Branch: refs/heads/webkitglib/2.46
  Home:   https://github.com/WebKit/WebKit
  Commit: 42a2de34ce5a330a31a7d3547bfef13743a73a2c
      https://github.com/WebKit/WebKit/commit/42a2de34ce5a330a31a7d3547bfef13743a73a2c
  Author: Carlos Garcia Campos <cgarcia at igalia.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.cpp
    M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteXRView.h

  Log Message:
  -----------
  Cherry-pick 282550 at main (ecae3f6ca830). <bug>

    Unreviewed. Fix the build with GPU process enabled

    * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.cpp:
    * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteXRView.h:

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


  Commit: 90abdbe95f82b5d16f52381184b63a3a7ed24475
      https://github.com/WebKit/WebKit/commit/90abdbe95f82b5d16f52381184b63a3a7ed24475
  Author: Carlos Garcia Campos <cgarcia at igalia.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.cpp
    M Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.h

  Log Message:
  -----------
  Cherry-pick 282552 at main (32015b7f049e). https://bugs.webkit.org/show_bug.cgi?id=278451

    REGRESSION(282416 at main): [GTK][WPE] GPU process crashes in PlatformDisplay::shared()
    https://bugs.webkit.org/show_bug.cgi?id=278451

    Reviewed by Miguel Gomez.

    Since 282416 at main the PlatformDisplay needs to be explicitly
    initialized and the GPU process isn't supposed to use PlatformDisplay
    (yet) so it doesn't initialize it (yet). But GraphicsContextGLGBM
    creates a fence in prepareForDisplay() and GLFence uses PlatformDisplay.
    For now we can remove the fence when GPU process is enabled since it's unused.

    * Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.cpp:
    (WebCore::GraphicsContextGLGBM::prepareForDisplay):
    * Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.h:

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


  Commit: a983309dc0b7ce6f8c20f13ca812fba4acf80e4f
      https://github.com/WebKit/WebKit/commit/a983309dc0b7ce6f8c20f13ca812fba4acf80e4f
  Author: Lauro Moura <lmoura at igalia.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M Source/WebDriver/Session.cpp
    M Source/WebDriver/SessionHost.cpp
    M Source/WebDriver/SessionHost.h
    M Source/WebDriver/glib/SessionHostGlib.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitAutomationSession.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
    M Source/WebKit/UIProcess/Automation/Automation.json
    M Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp
    M Source/WebKit/UIProcess/Automation/WebAutomationSession.h

  Log Message:
  -----------
  Cherry-pick 282489 at main (79271e75c2fe). https://bugs.webkit.org/show_bug.cgi?id=277341

    [WebDriver][WPE] Allow reconnections while keeping the view open
    https://bugs.webkit.org/show_bug.cgi?id=277341

    Reviewed by Carlos Garcia Campos.

    Currently, when we close a session, all open windows are unconditionally
    closed, while the spec[1] says it's optional. Allowing the window to
    remain open might be interesting when we connect to an already running
    browser, another scenario covered by the WebDriver spec[2] and supported
    by WPEWebKit.

    For the record, while the usual practice is to let the WebDriver service
    manage the browser lifetime, in some cases we might want to start the
    browser in a more controlled way, for example, to enable
    profiling/debugging, loading a heavy page beforehand, etc.

    To allow deleting a session and keep the windows open, this commit adds
    a new `Automation.json` command, "deleteSession", which makes the
    UIProcess terminate the automation session and thus the RemoteInspector
    connection between the UIProcess and the WebDriver service. This command
    also serves as a fallback if somehow the browser fails to close all
    windows.

    On the browser-level API, this commit also adds a new signal,
    `WebKitAutomationSession::will-close` to notify the browser that the
    WebDriver client disconnected, and the browser is free to either kill or
    keep the view open for new sessions as required.

    [1] https://w3c.github.io/webdriver/#dfn-close-the-session (Step 3.5)
    [2] https://w3c.github.io/webdriver/#new-session (Step 8 note)

    * Source/WebDriver/Session.cpp:
    (WebDriver::Session::close): Only close windows for non-remote sessions
    and issue the new "deleteSession" automation command.
    * Source/WebDriver/SessionHost.cpp:
    (WebDriver::SessionHost::isRemoteBrowser const): Added
    * Source/WebDriver/SessionHost.h: Ditto
    * Source/WebDriver/glib/SessionHostGlib.cpp:
    (WebDriver::SessionHost::connectionDidClose): If we lost connection to a
    non-remote (i.e. managed) browser, kill it.
    (WebDriver::SessionHost::setTargetList): Check for empty target list.
    (WebDriver::SessionHost::isRemoteBrowser const): Added
    * Source/WebKit/UIProcess/API/glib/WebKitAutomationSession.cpp:
    (webkit_automation_session_class_init): Add new "will-close" signal
    * Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp:
    (webkitWebContextWillCloseAutomationSession): Emit the new signal
    * Source/WebKit/UIProcess/Automation/Automation.json: Added
      "deleteSession" command.
    * Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp:
    (WebKit::WebAutomationSession::deleteSession): Implemented by requesting
    to terminate the connection between the WebDriver service and the
    browser.
    * Source/WebKit/UIProcess/Automation/WebAutomationSession.h: Ditto.

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


  Commit: 377ce1120af18cc69d586fe522efa42a23d3cf02
      https://github.com/WebKit/WebKit/commit/377ce1120af18cc69d586fe522efa42a23d3cf02
  Author: Patrick Griffis <pgriffis at igalia.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M Source/WebCore/platform/graphics/ImagePaintingOptions.h
    M Source/WebCore/platform/graphics/ImageTypes.h
    M Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp
    M Source/WebCore/rendering/RenderImage.cpp

  Log Message:
  -----------
  Cherry-pick 282492 at main (1efcb4f3b8fb). https://bugs.webkit.org/show_bug.cgi?id=274827

    [Skia] Fix image filtering not being applied
    https://bugs.webkit.org/show_bug.cgi?id=274827

    Reviewed by Carlos Garcia Campos.

    Per the docs you need the fast constraint for filtering to be applied:

       SrcRectConstraint controls the behavior at the edge of source SkRect,
       provided to drawImageRect() when there is any filtering. If kStrict is set,
       then extra code is used to ensure it never samples outside of the src-rect.
       kStrict_SrcRectConstraint disables the use of mipmaps and anisotropic filtering.

    This change is only applied to rendering of images.

    * Source/WebCore/platform/graphics/ImagePaintingOptions.h:
    (WebCore::ImagePaintingOptions::strictImageClamping const):
    (WebCore::ImagePaintingOptions::setOption):
    * Source/WebCore/platform/graphics/ImageTypes.h:
    * Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp:
    (WebCore::GraphicsContextSkia::drawNativeImageInternal):
    * Source/WebCore/rendering/RenderImage.cpp:
    (WebCore::RenderImage::paintIntoRect):
    * Source/WebCore/rendering/svg/RenderSVGImage.cpp:
    (WebCore::RenderSVGImage::paintIntoRect):

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


Compare: https://github.com/WebKit/WebKit/compare/39875a245281...377ce1120af1

To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list