Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing ClearNeedsStyleRecalc() for ::first-letter. #22479

Merged
merged 1 commit into from Mar 27, 2020

Conversation

@chromium-wpt-export-bot
Copy link
Collaborator

chromium-wpt-export-bot commented Mar 26, 2020

A FirstLetterPseudoElement is marked for style recalc when the text node
the first letter belongs to is removed from the DOM tree. On the next
style recalc, if the first-letter's originating element is inside a
subtree marked for layout tree re-attachment, or one of its descendants
are marked for re-attachment, we delay the first-letter style update
until UpdateFirstLetterPseudoElement is called for the
kRebuildLayoutTree or kAttachLayoutTree phases. For the former, we call
RecalcStyle which will ClearNeedsStyleRecalc, but ofr the
kAttachLayoutTree phase, we called StyleForLayoutObject without clearing
the dirty flag.

Bug: 1064595
Change-Id: Ibebb9c358b473f61b1cff49a7c5ec43bf6894408
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2122347
Reviewed-by: Xiaocheng Hu <xiaochengh@chromium.org>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#753806}

Copy link
Collaborator

wpt-pr-bot left a comment

The review process for this patch is being conducted in the Chromium project.

A FirstLetterPseudoElement is marked for style recalc when the text node
the first letter belongs to is removed from the DOM tree. On the next
style recalc, if the first-letter's originating element is inside a
subtree marked for layout tree re-attachment, or one of its descendants
are marked for re-attachment, we delay the first-letter style update
until UpdateFirstLetterPseudoElement is called for the
kRebuildLayoutTree or kAttachLayoutTree phases. For the former, we call
RecalcStyle which will ClearNeedsStyleRecalc, but ofr the
kAttachLayoutTree phase, we called StyleForLayoutObject without clearing
the dirty flag.

Bug: 1064595
Change-Id: Ibebb9c358b473f61b1cff49a7c5ec43bf6894408
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2122347
Reviewed-by: Xiaocheng Hu <xiaochengh@chromium.org>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#753806}
@chromium-wpt-export-bot chromium-wpt-export-bot force-pushed the chromium-export-cl-2122347 branch from ab55783 to 99237f6 Mar 26, 2020
@chromium-wpt-export-bot chromium-wpt-export-bot merged commit a5094e5 into master Mar 27, 2020
13 checks passed
13 checks passed
Azure Pipelines Build #20200326.74 succeeded
Details
Azure Pipelines (./wpt test-jobs) ./wpt test-jobs succeeded
Details
Azure Pipelines (affected tests without changes: Safari Technology Preview) affected tests without changes: Safari Technology Preview succeeded
Details
Azure Pipelines (affected tests: Safari Technology Preview) affected tests: Safari Technology Preview succeeded
Details
Azure Pipelines (wpt.fyi hook: safari-preview-affected-tests) wpt.fyi hook: safari-preview-affected-tests succeeded
Details
Azure Pipelines (wpt.fyi hook: safari-preview-affected-tests-without-changes) wpt.fyi hook: safari-preview-affected-tests-without-changes succeeded
Details
Community-TC (pull_request) TaskGroup: success
Details
staging.wpt.fyi - chrome[experimental] Chrome results
Details
staging.wpt.fyi - firefox[experimental] Firefox results
Details
staging.wpt.fyi - safari[experimental] Safari results
Details
wpt.fyi - chrome[experimental] Chrome results
Details
wpt.fyi - firefox[experimental] Firefox results
Details
wpt.fyi - safari[experimental] Safari results
Details
@chromium-wpt-export-bot chromium-wpt-export-bot deleted the chromium-export-cl-2122347 branch Mar 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants
You can’t perform that action at this time.