tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit b25bbe45423b7a575e92ebc47f95e2b1a654b8de
parent 3dd2b930b2583ecf67979ff31cb2a28414b1f526
Author: Emilio Cobos Álvarez <emilio@crisal.io>
Date:   Thu,  8 Jan 2026 07:39:39 +0000

Bug 2008625 - Don't unconditionally fall back to single inserts for ::first-letter. r=TYLin,layout-reviewers

This fixes the regression making us go through the same codepath as
before, but I think this assertion is fishy, see details on the bug.

Differential Revision: https://phabricator.services.mozilla.com/D278121

Diffstat:
Mlayout/base/nsCSSFrameConstructor.cpp | 15---------------
Atesting/web-platform/tests/css/css-multicol/crashtests/first-letter-column-span-fieldset.html | 16++++++++++++++++
2 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/layout/base/nsCSSFrameConstructor.cpp b/layout/base/nsCSSFrameConstructor.cpp @@ -6385,21 +6385,6 @@ void nsCSSFrameConstructor::ContentRangeInserted(nsIContent* aStartChild, // and creating frames. We need to reget our prevsibling, parent frame, // etc. prevSibling = GetInsertionPrevSibling(&insertion, aStartChild, &isAppend); - - // Need check whether a range insert is still safe. - if (!isSingleInsert) { - // Need to recover the letter frames first. - RecoverLetterFrames(state.mFloatedList.mContainingBlock); - - // must fall back to a single ContertInserted for each child in the - // range - LAYOUT_PHASE_TEMP_EXIT(); - IssueSingleInsertNofications(aStartChild, aEndChild, - InsertionKind::Sync); - LAYOUT_PHASE_TEMP_REENTER(); - return; - } - frameType = insertion.mParentFrame->Type(); } } diff --git a/testing/web-platform/tests/css/css-multicol/crashtests/first-letter-column-span-fieldset.html b/testing/web-platform/tests/css/css-multicol/crashtests/first-letter-column-span-fieldset.html @@ -0,0 +1,16 @@ +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=2008625"> +<style> +*:last-of-type { + columns: 474px 1; +} +*:valid { + column-span: all; +} +*::first-letter { } +</style> +<data> +<form></form> +</data> +<u> +<fieldset></fieldset> +</u>