Closed Bug 1061170 Opened 10 years ago Closed 10 years ago

constrain AvailableISize() when setting up reflow-state for orthogonal flows

Categories

(Core :: Layout, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla35

People

(Reporter: jfkthame, Assigned: jfkthame)

Details

Attachments

(1 file)

When we have an unconstrained available block-size, and need to construct an nsHTMLReflowState for an orthogonal child, this translates to an unconstrained inline-size. That's not good.

This results in a bunch of assertions in layout/style/test/test_value_cloning.html if vertical writing mode support is enabled (e.g. see https://tbpl.mozilla.org/?tree=Try&rev=3154154d61a1; the other patches in that push are irrelevant to this).
As a first step to address this issue, here's a patch that makes the presShell pass down a size that can be used to limit orthogonal inline-sizes, at the time when it's setting the block-size to be unconstrained. With this, we could in theory enable vertical-mode support without instantly turning mochitests orange (although of course there are plenty of other things to finish before we actually do that).
Attachment #8482235 - Flags: review?(smontagu)
Comment on attachment 8482235 [details] [diff] [review]
constrain the reflow-state's available inline size for an orthogonal flow.

Review of attachment 8482235 [details] [diff] [review]:
-----------------------------------------------------------------

Looks good code-wise. What testing have you done for performance impact?
(In reply to Simon Montagu :smontagu from comment #2)

> What testing have you done for performance impact?

I haven't. Before worrying about that, I wanted to see if you agreed the general idea was sensible. 

Anyhow, AFAICS there should be no impact on horizontal-only documents, except for pathological cases with huge sizes (see the NS_WARN_IF_FALSE); if we do hit this case on any reasonable page, I think that would indicate a separate bug (and it'd probably end up asserting somewhere).
Comment on attachment 8482235 [details] [diff] [review]
constrain the reflow-state's available inline size for an orthogonal flow.

Review of attachment 8482235 [details] [diff] [review]:
-----------------------------------------------------------------

Yes, I think this makes sense as an opening bid, though we may decide to refine it after we see more test cases in action.
Attachment #8482235 - Flags: review?(smontagu) → review+
OK, pushed this. (Yes, I expect we may well want to do more eventually.)

https://hg.mozilla.org/integration/mozilla-inbound/rev/01a10676eef1
Assignee: nobody → jfkthame
Target Milestone: --- → mozilla35
https://hg.mozilla.org/mozilla-central/rev/01a10676eef1
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: