Commit graph

855 commits

Author SHA1 Message Date
Nicholas Nethercote
b7bd8564c0 Bug 1038663 (part 6) - Allow percentage values for 'word-spacing'. r=heycam.
--HG--
extra : rebase_source : b7220e3c156dfef451e79b2911fbba7dec93850d
2015-11-05 17:25:46 -08:00
Nicholas Nethercote
90b8e844aa Bug 1038663 (part 5) - Change GetSpacingFlags(). r=heycam.
Again, this doesn't make sense in isolation, but it will make it easier to
allow for percentage word-spacing in a subsequent patch.

--HG--
extra : rebase_source : 5a120273b4191ae3ac9ae0532e56eb870558d4d6
2015-11-05 16:33:37 -08:00
Nicholas Nethercote
12d49e11b3 Bug 1038663 (part 4) - Inline StyleToCoord(). r=heycam.
This doesn't make much sense by itself, but one of the call sites will be
changed in a subsequent patch.

--HG--
extra : rebase_source : 7b3bb92e6e08137434f4abd56a3b423ca82e4b0e
2015-11-04 21:10:36 -08:00
Nicholas Nethercote
a6e88b52f4 Bug 1038663 (part 3) - Factor out space width computation. r=heycam.
This will be reused in a subsequent patch.

--HG--
extra : rebase_source : 67d14767298841dbe3f38d2f7a1c89dfcec122dd
2015-11-04 18:02:40 -08:00
Nicholas Nethercote
0edc52ad5a Bug 1038663 (part 2) - Move GetFirstFontMetrics() up. r=heycam.
This is necessary for a subsequent patch.

--HG--
extra : rebase_source : 4d80215e1ee75105344db5d101cfa5d5d47ea33a
2015-11-04 18:02:20 -08:00
Jim Chen
498b10c3cb Bug 1219833 - Respect composition underline color; r=masayuki
nsTextFrame didn't use the composition underline color if the
composition didn't have a foreground color defined. This patch makes it
use the underline color if foreground color is not defined.
2015-11-03 11:53:58 -05:00
Robert O'Callahan
00af2dcc78 Bug 264412. Optimize GetRenderedText. r=mats
With these changes we're slightly faster than Chrome on the non-reflowing part of
Olli's testcase.

--HG--
extra : commitid : 75liwqsBeJY
extra : rebase_source : 34ee5d1fdfbb3b9d2ef8945f78ded935debb9106
2015-10-30 19:22:33 +13:00
Robert O'Callahan
2d8cd33dc4 Bug 264412. Refactor nsIFrame::GetRenderedText API to be more sane. r=mats,marcoz
The test changes here are to adjust for the fact that
nsTextFrame::GetRenderedText can now trim whitespace from the end of lines
that end in a hard line break.

--HG--
extra : commitid : 42YjYQUaiwY
extra : rebase_source : 69d3a9c5086c116365a0488d1b4fc52fc6524196
2015-10-30 19:23:10 +13:00
Matt Woodrow
5ff40cc89c Bug 1216851 - Allow flattening of opacity when it contains text. r=roc
--HG--
extra : rebase_source : 3861829d42298838eaa87912fa849b60b6f698e6
2015-10-23 11:22:45 +13:00
Carsten "Tomcat" Book
513d05c444 Backed out changeset 0e8e25c04938 (bug 1216851) for reftest failures 2015-10-29 13:52:29 +01:00
Matt Woodrow
bab116d797 Bug 1216851 - Allow flattening of opacity when it contains text. r=roc
--HG--
extra : rebase_source : 48b64c9ba86e89ae8d15ae05f7379fd518ca01b5
2015-10-23 11:22:45 +13:00
Jonathan Kew
c3830d77b0 Bug 1216427 - part 2 - Ensure mouse selection does not split up a Regional Indicator flag symbol. r=emk 2015-10-26 10:47:18 +00:00
Jonathan Kew
a48628058f Bug 1216427 - part 1 - Ensure a character+VS sequence or a ligated Regional-Indicator flag symbol is deleted as a single unit when backspacing. r=emk 2015-10-26 10:47:16 +00:00
Robert O'Callahan
0e2b65352f Revert incorrectly committed changes ab657569f554 and a396f4262479
--HG--
extra : commitid : IHQ60dccnSZ
extra : amend_source : 9302339fd951446a37909b31a1ccb56aff470325
2015-10-24 22:38:22 +13:00
Robert O'Callahan
ff38db98f3 Bug 264412. Refactor nsIFrame::GetRenderedText API to be more sane. r=mats,marcoz
The test changes here are to adjust for the fact that
nsTextFrame::GetRenderedText can now trim whitespace from the end of lines
that end in a hard line break.

