[webkit-changes] [WebKit/WebKit] 563327: [UI-side compositing] RenderListBox scrollbars do ...

Wenson Hsieh noreply at github.com
Tue Mar 28 16:15:00 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 563327c0f1c402dee399680de8da20c23de89356
      https://github.com/WebKit/WebKit/commit/563327c0f1c402dee399680de8da20c23de89356
  Author: Wenson Hsieh <wenson_hsieh at apple.com>
  Date:   2023-03-28 (Tue, 28 Mar 2023)

  Changed paths:
    A LayoutTests/fast/forms/select/mac-wk2/listbox-scrollbar-painting-expected-mismatch.html
    A LayoutTests/fast/forms/select/mac-wk2/listbox-scrollbar-painting.html
    M Source/WebCore/platform/Scrollbar.cpp
    M Source/WebCore/platform/Scrollbar.h
    M Source/WebCore/platform/mac/ScrollbarThemeMac.mm

  Log Message:
  -----------
  [UI-side compositing] RenderListBox scrollbars do not show
https://bugs.webkit.org/show_bug.cgi?id=253750
rdar://106382552

Reviewed by Aditya Keerthi.

With UI-side compositing on the painting context does not have a platform CG context so painting the
scrollbars does not work. To get around this, draw the scrollbars into a local buffer then draw that
buffer into the painting context.

Based on a patch by Nikos Mouchtaris.

* LayoutTests/fast/forms/select/mac-wk2/listbox-scrollbar-painting-expected-mismatch.html: Added.
* LayoutTests/fast/forms/select/mac-wk2/listbox-scrollbar-painting.html: Added.

Add a regression test to verify that system scrollbars show up in list boxes, with always-on
scrollbars enabled.

* Source/WebCore/platform/Scrollbar.cpp:
(WebCore::Scrollbar::deviceScaleFactor const):
* Source/WebCore/platform/Scrollbar.h:
* Source/WebCore/platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::paint):
(WebCore::scrollerImpPaint): Deleted.

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




More information about the webkit-changes mailing list