Commit Graph

60 Commits

Author SHA1 Message Date
Jonathan Kew
04f08a60e2 Bug 1405148 - part 3 - Use Core Text API to check for presence of small-caps feature in AAT fonts. r=jrmuizel 2017-10-11 22:12:43 +01:00
Jonathan Kew
f25ad51b7c Bug 1405148 - part 2 - Map the 'smcp' OpenType feature to its AAT feature-selector equivalent when shaping via Core Text. r=jrmuizel 2017-10-11 22:12:43 +01:00
Jonathan Kew
2f7b2b13bf Bug 1405148 - part 1 - Make gfxFontEntry::SupportsOpenTypeFeature a virtual method, and override on MacOS for AAT fonts that we'll shape with Core Text instead of HarfBuzz. r=jrmuizel 2017-10-11 22:12:42 +01:00
Jonathan Kew
e592a806a6 Bug 1398802 - Support the AAT 'trak' table when shaping macOS fonts via Core Text. r=jrmuizel 2017-09-27 11:16:35 +01:00
Jonathan Kew
6ceb7d87f9 Bug 835204 - Accept styled font-family names as used in the legacy GDI model, for compatibility with content that assumes GDI-style font naming. r=heycam 2017-08-01 11:25:35 +01:00
Jonathan Kew
0ef13f6a7e Bug 1392659 - Activate fonts available in the macOS "Language Support" directory so that they are available in Gecko. r=jrmuizel 2017-08-24 09:33:38 +01:00
JerryShih
fcec675802 Bug 1368531 - Put the task gfxPlatformFontList::InitOtherFamilyNames() into idle queue. r=jfkthame
Add a boolean value in FindFamily() to check if gecko needs to defer the
InitOtherFamilyNames() task into idle queue.

Add a new telemetry data FONTLIST_INITOTHERFAMILYNAMES_NO_DEFERRING for the
execution time of InitOtherFamilyNames() running regularly at main thread
instead of in idle queue.

MozReview-Commit-ID: A3YPDcHtXrX
2017-08-02 20:33:00 -04:00
Sebastian Hengst
c2b9c2c204 Backed out changeset e1d538cd1cf8 (bug 1368531) for bustage on Windows: 'gfxPlatformFontList::InitOtherFamilyNamesRunnable::Cancel': overriding virtual function differs from 'mozilla::CancelableRunnable::Cancel' only by calling convention. r=backout 2017-08-02 21:12:51 +02:00
JerryShih
0138441875 Bug 1368531 - Put the task gfxPlatformFontList::InitOtherFamilyNames() into idle queue. r=jfkthame
Add a boolean value in FindFamily() to check if gecko needs to defer the
InitOtherFamilyNames() task into idle queue.

Add a new telemetry data FONTLIST_INITOTHERFAMILYNAMES_NO_DEFERRING for the
execution time of InitOtherFamilyNames() running regularly at main thread
instead of in idle queue.

MozReview-Commit-ID: A3YPDcHtXrX
2017-08-01 01:07:00 -04:00
Jonathan Kew
e899441ccb Bug 1379444 - Use generic cmap-based font fallback if platform-specific code fails to find a usable font. r=lsalzman 2017-07-13 09:40:33 +01:00
Lee Salzman
a168dcdbf3 Bug 1348980 - implement UnscaledFont API for Moz2D and thebes. r=jfkthame 2017-04-06 17:41:02 -04:00
Jonathan Kew
3e217c19d1 Bug 1349308 - Ensure we get glyph metrics via Core Text for variation fonts such as faces of SFNSText/Display. r=jrmuizel 2017-04-03 15:45:52 +01:00
Jonathan Kew
97e51a3dae Bug 1330423 - Remove redundant 'virtual' keyword from methods in the Mac font backend. r=jrmuizel 2017-01-18 20:38:04 +00:00
Jonathan Kew
eb88ca57ad Bug 1314932 - Reduce content-process startup time on MacOSX by passing the system font list from chrome to content process via the GetXPCOMProcessAttributes message. r=mstange 2016-11-15 13:58:29 +00:00
Carsten "Tomcat" Book
fd0ff57dbb Backed out changeset bc0e63d09f83 (bug 1314932) for causing merge conflicts with mozilla-central/autoland and so blocking m-i to m-c merge 2016-11-16 14:51:16 +01:00
Jonathan Kew
48a1d6a49a Bug 1314932 - Reduce content-process startup time on MacOSX by passing the system font list from chrome to content process via the GetXPCOMProcessAttributes message. r=mstange 2016-11-15 13:58:29 +00:00
Arthur Edelstein
cdccbe2abb Bug 1121643 - Add "font.system.whitelist" pref to resist font-based fingerprinting. r=jfkthame 2016-08-23 00:06:07 +00:00
Markus Stange
68f675cdf9 Bug 1279962 - Fall back to getting the CGFontRef from NSFont to support hidden system fonts on 10.12. r=jfkthame
MozReview-Commit-ID: pp9WC3twsl

