-
-
Notifications
You must be signed in to change notification settings - Fork 3k
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
layout: Re-enable parallel layout and refactor boxes significantly #2174
Conversation
|
Critic review: https://critic.hoppipolla.co.uk/r/1318 This is an external review system which you may optionally use for the code review of your pull request. In order to help critic track your changes, please do not make in-place history rewrites (e.g. via |
Added a small commit to fix up a safety issue that I realized we have. |
Left a few comments on critic |
@SimonSapin It's meant to be "based on top of" #2141, but I'll just close it. |
I’ve edited the PR message to add "Closes #2018". Hopefully GitHub will do its magic. |
/// New-line chracter(\n)'s positions(relative, not absolute) | ||
/// | ||
/// FIXME(pcwalton): This is very inefficient; remove. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note to self: #2260
re-r? @SimonSapin. I had to fix an issue in border styles. |
re-r? @SimonSapin Filed #2288. |
from `Flow`s; in the process, remove `InlineInfo` in favor of the range-based design that was originally planned and halfway implemented. Now, the DOM tree structure for inline flows is reflected not by a series of arrays but instead by a flat list of ranges into the list of boxes. As part of this, the `border` and `padding` fields, which were incorrect in the case of inlines and necessitated separate `noncontent_inline_foo` methods, have been merged into a single `border_padding` field that is always guaranteed to be correct after width assignment, even for inlines.
layout: Re-enable parallel layout by removing all `RefCell` instances from `Flow`s; in the process, remove `InlineInfo` in favor of the range-based design that was originally planned and halfway implemented. Now, the DOM tree structure for inline flows is reflected not by a series of arrays but instead by a flat list of ranges into the list of boxes. As part of this, the `border` and `padding` fields, which were incorrect in the case of inlines and necessitated separate `noncontent_inline_foo` methods, have been merged into a single `border_padding` field that is always guaranteed to be correct after width assignment, even for inlines. r? @SimonSapin and/or @larsbergstrom Closes #1280 Closes #1926 Closes #1999 Closes #2013 Closes #2018
layout: Re-enable parallel layout by removing all
RefCell
instances fromFlow
s; in the process, removeInlineInfo
in favor of the range-based design that was originally planned and halfway implemented.Now, the DOM tree structure for inline flows is reflected not by a
series of arrays but instead by a flat list of ranges into the list of
boxes. As part of this, the
border
andpadding
fields, which wereincorrect in the case of inlines and necessitated separate
noncontent_inline_foo
methods, have been merged into a singleborder_padding
field that is always guaranteed to be correct afterwidth assignment, even for inlines.
r? @SimonSapin and/or @larsbergstrom
Closes #1280
Closes #1926
Closes #1999
Closes #2013
Closes #2018