Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8da3bddb8192b0e359a5161a5a6ba9664579ee00
      
https://github.com/WebKit/WebKit/commit/8da3bddb8192b0e359a5161a5a6ba9664579ee00
  Author: Said Abou-Hallawa <[email protected]>
  Date:   2026-03-07 (Sat, 07 Mar 2026)

  Changed paths:
    M LayoutTests/editing/style/apply-style-atomic-expected.txt
    M LayoutTests/editing/style/apply-style-atomic-live-range-expected.txt
    M 
LayoutTests/fast/dom/HTMLProgressElement/progress-element-markup-expected.txt
    A 
LayoutTests/fast/forms/appearance-base/appearance-base-progress-dynamic-expected.html
    A 
LayoutTests/fast/forms/appearance-base/appearance-base-progress-dynamic.html
    A 
LayoutTests/fast/forms/appearance-base/appearance-base-progress-initial-expected.html
    A 
LayoutTests/fast/forms/appearance-base/appearance-base-progress-initial.html
    A 
LayoutTests/fast/forms/appearance-base/appearance-base-progress-value-dynamic-expected.html
    A 
LayoutTests/fast/forms/appearance-base/appearance-base-progress-value-dynamic.html
    M 
LayoutTests/platform/glib/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.txt
    M 
LayoutTests/platform/glib/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt
    M 
LayoutTests/platform/glib/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt
    A 
LayoutTests/platform/glib/fast/forms/appearance-base/appearance-base-progress-dynamic-expected.html
    A 
LayoutTests/platform/glib/fast/forms/appearance-base/appearance-base-progress-initial-expected.html
    A 
LayoutTests/platform/glib/fast/forms/appearance-base/appearance-base-progress-value-dynamic-expected.html
    M 
LayoutTests/platform/ios/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.txt
    M 
LayoutTests/platform/ios/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt
    M 
LayoutTests/platform/ios/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt
    M 
LayoutTests/platform/mac-sequoia-wk2/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt
    A 
LayoutTests/platform/mac-sequoia-wk2/fast/forms/appearance-base/appearance-base-progress-dynamic-expected.html
    A 
LayoutTests/platform/mac-sequoia-wk2/fast/forms/appearance-base/appearance-base-progress-initial-expected.html
    A 
LayoutTests/platform/mac-sequoia-wk2/fast/forms/appearance-base/appearance-base-progress-value-dynamic-expected.html
    M 
LayoutTests/platform/mac-wk2/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt
    M 
LayoutTests/platform/mac/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.txt
    M 
LayoutTests/platform/mac/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt
    A 
LayoutTests/platform/win/fast/forms/appearance-base/appearance-base-progress-dynamic-expected.html
    A 
LayoutTests/platform/win/fast/forms/appearance-base/appearance-base-progress-initial-expected.html
    A 
LayoutTests/platform/win/fast/forms/appearance-base/appearance-base-progress-value-dynamic-expected.html
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/html/HTMLProgressElement.cpp
    M Source/WebCore/html/HTMLProgressElement.h
    R Source/WebCore/html/shadow/ProgressShadowElement.cpp
    R Source/WebCore/html/shadow/ProgressShadowElement.h

  Log Message:
  -----------
  [appearance base] Create shadow tree for `appearance: base` <progress> control
rdar://171676544
https://bugs.webkit.org/show_bug.cgi?id=309126

Reviewed by Anne van Kesteren.

Support appearance: base for the <progress> element. Create shadow tree elements
for the the pseudo elements: ::slider-track and ::slider-fill. These new shadow
tree elements have to coexist with the shadow tree elements of the appearance:
none case. Only a shadow sub-tree should be shown at any time. This can will be
handled by using `-internal-auto-base()` for the CSS `display` property.

The classes in ProgressShadowElement.cpp do not do much. Their work can be moved
to HTMLProgressElement.cpp. And there is no need to create RenderProgress for 
the
inner element. The inner element can be just an HTMLDivElement which will create
a renderer of type RenderBlock.

