[webkit-changes] [WebKit/WebKit] 3c7011: Remove special handling of `::before` and `::after...
Ahmad Saleem
noreply at github.com
Thu Nov 16 06:08:03 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3c701132f00143e3a6e491744494cfc23db9132c
https://github.com/WebKit/WebKit/commit/3c701132f00143e3a6e491744494cfc23db9132c
Author: Ahmad Saleem <ahmad.saleem792+github at gmail.com>
Date: 2023-11-16 (Thu, 16 Nov 2023)
Changed paths:
A LayoutTests/fast/ruby/add-text-to-block-ruby-with-after-pseudo-crash-expected.txt
A LayoutTests/fast/ruby/add-text-to-block-ruby-with-after-pseudo-crash.html
A LayoutTests/fast/ruby/ruby-beforeafter-expected.html
M LayoutTests/fast/ruby/ruby-beforeafter.html
A LayoutTests/fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.html
R LayoutTests/fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.png
R LayoutTests/fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt
M LayoutTests/fast/ruby/ruby-block-style-not-updated-with-before-after-content.html
A LayoutTests/fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.html
R LayoutTests/fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.png
R LayoutTests/fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt
M LayoutTests/fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html
R LayoutTests/platform/glib/fast/ruby/ruby-beforeafter-expected.txt
R LayoutTests/platform/gtk/fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.png
R LayoutTests/platform/gtk/fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.png
R LayoutTests/platform/ios-wk2/fast/ruby/ruby-beforeafter-expected.txt
R LayoutTests/platform/ios/fast/ruby/ruby-beforeafter-expected.txt
R LayoutTests/platform/mac/fast/ruby/ruby-beforeafter-expected.png
R LayoutTests/platform/mac/fast/ruby/ruby-beforeafter-expected.txt
R LayoutTests/platform/wincairo/fast/ruby/ruby-beforeafter-expected.txt
A LayoutTests/resources/ahem.js
M Source/WebCore/rendering/updating/RenderTreeBuilderRuby.cpp
Log Message:
-----------
Remove special handling of `::before` and `::after` on `RUBY` elements
https://bugs.webkit.org/show_bug.cgi?id=264446
rdar://problem/118478034
Reviewed by Antti Koivisto.
Merge: https://chromium.googlesource.com/chromium/blink/+/81eb8745dfd7d21fc9588220eed989d901cb7276
This PR removes special handling, which was added in 60235 at main and further work
for crashes in bug 55930.
This special handling is not as per web-specification and was also removed by Blink in 2015
and it was not done by Internet Explorer and Firefox.
This PR changes it to treat them as they were a first or last DOM child of the RUBY parent.
That's how ::before and ::after normally works. This means that now ::before
and ::after will be part of, or even establish, ruby runs.
Added a test for the crasher.
Also rewrote three tests as reftests, since the expectations started to fail
anyway. One test was invalid (ruby-beforeafter.html), since it required special
handling of ::before and ::after, while the two others just got different
rendering due to this change.
* Source/WebCore/rendering/updating/RenderTreeBuilderRuby.cpp:
(isAnonymousRubyInlineBlock): Deleted
(isRubyBeforeBlock): Deleted
(isRubyAfterBlock): Deleted
(isRubyChildForNormalRemoval): Updated
(rubyBeforeBlock): Deleted
(rubyAfterBlock): Deleted
(createAnonymousRubyInlineBlock): Deleted
(RenderTreeBuilder::Ruby::findOrCreateParentForChild): Updated
(RenderTreeBuilder::Ruby::findOrCreateParentForChild): Updated
(RenderTreeBuilder::Ruby::detach): Updated for 'Inline'
(RenderTreeBuilder::Ruby::detach): Updated for 'Block'
Updated Tests (as Ref Tests):
* LayoutTests/fast/ruby/ruby-beforeafter.html:
* LayoutTests/fast/ruby/ruby-beforeafter-expected.html:
* LayoutTests/fast/ruby/ruby-block-style-not-updated-with-before-after-content.html
* LayoutTests/fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.html:
* LayoutTests/fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html:
* LayoutTests/fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.html:
Crash Test:
* LayoutTests/fast/ruby/add-text-to-block-ruby-with-after-pseudo-crash.html:
* LayoutTests/fast/ruby/add-text-to-block-ruby-with-after-pseudo-crash-expected.txt:
Resource File:
* LayoutTests/resources/ahem.js:
Remove Old Expectations:
* LayoutTests/fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.png:
* LayoutTests/fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.txt:
* LayoutTests/fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.png:
* LayoutTests/fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.txt:
* LayoutTests/platform/glib/fast/ruby/ruby-beforeafter-expected.txt:
* LayoutTests/platform/gtk/fast/ruby/ruby-block-style-not-updated-with-before-after-content-expected.png:
* LayoutTests/platform/gtk/fast/ruby/ruby-inline-style-not-updated-with-before-after-content-expected.png:
* LayoutTests/platform/ios-wk2/fast/ruby/ruby-beforeafter-expected.txt:
* LayoutTests/platform/ios/fast/ruby/ruby-beforeafter-expected.txt:
* LayoutTests/platform/mac/fast/ruby/ruby-beforeafter-expected.png:
* LayoutTests/platform/mac/fast/ruby/ruby-beforeafter-expected.txt:
* LayoutTests/platform/wincairo/fast/ruby/ruby-beforeafter-expected.txt:
Canonical link: https://commits.webkit.org/270823@main
More information about the webkit-changes
mailing list