Teach nsBidiPresUtils to only manipulate continuations created by bidi resolution

RESOLVED FIXED in Firefox 69

Status

()

defect
P3
normal
RESOLVED FIXED
6 months ago
Last month

People

(Reporter: TYLin, Assigned: TYLin)

Tracking

(Blocks 1 bug)

unspecified
mozilla69
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox69 fixed)

Details

Attachments

(2 attachments)

File per dbaron's comment in https://phabricator.services.mozilla.com/D17551#466846,

Though in the longer term, I think it would probably make more sense for this code to know which continuations were created as a result of bidi resolution and only mess with those; that gives us more flexibility to use fixed continuations for things other than bidi. This code is essentially assuming that bidi is the only user of fixed continuations, and I don't think that's fair. You're fixing it by keeping things separated, but not really fixing what I see as the underlying problem.

The background story is that column-span:all splits nsColumnSetFrames into several fragments, and they're linked together by non-fluid (fixed) continuations, which previously are only created by the results of bidi resolutions. So bidi utils aren't aware of that, and mess with them.

My patches in Bug 1520722 are regards as short term workaround. Depend on the out come of the solution in this bug, we may be able to revert bug 1520722 without any regression.

Blocks: 1549867
Blocks: 1423383
See Also: → 1554824

This reverts the modification to nsBidiPresUtils.cpp in Bug 1520722 Part
2, but keeps the test added. Next part will fix the problem in a proper
way.

The idea is to check IsBidiSplittable() in more places to prevent fixed
continuations created by column-span from becoming fluid ones.

Depends on D34092

Assignee: nobody → aethanyc
Status: NEW → ASSIGNED

Does this also fix the testcase from bug 1554824, by any chance?

(In reply to Jonathan Kew (:jfkthame) from comment #3)

Does this also fix the testcase from bug 1554824, by any chance?

Sadly, no. It's a different issue. I'm still seeking a solution to the bug.

See Also: 1554824

OK, thanks for checking.

Pushed by aethanyc@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/79d5b3103bff
Part 1 - Revert Bug 1520722 Part 2. r=jfkthame
https://hg.mozilla.org/integration/autoland/rev/6f0a648c3d83
Part 2 - Check IsBidiSplittable() before processing the ancestor frames. r=jfkthame
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/17275 for changes under testing/web-platform/tests
Can't merge web-platform-tests PR due to failing upstream checks:
Github PR https://github.com/web-platform-tests/wpt/pull/17275
* Taskcluster (pull_request) (https://tools.taskcluster.net/task-group-inspector/#/VD5Nobz7RYKAtbJ-9sOBRA)
Status: ASSIGNED → RESOLVED
Closed: Last month
Resolution: --- → FIXED
Target Milestone: --- → mozilla69
Upstream PR was closed without merging
Upstream PR merged
You need to log in before you can comment on or make changes to this bug.