--HG--
extra : commitid : Dn0U0KPLfbY
extra : rebase_source : 57a6ad2e3ba1f7ec6aef9b940d8facdbba7e9c91
2015-10-24 22:27:29 +13:00
Nicholas Nethercote
5957f4c9ae Bug 1038663 (part 1) - Make nsStyleText::mWordSpacing an nsStyleCoord. r=heycam.
This makes mWordSpacing a lot more like mLetterSpacing, while maintaining the
existing "'normal' computes to 0px" behaviour.

--HG--
extra : rebase_source : d3273f60d4de6a9a0f05f1dbf2ed095f0f7e6c0e
2015-10-21 22:13:11 -07:00
Nathan Froyd
01583602a9 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

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nicholas Nethercote
a37228e1fe Bug 1207944 (part 4) - Use SetColor(const Color&) when setting from an nscolor. r=jwatt.
In various places SetColor() gets passed an nscolor. These are converted
(either implicitly or explicitly) to a gfxRBGA, and then to a gfx::Color.

This patch changes all these cases to avoid the middle step, by (a)
constructing a gfx::Color directly instead of an nscolor, or (b) by converting
an nscolor with Color::FromABGR().

--HG--
extra : rebase_source : ae423a422b37ada8ca0cb6f130350b4a71d58fc4
2015-09-23 23:41:30 -07:00
Jonathan Kew
a58c826891 Bug 1193519 pt 4 - Reverse the direction of text-decoration offsets in sideways-lr mode. r=dholbert 2015-09-24 10:23:34 +01:00
Jonathan Kew
558835b15e Bug 1193519 pt 3 - Handle writing-mode:sideways-lr in nsTextFrame selection and rendering. r=dholbert 2015-09-24 10:23:34 +01:00
Nicholas Nethercote
6f036921dc Bug 1203427 (part 1) - Add nsExpirationTracker::mName. r=froydnj.
There are many sub-classes of nsExpirationTracker. In order to distinguish them
nicely in the logging of timer firings, it's necessary to manually name each
one. (This wouldn't be necessary if there was a way to stringify template
parameters, but there isn't.)

--HG--
extra : rebase_source : 89b99e9dbb2a806bd21145d04a5e023794643b61
2015-09-09 21:07:07 -07:00
Masayuki Nakano
0882629f91 Bug 299603 part.5 nsTextFrame should use system foreground or background color when painting IME selections if whose style defines only one of foreground color or background color r=roc 2015-08-19 16:37:39 +09:00
Masayuki Nakano
f40421a26b Bug 299603 part.4 Some global methods in nsTextFrame.cpp should be members of nsTextFrame class r=roc 2015-08-19 16:37:39 +09:00
Xidorn Quan
8c9c798a7f Bug 1186721 - Suppress line break due to soft hyphen inside ruby. r=jfkthame
--HG--
extra : source : dfcc7df95f21d7b22705ebb24b9f693d70989167
2015-08-13 22:39:51 +10:00
CJ Ku
009a82453e Bug 1061393 - Export display list info to layer scope viewer. r=kamidphish 2015-08-03 02:11:00 -04:00
Ted Clancy
0f306bbcf3 Bug 1180417 - Part 2: Fix failure in layout/base/crashtests/942690.html. r=smontagu 2015-07-17 18:29:28 -03:00
Ted Clancy
adde1f1a09 Bug 1180417 - Part 1: Put back optimizations for determining end of flow. r=smontagu 2015-07-17 18:29:25 -03:00
Cameron McCormack
d2c7d17fac Bug 1057921 - Don't propagate text decorations through outer <svg> elements. r=dholbert 2015-07-15 14:41:06 +10:00
Tim Taubert
90b163c879 Bug 834830 - Add nsISelectionController.SELECTION_URLSTRIKEOUT to enable striking out parts of the URL in the URL bar r=roc 2015-07-08 15:45:21 +02:00
Daniel Holbert
cb57b1ad8c Bug 1177925: Use range-based "for" loops for nsFrameList iteration, in various places in layout. r=tn 2015-06-29 13:02:21 -07:00
Masayuki Nakano
1b42eb60f1 Bug 1175789 Draw underline as overline when it's in vertical writing mode and the language is Japanese or Korean r=dbaron 2015-06-24 09:35:04 +09:00
Ted Clancy
35a963f9e9 Bug 1164693 - part 3: Exclude optimizations that don't apply to preformatted paragraphs. r=smontagu 2015-06-20 08:52:34 -07:00
Ted Clancy
20737c09c6 Bug 1067788 - Part 1: Don't invalidate bidi cursor directionality during a delete. r=smontagu
--HG--
extra : rebase_source : e7800dac174b1bd155dc2630a410f55eadef0f6b
2015-06-01 15:19:57 -04:00
Birunthan Mohanathas
470bd9148f Bug 968520 - Add mozilla::fallible to FallibleTArray::AppendElements calls. r=froydnj 2015-05-28 11:07:43 -07:00
Xidorn Quan
21b619291a Bug 1149009 - Suppress line break inside text frame if it is directly contained by ruby content box. r=dbaron
--HG--
extra : source : 27743ccd4b9be84847c7eb6590adcf96fb424999
2015-05-04 09:52:53 +12:00
Jonathan Kew
861e6a44ed Bug 1157951 patch 2 - Make nsCharClipDisplayItem aware of vertical writing modes. r=roc 2015-04-29 08:18:53 +01:00
Jonathan Kew
ed4f94f6c0 Bug 1157951 patch 1 - Rename fields and variables in nsCharClipDisplayItem etc using VisIStart/End instead of left/right. r=roc 2015-04-29 08:18:53 +01:00
Jonathan Kew
cdd4e7ba24 Bug 1155261 - Fix computation of glyph extents and text-frame visual overflow for vertical text frames. r=smontagu 2015-04-27 09:45:55 +01:00
Jonathan Kew
577029853b Bug 1154227 - Fix the painting of text-shadow in vertical writing modes. r=smontagu 2015-04-27 09:35:59 +01:00
Xidorn Quan
065df6bd63 Bug 1117227 part 3 - Make nsTextFrame::MeasureCharClippedText use frame isize instead of width. r=roc
--HG--
extra : source : 235e6a1f915ea38fd4dc9c966d3a619bca6b3e59
2015-04-24 10:15:32 +12:00
Xidorn Quan
b7d5622b6a Bug 1153634 - Weaken the assertion condition to make it match the condition before. r=roc
--HG--
extra : source : 5c7523cabf470da3aa4b1a6434b9dbc7521c85f4
2015-04-14 09:11:28 +12:00
Jonathan Kew
0aaa1c57da Bug 1146754 - Show selection highlighting for trailing space. r=mats 2015-04-01 14:45:16 +01:00
Mike Hommey
b077d9624d Bug 1134920 - Use moz_xmalloc/moz_xrealloc/free instead of nsMemory::Alloc/Realloc/Free. r=nfroyd 2015-04-01 13:51:45 +09:00
Mats Palmgren
ed9ed2d61a 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
Ehsan Akhgari
883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -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 MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Xidorn Quan
99e52bd419 Bug 1143558 part 2 - Convert suppressed line break to whitespace. r=roc
--HG--
extra : source : df417e029054082fdb07fdf918ce178e0e085bca
2015-03-17 19:10:15 +11:00
Xidorn Quan
25df7941eb Bug 1143558 part 1 - Fix line break suppression when newline is significant. r=roc
--HG--
extra : source : c700ba786622769700d740c6761ca5a66879b761
2015-03-17 19:10:15 +11:00
Xidorn Quan
3bddba82c5 Bug 1141842 - Add LastOptionalBreakPriority to nsLineLayout to simplify some code. r=roc
--HG--
extra : source : 99f9967c5eef6b1d032ae0b3b778a06b28e21d07
2015-03-11 14:14:48 +11:00
Xidorn Quan
e89adacefb Bug 1140264 part 3 - Rename IsInlineDescendantOfRuby to ShouldSuppressLineBreak and exclude rbc/rtc from it. r=dbaron
--HG--
extra : rebase_source : b782506792fd47e41c694a49fca3967282c96113
extra : source : 9836c81fe7d401432856491dc65c38b150e5e157
2015-03-11 10:28:21 +11:00
L. David Baron
10fa0b3d2f Bug 1140486 patch 2 - Make nsTextFrame::UpdateOverflow include the visual overflow from the text metrics by calling existing RecomputeOverflow. r=jfkthame
UpdateOverflow and RecomputeOverflow need to remain two separate
functions since RecomputeOverflow is called from line layout, prior to
setting the overflow areas, whereas UpdateOverflow needs to reset the
overflow areas and (via its return value) propagate the change to
ancestors.  However, they should share more code than they do today.

The only substantive (non-error-handling) change this is making is that
it's adding the MeasureText call, manipulation of the resulting
boundingBox, and inclusion of that bounding box in the visual overflow.
This is exactly the change that I'm trying to make in this bug.

It's also changing the error handling if EnsureTextRun returns null, but
I don't think we need to worry about that case much.
2015-03-07 12:27:36 -08:00