Commit graph

888 commits

Author SHA1 Message Date
Bogdan Postelnicu
83ca10cf0a Bug 1239251 - Initialize mCommonAncestorWithLastFrame with nullptr in constructor BuildTextRunsScanner. r=roc 2016-01-14 10:49:15 +02:00
Nicholas Nethercote
06e901cb9f Bug 1231550 - Use DrawTarget instead of gfxContext and/or nsRenderingContext in many places in font/text code. r=jfkthame.
AutoTextRun now only needs a DrawTarget instead of an nsRenderingContext, and
similar nsRenderingContext/gfxContext-to-DrawTarget replacements can be
propagated a long way up the call graph. This patch replaces 93 occurrences of
nsRenderingContext and 135 occurrences of gfxContext with DrawTarget; that's
13% of them.

The patch is mostly plumbing changes. A couple of not-entirely-plumbing
changes:

- It adds a comment about the null check in
  gfxGlyphExtents::GetTightGlyphExtentsAppUnits().

- A couple of functions simply had an unused gfxContext or nsRenderingContext
  parameter removed, e.g. SetLineBreaks().

--HG--
extra : rebase_source : 8f56994bb4d254a86788b17ab2864ebc758a7e6b
2015-12-15 13:56:41 -08:00
Nicholas Nethercote
8dba3aa24f Bug 1232822 (part 4) - Remove unused argument from SetPotentialLineBreaks(). r=jfkthame. 2015-12-15 13:56:40 -08:00
Jonathan Kew
a790163053 Bug 1224669 - Clamp width to be non-negative during intrinsic width calculation. r=dholbert 2016-01-01 10:29:27 +00:00
Xidorn Quan
83d158dae8 Bug 1235489 - Remove assertion which is breakable when reflow is interrupted. r=jfkthame
--HG--
extra : source : 34c7ffa581012f771b1324df3f7a7ab95be40c29
2015-12-31 10:50:32 +11:00
Xidorn Quan
5e810b6b20 Bug 1225018 part 2 - Move GetFontMetricsOfEmphasisMarks to nsLayoutUtils. r=jfkthame
--HG--
extra : source : e075456775a4c65a021e084a8fdc1d331343db88
2015-12-08 12:55:01 -05:00
Nicholas Nethercote
ac18a09064 Bug 1230413 (part 4) - Remove unused nsRenderingContext argument from ForceBreak() and OptionallyBreak(). r=mattwoodrow.
--HG--
extra : rebase_source : 750496661635e7db65b26c625834f2d14a1b3e59
2015-12-06 14:13:57 -08:00
Xidorn Quan
ba1aea5e03 Bug 1229739 - Use the color of shadow if available for drawing emphasis marks in shadow. r=jfkthame
--HG--
extra : source : 2e07c6f0480005fea6ea2c0343726baef39d1bc6
2015-12-04 16:28:34 +11:00
Xidorn Quan
8e300673ba Bug 1224013 part 2 - Render text-emphasis outside ruby. r=jfkthame
--HG--
extra : source : e725814ae1bb0ccdaf8852eccd3442a9103f7e3a
2015-12-04 15:16:54 +11:00
Xidorn Quan
1ed71b2fe7 Backed out 8 changesets (bug 1225018, bug 1229278, bug 1224013) for reftest failures on CLOSED TREE
--HG--
extra : amend_source : ee1d38ab6715e193cb1462614b3395c96ca06a0c
extra : histedit_source : 65b6dcb58b89c3cbcfe9a47834baf3181a2990c8%2Cc19e313c6800de1a1906c0db2f2bd4680fe67b78
2015-12-04 13:08:17 +11:00
Xidorn Quan
abc8fa2f7d Bug 1224013 part 3 - Render text-emphasis outside ruby. r=jfkthame
--HG--
extra : source : 48dcb7fee1a27fe8d925fe59534261635a67928d
2015-12-04 12:02:41 +11:00
Nicholas Nethercote
757eb4ec8c Bug 1229202 (part 3) - Make gfxContextAutoDisableSubpixelAntialiasing take a DrawTarget instead of a gfxContext. r=mattwoodrow.
--HG--
extra : rebase_source : 63851ac1725451c7607c00b345ce3334ff749246
2015-12-02 15:32:16 -08:00
Robert O'Callahan
3568d59638 Bug 1221043. Revert to including trailing whitespace for accessibility APIs. r=marcoz,mats
--HG--
extra : commitid : DBGsn68FsG4
extra : rebase_source : 7b8f6211c2719dd017fef7e47d4dcdb3aeadfde4
2015-12-01 02:21:25 +13:00
L. David Baron
f194309cac Bug 1228501 patch 3 - Remove nsFont::BaseEquals. r=jdaggett
BaseEquals and Equals were made the same by patch 2, so BaseEquals can
be removed.

(operator== is also defined as an inlined call to Equals.)

