[webkit-changes] [WebKit/WebKit] ad247f: python autoinstaller is broken with python 3.12

Michael Catanzaro noreply at github.com
Mon Aug 28 11:05:13 PDT 2023


  Branch: refs/heads/webkitglib/2.42
  Home:   https://github.com/WebKit/WebKit
  Commit: ad247f639619f2ec019a41bfaea5904f80d9c6b2
      https://github.com/WebKit/WebKit/commit/ad247f639619f2ec019a41bfaea5904f80d9c6b2
  Author: Michael Catanzaro <mcatanzaro at redhat.com>
  Date:   2023-08-28 (Mon, 28 Aug 2023)

  Changed paths:
    M Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py

  Log Message:
  -----------
  python autoinstaller is broken with python 3.12
https://bugs.webkit.org/show_bug.cgi?id=260726

Reviewed by NOBODY (OOPS!).

Currently git-webkit is broken with python 3.12 due to various problems
with dependencies that are already fixed in newer upstream versions. So,
update a few things.

Unfortunately, the newer library versions are incompatible with other
Python versions, so this means more conditional versions.

* Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py:

Canonical link: https://commits.webkit.org/266719.23@webkitglib/2.42


  Commit: 13de864f3a2845135778bc646a00cbf7becb384e
      https://github.com/WebKit/WebKit/commit/13de864f3a2845135778bc646a00cbf7becb384e
  Author: Michael Catanzaro <mcatanzaro at redhat.com>
  Date:   2023-08-28 (Mon, 28 Aug 2023)

  Changed paths:
    M Source/WebCore/bindings/js/ScriptController.cpp
    M Source/WebKit/UIProcess/API/C/WKPage.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp
    M Source/WebKit/UIProcess/Inspector/socket/RemoteInspectorProtocolHandler.cpp

  Log Message:
  -----------
  Cherry-pick 267352 at main (3b7c5108fac6). https://bugs.webkit.org/show_bug.cgi?id=260361

    Transient activation should be dropped after evaluating JavaScript, except when required for application compatibility
    https://bugs.webkit.org/show_bug.cgi?id=260361

    Reviewed by Carlos Garcia Campos.

    This is a follow-up to bug #258037 and bug #251276. When a user interacts with
    a web page, the page is said to receive a user gesture and this grants
    additional permissions to the web content until the "transient activation"
    period expires, which in WebKit is 5 seconds. WebKit's API functions that allow
    applications to run JavaScript allow the application to force a user gesture in
    order to execute JS with full permissions. But in this case, the transient
    activation should expire immediately because the user did not really interact
    with the page. Web content should not unexpectedly receive additional
    permissions for 5 seconds whenever the application runs some of its own
    unrelated JS.

    Bug #258037 and bug #251276 fixed this for freshly built applications on
    Cocoa platforms, but left other platforms unchanged because dropping the
    transient activation is not backwards-compatible and coulde possibly
    cause unknown breakage in applications. But the desired behavior is to
    always drop transient activation. Implement this everywhere:

    (1) In RemoteInspectorProtocolHandler.cpp, affecting JS executed by remote
    inspector. This change is surely safe.

    (2) In WebKitWebView.cpp, affecting the GTK and WPE port. This could
    possibly break GTK/WPE applications, so we won't backport it to the 2.40
    stable branch.

    (3) In WKPageRunJavaScriptInMainFrame, affecting non-Cocoa ports. This
    should be safe because the C API is not public except for Windows and
    PlayStation ports, which control the version of WebKit they ship.

    (4) And finally in ScriptController::executeScriptIgnoringException. This
    will affect all ports and could possibly break things.

    * Source/WebCore/bindings/js/ScriptController.cpp:
    (WebCore::ScriptController::executeScriptInWorldIgnoringException):
    * Source/WebKit/UIProcess/API/C/WKPage.cpp:
    (WKPageRunJavaScriptInMainFrame):
    * Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:
    (webkitWebViewRunJavascriptWithoutForcedUserGestures):
    (webkitWebViewEvaluateJavascriptInternal):
    (webkitWebViewCallAsyncJavascriptFunctionInternal):
    (resourcesStreamReadCallback):
    * Source/WebKit/UIProcess/Inspector/socket/RemoteInspectorProtocolHandler.cpp:
    (WebKit::RemoteInspectorProtocolHandler::runScript):

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

