[webkit-changes] [WebKit/WebKit] 494f6f: Cherry-pick 263453 at main (8b62fda7097b). https://bu...

Antti Koivisto noreply at github.com
Thu May 4 07:08:59 PDT 2023


  Branch: refs/heads/webkitglib/2.40
  Home:   https://github.com/WebKit/WebKit
  Commit: 494f6f7b148ce3463e1f56e4a54a0f13b36cf7cd
      https://github.com/WebKit/WebKit/commit/494f6f7b148ce3463e1f56e4a54a0f13b36cf7cd
  Author: Antti Koivisto <antti at apple.com>
  Date:   2023-05-03 (Wed, 03 May 2023)

  Changed paths:
    A LayoutTests/fast/css/custom-properties/at-property-calc-crash-expected.txt
    A LayoutTests/fast/css/custom-properties/at-property-calc-crash.html
    M Source/WebCore/css/CSSCustomPropertyValue.cpp
    M Source/WebCore/css/calc/CSSCalcValue.cpp

  Log Message:
  -----------
  Cherry-pick 263453 at main (8b62fda7097b). https://bugs.webkit.org/show_bug.cgi?id=256032

    [@property] Nullptr crash with calc()
    https://bugs.webkit.org/show_bug.cgi?id=256032
    rdar://105491386

    Reviewed by Alan Baradlay.

    * LayoutTests/fast/css/custom-properties/at-property-calc-crash.html: Added.
    * LayoutTests/fast/css/custom-properties/at-property-calc-crash-expected.txt: Added.
    * Source/WebCore/css/CSSCustomPropertyValue.cpp:
    (WebCore::CSSCustomPropertyValue::customCSSText const):

    Ensure that we don't crash even if the calc expression building returns null.

    * Source/WebCore/css/calc/CSSCalcValue.cpp:
    (WebCore::createCSS):

    Limit zero-length elimination when constructing CSSCalcExpressionNodes from CalcExpressionNodes to sum and substract expressions.
    With other expression types eliminating zeroes can lead to miscomputing the expression unit category and
    the building code returning null.

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


  Commit: 5542904bb70b3d0e3c5ccc99addae46905b7ec96
      https://github.com/WebKit/WebKit/commit/5542904bb70b3d0e3c5ccc99addae46905b7ec96
  Author: Ryan Reno <rreno at apple.com>
  Date:   2023-05-04 (Thu, 04 May 2023)

  Changed paths:
    A LayoutTests/media/media-session/actionHandler-no-document-leak-expected.txt
    A LayoutTests/media/media-session/actionHandler-no-document-leak.html
    A LayoutTests/media/media-session/resources/media-session-action-handler-document-leak-frame.html
    M Source/WebCore/Modules/mediasession/MediaSessionActionHandler.h
    M Source/WebCore/Modules/mediasession/MediaSessionActionHandler.idl

  Log Message:
  -----------
  Cherry-pick 56280cdcbd8a. https://bugs.webkit.org/show_bug.cgi?id=251835

    The Document object is leaked on some pages using media (like YouTube.com)
    https://bugs.webkit.org/show_bug.cgi?id=251835
    rdar://105112595

    Reviewed by Chris Dumez.

    By default a callback holds a Strong<> reference to the JS Function
    object. This has the effect of making the callback a GC root. Another
    option is to annotate the callback with the IsWeakCallback extended
    attribute which will hold the callback object as a Weak reference and
    keep it alive via the visitJSFunction mechanism instead of making it a
    root.

    In the case of MediaSessionActionHandler the strong reference will
    prevent an HTMLDocument from being garbage collected even after
    navigating away and clearing the caches (after a low memory warning, for
    example). This change adds the IsWeakCallback attribute and the
    necessary virtual function to the MediaSessionActionHandler base class.

    LayoutTests:
        Add a test to check that action handlers installed by the page are
        not leaked. Use an iframe to install and exercise the action
        handlers before the iframe is navigated away and a garbage
        collection is triggered (repeatedly). If after 500 attempts at GC
        the document containing the action handlers still exists we consider
        the document leaked.

    * LayoutTests/media/media-session/actionHandler-no-document-leak-expected.txt: Added.
    * LayoutTests/media/media-session/actionHandler-no-document-leak.html: Added.
    * LayoutTests/media/media-session/resources/media-session-action-handler-document-leak-frame.html: Added.

    * Source/WebCore/Modules/mediasession/MediaSessionActionHandler.h:
    * Source/WebCore/Modules/mediasession/MediaSessionActionHandler.idl:

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


  Commit: 8da9a25eedd8e2c351f2170c63b20046d8167748
      https://github.com/WebKit/WebKit/commit/8da9a25eedd8e2c351f2170c63b20046d8167748
  Author: Nikolas Zimmermann <nzimmermann at igalia.com>
  Date:   2023-05-04 (Thu, 04 May 2023)

  Changed paths:
    M Source/WTF/wtf/glib/Sandbox.cpp
    M Source/WTF/wtf/glib/Sandbox.h
    M Source/WebKit/UIProcess/Launcher/glib/ProcessLauncherGLib.cpp

  Log Message:
  -----------
  Cherry-pick 263494 at main (2364ff02346a). https://bugs.webkit.org/show_bug.cgi?id=255975

    [glib] Cog doesn't launch when built/started within podman container
    https://bugs.webkit.org/show_bug.cgi?id=255975

    Reviewed by Adrian Perez de Castro.

    We intent to disable bubblewrap sandboxing when e.g. Cog is launched
    within a container -- however we only handle docker -- extend that to
    all OCI-compatible container execution engines (podman!).

    No new tests -- not testable within our CI/CD environment.

    * Source/WTF/wtf/glib/Sandbox.cpp:
    (WTF::isInsideContainer):
    (WTF::isInsideDocker): Deleted.
    * Source/WTF/wtf/glib/Sandbox.h:
    * Source/WebKit/UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:
    (WebKit::ProcessLauncher::launchProcess):

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


  Commit: 2dc2b68a7124245a499b014226e63f42236c228c
      https://github.com/WebKit/WebKit/commit/2dc2b68a7124245a499b014226e63f42236c228c
  Author: JC Alvarado <joncarlo at apple.com>
  Date:   2023-05-04 (Thu, 04 May 2023)

  Changed paths:
    M Source/WebKit/GPUProcess/GPUProcess.cpp
    M Source/WebKit/NetworkProcess/NetworkProcess.cpp

  Log Message:
  -----------
  Cherry-pick 263466 at main (5f072a498756). https://bugs.webkit.org/show_bug.cgi?id=255992

    Use smart pointers for captured variables stored in memory pressure handler
    https://bugs.webkit.org/show_bug.cgi?id=255992
    rdar://problem/108561984

    Reviewed by Ryosuke Niwa.

    Adopt smart pointers for captured variables in GPUProcess::initializeGPUProcess and
    NetworkProcess::initializeNetworkProcess.

    * Source/WebKit/NetworkProcess/NetworkProcess.cpp:
    (WebKit::NetworkProcess::initializeNetworkProcess):

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


  Commit: 14998d4557b4ac63c9fd4fe2afbab0434edbe708
      https://github.com/WebKit/WebKit/commit/14998d4557b4ac63c9fd4fe2afbab0434edbe708
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2023-05-04 (Thu, 04 May 2023)

  Changed paths:
    A LayoutTests/editing/selection/selection-toString-input-expected.txt
    A LayoutTests/editing/selection/selection-toString-input.html
    A LayoutTests/editing/selection/selection-toString-textarea-expected.txt
    A LayoutTests/editing/selection/selection-toString-textarea.html
    M LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/email-set-value-expected.txt
    M Source/WebCore/page/DOMSelection.cpp

  Log Message:
  -----------
  Cherry-pick 263280 at main (b6892f51e01e). https://bugs.webkit.org/show_bug.cgi?id=252281

    REGRESSION (259904 at main): window.getSelection() is empty for selection inside textarea
    https://bugs.webkit.org/show_bug.cgi?id=252281

    Reviewed by Wenson Hsieh.

    Restore the pre-259904 at main behavior of getSelection().toString(), which is to return
    the string selected within input and textarea elements. This behavior is consistent with Chrome.

    The post-259904 at main behavior of not including the selected string within input and textarea
    elements are consistent with Firefox but this turned out to be not Web compatible with at least
    one Apple internal website.

    * LayoutTests/editing/selection/selection-toString-input-expected.txt: Added.
    * LayoutTests/editing/selection/selection-toString-input.html: Added.
    * LayoutTests/editing/selection/selection-toString-textarea-expected.txt: Added.
    * LayoutTests/editing/selection/selection-toString-textarea.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/email-set-value-expected.txt: Rebaselined.
    * Source/WebCore/page/DOMSelection.cpp:
    (WebCore::DOMSelection::toString const):

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


  Commit: 70f67b98ac24ee2d65db974c54204bbe316d941c
      https://github.com/WebKit/WebKit/commit/70f67b98ac24ee2d65db974c54204bbe316d941c
  Author: Devin Rousso <hi at devinrousso.com>
  Date:   2023-05-04 (Thu, 04 May 2023)

  Changed paths:
    M Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js

  Log Message:
  -----------
  Cherry-pick 262603 at main (7ef99649a919). https://bugs.webkit.org/show_bug.cgi?id=254948

    Web Inspector: Network tab cleared items reappear with Preserve Log enabled
    https://bugs.webkit.org/show_bug.cgi?id=254948

    Reviewed by Patrick Angle.

    Sometimes `WI.Frame.Event.MainResourceDidChange` can be dispatched before the `WI.networkManager.mainFrame` is changed.

    Instead of always using the `WI.networkManager.mainFrame` when populating with the initial resources of the `WI.Frame`, use the `WI.Frame` dispatching `WI.Frame.Event.MainResourceDidChange`.

    * Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js:
    (WI.NetworkTableContentView.prototype._populateWithInitialResourcesIfNeeded):
    (WI.NetworkTableContentView.prototype._mainResourceDidChange):
    (WI.NetworkTableContentView.prototype._mainFrameDidChange):

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


  Commit: 77fb3fac51b4300e2fef0f248129156d08902a0d
      https://github.com/WebKit/WebKit/commit/77fb3fac51b4300e2fef0f248129156d08902a0d
  Author: Said Abou-Hallawa <said at apple.com>
  Date:   2023-05-04 (Thu, 04 May 2023)

  Changed paths:
    M Source/WebCore/svg/SVGPathSeg.h
    M Source/WebCore/svg/SVGPathSegImpl.h
    M Source/WebCore/svg/SVGPathSegValue.h

  Log Message:
  -----------
  Cherry-pick 262690 at main (9fc3aff2f387). https://bugs.webkit.org/show_bug.cgi?id=254757

    SVGPathSegValue::clone<>() rename to SVGPathSegValue::cloneInternal<>()
    https://bugs.webkit.org/show_bug.cgi?id=254757
    rdar://107719787

    Reviewed by Michael Catanzaro.

    GCC 13 considers the template function SVGPathSegValue::clone<>() hides the virtual
    function SVGPathSeg::clone<>() so the SVGPathSegValue super-classes can't override it.

    Renaming it will make the classes in SVGPathSegValueImpl.h be complied on GCC 13
    without the need for -Woverloaded-virtual.

    * Source/WebCore/svg/SVGPathSeg.h:
    * Source/WebCore/svg/SVGPathSegImpl.h:
    * Source/WebCore/svg/SVGPathSegValue.h:
    (WebCore::SVGPathSegValue::cloneInternal const):
    (WebCore::SVGPathSegValue::clone const): Deleted.

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


  Commit: bc77efd262dd9dfa43d98dc6c0fc0736b2ddd634
      https://github.com/WebKit/WebKit/commit/bc77efd262dd9dfa43d98dc6c0fc0736b2ddd634
  Author: Antti Koivisto <antti at apple.com>
  Date:   2023-05-04 (Thu, 04 May 2023)

  Changed paths:
    A LayoutTests/http/tests/svg/resources/st-search.svg
    A LayoutTests/http/tests/svg/use-custom-property-inheritance-expected.html
    A LayoutTests/http/tests/svg/use-custom-property-inheritance.html
    M Source/WebCore/style/StyleResolver.cpp
    M Source/WebCore/style/StyleResolver.h
    M Source/WebCore/svg/SVGElement.cpp

  Log Message:
  -----------
  Cherry-pick 262698 at main (abf098f7f5b0). https://bugs.webkit.org/show_bug.cgi?id=254549

    REGRESSION(259818 at main...259759@main?): CSS variables are not applied to the SVG use element's shadow tree
    https://bugs.webkit.org/show_bug.cgi?id=254549
    rdar://107295588

    Reviewed by Ryosuke Niwa.

    We fail to inherit custom properties to <use> element shadow tree in the specific case where
    the targeted element is the root element of an external SVG document.

    * LayoutTests/http/tests/svg/resources/st-search.svg: Added.
    * LayoutTests/http/tests/svg/use-custom-property-inheritance-expected.html: Added.
    * LayoutTests/http/tests/svg/use-custom-property-inheritance.html: Added.
    * Source/WebCore/style/StyleResolver.cpp:
    (WebCore::Style::Resolver::styleForElement):

    Don't suppress property inheritance for the document element in the case we are resolving a <use> tree root.

    * Source/WebCore/style/StyleResolver.h:
    * Source/WebCore/svg/SVGElement.cpp:
    (WebCore::SVGElement::resolveCustomStyle):

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


Compare: https://github.com/WebKit/WebKit/compare/5224503460cd...bc77efd262dd


More information about the webkit-changes mailing list