Граф коммитов

248 Коммитов

Автор SHA1 Сообщение Дата
Simon Montagu 5c79483958 Bug 1062963 patch 1: Logical coordinates in nsLineLayout:ReflowFrame and CanPlaceFrame. r=jfkthame 2014-10-21 15:16:11 -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 ec5af204d9 Bug 1062963 patch 1: Logical coordinates in nsLineLayout:ReflowFrame and CanPlaceFrame. r=jfkthame 2014-10-19 12:32:16 -07:00
Ehsan Akhgari 60360fc645 Bug 1060985 - Fix more bad implicit constructors in layout; r=roc 2014-08-31 23:36:37 -04:00
Susanna Bowen 779f8cef59 Bug 1030993 - Basic reflow implementation for ruby frame classes. r=dbaron
To account for spacing between bases or text boxes during reflow, the line
layout which manages the bases updates its inline direction coordinate based on
the preferred inline size for the corresponding text boxes. Next, the base is
reflowed at the correct inline coordinate. Each paired text box is then also
reflowed at the proper inline position determined by (1) the current position of
its corresponding base and (2) its own preferred width.

In computing intrinsic widths, accounting for spacing is less complicated. The
minimum intrinsic width is the width of the widest ruby column, and the
preferred intrinsic width is the sum of all the ruby column widths. Each ruby
column width is the maximum width of its base box and text boxes. These
individual widths are determined using GetPrefISize on the base and text boxes.