Tests: fast/forms/appearance-base/appearance-base-progress-dynamic.html
       fast/forms/appearance-base/appearance-base-progress-initial.html
       fast/forms/appearance-base/appearance-base-progress-value-dynamic.html

* LayoutTests/editing/style/apply-style-atomic-expected.txt:
* LayoutTests/editing/style/apply-style-atomic-live-range-expected.txt:
* LayoutTests/fast/dom/HTMLProgressElement/progress-element-markup-expected.txt:
* 
LayoutTests/fast/forms/appearance-base/appearance-base-progress-dynamic-expected.html:
 Added.
* LayoutTests/fast/forms/appearance-base/appearance-base-progress-dynamic.html: 
Added.
* 
LayoutTests/fast/forms/appearance-base/appearance-base-progress-initial-expected.html:
 Added.
* LayoutTests/fast/forms/appearance-base/appearance-base-progress-initial.html: 
Added.
* 
LayoutTests/fast/forms/appearance-base/appearance-base-progress-value-dynamic-expected.html:
 Added.
* 
LayoutTests/fast/forms/appearance-base/appearance-base-progress-value-dynamic.html:
 Added.

* 
LayoutTests/platform/glib/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.txt:
* 
LayoutTests/platform/glib/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt:
* 
LayoutTests/platform/glib/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt:
The heights of the shadow inner elements were wrong. The new heights are exactly
the same as the heights on macOS.

* 
LayoutTests/platform/glib/fast/forms/appearance-base/appearance-base-progress-dynamic-expected.html:
 Added.
* 
LayoutTests/platform/glib/fast/forms/appearance-base/appearance-base-progress-initial-expected.html:
 Added.
* 
LayoutTests/platform/glib/fast/forms/appearance-base/appearance-base-progress-value-dynamic-expected.html:
 Added.
* 
LayoutTests/platform/ios/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.txt:
* 
LayoutTests/platform/ios/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt:
* 
LayoutTests/platform/ios/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt:
* 
LayoutTests/platform/mac-sequoia-wk2/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt:
* 
LayoutTests/platform/mac-sequoia-wk2/fast/forms/appearance-base/appearance-base-progress-dynamic-expected.html:
 Added.
* 
LayoutTests/platform/mac-sequoia-wk2/fast/forms/appearance-base/appearance-base-progress-initial-expected.html:
 Added.
* 
LayoutTests/platform/mac-sequoia-wk2/fast/forms/appearance-base/appearance-base-progress-value-dynamic-expected.html:
 Added.
* 
LayoutTests/platform/mac-wk2/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt:
* 
LayoutTests/platform/mac/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.txt:
* 
LayoutTests/platform/mac/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt:
* 
LayoutTests/platform/win/fast/forms/appearance-base/appearance-base-progress-dynamic-expected.html:
 Added.
* 
LayoutTests/platform/win/fast/forms/appearance-base/appearance-base-progress-initial-expected.html:
 Added.
* 
LayoutTests/platform/win/fast/forms/appearance-base/appearance-base-progress-value-dynamic-expected.html:
 Added.
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::renderProgress const):
(WebCore::HTMLProgressElement::childShouldCreateRenderer const):
(WebCore::HTMLProgressElement::attributeChanged):
(WebCore::HTMLProgressElement::didChangeElementValue):
(WebCore::HTMLProgressElement::appendShadowTreeForAutoAppearance):
(WebCore::HTMLProgressElement::appendShadowTreeForBaseAppearance):
(WebCore::HTMLProgressElement::didAddUserAgentShadowRoot):
(WebCore::HTMLProgressElement::didElementStateChange): Deleted.
(WebCore::HTMLProgressElement::matchesIndeterminatePseudoClass const): Deleted.
* Source/WebCore/html/HTMLProgressElement.h:
* Source/WebCore/html/shadow/ProgressShadowElement.cpp: Removed.
* Source/WebCore/html/shadow/ProgressShadowElement.h: Removed.

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to