[webkit-changes] [WebKit/WebKit] b0c474: [macOS] Remove linen texture when zoomed or rubber...

Commit Queue noreply at github.com
Wed Aug 9 20:59:52 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b0c474278a21a86b9016c195b12a99c53bd6c45f
      https://github.com/WebKit/WebKit/commit/b0c474278a21a86b9016c195b12a99c53bd6c45f
  Author: Luming Yin <luming_yin at apple.com>
  Date:   2023-08-09 (Wed, 09 Aug 2023)

  Changed paths:
    M Source/WebCore/platform/ScrollbarTheme.h
    M Source/WebCore/platform/graphics/GraphicsLayer.cpp
    M Source/WebCore/platform/graphics/GraphicsLayer.h
    M Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm
    M Source/WebCore/platform/mac/ScrollbarThemeMac.h
    M Source/WebCore/platform/mac/ScrollbarThemeMac.mm
    M Source/WebCore/rendering/RenderLayerCompositor.cpp
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm

  Log Message:
  -----------
  [macOS] Remove linen texture when zoomed or rubber banding
https://bugs.webkit.org/show_bug.cgi?id=260002
rdar://113648503

Reviewed by Simon Fraser.

When running on OS X Mavericks 10.9 and earlier, web views used to draw a gray linen texture when zoomed out or
rubber banding. This design has been replaced with a flat color since the OS X Yosemite 10.10, but we continue
to draw the linen texture, only to have it covered by an opaque foreground layer.

In popup windows, this linen texture may unexpectedly become visible in some circumstances on macOS Sonoma. To
reduce resource usage and remove a source of layout bugs, drop the linen texture implementation completely.

* Source/WebCore/platform/ScrollbarTheme.h:
(WebCore::ScrollbarTheme::setUpOverhangAreasLayerContents): Deleted.
(WebCore::ScrollbarTheme::setUpContentShadowLayer): Deleted.
Removed since these are no longer used on supported versions of macOS.

* Source/WebCore/platform/graphics/GraphicsLayer.cpp:
(WebCore::operator<<):
Remove the ScrollingOverhang appearance since we no longer need to draw any linen.

* Source/WebCore/platform/graphics/GraphicsLayer.h:
Same as above.

* Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(WebCore::PlatformCALayerCocoa::updateCustomAppearance):
Do not set up or remove the linen overhang area background.

* Source/WebCore/platform/mac/ScrollbarThemeMac.h:
* Source/WebCore/platform/mac/ScrollbarThemeMac.mm:
(WebCore::linenBackgroundColor): Deleted.
(WebCore::ScrollbarThemeMac::setUpOverhangAreaBackground): Deleted.
(WebCore::ScrollbarThemeMac::removeOverhangAreaBackground): Deleted.
(WebCore::ScrollbarThemeMac::setUpOverhangAreasLayerContents): Deleted.
(WebCore::ScrollbarThemeMac::setUpContentShadowLayer): Deleted.
Remove code to set up and update the linen overhang area background.

* Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateLayerForOverhangAreasBackgroundColor):
Stop setting a custom linen appearance for the overhang area.

* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:
(WebKit::updateCustomAppearance):
Do not set up or remove the linen overhang area background.

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




More information about the webkit-changes mailing list