Canonical link: https://commits.webkit.org/266719.24@webkitglib/2.42


  Commit: 20cfdaf8fd3aa2e418a9702bf0d4621b4c50b4de
      https://github.com/WebKit/WebKit/commit/20cfdaf8fd3aa2e418a9702bf0d4621b4c50b4de
  Author: Carlos Garcia Campos <cgarcia at igalia.com>
  Date:   2023-08-28 (Mon, 28 Aug 2023)

  Changed paths:
    M Source/WebCore/platform/graphics/gbm/GBMBufferSwapchain.cpp
    M Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp

  Log Message:
  -----------
  Cherry-pick 267070 at main (75237ef8a286). https://bugs.webkit.org/show_bug.cgi?id=260431

    [GTK][WPE] Pass GBM_BO_USE_RENDERING to gbm_bo_create
    https://bugs.webkit.org/show_bug.cgi?id=260431

    Reviewed by Michael Catanzaro.

    I suspect nvidia GBM implementation defaults to GBM_BO_USE_SCANOUT when
    no flags are passed and then tries to create KMS dumb buffers. In any
    case, using GBM_BO_USE_RENDERING is correct since those buffers are
    created in the web process for rendering (as a color buffer storage).

    * Source/WebCore/platform/graphics/gbm/GBMBufferSwapchain.cpp:
    (WebCore::GBMBufferSwapchain::getBuffer):
    * Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp:
    (WebKit::AcceleratedSurfaceDMABuf::RenderTargetEGLImage::create):

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

Canonical link: https://commits.webkit.org/266719.25@webkitglib/2.42


  Commit: 799e8ebe41a397df9d66f2bdd56d8d66e9c8a173
      https://github.com/WebKit/WebKit/commit/799e8ebe41a397df9d66f2bdd56d8d66e9c8a173
  Author: Michael Catanzaro <mcatanzaro at redhat.com>
  Date:   2023-08-28 (Mon, 28 Aug 2023)

  Changed paths:
    M Source/WebKit/UIProcess/Launcher/glib/XDGDBusProxy.cpp

  Log Message:
  -----------
  Cherry-pick 267038 at main (971943d9b665). https://bugs.webkit.org/show_bug.cgi?id=257905

    [GLib] Process launching hangs if xdg-dbus-proxy is not installed
    https://bugs.webkit.org/show_bug.cgi?id=257905

    Reviewed by Carlos Garcia Campos.

    Currently if xdg-dbus-proxy is not installed or if it fails to start for
    any reason, then after attempting to run it under bwrap, we do a
    blocking read() and hang forever waiting for it to respond to us.
    Instead, let's simultaneously do an async read while also checking to
    see if the subprocess has quit. If it fails to spawn, then we can crash
    properly rather than just hang.

    Although I have *technically* removed the synchronous I/O, we still need
    to block here, so the spirit of the FIXME that hopes to avoid blocking
    is not satisfied. Nevertheless, I don't see a realistic path to avoid
    blocking, so I'm going to remove the FIXME anyway.

    * Source/WebKit/UIProcess/Launcher/glib/XDGDBusProxy.cpp:
    (WebKit::waitUntilSyncedOrDie):
    (WebKit::XDGDBusProxy::launch):

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

Canonical link: https://commits.webkit.org/266719.26@webkitglib/2.42


Compare: https://github.com/WebKit/WebKit/compare/1f4124f40460...799e8ebe41a3


More information about the webkit-changes mailing list