avoid iterating SVG text frames when they are dirty, with svg.text.css-frames.enabled

RESOLVED FIXED in mozilla24

Status

()

Core
SVG
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: heycam, Assigned: heycam)

Tracking

Trunk
mozilla24
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment, 1 obsolete attachment)

Created attachment 765784 [details] [diff] [review]
patch

In case we miss reflowing our SVG text frames, we should just make the TextFrameIterator pretend there are no frames there.  That will avoid relying on the outdated text node correspondence information.
Attachment #765784 - Flags: review?(longsonr)
Assignee: nobody → cam
Attachment #765784 - Flags: review?(longsonr) → review+
This assertion gets triggered by layout/reftests/bidi/bidiSVG-03.svg, it seems.
And by any use of SVG text.

Testing a new patch: https://tbpl.mozilla.org/?tree=Try&rev=67d83808afbf
Created attachment 766234 [details] [diff] [review]
patch v2

Updated patch.  Now instead of doing the check in TextFrameIterator, we do it in TextRenderedRunIterator and CharIterator.  This is because UpdateFontSizeScaleFactor uses TextFrameIterator (but doesn't care about the correspondence with the content nodes) to look at the font sizes in use, and it does this after the anonymous kid is reflowed but before the remainder of ReflowSVG is done (which is where the dirty state bits are cleared).
Attachment #765784 - Attachment is obsolete: true
Attachment #766234 - Flags: review?(longsonr)
Attachment #766234 - Flags: review?(longsonr) → review+
https://hg.mozilla.org/mozilla-central/rev/c95c50bae8db
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla24

Updated

5 years ago
Depends on: 886230

Updated

5 years ago
Depends on: 890782

Updated

5 years ago
Depends on: 890783
You need to log in before you can comment on or make changes to this bug.