Commit Graph

58 Commits

Author SHA1 Message Date
Jonathan Kew
28a9e2cf14 Bug 1265452 - Remove use of nsAutoPtr from gfx/thebes. r=jrmuizel 2016-04-15 20:45:37 +01:00
Jonathan Kew
f269e60c82 Bug 1119619 - Allow font-selection to fall back to an alternative face within the same family if the first-found face was not Regular, to handle cases where some styled faces have a reduced character set. r=m_kato 2016-04-14 21:02:12 +01:00
Xidorn Quan
1a5d64446b Bug 1251995 part 3 - Use struct to pass params for gfxTextRun::Draw. r=jfkthame
MozReview-Commit-ID: HAqtS3VXPHH

--HG--
extra : source : e6a45ca0a21666b4e01c217e0bb42772e4dd918f
2016-03-08 15:56:18 +08:00
Xidorn Quan
b3ea3fa801 Bug 1251995 part 2 - Add gfxTextRun::Range to replace parameter pairs like (offset, length) and (start, end). r=jfkthame
Although this makes some places more complicated, code should generally
be simpler and clearer. It could slightly improve performance on x64 for
functions with more than four parameters, since it makes more data be
passed via registers rather than the stack.

MozReview-Commit-ID: D0GM2Jyrr6W

--HG--
extra : source : bd88a2e478e23edf1845f724a32fef908c8cc007
2016-03-08 15:56:18 +08:00
Xidorn Quan
ab357753a9 Bug 1251995 part 1 - Add helper functions to simplify code. r=jfkthame
MozReview-Commit-ID: 6UBvmEpo12f

--HG--
extra : source : d14cafc0e378ab7356c32a0b469ed783244aa48b
2016-03-08 15:56:18 +08:00
Carsten "Tomcat" Book
41a0c1ddb8 Backed out changeset d88221aad093 (bug 1251995) for reftest failures 2016-03-07 12:18:40 +01:00
Carsten "Tomcat" Book
b9f86983b1 Backed out changeset bf004c055beb (bug 1251995) 2016-03-07 12:18:19 +01:00
Carsten "Tomcat" Book
1d0a6281ac Backed out changeset 3f9fbbef0294 (bug 1251995) 2016-03-07 12:18:17 +01:00
Xidorn Quan
11bea4b5a2 Bug 1251995 part 3 - Use struct to pass params for gfxTextRun::Draw. r=jfkthame
MozReview-Commit-ID: HAqtS3VXPHH

--HG--
extra : rebase_source : de01c02d3baf3e8c648d6301bd6ff283d76ae212
2016-02-29 19:06:05 +08:00
Xidorn Quan
8e3206382b Bug 1251995 part 2 - Add gfxTextRun::Range to replace parameter pairs like (offset, length) and (start, end). r=jfkthame
Although this makes some places more complicated, code should generally
be simpler and clearer. It could slightly improve performance on x64 for
functions with more than four parameters, since it makes more data be
passed via registers rather than the stack.

MozReview-Commit-ID: D0GM2Jyrr6W

--HG--
extra : rebase_source : 29961e56b5fe14b244046b3dc52b1f922c206218
2016-02-29 16:50:17 +08:00
Xidorn Quan
5b1f34e2f6 Bug 1251995 part 1 - Add helper functions to simplify code. r=jfkthame
MozReview-Commit-ID: 6UBvmEpo12f