--HG--
extra : commitid : JVYtDCoxqyH
2015-11-30 14:02:25 -08:00
Carsten "Tomcat" Book
d76b6dfebd Backed out changeset 6c478d7a9467 (bug 1228501) 2015-11-30 12:10:37 +01:00
L. David Baron
6f20c9e01e Bug 1228501 patch 3 - Remove nsFont::BaseEquals. r=jdaggett
BaseEquals and Equals were made the same by patch 2, so BaseEquals can
be removed.

(operator== is also defined as an inlined call to Equals.)

--HG--
extra : commitid : ALr3bEC0aNJ
2015-11-29 23:15:02 -08:00
Xidorn Quan
b96f561251 Bug 1040668 part 14 - Add helper function nsStyleUtil::MatchesLanguagePrefix for doing simple language matching. r=dbaron
--HG--
extra : source : b9249b9e2e95cca73c7b3637a58cb1ba3a39596a
2015-11-28 11:56:33 +11:00
Xidorn Quan
6fdb9fbeaa Bug 1040668 part 10 - Implement emphasis mark rendering. r=jfkthame
--HG--
extra : source : 1c53ccbaece3931ffe1da5610977e92fcce5f3f6
2015-11-28 11:56:33 +11:00
Xidorn Quan
72495f58ae Bug 1040668 part 9 - Compute overflow from text-shadow after text decorations. r=dbaron
--HG--
extra : source : 6827c7ef262e47cd42fea6b1a90e09883a7d24dc
2015-11-28 11:56:33 +11:00
Xidorn Quan
376cdf821b Bug 1040668 part 8 - Setup text emphasis for text run. r=jfkthame
--HG--
extra : source : 4f5398b5953c0cf4d57ed0fce5788f1430a5b05d
2015-11-28 11:56:33 +11:00
Ting-Yu Lin
79afc81f6e Bug 1226875 - Remove nsIFrame::GetFirstChild(). r=mats
--HG--
extra : commitid : J8NTL74JosY
extra : rebase_source : 50a196905ac06d09fea17bb1aa17efe821cc7cbb
2015-11-26 17:12:39 +08:00
Xidorn Quan
b0bfc6460a Bug 1227001 part 3 - Remove no longer used mChangedBreaks from BreakSink. r=jfkthame
--HG--
extra : source : d279e229470cab165e28274b5e6045e2ea62f1b7
2015-11-24 10:23:05 +11:00
Xidorn Quan
a6caf098a4 Bug 1227001 part 2 - Remove no longer used mExistingTextRun from BreakSink. r=jfkthame
--HG--
extra : source : a1d68557e1c90b62a3318a81d814c21c75f45ec0
2015-11-24 10:23:05 +11:00
Xidorn Quan
03bc38abaf Bug 1227001 part 1 - Remove SetupBreakSinksFlags from BuildTextRunsScanner. r=jfkthame
--HG--
extra : source : 2ef65b73284b28557846d737f704552a2a474389
2015-11-24 10:23:05 +11:00
Jonathan Kew
022c161e17 Bug 1224230 - Explicitly store the lineContainer's writing mode in InlineIntrinsicISizeData. r=dbaron 2015-11-14 08:46:11 +00:00
Nicholas Nethercote
4f45d5edc0 Bug 1223215 (part 1) - Convert some gfx{Point,Size} to gfx::{Point,Size}. r=roc.
This lets us remove some Thebes{Point,Size}() and To{Point,Size}() calls.

--HG--
extra : rebase_source : dc7a06e70e4a63401144dc4aa67eafeb7eb37320
2015-11-08 20:19:00 -08:00
Simon Montagu
3457b582d2 Bug 1216096: restore previous RTL caret behaviour by backout of bug 1164963, bug 1177505, and bug 1180417. r=jfkthame 2015-11-10 04:42:23 -08:00
Nicholas Nethercote
8198d15f1e Bug 1038663 (part 6, attempt 2) - Allow percentage values for 'word-spacing'. r=heycam. 2015-11-08 16:40:37 -08:00
Nicholas Nethercote
3cde644d8c Bug 1038663 (part 5, attempt 2) - Change GetSpacingFlags(). r=heycam. 2015-11-08 14:49:02 -08:00
Nicholas Nethercote
9ba99963c2 Bug 1038663 (part 4, attempt 2) - Inline StyleToCoord(). r=heycam. 2015-11-08 14:49:02 -08:00
Nicholas Nethercote
163196360e Bug 1038663 (part 3, attempt 2) - Factor out space width computation. r=heycam. 2015-11-08 14:48:58 -08:00
Nicholas Nethercote
a34dc73523 Bug 1038663 (part 2, attempt 2) - Move GetFirstFontMetrics() up. r=heycam. 2015-11-08 13:52:58 -08:00
Nigel Babu
52d7459eca Backed out 6 changesets (bug 1038663) for Android opt R2 bustage
Backed out changeset 97e3492d6080 (bug 1038663)
Backed out changeset d176322f2d36 (bug 1038663)
Backed out changeset f69af9161252 (bug 1038663)
Backed out changeset 8bb77e5fad8c (bug 1038663)
Backed out changeset 954e57438f51 (bug 1038663)
Backed out changeset 16c0919101cd (bug 1038663)
2015-11-06 12:49:36 +05:30
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