Xidorn Quan
3ba35be862
Bug 1107721 - Add pointer to the base line layout in nsLineLayout. r=dbaron
...
--HG--
extra : source : 7b1b90d6bba043a68a84bb2faeba95096fa15ca5
2014-12-05 15:05:51 -08:00
Simon Montagu
33a271e5bd
Bug 1105137: treat nsFloatManager's mOrigin as an offset, not a point, and rename it to mOffset to make that clearer, r=jfkthame
2014-12-11 03:56:03 -08:00
Jonathan Kew
e38b6ceb9d
Bug 1106083 - Record the new containerWidth on lines when finalizing their placement in vertical-rl mode, so that they maintain their proper positioning during subsequent block-dir resize reflows. r=smontagu
2014-11-29 19:24:10 +00:00
Simon Montagu
94926c7600
Bug 1105828 patch 2: Don't set UNCONSTRAINEDSIZE in an availSpace that we aren't going to use, r=jfkthame
2014-11-28 06:53:59 -08:00
Jonathan Kew
322e9af63c
Bug 1077528 - part 2 - Make nsBlockFrame consider resize flags logically instead of physically. r=smontagu
2014-11-28 09:44:05 +00:00
Jonathan Kew
e117c33e3d
Bug 1077528 - part 1 - Provide physical and logical accessors for the m{HV}Resize flags in nsHTMLReflowState, and convert all flag users to the accessor methods. r=smontagu
2014-11-28 09:44:02 +00:00
Mats Palmgren
88b2e61eb5
Bug 399262, part 2 - Exclude <select> because ::first-letter is not supported there. r=roc
2014-11-20 13:07:58 +00:00
Mats Palmgren
426662ee0a
Bug 399262, part 1 - The -moz-button-content pseudo is also allowed to have a ::first-letter. r=roc
2014-11-20 13:07:57 +00:00
Jonathan Kew
bc30822def
Bug 1093684 - part 3 - Replace |bottom| with |block-end| in a bunch of comments, and rename mCarriedOutBottomMargin to mCarriedOutBEndMargin. r=smontagu
2014-11-17 08:49:38 +00:00
Jonathan Kew
4ec5862839
Bug 1093684 - part 2 - Handle vertical writing mode when computing overflow areas in nsBlockFrame. r=smontagu
2014-11-17 08:49:37 +00:00
Xidorn Quan
ef58484437
Bug 1096152 - Use frame instead of content to track break position. r=dbaron
...
--HG--
extra : amend_source : efab3508002471ed24c629d13985bca4fe4a1376
2014-11-14 16:41:14 +11:00
Jonathan Kew
34fea182cd
Bug 1093553 - Improve handling of line-height metrics, block ascent, etc., in vertical writing mode. r=smontagu
2014-11-13 08:58:06 +00:00
Jonathan Kew
5de4d98d5c
Bug 1088025 - part 2 - Fix up block-dir position of lines in a vertical-rl block once we know the final block size (container width) needed to map to physical coordinates. r=dbaron
2014-11-13 08:58:03 +00:00
Jonathan Kew
c8bcdce921
Bug 1089388 - Followup to add a LogicalPoint version of nsIFrame::MovePositionBy, and use this in SlideLine. r=smontagu
2014-11-13 08:58:03 +00:00
Jonathan Kew
150a68da5c
Bug 1089388 - Convert nsBlockFrame::SlideLine to use logical coordinates. r=smontagu
2014-11-13 08:58:02 +00:00
Jonathan Watt
4f23ebac06
Bug 1088625, part 3 - Remove nsRenderingContext's SetFont, FontMetrics and SetTextRunRTL methods now that no one uses them any more. r=mstange
2014-10-24 16:28:15 +01:00
Jonathan Watt
a0f005a778
Bug 1088625, part 1 - Add lots of missing nsFontMetrics.h and gfxTextRun.h includes
2014-10-24 16:28:14 +01:00
Jonathan Kew
bb857cabb0
Bug 1086883 - Convert writing modes where necessary for orthogonal flows when collapsing margins in nsBlockReflowContext methods. r=smontagu
2014-10-24 12:24:38 +01:00
Simon Montagu
8d64967541
Bug 1079139: make nsFlowAreaRect.mRect a LogicalRect. r=jfkthame
2014-10-21 15:16:13 -07:00
Simon Montagu
e753ab75a0
Bug 1062963 patch 3: make nsFloatManager's origin a LogicalPoint, adapt GetFlowAreas, AddFloats, ClearFloats, etc. to use it and make nsFloatManager region functions work with logical region. r=jfkthame
2014-10-21 15:16:12 -07:00
Phil Ringnalda
b2eb743d9b
Backed out 4 changesets (bug 1062963, bug 1079139) for failures in 427129-table-caption.html in b2g reftest-6 and Android 2.3 reftest-5
...
Backed out changeset a9672db96a5d (bug 1079139)
Backed out changeset 241c23570a62 (bug 1062963)
Backed out changeset 90172cc0b012 (bug 1062963)
Backed out changeset 71211c4a4acc (bug 1062963)
2014-10-19 18:44:16 -07:00
Simon Montagu
3134a81fca
Bug 1079139: make nsFlowAreaRect.mRect a LogicalRect. r=jfkthame
2014-10-19 12:32:17 -07:00
Simon Montagu
3f0d7f2fcc
Bug 1062963 patch 3: make nsFloatManager's origin a LogicalPoint, adapt GetFlowAreas, AddFloats, ClearFloats, etc. to use it and make nsFloatManager region functions work with logical region. r=jfkthame
2014-10-19 12:32:17 -07:00
Olli Pettay
d72906c30d
Bug 314095 - Eliminate nsIContent::GetDocument, r=jst
...
--HG--
extra : rebase_source : dd8f690940825b298a478b65b68a57418a9962ff
2014-08-22 23:11:27 +03:00
Robert O'Callahan
2489dc1f01
Bug 1048752. Part 16: Move nsFrameSelection::HINT to CaretAssociationHint.h. r=tn
...
This patch started an attempt to remove nsFrameSelection.h from nsCaret.h
and metastasized into a rather large refactoring patch that removed it
from some other header files as well, and changed nsFrameSelection::HINT
into a global-scope enum with better names. I also converted bools
into CaretAssociationHint in a few places where that was appropriate,
but there are still some more places (GetChildFrameContainingOffset)
where bools need to be converted. I figured this patch was big enough already.
--HG--
extra : rebase_source : cc618ef60e707e1360644340a2648de389383da0
2014-08-06 17:19:27 +12:00
Seth Fowler
983a3f905a
Bug 913586 (Part 7) - Update Maybe users in layout. r=dbaron
...
--HG--
extra : rebase_source : 1bf45d1356d36269ca951b58ebf1e448313c55c5
2014-08-13 15:42:15 -07:00
Jonathan Kew
76bdb9472c
bug 1031241 pt 4 - Rename the {MIN,PREF}_WIDTH constants used to identify the type of intrinsic inline-size. r=smontagu
2014-07-24 18:03:26 +01:00
Jonathan Kew
55170c430a
bug 1031241 pt 3 - Also rename Intrinsic{Width,Height} to Intrinsic{I,B}Size. r=smontagu
2014-07-24 18:03:26 +01:00
Jonathan Kew
8b67cdf704
bug 1031241 pt 2 - More renaming, e.g. where {Min,Pref}Width occurs within longer type and function names. r=smontagu
2014-07-24 18:03:25 +01:00
Jonathan Kew
ce9cbe4216
bug 1031241 pt 1 - Rename Get{Min,Pref}Width to Get{Min,Pref}ISize throughout layout. r=dbaron,smontagu
2014-07-24 18:03:25 +01:00
Simon Montagu
18c9f2f61a
Bug 789096 patch 10: make Reflow set nsHTMLReflowMetrics.ISize and BSize instead of Width and Height. r=jfkthame
2014-07-24 01:30:07 -07:00
Simon Montagu
c3b44c4dad
Bug 789096 patch 9: use logical coordinates in nsHTMLReflowState available size. r=jfkthame
2014-07-24 01:28:46 -07:00
Jonathan Kew
28b36e1b0b
bug 789096 patch X - avoid some unconstrained-width (should be -isize) warnings with mixed writing modes. r=smontagu
2014-07-10 10:11:33 +01:00
Mats Palmgren
3ffa9baecc
Bug 1028460 - part 3, Change the return type for Get*SkipSides(). r=roc
2014-06-28 10:13:13 +00:00
Phil Ringnalda
811c3783d4
Back out 5 changesets (bug 1028460, bug 1031444) for somehow breaking asmjscache/test/test_cachingBasic.html on Android 2.2
...
Backed out changeset 0b5918ec6521 (bug 1031444)
Backed out changeset 663ff18cd4a1 (bug 1028460)
Backed out changeset ae01b3919c8c (bug 1028460)
Backed out changeset 316c8dfeca9b (bug 1028460)
Backed out changeset e237b2c61ea2 (bug 1028460)
2014-06-28 22:01:28 -07:00
Mats Palmgren
4e879335f7
Bug 1028460 - part 3, Change the return type for Get*SkipSides(). r=roc
2014-06-28 10:13:13 +00:00
Mats Palmgren
c9b13e133b
Bug 1025669 - part 1, Implement layout of block margins for box-decoration-break:clone. r=roc
2014-06-24 17:52:19 +00:00
Benoit Jacob
7784d25921
Bug 1028420 - Non-unified build fails when using --enable-warnings-as-errors - bustage fix, no review
2014-06-23 14:49:09 -04:00
Simon Montagu
82f2df73ba
Bug 789096 patch 8: use logical coordinates in nsBlockReflowState. r=jfkthame
2014-06-20 02:55:35 -07:00
Simon Montagu
f3e261c3a0
Bug 789096 patch 7: Use logical coordinates in nsBlockReflowContext. r=jfkthame
2014-06-17 07:41:35 -07:00
Simon Montagu
caa93255c4
Bug 789096: make method names in nsLineLayout correspond to the respective CSS properties. r=jfkthame
2014-06-17 07:41:33 -07:00
Simon Montagu
aaa4878ee5
Replace GetBaseline with GetLogicalBaseline and use logical coordinates in the line position and baseline getters in nsLayoutUtils. Bug 789096, r=jfkthame
2014-06-17 05:19:38 -07:00
Xidorn Quan
c011970f03
Bug 966166 - Part 3: Link to other parts. r=dbaron
2014-06-11 21:12:00 -04:00
Simon Montagu
ca20e365ef
Replace Get/SetTopAscent with Get/SetBlockStartAscent. Bug 789096, r=jfkthame
2014-06-11 02:45:31 -07:00
Simon Montagu
efc2140fbb
Add a WritingMode argument to nsHTMLReflowMetrics::ISize() and BSize(). Bug 789096, r=jfkthame
2014-06-05 02:39:36 -07:00
Xidorn Quan
fba7dd3788
Bug 1013160 - Remove padding suppressing mechanism of bullet. r=jfkthame,surkov
2014-05-30 09:00:26 +01:00
L. David Baron
5283475055
Back out changeset 9bd21ab86f78 (bug 1013160) due to regression (bug 1017335).
2014-05-28 18:11:41 -07:00
Xidorn Quan
877d511343
Bug 1013160 - Remove padding suppressing mechanism of bullet. r=surkov, r=jfkthame
2014-05-27 18:09:00 -04:00
Mats Palmgren
9d4e33c505
Bug 1015781 - part 7, Remove code for handling kAbsoluteList in nsBlockFrame::AppendFrames/InsertFrames/RemoveFrame (it's dead code). Make AppendFrames also handle kNoReflowPrincipalList, for symmetry with InsertFrames/RemoveFrame. r=roc
2014-05-28 19:36:59 +00:00
Mats Palmgren
6ae2bb8863
Bug 1015781 - part 3, Fix whitespace and comments, and move some SetInitialChildList/AppendFrames/InsertFrames/RemoveFrame methods so that they are together in the file. r=roc
2014-05-28 19:36:58 +00:00
Mats Palmgren
f08f841973
Bug 1015781 - part 1+2, Make the SetInitialChildList/AppendFrames/InsertFrames/RemoveFrame methods return void (scripted change). Remove code handling the return values. r=roc
2014-05-28 19:36:58 +00:00
Simon Montagu
ab13ae46c1
Backout 38b25d5e6cf9 because assertions
2014-05-25 03:15:00 -07:00
Simon Montagu
dc4cbd5301
Add a WritingMode argument to nsHTMLReflowMetrics::ISize() and BSize(). Bug 789096, r=jfkthame
2014-05-24 23:47:04 -07:00
Mats Palmgren
c5cb22f48c
Bug 508665 - part 15, s/mParent/GetParent()/ in a bunch of nsIFrame sub-classes. r=roc
2014-05-24 22:20:41 +00:00
Mats Palmgren
75bad2215e
Bug 508665 - part 9, Remove now redundant static_cast<nsContainerFrame*> and do_QueryFrame() calls. r=roc
2014-05-24 22:20:40 +00:00
Mats Palmgren
399be41768
Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc
2014-05-24 22:20:40 +00:00
Mats Palmgren
a6feda0f22
Bug 508665 - part 1, Change the signature of SetParent/GetParent from nsIFrame* to nsContainerFrame*. r=roc
2014-05-24 22:20:39 +00:00
Jonathan Kew
5bd536514e
bug 1001233 - convert bullet frame's margin to the block frame's writing mode when positioning bullet. r=smontagu
2014-05-13 18:09:27 +01:00
Mats Palmgren
6703ffe99e
Bug 1008917 - part 11, make nsBlockFrame::ReflowDirtyLines() and nsLineLayout::ReflowFrame() return types 'void'. r=roc
2014-05-13 00:47:53 +00:00
Mats Palmgren
9795aca511
Bug 1008917 - part 2,3,4, make Reflow() return type 'void', and make a few reflow related helper methods 'void' too. r=roc
2014-05-13 00:47:52 +00:00
Wes Kocher
42253715d7
Backed out 11 changesets (bug 1008917) for apparently introducing an intermittent failure of B2G Crashtest-2 on a CLOSED TREE
...
Backed out changeset e2ab653f688a (bug 1008917)
Backed out changeset b52154d8d900 (bug 1008917)
Backed out changeset 2ab5b01da4de (bug 1008917)
Backed out changeset f7a38df1d44f (bug 1008917)
Backed out changeset 80304bb9a572 (bug 1008917)
Backed out changeset 10ed89a302e9 (bug 1008917)
Backed out changeset 161c41991d46 (bug 1008917)
Backed out changeset 25b2475d2368 (bug 1008917)
Backed out changeset b8000b31277c (bug 1008917)
Backed out changeset 9afa5e7715e1 (bug 1008917)
Backed out changeset 5c380c21351f (bug 1008917)
2014-05-12 15:47:41 -07:00
Mats Palmgren
5ba3e6847a
Bug 1008917 - part 11, make nsBlockFrame::ReflowDirtyLines() and nsLineLayout::ReflowFrame() return types 'void'. r=roc
2014-05-12 17:40:29 +00:00
Mats Palmgren
a722b491f1
Bug 1008917 - part 2,3,4, make Reflow() return type 'void', and make a few reflow related helper methods 'void' too. r=roc
2014-05-12 17:40:28 +00:00
Ehsan Akhgari
2ecbad7b1c
Bug 491863 - Remove IBMBIDI; r=roc
2014-04-23 21:15:29 -04:00
Simon Montagu
f8a68ec80e
Make nsLineBox.mBounds a LogicalRect. Bug 789096, r=jfkthame
2014-04-16 01:03:28 -07:00
Robert O'Callahan
b1cf0ff0d7
Bug 985303. Part 3: Save a block's 'bottom edge of content' in a frame property if it doesn't match the block's content height, and use it in UpdateOverflow to compute the correct overflow. r=dbaron
...
--HG--
extra : rebase_source : 11fe6925ee266a2e1feec5a4d5c0e5ed152516f5
2014-04-03 04:27:23 -04:00
Tooru Fujisawa
c6c8b3fdce
Bug 983570 - Update aState.mPrevChild only when line->IsDirty is true in nsBlockFrame::ReflowDirtyLines. r=mats
2014-03-15 17:29:24 -04:00
Simon Montagu
e10e094099
Use logical text layout API for GetSkipSides, bug 789096, r=jfkthame
2014-03-13 00:39:33 -07:00
L. David Baron
3ad78c87f5
Bug 349259 patch 1: Add an nsIContent* parameter to nsHTMLReflowState::CalcLineHeight. r=bz
2014-03-12 20:33:21 -07:00
Simon Montagu
2110ef8dc6
Use logical text layout API in nsLineLayout. Bug 789096, r=jfkthame
2014-03-11 13:23:50 -07:00
Simon Montagu
8343f17838
Use logical coordinates in nsBlockFrame::ReflowBullet. Bug 789096, r=jfkthame
2014-03-11 02:08:36 -07:00
Carsten "Tomcat" Book
e62b10b99c
Backed out changeset 9f92527ff03b (bug 789096) for Valgrind Test-Bustage on a CLOSED TREE
2014-03-11 09:23:32 +01:00
Carsten "Tomcat" Book
b99f5df532
Backed out changeset aeff4052ef00 (bug 789096)
2014-03-11 09:22:52 +01:00
Carsten "Tomcat" Book
ea10325852
Backed out changeset 534a0efe7d3d (bug 789096)
2014-03-11 09:22:48 +01:00
Simon Montagu
e7b593f84c
Use logical text layout API for GetSkipSides. Bug 789096, r=jfkthame
2014-03-10 22:19:03 -07:00
Simon Montagu
5e0cf76c45
Use logical text layout API in nsLineLayout. Bug 789096, r=jfkthame
2014-03-10 22:19:03 -07:00
Simon Montagu
68692775c7
Use logical coordinates in nsBlockFrame::ReflowBullet. Bug 789096, r=jfkthame
2014-03-10 22:19:03 -07:00
Jonathan Kew
c2c11aa0a5
bug 735577 - followup 1 (v2) - allow reflow-state to be passed to the reflow-metrics constructor to get the writing mode. r=roc
2013-12-31 13:50:31 +00:00
Mats Palmgren
917c123399
Bug 978443 - Rename NS_STYLE_CLEAR_LEFT_AND_RIGHT to NS_STYLE_CLEAR_BOTH. r=dholbert
...
Rename NS_STYLE_CLEAR_LEFT_AND_RIGHT to NS_STYLE_CLEAR_BOTH. Also fix whitespace and remove unnecessary parens in a few places and enumerate the possible break types in an assertion so that it doesn't make assumptions on the actual property values.
2014-03-02 17:42:16 +00:00
Mats Palmgren
ee65ddbae1
Bug 513110 - Adjust the maximum break type (only used in assertions) to reflect reality. r=dholbert
2014-03-01 10:36:39 +00:00
Arnaud Sourioux
2d583fd28f
Bug 919806: Get rid of NS_IMETHOD in nsIFrame.h and its implementations r=dholbert
2014-02-17 23:47:48 -08:00
Simon Montagu
90aff7d278
Fix a hang by using a dedicated state bit instead of overloading NS_FRAME_IS_DIRTY. Bug 964821, r=roc
2014-02-17 14:46:40 -08:00
Mats Palmgren
5e738ea28a
Bug 971655 - The inner (-moz-fieldset-content) frame have the correct padding area and is the abs.pos. containing block so don't use the outer FieldSetFrame. r=roc
2014-02-15 02:00:08 +00:00
Daniel Holbert
534b12e52f
Bug 967287 part 2: Adjust indentation after removal of nsPresContext* args. r=mats
2014-02-06 14:07:48 -08:00
Daniel Holbert
03c54ea5eb
Bug 967287 part 1: Remove unnecessary nsPresContext* argument from functions defined in nsContainerFrame.h. r=mats
2014-02-06 14:07:47 -08:00
Cameron McCormack
15cc32b681
Bug 960848 - Part 1: Make nsFrameState an enum and consolidate all frame state bit definitions in a single preprocessed file. r=dbaron
2014-02-05 12:59:39 +11:00
Timothy Nikkel
8d1d02dfa0
Bug 962443. Make layout frame tree dumping code work better for Fennec and b2g. r=mats
2014-01-26 16:07:02 -06:00
Benoit Jacob
562cb87289
Bug 959380 - 1/5 - Make gfxBreakPriority a typed enum - r=jrmuizel
2014-01-23 13:26:39 -05:00
Benoit Jacob
244171b53c
Bug 958375 - 9/9 - NS_SIDE_TOP was inadvertently used as the (1<<NS_SIDE_TOP) bit - r=roc
2014-01-10 14:06:17 -05:00
Mats Palmgren
e6ea29ce0d
Bug 956447 - Make it possible to get frame dumps in non-DEBUG builds. r=roc
2014-01-05 23:31:14 +00:00
Ehsan Akhgari
1b83407ce9
Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
...
This patch was automatically generated by the following script:
#!/bin/bash
# Command to convert PRUnichar to char16_t
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*modules/libmar*" \
! -wholename "*/.hg*" \
! -wholename "obj-ff-dbg*" \
! -name prtypes.h \
! -name Char16.h \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.c" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert PRUnichar char16_t
2014-01-04 10:02:17 -05:00
Robert O'Callahan
10ddd09c03
Bug 953438 - Change nsIFrame::HasTerminalNewline to HasSignificantTerminalNewline since it doesn't make sense to check for a newline that gets converted to regular whitespace. r=jfkthame
2014-01-02 16:22:12 -05:00
Jonathan Kew
9067ab3480
backout changeset 8b6f20bda157 (bug 735577 followup 1) for build failure
2013-12-29 22:48:13 +00:00
Jonathan Kew
9d097b2e05
bug 735577 - followup 1 - allow reflow-state to be passed to the reflow-metrics constructor to get the writing mode. r=roc
2013-12-29 22:04:02 +00:00
Jonathan Kew
a7837e1ffa
bug 735577 - pt 4.1 - use accessor functions for some physical-coordinate fields in nsHTMLReflowMetrics, in preparation for logicalization. r=smontagu
2013-12-27 17:59:52 +00:00
Jonathan Kew
954a119d07
bug 735577 - pt 3.2 - update the rest of layout code to use the new accessors on nsHTMLReflowState. r=smontagu
2013-12-27 17:59:21 +00:00
Robert Longson
2b4ee5d7ba
Bug 940193 - rename nsSVGTextFrame2 to SVGTextFrame. r=dholbert
...
--HG--
rename : layout/svg/nsSVGTextFrame2.cpp => layout/svg/SVGTextFrame.cpp
rename : layout/svg/nsSVGTextFrame2.h => layout/svg/SVGTextFrame.h
2013-12-20 16:38:51 +00:00
Quentin Headen
6f30920da5
Bug 731667 - Rewrite mtable implementation to avoid use of _moz-* attributes - implement parsing and rendering. r=karlt, r=bz
2013-12-13 12:42:43 -05:00
Birunthan Mohanathas
68b00083fd
Bug 713082 - Part 1: Remove unnecessary Util.h includes. r=Waldo
2013-12-08 21:52:33 -05:00
Cameron McCormack
c350837b66
Bug 922669 - Part 4: Pass in anonymous content nodes when restyling any pseudo-elements that can match user action pseudo-classes. r=bz
2013-11-28 17:46:38 +11:00
Frédéric Wang
62c4edbec0
Bug 415413 - Incorrect widths and heights of MathML with italics in table cells. r=karlt, r=roc
2013-11-25 09:20:20 -05:00
Ehsan Akhgari
325f736125
Bug 938849 - Build layout/generic in unified mode; r=roc
2013-11-15 08:19:02 -05:00
Ehsan Akhgari
77b5078c36
Bug 921753 - Part 1: Avoid #including nsStyleStructInlines.h in nsIFrame.h; r=roc
...
This patch reduces the number of files that transitively #include
gfx/2d.h from 1782 to 1582.
2013-10-01 17:00:38 -04:00
Mats Palmgren
eb2304a29c
Bug 919318 - A few cosmetic changes after dropping the Get prefix on some methods. r=dholbert
2013-09-25 11:42:35 +00:00
Mats Palmgren
4974add798
Bug 919318 - Drop the Get prefix on the frame methods GetFirstContinuation, GetLastContinuation, GetFirstInFlow, GetLastInFlow and also on nsLayoutUtils::GetLastContinuationWithChild, because they never return null. r=dholbert
2013-09-25 11:42:34 +00:00
Daniel Holbert
90f7eae182
Bug 919871: Make .cpp files in layout/generic #include their corresponding .h file first. r=mats
2013-09-24 18:43:43 -07:00
Corey Ford
c885568e56
Bug 911786 - Part 2: Reapply relative positioning when moving frames without reflowing them. r=dholbert
2013-09-11 11:51:42 -07:00
Daniel Holbert
64846f2b7a
Bug 883514: During block reflow, check floats after reflowing bullet frames, instead of before. r=dbaron
2013-09-05 11:59:09 -07:00
Ehsan Akhgari
baf3a129ad
Bug 907883 - Minimize #includes in layout/generic; r=roc
...
--HG--
extra : rebase_source : 5e87b764a12b05aff477c71547e2131be67ca93b
2013-08-22 14:32:52 -04:00
Jonathan Kew
c79c573b77
bug 904555 - clean up use of nsRect APIs in layout. r=roc
2013-08-14 13:27:20 +01:00
Corey Ford
9adda71475
Bug 898794 - Store normal frame position before applying relative positioning. r=dbaron
2013-08-08 17:20:17 -07:00
Corey Ford
8a75e63592
Bug 898797 - Use nsHTMLReflowState::ApplyRelativePositioning when placing floats. r=dbaron
2013-07-29 21:53:13 -07:00
Scott Johnson
a1817949ef
Bug 743402, Part 4: Refactor ApplySkipSides() and GetSkipSides() to return the correct value during reflow by adding an optional nsHTMLReflowState parameter. [r=roc]
2013-07-25 10:34:27 -05:00
Scott Johnson
97549e0acc
Bug 743402, Part 3: Refactor nsBlockFrame to utilize new calculations for paginated content. [r=roc]
2013-07-25 10:34:22 -05:00
Scott Johnson
b806b3e3c9
Bug 743402, Part 2: Pull GetEffectiveComputedHeight() into nsSplittableFrame and refactor it to utilize consumed height for paginated content. [r=roc]
2013-07-25 10:34:16 -05:00
Ryan VanderMeulen
6e81109389
Backed out 6 changesets (bug 743402) for reftest failures on a CLOSED TREE.
...
Backed out changeset 19848fff857e (bug 743402)
Backed out changeset 049168537ae0 (bug 743402)
Backed out changeset 3098fea37f2d (bug 743402)
Backed out changeset ada93e976dca (bug 743402)
Backed out changeset c7907c54187f (bug 743402)
Backed out changeset 2edbbf6440c4 (bug 743402)
2013-07-24 15:14:04 -04:00
Scott Johnson
e963713207
Bug 743402, Part 4: Refactor ApplySkipSides() and GetSkipSides() to return the correct value during reflow by adding an optional nsHTMLReflowState parameter. [r=roc]
2013-07-24 12:47:17 -05:00
Scott Johnson
495d934c37
Bug 743402, Part 3: Refactor nsBlockFrame to utilize new calculations for paginated content. [r=roc]
2013-07-24 12:47:12 -05:00
Scott Johnson
21103de30a
Bug 743402, Part 2: Pull GetEffectiveComputedHeight() into nsSplittableFrame and refactor it to utilize consumed height for paginated content. [r=roc]
2013-07-24 12:47:06 -05:00
Mats Palmgren
c34b7f3a13
Bug 883676 - Implement 'page-break-inside:avoid' also for the case where the block reflow is COMPLETE but does not fit in the available height. r=roc
2013-07-13 13:18:17 +00:00
Simon Montagu
04f6862b09
Use GetFrameBaseLevel to drill down to the first leaf frame instead of just looking at the first child when getting the line direction. Bug 889742, r=roc
2013-07-04 10:13:52 +03:00
Daniel Holbert
5ac6d26487
Bug 886313: Make DisplayLine generate display items in a temporary collection, so we can apply text-overflow clipping without affecting earlier lines. r=roc
2013-06-28 00:22:57 -07:00
Daniel Holbert
3a4c2c80c6
Bug 884564 followup: fix end-of-line whitespace in nsBlockFrame::CreateContinuationFor. (whitespace-only, DONTBUILD)
2013-06-18 23:23:45 -07:00
Daniel Holbert
cee1828264
Bug 884576: Make some nsBlockFrame helper-methods (ReflowPushedFloats, PrepareResizeReflow, & SplitLine) infallible. r=bz
2013-06-18 23:09:22 -07:00
Daniel Holbert
4b5e52014e
Bug 884564: Make CreateContinuationFor() infallible and directly return its outparam. r=bz
2013-06-18 23:09:20 -07:00
Mats Palmgren
c93c63103c
Bug 863935. r=roc
2013-06-10 18:31:59 +00:00
Robert O'Callahan
c74c28560e
Bug 872254. Clear line/row cursors when overflow areas of lines or table rows change. r=bz
...
--HG--
extra : rebase_source : 81c1c4269e22ffad98433669ef152002b9d63533
2013-05-30 16:44:37 +12:00
L. David Baron
2dcfa5b376
Bug 871338: Handle NS_BLOCK_LOOK_FOR_DIRTY_FRAMES lazy marking in GetMinWidth and GetPrefWidth in addition to Reflow. r=bzbarsky
2013-05-13 15:37:00 -07:00
L. David Baron
bdd7b76ff8
Fix warnings-as-errors bustage from changeset 09552b219c3a (Bug 828312 patch 3).
2013-05-10 18:04:55 -07:00
L. David Baron
a4ff57fec6
Bug 828312 patch 3: Wait to mark lines dirty until we're in reflow, to avoid O(N^2) behavior as a result of looking for lines. r=bzbarsky
...
The assertion count reduction from 12 to 8 in
layout/generic/crashtests/798020-1.html is the removal of the 4
###!!! ASSERTION: math on NS_UNCONSTRAINEDSIZE: 'NS_UNCONSTRAINEDSIZE != aState.mReflowState.mComputedBorderPadding.left && NS_UNCONSTRAINEDSIZE != aState.mReflowState.ComputedWidth()'
in nsBlockFrame::PrepareResizeReflow by avoiding calling
nsBlockFrame::PrepareResizeReflow.
2013-05-10 17:35:08 -07:00
L. David Baron
cddf1ab187
Bug 828312 patch 2: Make list renumbering code set NS_FRAME_HAS_DIRTY_CHILDREN correctly on intermediate blocks and inlines, and NS_FRAME_IS_DIRTY correctly on the bullets. r=bzbarsky
...
The change to mark NS_FRAME_IS_DIRTY on the bullets fixes a failure in
layout/reftests/bugs/418574-1.html exposed by patch 3.
2013-05-10 17:35:08 -07:00
Daniel Holbert
27d4bf0217
Bug 870555 part 1: Add curly braces around early-return in nsBlockFrame::GetSkipSides, for clarity. r=mats
2013-05-09 20:10:47 -07:00
Daniel Holbert
699c203078
Bug 855841: Remove unused constants NS_STYLE_CLEAR_BLOCK, NS_STYLE_CLEAR_COLUMN, NS_STYLE_CLEAR_PAGE. r=mats r=fantasai
2013-05-02 16:01:11 -07:00
Mats Palmgren
2000b88d54
Bug 866785 - Move repeated nsIFrame::List implementations code to a new method, ListGeneric, for re-use. Cleanup and improve the code a bit. r=roc
...
Specifically:
* move all the frame dump methods to nsIFrame. Especially nsFrame::ListTag
was annoying, often requiring a cast to nsFrame*.
* print common values in the same order for all types of frames
* print fluid continuations as "next-in-flow=%p" and non-fluid as
"next-continuation=%p" (as before)
* print the style-context more compactly, e.g.
"[sc=0x7faa6b60e0a0] pst=:first-line" becomes
"[sc=0x7faa6b60e0a0:first-line]"
* suppress printing visual/scroll-overflow rects when they are identical
to mRect and do the same for nsLineBox::List where it was especially
hard to see which lines actually had real overflow
* fix a bug that printed the child list name at the far right when the
principal list was empty (making it hard to see)
* print the address of child lists (other than the principal list) to
help debug frame list property bugs
* s/NS_IMETHODIMP/void/
2013-04-30 20:38:52 +02:00
Daniel Holbert
e5e82647d0
Bug 865477: Use Maybe<> instead of nsAutoPtr<> for lazily-constructed nsHTMLReflowState in nsBlockFrame::Reflow(). r=bz
2013-04-25 09:03:28 -07:00
Chris Lord
9b79bd3d3c
Bug 856932 - Fix fixed margins on position:fixed hierarchies. r=roc
...
Make sure that fixed margins aren't applied to auto-positioned frames, unless
their containing block is the primary frame of the body element.
2013-04-15 09:31:45 +01:00
Scott Johnson
8c1c3e2ad7
Bug 600100, Part 2: Force a vertical resize even if our available height hasn't changed in anonymous blocks of a column set so we don't crash. [r=mats]
2013-04-08 13:38:33 -05:00
Robert O'Callahan
b9592746c4
Bug 841192. Part 13: Rename nsFrame::ApplyOverflowClipping to ShouldApplyOverflowClipping. r=mattwoodrow
...
We rename nsFrame::ApplyOverflowClipping to nsFrame::ShouldApplyOverflowClipping
to reflect the fact that it doesn't cause any clipping.
--HG--
extra : rebase_source : d3bd1ef902276526b37b27c510a8d3a9db6416dc
2013-03-07 00:08:16 +13:00
Mats Palmgren
b3ddf199bb
Bug 729519 - Allocate heap nsFrameLists from the shell arena. r=bzbarsky
...
"new nsFrameList()" becomes "new (shell) nsFrameList()".
"delete list" becomes "if (list) list->Delete(shell)" - note also that
an additional assertion was added that list is empty when deleted.
"nsAutoPtr<nsFrameList> list(StealSomeFrames())" becomes
"AutoFrameListPtr list(aPresContext, StealSomeFrames())"
2013-04-01 17:26:02 +02:00
Mats Palmgren
91b3ef7da5
Bug 729519 - Make frames destroy all child frames and remove their nsFrameList properties when destroyed. r=bzbarsky
...
Specifically, this wasn't done for the OutsideBullet list which was
destroyed by the property destructor, potentially after the entire
frame tree was gone. Now we'll assert that the property destructor
isn't called.
Use SafelyDestroyFrameListProp when destroying PushedFloat and
OverflowOutOfFlows frame lists since it's more robust.
Destroy [Excess]OverflowContainers frame lists if they exist, regardless
of the IsFrameOfType(nsIFrame::eCanContainOverflowContainers) bit
(since the oveflow continuation tracker doesn't check that before
creating these lists -- this was the source of crash bugs before
that bit was added to ColumnSetFrame).
Assert in SetPropTableFrames that the property doesn't exist, because
if it does the property destructor will run, which isn't supported.
2013-04-01 17:26:02 +02:00
Mats Palmgren
99b4f70744
Bug 851847 - Optimize nsBlockFrame::StealFrame when removing a normal flow child. r=bzbarsky
2013-03-23 21:49:45 +01:00
Mats Palmgren
dea596bdaa
Backout rev 85397e0a6dba - wrong patch. r=me
2013-03-23 21:45:53 +01:00
Mats Palmgren
83a872ae97
Bug 851847 - Optimize nsBlockFrame::StealFrame when removing a normal flow child. r=bzbarsky
2013-03-23 21:10:34 +01:00
Mats Palmgren
ad71bdd7cf
Bug 851849 - Make nsBlockFrame::AddFrames() return void since it can't fail, and non-virtual since it's not meant to be overridden. Add a post-condition that the given
...
aFrameList is empty. r=bzbarsky
2013-03-23 21:10:34 +01:00
Mats Palmgren
0c51be76b1
Bug 851848 - Remove the OOM check for allocating the BulletFrame now that PresArena allocations are infallible. r=bzbarsky
2013-03-23 21:10:34 +01:00
Mats Palmgren
8ff2ad0840
Bug 851848 - Remove OOM checks for the result of NewLineBox now that PresArena allocations are infallible. r=bzbarsky
2013-03-23 21:10:33 +01:00
Boris Zbarsky
a68da9e914
Bug 852501 part 4. Make CreateContinuingFrame infallible. r=dholbert
2013-03-19 21:47:49 -04:00
Boris Zbarsky
7f102d7f2d
Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert
2013-03-19 21:47:48 -04:00
Scott Johnson
c1883f3027
Bug 600100, Part 1: Return a status of NS_FRAME_NOT_COMPLETE during reflow of nsBlockFrame if we have a next continuation with pushed floats to prevent crashing in columns. [r=dbaron]
2013-03-19 09:05:05 -05:00
Scott Johnson
d51186d49f
Backed out changeset 3b18c328b316 (bug 600100) to fix commit message DONTBUILD.
2013-03-19 09:43:27 -05:00
Scott Johnson
8cbce8236f
Bug 600100, Part 1: Return a status of NS_FRAME_NOT_COMPLETE during reflow of nsBlockFrame if we have a next continuation with pushed floats to prevent crashing in columns.
2013-03-19 09:05:05 -05:00
Mats Palmgren
9e72c76055
Bug 847208 - Reuse RemoveFloat() in a couple of places that did manual removal of a float child frame. r=dbaron
2013-03-15 23:32:35 +01:00
Mats Palmgren
4a8056a742
Bug 847208 - Make RemoveFloat() check the PushedFloatsList too. r=dbaron
2013-03-15 23:32:35 +01:00
Ed Morley
7fc7f86f26
Backed out changeset 82bfa9035c6a (bug 847208)
2013-03-14 15:18:37 +00:00
Ed Morley
315034a29a
Backed out changeset 253df4cdfdb9 (bug 847208)
2013-03-14 15:18:33 +00:00
Mats Palmgren
eba8f894fa
Bug 847208 - Reuse RemoveFloat() in a couple of places that did manual removal of a float child frame. r=dbaron
2013-03-14 14:39:26 +01:00
Mats Palmgren
31f1ca2a0a
Bug 847208 - Make RemoveFloat() check the PushedFloatsList too. r=dbaron
2013-03-14 14:39:26 +01:00
Trevor Saunders
efd4042c8d
bug 846487 - remove remaining usage of some nsIDOMFooElement r=Ms2Ger
2013-02-14 10:33:16 -05:00
Mats Palmgren
cbee5b4736
Bug 847130 - Do DestroyOverflowLines() if the last line was removed instead of always RemoveOverflowLines() and SetOverflowLines() when there's lines remaining. r=dbaron
2013-03-04 00:46:56 +01:00
Mats Palmgren
352261b197
Bug 843332 - Pass 'false' to ReparentFloats since we only added one frame ('true' only works because the added frame never has any siblings in this case). r=bzbarsky
2013-02-28 00:05:46 +01:00
Mats Palmgren
063882b856
Bug 843332 - Don't pass the nsBlockReflowState to PullFrameFrom that doesn't use it. Add some assertions. r=bzbarsky
2013-02-28 00:05:46 +01:00
Mats Palmgren
76d488f34c
Bug 843332 - Make PullFrame drain the overflow list before calling PullFrameFrom that can then be simplified to only deal with mList/mFrames (should be minor perf win too). r=bzbarsky
2013-02-28 00:05:45 +01:00
Mats Palmgren
ef83cb78bb
Bug 840818 - Simplify PullFrameFrom when the last frame was removed from an overflow list (avoiding an assertion). r=bzbarsky
2013-02-28 00:05:45 +01:00
Mats Palmgren
5aeae652ec
Bug 838688 - Optimize CollectFloats by doing an early return if this block doesn't have any floats. r=bzbarsky
2013-02-28 00:05:45 +01:00
Mats Palmgren
68ac87f2e4
Bug 838688 - Make ReparentFloats/CollectFloats not require a priori knowledge of which child list a float is expected to be on. r=bzbarsky
2013-02-28 00:05:45 +01:00
Mats Palmgren
6010571f8e
Bug 838671 - Make nsBlockFrame::RemoveFloat O(1) and make it just do the frame removal bit and let DoRemoveOutOfFlowFrame do the Destroy part (with the intent of making RemoveFloat reusable for other code). r=bzbarsky
2013-02-28 00:05:45 +01:00
Mats Palmgren
1b85e9545e
Bug 838642 - Introduce nsFrameList::StartRemoveFrame/ContinueRemoveFrame that can be used in concert to remove a frame in O(1) time from a set of frame lists when its exact frame list is unknown. Use them to make nsContainerFrame::StealFrame O(1). r=bzbarsky
2013-02-28 00:05:44 +01:00
L. David Baron
26263ff77c
Bug 839809: Make counter-increments and list counting that would go past our internal (int32_t) limit keep the counter at its current value rather than wrapping. r=dholbert
...
Per CSS WG resolution regarding counter-styles-3, afternoon of 2013-02-05:
http://krijnhoetmer.nl/irc-logs/css/20130205#l-1590
http://lists.w3.org/Archives/Public/www-style/2013Feb/0392.html
2013-02-22 10:13:37 -08:00
L. David Baron
3c1573c7b5
Backout changeset b968708558b9 (bug 839809) for reftest failures.
2013-02-21 19:25:54 -08:00
L. David Baron
61dc418096
Bug 839809: Make counter-increments and list counting that would go past our internal (int32_t) limit keep the counter at its current value rather than wrapping. r=dholbert
...
Per CSS WG resolution regarding counter-styles-3, afternoon of 2013-02-05:
http://krijnhoetmer.nl/irc-logs/css/20130205#l-1590
http://lists.w3.org/Archives/Public/www-style/2013Feb/0392.html
Note that this patch depends on signed integer overflow behavior in C++,
which I believe is portable despite being unspecified.
2013-02-21 18:10:59 -08:00
Mats Palmgren
e337bf4714
Bug 822910. r=roc
2013-02-19 02:44:14 +01:00
L. David Baron
c5b9eee040
Bug 781360 patch 3: Rename {nsIFrame,nsStyleContext,nsComputedDOMStyle}::GetStyle* to Style*, since they can never return null. r=dholbert
...
Except for the changes in:
layout/generic/nsIFrame.h (part)
layout/style/nsComputedDOMStyle.h (all)
layout/style/nsRuleNode.cpp (part)
layout/style/nsStyleContext.cpp (part)
layout/style/nsStyleContext.h (part)
(see patch 3b in the bug), this patch was written with the sed script:
s/\<GetStyle\(Font\|Color\|List\|Text\|Visibility\|Quotes\|UserInterface\|TableBorder\|SVG\|Background\|Position\|TextReset\|Display\|Content\|UIReset\|Table\|Margin\|Padding\|Border\|Outline\|XUL\|SVGReset\|Column\)\>/Style\1/g
2013-02-16 13:51:02 -08:00
Robert O'Callahan
42e294f8cb
Bug 840902. Part 2: Remove nsresults from various display list methods. r=mattwoodrow
...
--HG--
extra : rebase_source : de498510bf8d85d9b0b2fab0137ef3be01c9adfa
2013-02-15 00:12:27 +13:00
Robert O'Callahan
5c77da3630
Bug 840902. Part 1: Stop checking the results of various display list methods. r=mattwoodrow
...
--HG--
extra : rebase_source : 50a3d6809ef76a25a3d02d91f2873d9ba11fdc56
2013-02-15 00:08:08 +13:00
L. David Baron
50d4e367af
Bug 841789, patch 1: Rename nsIFrame::GetStyleContext() to nsIFrame::StyleContext() since it can never return null. r=dholbert
...
This makes it conform to our convention that getters returning pointers
that can never be null do not begin with "Get".
2013-02-15 21:38:33 -08:00
Cameron McCormack
2885f1362f
Bug 655877 - Part 45: Fixes for DLBI. r=roc,jwatt
2013-02-11 17:22:20 +11:00
Daniel Holbert
99698ae1d8
Bug 839302: Simplify logic in nsBlockFrame::DrainSelfOverflowList, and replace delete w/ nsAutoPtr. r=mats
2013-02-07 17:19:57 -08:00
Mats Palmgren
aa5d71d116
Bug 837007 - Make CollectFloats ignore floats that belong to some other block. r=roc
2013-02-07 02:13:34 +01:00
Daniel Holbert
57c05d58e1
Bug 836899: Remove nsBlockReflowState constructor unused parameter 'aMetrics'. r=dbaron
2013-01-31 14:40:05 -08:00
Mats Palmgren
b7ae90666d
Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan
2013-01-15 13:22:03 +01:00
David Zbarsky
fd7bd329e5
Bug 827149 - Remove some uses of nsIDOMHTMLBodyElement r=bz
2013-01-12 16:53:01 -05:00
L. David Baron
82502ba1e3
Bug 588237, patch 5: remove the optimization of skipping FlowAndPlaceFloat for some pushed floats, simply because the optimization looks fishy to me. r=roc
2013-01-11 14:51:21 -08:00
L. David Baron
1ada7edf5b
Bug 588237, patch 4: Pull pushed floats back from the next-in-flow at the start of reflow. r=roc
2013-01-11 14:51:21 -08:00
L. David Baron
e2afcf2e7d
Bug 588237, patch 2: Fix comment that is now incorrect due to work in bug 563584 or followups. r=roc
2013-01-11 14:51:21 -08:00
Mats Palmgren
5e9420f6c3
Bug 734777 - Call NoteFrameRemoved also when it's the last frame on the line to avoid an assertion. r=roc
2013-01-06 03:04:59 +01:00
Robert O'Callahan
943cb99eff
Bug 825866. Part 8: Mass-rename of nsIView to nsView. r=tnikkel
...
This was autogenerated by basically replacing all occurrences of the word "nsIView" with nsView.
--HG--
rename : view/public/nsIView.h => view/public/nsView.h
2013-01-04 02:23:11 +13:00
Alexander Surkov
9ca55cbd90
Bug 810572, part 2.5 - rename AccType constants again, r=tbsaunde, sr=roc
2012-12-18 10:25:52 +09:00
Jeff Walden
120886ca73
Bug 820570 - Move mozilla::DebugOnly into DebugOnly.h to pare down the grab-baggish Util.h. r=Ms2ger
2012-12-14 18:58:45 -05:00
Trevor Saunders
8d7e7dd8d7
bug 781409 - remove nsITableLayout r=roc,davidb
2012-08-08 09:05:17 -04:00
Alexander Surkov
f52aca4834
Bug 810572, part2 - remove 'Accessible' postfix from AccTypes constants, r=tbsaunde, sr=roc
2012-12-12 19:04:12 +09:00
Mats Palmgren
9c310a2c9f
Bug 806284 - Resizing a RTL block with text-align:left does not reposition the lines. r=roc
2012-12-05 23:26:28 +01:00
Daniel Holbert
200a4ad7d0
Bug 815972: Remove unneeded nsDisplayListCollection from nsBlockFrame.cpp's DisplayLine() helper-function. r=roc
2012-11-28 00:08:30 -08:00
Ehsan Akhgari
c284cd4124
Bug 810355 - Convert nsDidReflowStatus into an enum class; r=dholbert
2012-11-13 22:47:33 -08:00
Mats Palmgren
ddad154fe9
Bug 685012 - Implement page-break-inside:avoid in layout. r=fantasai,sr=roc
2012-11-08 17:09:38 +01:00
Ehsan Akhgari
2ec85750e6
Bug 775350 - Update the overflow areas of the lines containing floats based on the overflow areas of the floats in the containing block; r=dbaron
2012-11-06 12:11:50 -05:00
L. David Baron
bc5cfc9648
Bug 809533, patch 2: Don't null-check inside NS_New*Frame. r=roc
2012-11-07 11:55:53 -08:00
Jacek Szpot
761b11160f
Bug 792180 - Replace NS_{UN,}LIKELY with MOZ_{UN,}LIKELY; r=ehsan
2012-10-26 15:32:10 +02:00
Andrew Quartey
5d03f6af91
Bug 792581 - part 22: Replace LL_ZERO and LL_Zero() macros with 0. r=ehsan
2012-10-25 19:25:59 -04:00
Trevor Saunders
244a675d42
bug 542039 - accessible object types r=surkov, roc
2012-09-28 17:53:44 -04:00
Robert O'Callahan
a268d55cd8
Bug 786740. When destroying all the frames in a line list, keep the line list and frame list valid at each step in case someone tries to walk the frame tree during frame destruction. r=mats
...
--HG--
extra : rebase_source : 7045daffc35fdaca02a74caa52a93a270c94cf74
2012-10-15 14:34:23 +13:00
Andrew Quartey
00edc52f9c
Bug 792581 - part 19: Replace LL_I2L macro with int64_t cast. r=ehsan
2012-10-12 13:29:11 -04:00
David Zbarsky
4085f74a3f
[Bug 799407] Fix build warnings in layout r=roc
2012-10-10 01:00:05 -04:00
Andrew Quartey
58aa97ec8b
Bug 792581 - part 12: Replace LL_DIV with division operator. r=ehsan
2012-10-05 01:05:28 -04:00
Andrew Quartey
6a3e28f73b
Bug 792581 - part 10: Replace LL_SUB macro with mathematical minus operator. r=ehsan
2012-10-05 01:05:27 -04:00
Kyle Huey
43e58e33c8
Bug 760331: Coalesce data for inline style across nodes. r=bz
...
This patch enables sharing of an nsAttrValue's MiscContainer between nodes for style rules. MiscContainers of type eCSSStyleRule are now refcounted (with some clever struct packing to ensure that the amount of memory allocated for MiscContainer remains unchanged on 32 and 64 bit). This infrastructure can be used to share most MiscContainer types in the future if we find advantages to sharing other types than just eCSSStyleRuley. A cache mapping strings to MiscContainers has been added to nsHTMLCSSStyleSheet. MiscContainers can be shared between nsAttrValues when one nsAttrValue is SetTo another nsAttrValue or when there is a cache hit in this cache. This patch also adds the ability to tell a style rule that it belongs to an nsHTMLCSSStyleSheet, with appropriate accessor functions to separate that from the existing case of belonging to an nsCSSStyleSheet.
The primary use case is to reduce memory use for pages that have lots of inline style attributes with the same value. This can happen easily with large pages that are automatically generated. An (admittedly pathological) testcase in Bug 686975 sees over 250 MB of memory savings with this change. Reusing the same MiscContainer for multiple nodes saves the overhead of maintaining separate copies of the string containing the serialized value of the style attribute and of creating separate style rules for each node. Eliminating duplicate style rules enables further savings in layout through style context sharing. The testcase sees the amount of memory used by style contexts go from over 250 MB to 10 KB.
Because the cache is based on the text value of the style attribute, it will not handle attributes that have different text values but are parsed into identical style rules. We also do not attempt to share MiscContainers when the node's base URI differs from the document URI. The effect of these limitations is expected to be low.
2012-09-30 09:40:24 -07:00
Isaac Aggrey
481e7dfb0b
Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan
2012-09-28 01:57:33 -05:00
Matt Woodrow
cee1aa3599
Bug 539356 - Part 9c - Remove old invalidation code. r=bz
2012-08-29 17:39:31 +12:00
Ed Morley
aba3a8f5ef
Revert mozilla-inbound to e4dd1fa6d222 for crashes and test failures on a CLOSED TREE
2012-09-27 16:34:46 +01:00
Matt Woodrow
4d096475d2
Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
2012-08-29 17:38:58 +12:00
Chris Lord
b38c2c5cad
Bug 788202 - Add optional subdocument traversal to nsIFrame::List. r=bz
...
Add subdocument frame traversal to nsIFrame::List, controlled via an optional
flag.
2012-09-19 15:36:35 +01:00
Chris Lord
d5bcfa09f8
Backout bug 788202 for build failures.
2012-09-19 14:05:26 +01:00
Chris Lord
f89f65818b
Bug 788202 - Add optional subdocument traversal to nsIFrame::List. r=bz
...
Add subdocument frame traversal to nsIFrame::List, controlled via an optional
flag.
2012-09-19 12:39:53 +01:00
Mats Palmgren
5efcc4ab00
Bug 765621 - Drain the parent frame's overflow list before attempting to insert/append new child frames. r=bz
2012-09-18 01:05:05 +02:00
Boris Zbarsky
942cc93041
Bug 601912. Implement <ol reversed>. r=dholbert
2012-09-07 22:30:24 -04:00
Ehsan Akhgari
e368dc9c85
Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
...
This patch was generated by a script. Here's the source of the script for
future reference:
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*/.hg*" \
! -wholename "obj-ff-dbg*" \
! -name nsXPCOMCID.h \
! -name prtypes.h \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.c" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t
convert PRIntn int
convert PRUintn unsigned
convert PRSize size_t
convert PROffset32 int32_t
convert PROffset64 int64_t
convert PRPtrdiff ptrdiff_t
convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Aryeh Gregor
4e199a1679
Bug 780618 - Move all error codes to nsError.h; r=ehsan
2012-07-27 17:03:27 +03:00
Ms2ger
75ab7efb95
Bug 780387 - Part b: Stop using PRIntn; r=bsmedberg
2012-08-09 09:09:40 +02:00
Cameron McCormack
7670328c6c
Bug 655877 - Part 16: Treat all values of display other than 'none' as 'inline' in SVG text frames. r=roc
2012-08-02 21:38:51 +10:00
Cameron McCormack
5e22f14219
Bug 655877 - Part 15: Don't treat SVG text frames as being positioned. r=roc
2012-08-02 21:38:50 +10:00
Cameron McCormack
d7e9a93257
Bug 655877 - Part 14: Ignore float in SVG text frames. r=roc
2012-08-02 21:38:49 +10:00
Cameron McCormack
8ca909c0ed
Bug 655877 - Part 13: Make :first-letter apply to <svg:text>. r=roc
2012-08-02 21:38:48 +10:00
Cameron McCormack
bd8a092ab9
Bug 655877 - Part 10: Ignore text-align and text-align-end in SVG text frames. r=roc
2012-08-02 21:38:47 +10:00
Aryeh Gregor
d0ad5a7d0c
Bug 777292 part 2 - Change all nsnull to nullptr
2012-07-30 17:20:58 +03:00
Daniel Holbert
c3ebc87501
Bug 748646 patch 2: Remove no-longer-needed parameter aLists from a few TextOverflow functions. r=mats
2012-07-22 23:08:24 -07:00
Daniel Holbert
3232915300
Bug 748646 patch 1: Put a block's text-overflow markers in PositionedDescendants() before the rest of the block's display items. r=roc
2012-07-22 23:08:20 -07:00
Mats Palmgren
a78a2aa885
Bug 616722 - Make ColumnSetFrame a block margin root. Make the first column a margin root at the top edge, and the last column at the bottom. r=roc
2012-07-20 14:27:04 -04:00
Mats Palmgren
8b5f370306
Bug 774794 - Make the aLineList param for MarkLineDirty mandatory; make nsBlockInFlowLineIterator have a valid mLineList for its mLine. r=roc
2012-07-20 14:27:03 -04:00
Elika Etemad
5186834e80
Bug 774835: Refactor nsHTMLReflowState::ApplyMinMaxConstraints to separate behavior of width and height. [r=roc]
...
--HG--
extra : rebase_source : c6a25e9c19c65d86013ddf8afc15026ca02321c4
2012-07-18 10:26:05 -04:00
Mats Palmgren
60c32db945
Bug 774548. r=roc
2012-07-17 15:56:04 -04:00
Ehsan Akhgari
cf18ee9122
Backout changeset f568fc280fb0 (bug 539356) because of performance and correctness regressions
2012-07-03 20:24:55 -04:00
Matt Woodrow
31125260ee
Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
2012-06-30 15:06:11 +12:00
L. David Baron
4ae65b30d1
Fix two pieces of cached information that were preventing font size inflation from applying correctly during intrinsic width calculation when intrinsic width calculation had already been done without font size inflation. (Bug 748434) r=roc
...
The first of these pieces of information is the intrinsic widths cached
on a block.
The second of them is the font inflation cached on a text frame (which
might be set to 1.0 at this point if a text frame has previously had
intrinsic width calculation done on it, but hasn't been reflowed).
2012-06-05 19:13:41 -07:00
L. David Baron
81169b19ae
Back out changeset 81f6b1cfbba5627425837ff993ca7012db22b23b (bug 748434) due to reftest failures.
2012-06-05 16:55:48 -07:00
L. David Baron
2a07b15c44
Fix two pieces of cached information that were preventing font size inflation from applying correctly during intrinsic width calculation when intrinsic width calculation had already been done without font size inflation. (Bug 748434) r=roc
...
The first of these pieces of information is the intrinsic widths cached
on a block.
The second of them is the font inflation cached on a text frame (which
might be set to 1.0 at this point if a text frame has previously had
intrinsic width calculation done on it, but hasn't been reflowed).
2012-06-05 15:52:28 -07:00
L. David Baron
edbd83838f
Rename nsStyleBorder::GetActualBorderWidth to GetComputedBorderWidth. (Bug 713643, patch 4) r=bzbarsky
2012-05-30 22:19:49 -07:00
Trevor Saunders
5d33ad118a
bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov
...
--HG--
rename : accessible/src/atk/nsAccessibleWrap.cpp => accessible/src/atk/AccessibleWrap.cpp
rename : accessible/src/atk/nsAccessibleWrap.h => accessible/src/atk/AccessibleWrap.h
rename : accessible/src/base/nsAccessible.cpp => accessible/src/generic/Accessible.cpp
rename : accessible/src/base/nsAccessible.h => accessible/src/generic/Accessible.h
rename : accessible/src/mac/nsAccessibleWrap.h => accessible/src/mac/AccessibleWrap.h
rename : accessible/src/mac/nsAccessibleWrap.mm => accessible/src/mac/AccessibleWrap.mm
rename : accessible/src/msaa/nsAccessibleWrap.cpp => accessible/src/msaa/AccessibleWrap.cpp
rename : accessible/src/msaa/nsAccessibleWrap.h => accessible/src/msaa/AccessibleWrap.h
rename : accessible/src/other/nsAccessibleWrap.cpp => accessible/src/other/AccessibleWrap.cpp
rename : accessible/src/other/nsAccessibleWrap.h => accessible/src/other/AccessibleWrap.h
2012-05-28 21:18:45 -04:00
Ed Morley
83427f0fe0
Merge mozilla-central to mozilla-inbound
2012-05-21 13:19:38 +01:00
Gervase Markham
82ff7027aa
Bug 716478 - update licence to MPL 2.
2012-05-21 12:12:37 +01:00
L. David Baron
6b3b8f9533
Remove width determination parameters from font inflation methods. (Bug 747720, patch 5) r=roc
...
These are no longer needed since we're getting the width from the
nsFontInflationData.
2012-05-20 22:18:28 -07:00
Matt Woodrow
8d9f67b892
Bug 722603 - Add 3d transforms debugging code to nsBlockFrame. r=roc
2012-05-11 19:49:12 +12:00
Mats Palmgren
6e43b822bd
Bug 750066. r=roc
2012-05-04 02:14:01 +02:00
L. David Baron
90733eea84
Add a font inflation data structure per block formatting context. (Bug 706193, patch 2) r=roc
...
This structure is per block formatting context because we have to make a
single inflation decision for things like consecutive runs of paragraphs
of text. Inflating some paragraphs and not others (within the same
sequence of adjacent paragraphs) based on the amount of text in each one
would be disastrous. Otherwise it's ideal for the units to be as small
as possible as long as they merge such sequences; therefore this uses a
definition corresponding to CSS's idea of elements that establish new
block formatting contexts.
2012-04-16 15:32:12 -07:00
Mats Palmgren
7213c84c26
Bug 730769 - Make nsLineBox use a frame hash table for lines with many frames. part=2/2 r=bz
2012-03-11 03:32:27 +01:00
Mats Palmgren
170ef239c4
Bug 730769 - Add NewLineBox/FreeLineBox methods to nsBlockFrame. part=1/2 r=bz
2012-03-11 03:32:27 +01:00
Mats Palmgren
39a7d31397
Bug 728906 - Make nsIFrame::GetChildList return const nsFrameList&. r=bz
2012-03-08 02:57:37 +01:00
Mats Palmgren
c1f99b666b
Bug 728911 - Remove the nsBlockFrame::mBullet member and store it in a frame property instead (as needed). For an outside bullet, store it as a nsFrameList* to support GetChildList(kBulletList). part 2/2 r=bz
2012-03-08 02:57:37 +01:00
Mats Palmgren
de36d93afa
Bug 728911 - Add a HasPushedFloat() method and move the PushedFloatProperty declaration to the .cpp file. part 1/2 r=bz
2012-03-08 02:57:37 +01:00
Mats Palmgren
f2b543f7d7
Bug 728908 - Make the Overflow lines property have both a nsLineList and a nsFrameList for fast access to the last frame, eliminate SetNextSibling calls, and to support GetChildList(kOverflowList). part 1/2 r=bz
2012-03-08 02:57:37 +01:00
Jonathan Watt
d5cf359729
Bug 731959 - Display list support for the 'clip' property in SVG means referring to "AbsPos" clip is misleading. r=bz.
2012-03-02 08:28:56 +00:00
Simon Montagu
a4f1d6d3ac
Mark the last line in the block dirty when text-align-last resolves to something other than left. Bug 726392, r=dbaron
2012-02-20 08:49:44 -08:00