Commit Graph

198 Commits

Author SHA1 Message Date
Ting-Yu Lin
357d8b7edc Bug 1322570 Part 5 - Use GetParentAllowServo() related to first letter frame. r=bz
::first-letter is not support by stylo yet. (bug 1324618)

MozReview-Commit-ID: KwQk2jhn53c
2017-03-20 14:13:32 +08:00
Boris Zbarsky
fda169de6c Bug 1343078 part 1. Give placeholders and first-letter continuations different kinds of anonymous boxes. r=dbaron
MozReview-Commit-ID: B5IHgVUo1Rp
2017-03-08 00:18:32 -05:00
Ting-Yu Lin
1d4509ad47 Bug 775624 Part 16 - Convert NS_INLINE_IS_BREAK_BEFORE to a method. r=dholbert
MozReview-Commit-ID: 8vxRpqbZNnk
2017-02-14 16:05:24 +08:00
Ting-Yu Lin
8d6d261f9f Bug 775624 Part 5 - Remove NS_FRAME_IS_COMPLETE. r=dholbert
This patch is written by the help of the following script.

function rename() {
find layout\
     -type f\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -r "s/$1/$2/g" "{}" \;
}

rename "NS_FRAME_IS_COMPLETE\(([a-zA-Z0-9.*]*)\)" "\1.IsComplete()"

MozReview-Commit-ID: GOd4y2N6dcz
2017-02-11 22:45:07 +08:00
Cameron McCormack
87f3ad6dfb Bug 1297899 - Part 6: Move RestyleManagerHandle functionality into RestyleManager. r=bholley
MozReview-Commit-ID: 7lsti0bGzNr
2017-02-13 11:21:33 +08:00
Mats Palmgren
a9f5e42437 Bug 1325355 part 2 - Rename nsIFrame::GetWritingMode to WritingModeForLine to make its purpose clearer. r=jfkthame 2016-12-31 18:16:32 +01:00
Mats Palmgren
62f5170522 Bug 1325355 part 1 - Make nsIFrame::GetWritingMode take a WritingMode param instead of calling this->GetWritingMode(). r=jfkthame 2016-12-31 18:16:32 +01:00
Jeremy Chen
89bb1c2964 Bug 1307402 - use a more precise bounding box for initial letter texts. r=jfkthame
MozReview-Commit-ID: 5OIXp0uQisn
2016-10-04 22:22:52 +08:00
Jeremy Chen
ca5095cbfd Bug 1307402 - reformat if-else-statements in nsFirstLetterFrame.cpp to agree with mozilla coding style. r=jfkthame
MozReview-Commit-ID: L9V1cEkmtkF
2016-10-04 22:22:52 +08:00
Xidorn Quan
1ada2b0d24 Bug 1260031 - Not force break before a block when calculating intrinsic width if the current line is empty and the block cannot intersect floats. r=dbaron
MozReview-Commit-ID: 9rNUDK5t5jg
2016-08-23 09:29:45 +10:00
Ting-Yu Lin
d3e8cf1818 Bug 1277129 Part 7b - Rename various ReflowState variables to ReflowInput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -r "s/$1/$2/g" "{}" \;
}

rename "([[:alpha:]]*)([rR])eflowState(s?)" "\1\2eflowInput\3"

MozReview-Commit-ID: ITFO7uMTkSb
2016-07-21 18:36:39 +08:00
Ting-Yu Lin
bb0825b5c7 Bug 1277129 Part 5c - Rename nsHTMLReflowMetrics to ReflowOutput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename "nsHTMLReflowMetrics" "ReflowOutput"

MozReview-Commit-ID: 2HBb7DkooH5
2016-07-21 18:36:38 +08:00
Ting-Yu Lin
10912a51e3 Bug 1277129 Part 1c - Rename nsHTMLReflowState to ReflowInput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename nsHTMLReflowState ReflowInput

MozReview-Commit-ID: 9r9vdVv1pXc
2016-07-21 18:36:35 +08:00
Jonathan Watt
9c5b8de022 Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Cameron McCormack
da49d92837 Bug 1268404 - Part 1: Split out ResolveStyleForText from ResolveStyleForNonElement and pass in the text node. r=bholley 2016-04-29 14:01:44 +10:00
Xidorn Quan
15df861e15 Bug 1097499 part 3 - Add a separate anonbox for text nodes. r=heycam
MozReview-Commit-ID: 1GfoFEGhyka
2016-04-22 09:18:41 +10:00
Cameron McCormack
cbb5f757f4 Bug 1248864 - Part 3: Use RestyleManagerHandle instead of concrete restyle manager class. r=dholbert 2016-02-24 18:01:12 +11:00
Cameron McCormack
471cf640eb Bug 1248864 - Part 1: Move RestyleManager.h to EXPORTS.mozilla. r=dholbert 2016-02-24 18:01:12 +11:00
Cameron McCormack
8a879b8032 Bug 1244068 - Part 4: Use StyleSetHandle instead of concrete style set class in most places. r=dholbert 2016-02-24 18:01:11 +11:00
Xidorn Quan
0f1150d793 Bug 1064843 part 5 - Ensure frames behave properly for unknown child list id passed into SetInitialChildList. r=dholbert
Note that nsMathMLContainerFrame and its subclasses are unchanged since
they are not target of fullscreen (and thus no backdrop frame), and they
have an assertion to ensure we really don't pass any unexpected list in.
2016-01-28 10:11:00 +11:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Mats Palmgren
3f92be8fe8 Bug 1148833 part 3 - Remove nsIFrame::WillReflow and add a non-virtual MarkInReflow method instead that sets NS_FRAME_IN_REFLOW. Call it at the start of Reflow(). r=roc 2015-03-29 22:38:40 +00:00
Simon Montagu
f9ca39cffa Bug 1131013: when setting the position of inline frames in vertical writing modes with right-to-left direction, subtract the inline start from the container height to get the correct vertical position. r=jfkthame 2015-02-11 01:43:03 -08:00
L. David Baron
3b0ba87212 Bug 1106755 - Make more overflow area computation code apply only to floating ::first-letter. r=jfkthame
In inline layout there's no need to do anything with overflow areas
since RelativePositionFrames handles it.  Apparently doing some of the
work messes things up somehow, so the easy fix is to make the inline
::first-letter codepath behave more like nsInlineFrame and not do any
messing with overflow areas.  So this moves the rest of the overflow
code in nsFirstLetterFrame::Reflow into the float-only codepath.  There
don't appear to be any ordering issues with the movement, since the code
that the FinishAndStoreOverflow call is moved across deals with creating
and destroying continuations of the child.