--HG--
extra : histedit_source : a340d5c7758760bdcb3d86ff4aab6950844a024d
2016-07-04 15:13:34 -04:00
Jonathan Kew
c60f6a1ae4 Bug 1266391 - Introduce an enum class mozilla::unicode::Script, and use this instead of bare integers to specify script codes for better type checking. r=masayuki 2016-04-21 18:58:59 +01:00
Jonathan Kew
0a9b1ea9b9 Bug 1245811 - part 1 (based on patch by Andrew Comminos) - Replace gfxPlatformFontList::FindFamily with FindAndAddFamilies to allow for the possibility of the implementation returning multiple font families (e.g. when fontconfig has 'prefer' aliases). r=karlt 2016-04-12 07:06:22 +01:00
John Daggett
cb1a460415 Bug 1244017 - remove system font cascade for OSX. r=m_kato 2016-02-08 15:26:50 +09:00
Carsten "Tomcat" Book
c797ca6392 Backed out changeset 0e3ca319b742 (bug 1244017) for reftest failures 2016-02-05 11:19:25 +01:00
John Daggett
debbbb10f6 Bug 1244017 - remove system font cascade for OSX. r=m_kato 2016-02-05 16:46:05 +09:00
John Daggett
1634ed42e5 Bug 1240407 - assume default system font cascade for non-CJK langs under OSX. r=m_kato 2016-01-26 20:50:30 +09:00
John Daggett
bbaa509596 Bug 1212731 p2 - add system font cascade to fontlist for -apple-system generic. r=m_kato 2016-01-15 16:33:51 +09: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
f4458274bd Bug 543715 p1 - distinguish between italic and oblique. r=jfkthame 2015-10-19 11:16:43 +09:00
Phil Ringnalda
adfbc1f710 Back out 2 changesets (bug 543715) because Mulet is why we can't have nice things
Backed out changeset 2d1d8e9b095c (bug 543715)
Backed out changeset bc90276ec090 (bug 543715)
2015-10-18 11:22:22 -07:00
John Daggett
72b6bcd6d6 Bug 543715 p1 - distinguish between italic and oblique. r=jfkthame 2015-10-18 22:17:46 +09: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
1b7d8ac5fd Bug 1201318 - revise OSX system font handling. r=mstange
Rework system font lookup under OSX so that the style system passes around the same "meta" name used by Webkit, -apple-system. This makes it so that the hidden system fonts used aren't exposed to authors. It also allows us to handle the two optical sizes of font families used under OSX 10.11, which uses San Francisco as the new UI font, with one family for text sizes and another for larger, display sizes. The patch here:

  - moves system font lookup into gfxMacPlatformFontList
  - assigns the font family name to "-apple-system"
  - derives FindFamily to take a gfxFontStyle parameter to allow size-based lookups
  - maintains a list of hidden system font families (not exposed to authors)
  - maintains a mapping from -apple-system to the underlying hidden font families
2015-10-08 15:04:08 +09:00
Markus Stange
46eb0fcaa5 Bug 1201318 - Factor out AddFamily. r=jdaggett 2015-09-03 13:44:43 -04:00
John Daggett
df9bdfa193 Bug 1201403 - streamline MacOSFontEntry::HasFontTable implementation. r=jfkthame 2015-09-07 16:01:59 +09: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
Ehsan Akhgari
ffb386847f Bug 1118419 - Mark virtual overridden functions as MOZ_OVERRIDE in graphics; r=jrmuizel 2015-01-07 10:09:17 -05:00
John Daggett
49d793eefc Bug 1118601 - trim out unused pref fonts list from platform objects. r=m_kato 2015-01-07 14:29:21 +09:00
John Daggett
53967d717d Bug 1062058 part 2 - rename userfont classes and adjust flags. r=heycam 2014-09-08 16:23:20 +09:00
John Daggett
6f2c0ee7ec Bug 1062058 part 1 - avoid passing around proxy font entry object. r=heycam 2014-09-08 16:23:19 +09:00
Jonathan Kew
d132b2c66f bug 998844 - part 2 - support bundled fonts on OS X. r=jdaggett 2014-05-29 13:00:55 +01:00
John Daggett
031132973a Bug 962440 - async font info loader infrastructure with OSX implementation. r=bas 2014-01-29 16:39:01 +09:00
Josh Aas
08b001d8f0 Bug 869762: Use Core Foundation notifications instead of ATS for font changes on OS X. r=jdaggett 2013-10-15 23:53:52 -05:00
Nicholas Nethercote
70723692af Bug 921923 (part 4) - Make multi-output sizeOfFoo() functions more consistent in gfx/thebes/. r=jkew.
--HG--
extra : rebase_source : 02ddce0e34ec6619fcaf92aa30addc77bdd8b80f
2013-10-14 19:19:47 -07:00
Catalin Iacob
6f4758d23e Bug 798914 (part 5) - Use newly introduced mozilla::MallocSizeOf instead of nsMallocSizeOfFun. r=njn.
--HG--
extra : rebase_source : fc472490dd978d165f02f77ed37f07aed6e5bb61
2013-06-23 14:03:39 +02:00
Jonathan Kew
3eb1fdd857 bug 847344 - refactor gfxFont/gfxFontEntry and associated classes for more efficient use of HarfBuzz and Graphite shaper APIs. r=roc 2013-05-16 17:29:20 +01:00
Jonathan Kew
b366d014bc bug 826288 - remove the obsolete aFamily parameter from gfxFontEntry constructor. r=roc 2013-01-04 14:01:44 +00:00
Jonathan Kew
a03d1dc724 bug 821442 - eliminate the unreliable mFamily back-pointer in gfxFontEntry, and instead pass/track font family explicitly where needed. r=roc 2012-12-19 09:42:25 +00:00
Jonathan Kew
b4ef33a9cc bug 811312 - part 2 - fold CGFontEntry subclass into MacOSFontEntry. r=jdaggett 2012-11-19 10:22:10 +00:00
Jonathan Kew
9c1f586890 bug 811312 - part 1 - remove the ATSFontEntry class (not needed on 10.6 and later). r=jdaggett 2012-11-19 10:01:43 +00:00
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
Gervase Markham
82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00