--HG--
extra : rebase_source : e967015366b727f199fe3febedc70f1f43f19725
2016-03-04 19:20:43 +08:00
Birunthan Mohanathas
d7371d07d0 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Phil Ringnalda
d381b4bca6 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas
373593275e Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +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
Nicholas Nethercote
0a1ca6ebfe Bug 1231256 (part 4) - Remove dead SetContext() declaration. r=jfkthame.
--HG--
extra : rebase_source : f06b122d91c426e655414b27ec4b2e3c2c1ca587
2015-12-07 15:19:56 -08:00
Nicholas Nethercote
02842898a0 Bug 1230413 (part 3) - Remove unused gfxContext argument from SetSpaceGlyphIfSimple(). r=jfkthame.
--HG--
extra : rebase_source : fbd23567601680bd165a72abf1ca6a70f2e3a453
2015-12-06 14:13:25 -08: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
d80f4dcc15 Bug 1040668 part 7 - Add NO_EMPHASIS_MARK flag in CompressedGlyph. r=jfkthame
--HG--
extra : source : 5c13435d3c7ffbc551350beb817a1abb027d5f58
2015-11-28 11:56:33 +11:00
Xidorn Quan
185af4c21b Bug 1040668 part 6 - Add some specifier on gfxTextRun and gfxShapedWord so that compilers are able to reason out certain optimizations. r=jfkthame
--HG--
extra : source : d1f878808c0dc8b159180f387ea563c3561c806a
2015-11-28 11:56:33 +11:00
Xidorn Quan
376e37ea32 Bug 1040668 part 4 - Add helper function for ensuring a glyph is a complex glyph. r=jfkthame
--HG--
extra : source : 8bca69909dc703b60b69eef08fa0be68e3bb16fc
2015-11-28 11:56:33 +11:00
Xidorn Quan
43a7a409cb Bug 1040668 part 3 - Add helper function gfxTextRun::GetAdvanceForGlyph. r=jfkthame
--HG--
extra : source : 48bbf945343431b077bb0e3f788828f8d1606992
2015-11-28 11:56:33 +11:00
John Daggett
b788233f65 Bug 1213280 - fix OSX font selection under 10.11. r=jfkthame 2015-11-20 22:01:12 +09:00
John Daggett
e85da43d87 Bug 1160506 - support intra-family font fallback. r=heycam
Fontconfig allows for fonts to be arbitrarily mapped into another font
family. Under some versions of Debian and Fedora, families like Droid
Sans Japanese were mapped into the Droid Sans family. To match these
font families properly, it's necessary to test multiple fonts within a
single given family. Since this is a relatively time consuming
procedure, only do this when there are multiple regular faces for a
given family.
2015-11-11 21:13:33 +09: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
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
John Daggett
84f181826e Bug 1182361 p7 - fixups based on review comments. r=heycam 2015-09-29 10:51:29 +09:00
John Daggett
72bb57d48b Bug 1182361 p4 - move pref font util methods to platform fontlist. r=heycam 2015-09-29 10:51:28 +09:00
John Daggett
f2ee55e64a Bug 1182361 p3 - move generic lookup methods to platform fontlist. r=heycam 2015-09-29 10:51:28 +09:00
John Daggett
c84b59dee7 Bug 1182361 p1 - move old generic lookup methods into gfxPangoFontGroup. r=heycam 2015-09-29 10:51:28 +09:00
John Daggett
06366cd453 Bug 1203809 - pass textperf obj into gfxFontGroup constructor. r=m_kato
--HG--
extra : rebase_source : c9e9f4765b710937b046941a15e82eaf83c86b03
2015-09-11 13:24:33 +09:00
Karl Tomlinson
31cb4902f1 bug 1180010 make some methods protected and non-virtual r=jdaggett
--HG--
extra : rebase_source : 6fa2c2e7b13d516f629c833608dcdfce4eb6ce77
2015-03-13 16:00:10 +13:00
John Daggett
07a0c560a7 Bug 1056479 p2 - implement platform fontlist based on fontconfig. r=karlt
This patch implements a derived class of gfxPlatformFontList and a set of associated objects that uses fontconfig. It's a replacement for the existing gfxPangoFontGroup and gfxFontconfigUtils code. The fontconfig API is used to lookup all fonts on the system, which are grouped by family name.

Changes due to this patch:
- font style matching, the mapping of style attributes to a specific font, is now handled by the same Gecko code that is used on other plaforms. fontconfig substitutions are handled but fontconfig style matching no longer used.
- downloadable fonts using unicode-range are now supported
- local fullname lookups are only done with the English name of the font, as per the CSS3 Fonts spec, and not only other localized fullnames
- size-specific bitmap fonts are no longer supported
- fonts lacking a Unicode character map are no longer supported
2015-05-13 14:11:25 +09:00
Carsten "Tomcat" Book
f21bf9d148 Backed out changeset 1223b73d62dc (bug 1056479) 2015-05-12 12:21:09 +02:00
John Daggett
da0662d19f Bug 1056479 p2 - implement platform fontlist based on fontconfig. r=karlt
This patch implements a derived class of gfxPlatformFontList and a set of associated objects that uses fontconfig. It's a replacement for the existing gfxPangoFontGroup and gfxFontconfigUtils code. The fontconfig API is used to lookup all fonts on the system, which are grouped by family name.