All the added tests pass with the patch, but without the patch
overflow-inline-nooverflow.html fails.
2015-01-31 11:00:44 -08:00
Xidorn Quan
660e809d5e Bug 1055667 part 2 - Remove unnecessary param of SetBSizeFromFontMetrics. r=dbaron 2015-01-15 20:02:11 +11:00
Xidorn Quan
6737561b22 Bug 1107721 - Add pointer to the base line layout in nsLineLayout. r=dbaron 2014-12-05 15:05:51 -08:00
Xidorn Quan
866c49eb53 Bug 1093998 - Make nsContainerFrame::CreateNextInFlow return the new frame instead of using an our param. r=dbaron 2014-12-01 22:03:57 -08:00
Jonathan Kew
b15e11bc92 Bug 1096260 - Convert flags parameter of nsIFrame::ComputeSize from uint32_t to a typed enum, and update callers accordingly. r=dholbert 2014-11-11 11:02:41 +00:00
L. David Baron
28a9254f8b Bug 1055865 patch 5 - Use normal inline handling for setting the size of a non-floating nsFirstLetterFrame. r=jfkthame
This is the actual fix for the bug.  This changes the vertical sizing of
inline ::first-letter frames to work like inlines (and size based on
font metrics), so that the line-height calculation that happens later
will produces the same results as inlines would produce.

In the case we're concerned with of having a text frame child that's
0x0, this changes the inline ::first-letter from from being 0x0 to
having a height that is determined from the font metrics.
2014-08-25 15:32:03 -07:00
L. David Baron
882b62c82f Bug 1055865 patch 4 - Remove bits of code that nsLineLayout takes care of. r=jfkthame
There's no need for these calls to be done in the inline ::first-letter
codepath.

In particular, nsLineLayout::ReflowFrame (called a few lines above)
calls SetRect and DidReflow, while nsLineLayout::RelativePositionFrames
(which is called at the end of inline reflow) calls
FinishAndStoreOverflow.
2014-08-25 15:32:03 -07:00
L. David Baron
24202ebeec Bug 1055865 patch 3 - Fork a bit of code between the floating and non-floating branches in nsFirstLetterFrame::Reflow. r=jfkthame
This patch makes no changes other than duplicating the code previously
after the if/else on both branches of the if/else.

The next two patches in this series will completely rewrite the half in
the non-floating (i.e., inline) codepath (the else branch).
2014-08-25 15:32:03 -07:00
L. David Baron
e0e4ba7662 Bug 1055865 patch 2 - Use separate nsHTMLReflowMetrics for reflowing the child of the nsFirstLetterFrame. r=jfkthame
This changes this code to do things in the normal way, which is to use a
separate nsHTMLReflowMetrics for each Reflow, rather than (as this code
was) reusing the one for the nsFirstLetterFrame for its text frame
child.
2014-08-25 15:32:03 -07:00
Jonathan Kew
670778f5d9 bug 1046950 pt 2 - convert ComputeSize to use logical-coordinate parameters. r=smontagu 2014-08-24 15:34:44 +01:00
Jonathan Kew
f6c74bf220 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
711a2298a4 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
c7e5b8d9dc 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
659c93475e 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
0132cc9646 Bug 789096 patch 9: use logical coordinates in nsHTMLReflowState available size. r=jfkthame 2014-07-24 01:28:46 -07:00
Mats Palmgren
02f3741436 Bug 1028460 - part 4, Remove LOGICAL_SIDE* and use the LogicalSideBits enum values instead. r=roc
CLOSED TREE
2014-06-28 10:13:14 +00:00
Mats Palmgren
57f71caceb Bug 1028460 - part 3, Change the return type for Get*SkipSides(). r=roc 2014-06-28 10:13:13 +00:00
Phil Ringnalda
650df8d81e 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
07a7e74d65 Bug 1028460 - part 4, Remove LOGICAL_SIDE* and use the LogicalSideBits enum values instead. r=roc 2014-06-28 10:13:14 +00:00
Mats Palmgren
3949ce77fb Bug 1028460 - part 3, Change the return type for Get*SkipSides(). r=roc 2014-06-28 10:13:13 +00:00
Simon Montagu
614fa9614f 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
Simon Montagu
7182a1b8b9 Replace Get/SetTopAscent with Get/SetBlockStartAscent. Bug 789096, r=jfkthame 2014-06-11 02:45:31 -07:00
Mats Palmgren
a43fc7a0a3 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
Mats Palmgren
0a664c710e 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
bebbaf8351 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
a26b4d368e Bug 508665 - part 4, Make nsCSSFrameConstructor use nsContainerFrame* for frames used as parent frames. r=roc 2014-05-24 22:20:40 +00:00
Mats Palmgren
84ce46d68c 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