Closed
Bug 300030
(reflow-refactor)
Opened 20 years ago
Closed 19 years ago
Refactor intrinsic width computation out of nsIFrame::Reflow
Categories
(Core :: Layout, defect, P1)
Core
Layout
Tracking
()
RESOLVED
FIXED
mozilla1.9alpha1
People
(Reporter: dbaron, Assigned: dbaron)
References
(Depends on 29 open bugs, Blocks 3 open bugs, Regressed 1 open bug, )
Details
(Whiteboard: [patch])
Attachments
(2 files)
This bug describes a design change that I've been talking about for a
while (see various posts to mozilla-layout). Many bugs likely to be
fixed by this change have "[reflow-refactor]" in the Status Whiteboard.
I've been working on the changes on various REFLOW_{YYYYMMDD}_BRANCH
branches.
The basic idea to make two closely related changes at the same time:
1. Change intrinsic width computation so that it happens in separate
methods on nsIFrame. (Currently preferred with calculation using
the nsIFrame API can happen in two different ways as well: having
only one codepath reduces incremental layout ("{inc}") bugs.)
2. Change the way we handle incremental layout to use dirty bits on the
frames rather than the reflow tree (which is essentially out-of-line
dirty bits) and a complicated system of reflow reasons that often
leads to weird incremental layout ("{inc}") bugs.
I hope to add more details of the new design here in the near future.
Much of it is still open to change; at this point the branch is close to
compiling and probably a ways from working, so the cost of changing
things is still relatively low.
Assignee | ||
Updated•20 years ago
|
Alias: reflow-refactor
Assignee | ||
Updated•20 years ago
|
Status: NEW → ASSIGNED
Priority: -- → P1
Target Milestone: --- → mozilla1.9alpha
What have you decided to do about the intrinsic width of scrollframes?
Currently, we do a full reflow of the scrolled content to see if we need a
horizontal scrollbar, which helps determine the intrinsic width.
Assignee | ||
Updated•20 years ago
|
Whiteboard: [patch]
Assignee | ||
Comment 2•20 years ago
|
||
http://groups.google.com/group/netscape.public.mozilla.layout/msg/c80282ffff8047c3
has comment 0 in a tad more detail; I should really write more sometime.
![]() |
||
Updated•19 years ago
|
Assignee | ||
Comment 3•19 years ago
|
||
http://wiki.mozilla.org/Gecko:Reflow_Refactoring has been around for a while; it's been in the URL field but I should mention it in a comment.
Assignee | ||
Comment 4•19 years ago
|
||
For the record, I've discussed landing plans with bzbarsky and roc, and they're comfortable with this landing without complete review. I know bzbarsky has been looking at it a good bit (including having written almost all of the form control changes).
Assignee | ||
Comment 5•19 years ago
|
||
Assignee | ||
Updated•19 years ago
|
Attachment #247927 -
Attachment is patch: false
Attachment #247927 -
Attachment mime type: text/plain → application/x-gzip
Assignee | ||
Comment 6•19 years ago
|
||
Fixed.
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 7•19 years ago
|
||
diffstat says:
201 files changed, 8726 insertions(+), 18253 deletions(-)
tinderbox numbers from Firefox tinderbox:
Linux argo-vm Dep Nightly:
Z:14.08MB, Zdiff:-53276 (+57545/-110821)
balsa-trunk:
RLk and Lk unchanged
MH down from 13.1MB to 13.0MB
A down from 486K to 485K
Linux bl-bldlnx01 Dep argo-vm test perf:
Tp: 3 test mean fell from 704.3333 to 682.6667, 3%, p-value = 0.01854
Tp2: 3 test mean fell from 530.8917 to 507.2333, 4.5%, p-value = 0.01977
Tdhtml: 3 test mean fell from 1300.667 to 1290.667, 0.75%, p-value = 0.00748
Updated•19 years ago
|
Assignee | ||
Updated•19 years ago
|
Blocks: inline-block
![]() |
||
Updated•19 years ago
|
Assignee | ||
Updated•19 years ago
|
Assignee | ||
Comment 8•19 years ago
|
||
This was some detailed pageload test data that I did on Windows a few days before the branch landed. (I should probably try to get the equivalent out of the tinderbox logs.) It showed that the pageload improvements varied significantly between pages.
Assignee | ||
Updated•19 years ago
|
Assignee | ||
Updated•19 years ago
|
Assignee | ||
Updated•19 years ago
|
Assignee | ||
Updated•18 years ago
|
Depends on: 393096
Updated•18 years ago
|
Updated•18 years ago
|
Assignee | ||
Comment 9•6 years ago
|
||
Since I occasionally want to find it and it takes me a few minutes to dig up, I figure it's worth noting that the in gecko-dev, the landing of this branch was 31f18988
You need to log in
before you can comment on or make changes to this bug.
Description
•