Changes due to this patch:
- font style matching, the mapping of style attributes to a specific font, is now handled by the same Gecko code that is used on other plaforms. fontconfig substitutions are handled but fontconfig style matching no longer used.
- downloadable fonts using unicode-range are now supported
- local fullname lookups are only done with the English name of the font, as per the CSS3 Fonts spec, and not only other localized fullnames
- size-specific bitmap fonts are no longer supported
- fonts lacking a Unicode character map are no longer supported
2015-05-12 17:44:16 +09:00
Carsten "Tomcat" Book
1cc8234416 Backed out 10 changesets (bug 1056479) for bustage on a CLOSED TREE
Backed out changeset d5b1f2b78915 (bug 1056479)
Backed out changeset bcc65b714dd6 (bug 1056479)
Backed out changeset 0b35e8a463d2 (bug 1056479)
Backed out changeset 0933391809c9 (bug 1056479)
Backed out changeset 93bd67204fac (bug 1056479)
Backed out changeset 5260b93eb0b9 (bug 1056479)
Backed out changeset 130bea3f8623 (bug 1056479)
Backed out changeset 408e078cc18d (bug 1056479)
Backed out changeset a651c240979d (bug 1056479)
Backed out changeset d74ae8fcaac9 (bug 1056479)
2015-05-12 08:25:19 +02:00
John Daggett
f2d632a4ef Bug 1056479 p2 - implement platform fontlist based on fontconfig. r=karlt
This patch implements a derived class of gfxPlatformFontList and a set of associated objects that uses fontconfig. It's a replacement for the existing gfxPangoFontGroup and gfxFontconfigUtils code. The fontconfig API is used to lookup all fonts on the system, which are grouped by family name.

Changes due to this patch:
- font style matching, the mapping of style attributes to a specific font, is now handled by the same Gecko code that is used on other plaforms. fontconfig substitutions are handled but fontconfig style matching no longer used.
- downloadable fonts using unicode-range are now supported
- local fullname lookups are only done with the English name of the font, as per the CSS3 Fonts spec, and not only other localized fullnames
- size-specific bitmap fonts are no longer supported
- fonts lacking a Unicode character map are no longer supported
2015-05-12 14:51:17 +09:00
Xidorn Quan
ff400fb4a5 Bug 1117227 part 5 - Render ellipsis in correct orientation. r=jfkthame
--HG--
extra : source : 4766d98091b93c120d41a5118406d82a38d9ff62
2015-04-24 10:15:32 +12:00
Mike Hommey
c39e359c7d Bug 1138293 - Use malloc/free/realloc/calloc instead of moz_malloc/moz_free/moz_realloc/moz_calloc. r=njn
The distinction between moz_malloc/moz_free and malloc/free is not
interesting. We are inconsistent in our use of one or the other, and
I wouldn't be surprised if we are mixing them anyways.
2015-03-31 12:32:49 +09:00
John Daggett
16051fe356 Bug 935862 p2 - add various userfont lookup methods. r=heycam 2015-03-06 17:44:18 +09:00
Jonathan Watt
6c3e865ef2 Bug 1136486 - Simplify the SVG text rendering callbacks by getting rid of NotifyBeforeSVGGlyphPainted and NotifyAfterSVGGlyphPainted. r=heycam 2015-02-17 22:01:54 +00:00
Jonathan Kew
986898ce38 Bug 1134216 - Preserve line-break flags properly when applying text-transform conversions. r=smontagu 2015-02-22 19:39:36 +00:00
Jonathan Kew
b77ae133f8 Bug 619521 - Part 1: Send a notification of any scripts for which font coverage is lacking. r=jdaggett 2014-12-22 16:35:54 +00:00
Xidorn Quan
2331038635 Bug 1098272 part 1 - Suppress line breaks inside ruby boxes. r=dbaron,roc
--HG--
extra : rebase_source : 2e884fd15244a265011e3241be084c5a1c6fd66e
extra : source : 0ea7212c131401abff6a097773ae93cdfa05dcde
2014-12-22 15:17:55 +11:00
Xidorn Quan
08641f507e Bug 1063857 - Improve selecting on justified characters. r=roc 2014-11-10 12:25:09 +11:00
John Daggett
6f795700cb Bug 475891 - support unicode-range when matching userfonts (non-linux). r=jfkthame 2014-11-06 13:42:50 +09:00
Jonathan Kew
0e773b6fc0 Bug 1081867 - Convert textrun metrics to physical coordinates before merging with visual-overflow region. r=smontagu 2014-10-16 09:40:19 +01:00
Carsten "Tomcat" Book
a20685ff2b Backed out changeset 1abddb50ed34 (bug 1081867) for bustage on a CLOSED TREE 2014-10-16 11:42:11 +02:00
Jonathan Kew
1428512193 Bug 1081867 - Convert textrun metrics to physical coordinates before merging with visual-overflow region. r=smontagu 2014-10-16 09:40:19 +01:00