Ruby base container frames store a list of pointers to the ruby text container
frames in the segment they denote. This list of pointers is created in the ruby
frame reflow method before calling the reflow method for the ruby base
container. The list exists and is used only during reflow of the main ruby frame
and is cleared before returning from reflow.
2014-08-15 10:34:20 -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 23c1664fb7 Wait for CanPlaceFrame (i.e. after reflow) to apply start-margin and test whether the frame is a last continuation and so needs its end-margin applied. Bug 999446, r=jfkthame 2014-05-20 07:04:54 -07: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
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
Simon Montagu f8a68ec80e Make nsLineBox.mBounds a LogicalRect. Bug 789096, r=jfkthame 2014-04-16 01:03:28 -07:00
Simon Montagu 2110ef8dc6 Use logical text layout API in nsLineLayout. Bug 789096, r=jfkthame 2014-03-11 13:23:50 -07:00
Carsten "Tomcat" Book b99f5df532 Backed out changeset aeff4052ef00 (bug 789096) 2014-03-11 09:22:52 +01:00
Simon Montagu 5e0cf76c45 Use logical text layout API in nsLineLayout. Bug 789096, r=jfkthame 2014-03-10 22:19:03 -07:00
Benoit Jacob 562cb87289 Bug 959380 - 1/5 - Make gfxBreakPriority a typed enum - r=jrmuizel 2014-01-23 13:26:39 -05: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
Cameron McCormack d3f6368233 Bug 864289 - Rename nsLineLayout::GetLineContainer(Frame|RS) to LineContainer\1. r=dholbert 2013-04-23 11:45:26 +10:00
Mats Palmgren db184f49e1 Bug 843931 - Make nsLineLayout::NewPerFrameData() allocation infallible. r=roc 2013-02-23 11:38:15 +01:00
Mats Palmgren d85ac931c6 Bug 843925 - Make nsLineLayout::NewPerSpanData() allocation infallible. r=roc 2013-02-23 11:38:15 +01:00
Chris Peterson 63e242521e Bug 829344 - Part 4: Fix gcc -Wlogical-op warnings from PRBool/bool conversion. r=ehsan 2013-01-10 17:56:51 -08:00
Isaac Aggrey 481e7dfb0b Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Leonard Camacho 4420e1cb45 Bug 524025 - Remove LL_* constants in nsLineLayout with separate booleans with field widths. r=dbaron 2012-09-27 21:26:40 -04:30
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 d0ad5a7d0c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Gervase Markham 82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Simon Montagu a05832e834 Implement text-align-last. Bug 536557, r=dbaron 2012-01-12 19:52:21 +02:00
Ed Morley afde8417a5 Backout 6605cc311ec5 & 9217303c2e5c (bug 536557) for M4 orange 2012-01-12 15:33:00 +00:00
Simon Montagu ad89de3591 Implement text-align-last. Bug 536557, r=dbaron 2012-01-12 16:29:20 +02:00
L. David Baron 1e5ca9ce1a Apply font size inflation to line heights. (Bug 627842, patch 11) r=roc
Since font size inflation applies to the text after style data
computation, we must separately apply this inflation to line heights.
2011-11-23 18:48:23 -08:00
L. David Baron f1feb010c8 Pass block's reflow state to nsTextFrame::UnionAdditionalOverflow. (Bug 627842, patch 8) r=roc 2011-11-23 18:48:23 -08:00
Simon Montagu 23fcb4824f Implement unicode-bidi: -moz-plaintext in layout. Bug 662288, r=roc 2011-10-18 14:51:58 +02:00
Ehsan Akhgari 92064e6d3f Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Michael Wu d2b70213ac Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Vitor Menezes 1baff11dba Bug 223764: Inlines inside inlines that draw text-decorations shouldn't alter the baseline. (r=dbaron)
We add a baseline field to nsInlineFrame and modify
nsLineLayout::BeginSpan to take a pointer to a baseline to update. This
also means that nsFirstLetterFrame no longer needs to update its own
baseline, and instead should just pass its own field along.
2011-08-03 11:30:58 -07:00
L. David Baron dd079acd74 Make nsLineLayout track two separate overflow areas. (Bug 542595, patch 7) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
Boris Zbarsky 4e33893936 Bug 580167 part 3. Make nsLineLayout call ReflowText as needed. r=dbaron 2010-08-25 14:54:47 -04:00
L. David Baron 0d14c6f6b1 In a constrained height situation, we need to reflow anything with floats. (Bug 563584, patch 25) Fixes assertion on layout/generic/crashtests/408883-1.html . r=roc 2010-08-05 21:59:20 -07:00
L. David Baron 729eb4ac32 Remove aReflowStatus parameters made unnecessary by previous patch. (Bug 563584, patch 20) r=roc 2010-08-05 21:59:20 -07:00
Robert O'Callahan c347059add Bug 549184. Track 'has nonempty content been placed on this line yet' separately from 'has nonempty, non-span content been placed on this line yet'. r=dbaron
--HG--
extra : rebase_source : fe9318ed5143fe42107a55dfdcb6c0c8fee3dae6
2010-03-10 13:14:14 +13:00
Robert O'Callahan 132bf4d93d Bug 523468. Make sure we reflow the next line when content is pushed or pulled from an inline frame. r=dbaron 2009-10-27 14:43:56 +13:00
Robert O'Callahan c3e1864c33 Backed out changeset 9f5177a978ac 2009-10-27 21:46:18 +13:00
Robert O'Callahan 182a9bcb4b Bug 523468. Force next line to be reflowed whenever we push or pull children from an inline frame. r=dbaron 2009-10-27 14:43:56 +13:00
fantasai 1f4c53a304 Bug 492627 - Remove Placeholder Continuations [Part V: Reimplement float splitting without placeholder continuations] r=roc 2009-08-31 11:25:36 -07:00
fantasai b2ea1d69bb Bug 492627 - Remove Placeholder Continuations [Part IV: Switch float layout APIs to pass float directly, without placeholder] r=roc 2009-08-31 11:25:35 -07:00
L. David Baron af28c93900 Make the quirks mode line height algorithm's check for bullets check whether there's a bullet rather than checking whether it's an HTML LI. (Bug 179596) r=roc 2009-08-10 19:48:42 -07:00
L. David Baron 4c34a1aff5 Merge InitFloat into AddFloat (on nsLineLayout and nsBlockReflowState). (Bug 25888) r+sr=roc 2009-05-20 07:21:34 -04:00
Arpad Borsos 37bfad5344 Bug 492937 - kill nsLineLayout::mPlacedFloats and related code; r+sr=roc 2009-05-14 11:31:35 +02:00
Arpad Borsos 6a3e4f01b4 Bug 492510 - Optimize nsLineLayout for memory usage; r+sr=roc 2009-05-12 10:53:06 +02:00
Jonathan Kew 68b13a1a71 Bug 475968. Eliminate NS_FRAME_OUTSIDE_CHILDREN flag, store small overflow areas cheaply within the frame. r+sr=roc 2009-04-06 12:31:50 +12:00
Masayuki Nakano 0066bb8330 Bug 338209 Make spellchecker use thicker wavy underlines instead of dotted underlines r+sr=roc 2009-04-03 16:26:28 +09:00
L. David Baron efb6f0d272 Remove PerFrameData::mFrameType, since it's write-only. (Bug 478899) r+sr=bzbarsky 2009-02-19 13:55:48 -08:00
L. David Baron c936720f0a Back out all 8 changesets that I just landed (bugs 477959, 477961, 322475, 478899, 475215, 478156) again, because Talos Try server builds lie about which changesets they're testing. 2009-02-19 09:06:18 -08:00
L. David Baron d7971aa24b Remove PerFrameData::mFrameType, since it's write-only. (Bug 478899) r+sr=bzbarsky 2009-02-19 07:29:28 -08:00
L. David Baron 3d090560b0 Revert (back out) the previous 11 changesets (bugs 477959, 477961, 477963, 477962, 322475, 478899, 475215, 478156), due to Mac talos orange with (as usual) no useful diagnostic. 2009-02-18 18:59:47 -08:00
L. David Baron d071d4e2af Remove PerFrameData::mFrameType, since it's write-only. (Bug 478899) r+sr=bzbarsky 2009-02-18 17:13:25 -08:00
Robert O'Callahan 1523a6fb34 Bug 429968. Handle situations where first-letter text detects first-letter style should not be applied, by creating a zero-length 'first letter'. r+sr=dbaron
--HG--
extra : rebase_source : 650611aec3adb1498dc5d8d6d38212ddf09e32fc
2009-01-05 13:36:56 +13:00
L. David Baron ad5d856ae6 Rename flags and methods from space manager to float manager. (Bug 191448) r+sr=roc 2009-01-04 19:39:54 -05:00
Robert O'Callahan ed30595e99 Bug 431341. Include floating first-letter text when we build textruns for a paragraph, because we want nsLineBreaker to see the text for capitalization analysis. Make sure that textrun construction for floating first-letter text uses the block as its scope. And make sure we reconstruct textruns after determining the first-letter length, so that ligatures are broken as necessary. r=smontagu 2008-07-29 22:11:26 -07:00
Simon Montagu 0185f285af Support for word-wrap CSS property. Bug 99457, r+sr=dbaron, roc 2008-07-24 10:16:18 +03:00
Mats Palmgren bd4639345b Take left border+padding into account when calculating distance from block edge for TAB. b=430926 r+sr=roc 2008-06-20 06:39:56 +02:00
Robert O'Callahan 1b6c71eabf Bug 439004. Check whether there's logically empty content already placed on the line instead of just checking whether the line has advanced horizontally. r+sr=dbaron. 2008-06-14 20:28:07 +12:00
Robert O'Callahan 4188aa979e Allow floats to be placed on the current line even after nonzero-width inline content has been placed. Fixes an Acid3 layout bug. r+sr=dbaron 2008-06-11 11:53:22 +12:00
masayuki@d-toybox.com 6e2677d193 Bug 392785 overflowed underline sometimes is not repainted at scrolling r+sr=roc b1.9=dbaron 2008-02-16 07:31:27 -08:00
roc+@cs.cmu.edu 05225fa949 Bug 400813. Text with font-size:0 should not make a line be treated as empty. r+sr=dbaron 2008-02-14 01:08:33 -08:00
roc+@cs.cmu.edu abee6630e1 backing out bug 400813 again due to reftest failure... 2008-02-11 18:48:17 -08:00
roc+@cs.cmu.edu 5c233a1d82 Bug 400813. Lines with font-size:0 content should not be treated as empty. r+sr=dbaron 2008-02-11 17:42:14 -08:00
roc+@cs.cmu.edu 0b989b691c Backing out 400813, sigh 2008-01-29 23:35:05 -08:00
roc+@cs.cmu.edu 4786a8d1cb Bug 400813. Lines with actual content that just happens to be zero-width should be treated as non-empty. r+sr=dbaron 2008-01-29 23:12:26 -08:00
dbaron@dbaron.org 5553e72c54 Remove unused height output from nsLineLayout::EndSpan. b=407086 r+sr=roc a=dsicore 2007-12-12 13:51:18 -08:00
roc+@cs.cmu.edu 095643fe53 Bug 407111. Correctly set whether a break opportunity after non-text content fits. r+sr=dbaron,a=schrep 2007-12-07 01:17:19 -08:00
dmose@mozilla.org 4ef13d4907 Backing out fix for bug 392785 as per roc + mconnor. 2007-12-04 15:32:08 -08:00
masayuki@d-toybox.com 7fc09046f2 Bug 392785 overflowed underline sometimes is not repainted at scrolling r+sr=roc, b1.9=dbaron 2007-12-02 22:51:57 -08:00
roc+@cs.cmu.edu e1da1696a2 Bug 393096. Allow an element containing breakable whitespace to introduce a break opportunity no matter what the context. Also cleans up some trimming stuff and adds comprehensive whitespace breaking and trimming reftests. r+sr=dbaron 2007-10-20 00:30:26 -07:00
tglek@mozilla.com 8cf3fb1c90 Clean up prbool misuse in layout. bug 398312, r+sr+a=dbaron 2007-10-09 17:00:05 -07:00
roc+@cs.cmu.edu 18ec94e683 Bug 392829. Clean up nsLineLayout code that's not used (or at least used differently). r+sr+a=dbaron 2007-10-01 19:36:26 -07:00
roc+@cs.cmu.edu a0ce273d02 Bug 96041. Compute precise glyph extents for high-quality text, and when requested. r=vlad,r+sr=dbaron 2007-09-23 19:19:14 -07:00
roc+@cs.cmu.edu f5ea55f8b4 Backing out due to test bustage 2007-09-22 06:28:16 -07:00
roc+@cs.cmu.edu f2b87e6c9a Bug 96041. Compute true glyph bounding metrics. r=vlad,dbaron,sr=dbaron 2007-09-22 05:43:52 -07:00
roc+@cs.cmu.edu 5fe6149b7e Bug 383551. Clean up IsInlineFrame, nsStyleDisplay::IsBlockLevel and related methods. r+sr=dbaron 2007-06-26 19:31:35 -07:00
roc+@cs.cmu.edu af01fb8e0e Bug 381130. Small changes to layout to fix an inline reflow bug and add a new API to nsLineLayout to support tab stops. r+sr=dbaron 2007-05-20 20:44:26 -07:00
roc+%cs.cmu.edu 5ea42c0e18 Bug 369227. Record the first soft break beyond the available width, if there isn't one within the available width. r+sr=dbaron 2007-02-21 01:52:03 +00:00
dbaron%dbaron.org 0e9e52586a Combine the code that tests inlines for dependence on the containing block width in order to disable resize reflow optimizations, and add to that code things that shrink wrap (inline-block, inline-table, buttons, fieldsets). Also move the percentage-height tests out, and into InitResizeFlags. b=163504 r+sr=bzbarsky 2007-01-27 18:40:26 +00:00
dbaron%dbaron.org f6245f0ed9 Change the bulk of ascent (baseline) computation to happen on a virtual method on nsIFrame, and remove the redundant descent member from nsHTMLReflowMetrics, primarily to support having both first-line and last-line baselines. b=367332 r+sr=roc 2007-01-23 04:06:56 +00:00
roc+%cs.cmu.edu 7790a961e0 Bug 333659. Relanding nsLineLayout API changes for new text code. r+sr=dbaron 2007-01-18 01:20:09 +00:00
roc+%cs.cmu.edu 49502dd9e1 Backout of nsLineLayout changes; trying to fix luna orange 2007-01-17 06:27:01 +00:00
roc+%cs.cmu.edu e8d2197c1a Bug 333659. Relanding new nsLineLayout API to make in-first-line-frame and current-nsLineBox available; should not affect anything. r+sr=dbaron 2007-01-17 03:59:32 +00:00
roc+%cs.cmu.edu 7268a1957b Backing out text landing. 2007-01-16 22:25:20 +00:00
roc+%cs.cmu.edu e6bad38abe Bug 333659. Landing new text interfaces, new gfxPangoTextRun (enabled), new textframe code (disabled). r+sr=dbaron for the part-of-the-build layout parts,r=stuart for the part-of-the-build gfx parts 2007-01-16 20:51:52 +00:00
dbaron%dbaron.org e8425e7c24 Remove nsLineLayout::mWordWidth, which should have been removed in earlier reflow branch merging. b=363232 r+sr=roc 2006-12-13 23:11:13 +00:00
dbaron%dbaron.org 31f1898810 Bug 300030: Move intrinsic width computation out of nsIFrame::Reflow and into its own methods on nsIFrame. Replace reflow reasons, types, and commands with dirty bits/notifications. Thanks to bzbarsky for almost all of the HTML form controls (mozilla/layout/forms) changes, and many others for help testing and patching. For detailed commit logs, see REFLOW_YYYYMMDD_BRANCH, where YYYYMMDD is one of 20061031, 20060830, 20060603, 20060302, 20060119, 20051011, 20050804, 20050429, 20050315, 20050111, and 20041213. 2006-12-08 05:38:33 +00:00
roc+%cs.cmu.edu 899128e82a Bug 343445. Change inline reflow strategy to avoid looking ahead through words while measuring text. r+sr=dbaron 2006-10-19 01:47:47 +00:00
bzbarsky%mit.edu 5c3e8ea185 Trim whitespace that comes right before a <br> when trimming whitespace. Bug
132561 relanding, r+sr=dbaron
2006-04-21 01:31:35 +00:00
bzbarsky%mit.edu 9a725b0dff Make line boxes have the right width when justifying. Bug 309761, r+sr=roc 2006-04-12 01:07:01 +00:00
dbaron%dbaron.org 0e88f73bc6 Single line comments to describe files (helpful in LXR) 2006-03-29 18:29:03 +00:00
rbs%maths.uq.edu.au a87237ad06 Re-checkin as it showed no impact on luna's TDHML bug 331661. Introduce a soft-break flag that means that a whitespace has been trimmed at the end of the line, and therefore its width has not been accounted for (this width can actually be large, e.g., if a large word-spacing is set). LineLayout should not be misled into placing something where the whitespace was trimmed. b=329987, r+sr=bz 2006-03-27 07:04:29 +00:00
rbs%maths.uq.edu.au a9f97d0fd5 Backing out to investigate the DHTML jump on luna, bug 331661 2006-03-27 05:21:44 +00:00
rbs%maths.uq.edu.au b622717f33 Introduce a soft-break flag that means that a whitespace has been trimmed at the end of the line, and therefore its width has not been accounted for (this width can actually be large, e.g., if a large word-spacing is set). LineLayout should not be misled into placing something where the whitespace was trimmed. b=329987, r+sr=bz 2006-03-24 22:45:05 +00:00
roc+%cs.cmu.edu 26ce4cd8a3 Bug 297537. Line layout should not set an available-height constraint on the inline frames, because they can't break vertically ... and it certainly shouldn't set the constraint based on the band dimensions. Fixes Gmail rich text toolbar layout issue. r+sr=dbaron,a=asa 2005-06-17 02:46:36 +00:00
roc+%cs.cmu.edu 87c224f2cb Bug 263825. Make paginated floats work, and other fixes. r+sr=dbaron 2005-03-23 03:35:08 +00:00