[webkit-changes] [WebKit/WebKit] 43ae85: [GPU Process] Cache the Filter only if it has a va...

Rob Buis noreply at github.com
Thu May 23 13:11:57 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 43ae8533abcdc3bc0551cdfc317458c03d2e9bae
      https://github.com/WebKit/WebKit/commit/43ae8533abcdc3bc0551cdfc317458c03d2e9bae
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M LayoutTests/TestExpectations
    A LayoutTests/ipc/send-filter-expected.txt
    A LayoutTests/ipc/send-filter.html
    M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp

  Log Message:
  -----------
  [GPU Process] Cache the Filter only if it has a valid resource identifier
https://bugs.webkit.org/show_bug.cgi?id=270324
rdar://122378065

Reviewed by Said Abou-Hallawa.

Filter is a RenderingResource and it can be cached by DisplayList,
however, every resource needs an identifier to be cached and a Filter
can be created without an identifier.

This patch prevents Filters without identifiers from being cached.

* LayoutTests/TestExpectations:
* LayoutTests/ipc/send-filter-expected.txt: Added.
* LayoutTests/ipc/send-filter.html: Added.
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::cacheFilter):

Originally-landed-as: 274097.15 at webkit-2024.2-embargoed (977618344850). rdar://128555035
Canonical link: https://commits.webkit.org/279226@main


  Commit: f99d7c5195c4359543ab224fcee958054c0fe8d7
      https://github.com/WebKit/WebKit/commit/f99d7c5195c4359543ab224fcee958054c0fe8d7
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    A LayoutTests/ipc/ui-send-empty-uuid-expected.txt
    A LayoutTests/ipc/ui-send-empty-uuid.html
    M Source/WebKit/UIProcess/Cocoa/ModelElementControllerCocoa.mm

  Log Message:
  -----------
  Missing return when uuid is empty
https://bugs.webkit.org/show_bug.cgi?id=270481
rdar://122379657

Reviewed by John Wilander.

When sending a message to WebPageProxy_ModelElementLoadRemotePreview,
the uuid cannot be empty. There is already a check for that but if an empty
uuid is indeed sent, we never return the error. This patch adds the missing
return.

* LayoutTests/ipc/ui-send-empty-uuid-expected.txt: Added.
* LayoutTests/ipc/ui-send-empty-uuid.html: Added.
* Source/WebKit/UIProcess/Cocoa/ModelElementControllerCocoa.mm:
(WebKit::ModelElementController::modelElementLoadRemotePreview):

Originally-landed-as: 274097.13 at webkit-2024.2-embargoed (8105acb3cedb). rdar://128555186
Canonical link: https://commits.webkit.org/279227@main


  Commit: 90e96164e02f963b67c605a228c0e5bf98b2df2d
      https://github.com/WebKit/WebKit/commit/90e96164e02f963b67c605a228c0e5bf98b2df2d
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M LayoutTests/TestExpectations
    A LayoutTests/ipc/send-gradient-expected.txt
    A LayoutTests/ipc/send-gradient.html
    M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp
    M Source/WebKit/Platform/Logging.h

  Log Message:
  -----------
  Always build a Gradient identifier to enable resource caching
https://bugs.webkit.org/show_bug.cgi?id=270480
rdar://122181237

Reviewed by Said Abou-Hallawa.

Gradient is a RenderingResource and it can be cached by DisplayList,
however, every resource needs an identifier to be cached and a Gradient
can be created withouth an identifier.

This patch prevents Gradients without identifiers from being cached.

* LayoutTests/TestExpectations:
* LayoutTests/ipc/send-gradient-expected.txt: Added.
* LayoutTests/ipc/send-gradient.html: Added.
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::cacheGradient):

Originally-landed-as: 274097.14 at webkit-2024.2-embargoed (0bfbed0e1d1a). rdar://128555359
Canonical link: https://commits.webkit.org/279228@main


  Commit: 49088ee12eea360c9d010a79635372547d095341
      https://github.com/WebKit/WebKit/commit/49088ee12eea360c9d010a79635372547d095341
  Author: Rob Buis <rbuis at igalia.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    A LayoutTests/fast/css/repeating-radial-gradient-small-range-large-extent-expected.txt
    A LayoutTests/fast/css/repeating-radial-gradient-small-range-large-extent.html
    M Source/WebCore/rendering/style/StyleGradientImage.cpp

  Log Message:
  -----------
  ASAN_TRAP | WTF::Vector::expandCapacity; WTF::Vector::expandCapacity; WTF::Vector::appendSlowCase
https://bugs.webkit.org/show_bug.cgi?id=271904
rdar://125579928

Reviewed by Antti Koivisto.

For https://bugs.webkit.org/show_bug.cgi?id=264639 a fix was done to deal with repeating gradients
where a tiny offset range was repeated, causing a large number of items to be added to the stop vector.
That fix does not apply when the offset range is reasonable but the maxExtent is large. So, also take the
maxExtent into account when deciding whether to produce extra gradient stops.

* LayoutTests/fast/css/repeating-radial-gradient-small-range-large-extent-expected.txt: Added.
* LayoutTests/fast/css/repeating-radial-gradient-small-range-large-extent.html: Added.
* Source/WebCore/rendering/style/StyleGradientImage.cpp:
(WebCore::StyleGradientImage::computeStops const):

Originally-landed-as: 274097.16 at webkit-2024.2-embargoed (c2f3e54dfeed). rdar://128555839
Canonical link: https://commits.webkit.org/279229@main


Compare: https://github.com/WebKit/WebKit/compare/c31d9c40707d...49088ee12eea

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