Commit Graph

75 Commits

Author SHA1 Message Date
Jonathan Kew
17a2101b23 Bug 1228799 - Part 1 - Move GetTableFromFontData to gfxFontUtils as a static function, and expose FindTableDirEntry helper method. r=emk 2016-08-19 13:57:05 +01:00
Lee Salzman
dbe0c4bffe Bug 1295079 - check if FcPattern creation fails in gfxFontconfigFontEntry::CreateFontInstance. r=jfkthame
MozReview-Commit-ID: 1dFKnP4rQgx
2016-08-17 12:01:01 -04:00
Chris Peterson
4e032df4b1 Bug 1295083 - Replace PR_snprintf and s[n]printf calls with SprintfLiteral in gfx/. r=Bas 2016-08-16 15:41:12 -07:00
Lee Salzman
1bc7c6bf66 Bug 1287552 - part 4 - add ScaledFontFontconfig to remember generating FcPattern. r=jrmuizel
MozReview-Commit-ID: AbWjvL5IWCN

--HG--
extra : rebase_source : 9ac07bee30de7b2cdcca84b31c1fb00d9f529c56
2016-07-20 15:07:11 -04:00
Lee Salzman
3baf4f07b0 Bug 1279785 - check for Xft lcdfilter resource when creating fontconfig fonts. r=karlt 2016-07-20 14:18:21 -04:00
Wes Kocher
f868d85a4f Backed out changeset e749fcac8cb3 (bug 1279785) for build bustage CLOSED TREE 2016-07-20 10:59:58 -07:00
Lee Salzman
84787f181a Bug 1279785 - check for Xft lcdfilter resource when creating fontconfig fonts. r=karlt 2016-07-20 13:25:37 -04:00
Jonathan Kew
96bb44cd34 Bug 1276594 - Don't rely on the fontconfig charmap for user fonts or app-bundled fonts; check the cmap directly instead. r=karlt 2016-06-15 14:35:05 +01:00
Lee Salzman
47a00ac080 Bug 1261699 - preserve user fontconfig autohint settings in Cairo glyph rendering options. r=jfkthame 2016-04-21 11:50:08 -04:00
Jonathan Kew
2097249326 Bug 1245811 - part 2 (based on patch by Andrew Comminos) - Let gfxFcPlatformFontList return multiple families for a given name once fontconfig substitutions have been applied. r=karlt 2016-04-09 11:09:08 +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
Mike Hommey
f5e10530d9 Bug 1256988 - Fix #endif comments for MOZ_WIDGET_GTK. r=chmanchester 2016-03-17 06:49:44 +09:00
Birunthan Mohanathas
9137955c65 Bug 1235261 - Part 2: Switch some uses of AutoFallibleTArray to AutoTArray. r=froydnj
This changes some function signatures to take a nsTArray<T>& instead of a
FallibleTArray<T>& because AutoTArray does not inherit from FallibleTArray.

This is effectively a no-op because the affected array operations already use
`mozilla::fallible`.
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
53bb27f2a4 Bug 1235261 - Part 2: Switch some uses of AutoFallibleTArray to AutoTArray. r=froydnj
This changes some function signatures to take a nsTArray<T>& instead of a
FallibleTArray<T>& because AutoTArray does not inherit from FallibleTArray.

This is effectively a no-op because the affected array operations already use
`mozilla::fallible`.
2016-01-31 17:12:12 +02:00
John Daggett
03e62378ba Bug 1243226 - relax the limit on fontconfig generics. r=heycam, a=me 2016-01-27 17:21:31 +09:00
John Daggett
26be2bed4f Bug 1212731 p1 - move GetSampleLangForGroup into base class. r=m_kato 2016-01-15 16:33:51 +09:00
Chris Peterson
b94d12b3b4 Bug 1236323 - Part 1: Annotate intentional switch fallthroughs to suppress -Wimplicit-fallthrough warnings in gfx/. r=nical
gfx/thebes/gfxFcPlatformFontList.cpp:706:9: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
gfx/thebes/gfxFontconfigFonts.cpp:2183:9: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
gfx/2d/DrawTargetCG.cpp:812:5: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
gfx/2d/DrawTargetCairo.cpp:636:5: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
2015-11-24 09:39:04 -08: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
dcfcd94766 Bug 1224965 p2 - tweak the handling of generic substitutions. r=karlt 2015-11-20 13:35:15 +09:00
John Daggett
fbf9fafe6b Bug 1224965 p1 - add pref for max substitutions for generics under fontconfig. r=m_kato 2015-11-20 13:35:15 +09:00
John Daggett
fcabcac70e Bug 1163487 - sniff LANGUAGE when determining language for lang group. r=karlt 2015-11-17 11:39:58 +09:00
John Daggett
2402be3a35 Bug 1173260 - support multiple families for generics. r=heycam 2015-11-16 08:48:40 +09:00
John Daggett
d005a8f2b6 Bug 1167284 - implement localized name lookup for fontconfig font families. r=karlt 2015-11-16 08:48:36 +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
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
Chris Peterson
e7dc549743 Bug 1204400 - Fix -Wshadow warnings in gfx/thebes and suppress those from Skia headers. r=BenWa 2015-09-11 20:30:14 -07:00
Lee Salzman
01cdb40ced Bug 1004489 - propagate Cairo font AA settings to Skia font. r=gw280 2015-09-02 14:12:32 -04:00
Lee Salzman
20e9dbbf1a Bug 1186875 - check if FcFontSort returns non-null. r=jtd 2015-07-31 14:37:19 -04:00
John Daggett
1530a300ff Bug 1180415 - initialize downloadable font pattern from FTFace. r=karlt 2015-07-08 14:44:32 +09:00
Nathan Froyd
974d8120f2 Bug 1161627 - part 2 - machine-convert TemporaryRef<T> to already_AddRefed<T>; r=ehsan
This conversion was done with the script:

  find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl' | \
    egrep -v 'cairo-win32-refptr.h|RefPtr.h|TestRefPtr.cpp' | \
    xargs sed -i -e 's/mozilla::TemporaryRef</already_AddRefed</g' \
                 -e 's/TemporaryRef</already_AddRefed</g'

Manual fixups were performed in the following instances:

- We handled mfbt/RefPtr.h manually so as to not convert TemporaryRef itself
  into already_AddRefed.

- The following files had explicit Move() calls added to make up for the lack
  of a copy constructor on already_AddRefed:

  dom/base/ImageEncoder.cpp
  dom/media/MediaTaskQueue.{h,cpp}
  dom/media/webaudio/PannerNode.cpp

- A redundant overload for MediaTaskQueue::Dispatch was deleted.

- A few manual fixups were required in mfbt/tests/TestRefPtr.cpp.

- Comments, using declarations, and forward declarations relating to
  TemporaryRef in dom/canvas/ and gfx/layers/ were changed to refer to
  already_AddRefed.
2015-06-17 10:00:52 -04:00
Jonathan Kew
5f4235ae8b Bug 1174946 - Back out the (incorrectly-implemented) caching of sentinelFirstFamily from bug 1165693, which should be largely overshadowed by the mFcSubstituteCache anyway. r=jdaggett 2015-06-20 08:44:21 +01:00
Birunthan Mohanathas
94f1cfa658 Bug 968520 - Add mozilla::fallible to more FallibleTArray calls. r=froydnj
This calls were already fallible due to their type (FallibleTArray). This
commit merely makes that fact visible at the call site.
2015-06-10 14:30:41 -07:00
Jonathan Kew
c6652e9474 Bug 1165693 - patch 2 - Cache family-name lookups in gfxFcPlatformFontList::FindFamily, to avoid repeating expensive calls to FcConfigSubstitute. r=jdaggett 2015-06-10 07:23:45 +01:00
Jonathan Kew
b1b410165b Bug 1165693 - Cache the result of calling FcConfigSubstitute for our sentinel font name, to make gfxFcPlatformFontList::FindFamily less expensive. r=jdaggett 2015-06-08 07:14:06 +01:00
Eric Rahm
75c4bebb79 Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-03 15:25:57 -07:00
Eric Rahm
f50b813989 Bug 1165515 - Part 3: Convert PR_LOG_TEST to MOZ_LOG_TEST. r=froydnj 2015-06-03 15:22:28 -07:00
Carsten "Tomcat" Book
5471309381 Backed out 14 changesets (bug 1165515) for linux x64 e10s m2 test failures
Backed out changeset d68dcf2ef372 (bug 1165515)
Backed out changeset 7c3b45a47811 (bug 1165515)
Backed out changeset b668b617bef2 (bug 1165515)
Backed out changeset d0916e1283a2 (bug 1165515)
Backed out changeset ac4dc7489942 (bug 1165515)
Backed out changeset e9632ce8bc65 (bug 1165515)
Backed out changeset c16d215cc7e4 (bug 1165515)
Backed out changeset e4d474f3c51a (bug 1165515)
Backed out changeset d87680bf9f7c (bug 1165515)
Backed out changeset b3c0a45ba99e (bug 1165515)
Backed out changeset 9370fa197674 (bug 1165515)
Backed out changeset 50970d668ca1 (bug 1165515)
Backed out changeset ffa4eb6d24b9 (bug 1165515)
Backed out changeset 5fcf1203cc1d (bug 1165515)

--HG--
extra : rebase_source : 6fb850d063cbabe738f97f0380302153e3eae97a
2015-06-02 13:05:56 +02:00
John Daggett
0c467ba3dd Bug 1170421 - return first font suggested by fontconfig as the default font. r=karlt 2015-06-02 17:20:15 +09:00
Eric Rahm
a9afd68cef Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-01 22:17:33 -07:00
Eric Rahm
141e0ff4a2 Bug 1165515 - Part 3: Convert PR_LOG_TEST to MOZ_LOG_TEST. r=froydnj 2015-06-01 22:17:19 -07:00
Wes Kocher
4e9f80ed2e Backed out 14 changesets (bug 1165515) for b2g mochitest-6 permafail CLOSED TREE
Backed out changeset 9b97e2aa2ed9 (bug 1165515)
Backed out changeset 150606c022a2 (bug 1165515)
Backed out changeset 4e875a488349 (bug 1165515)
Backed out changeset 467e7feeb546 (bug 1165515)
Backed out changeset d6b6cc373197 (bug 1165515)
Backed out changeset 0615265b593c (bug 1165515)
Backed out changeset fafd1dce9f08 (bug 1165515)
Backed out changeset d1df869245f9 (bug 1165515)
Backed out changeset 6876a7c63611 (bug 1165515)
Backed out changeset b7841c94a9a3 (bug 1165515)
Backed out changeset e5e3617f7c73 (bug 1165515)
Backed out changeset 39be3db95978 (bug 1165515)
Backed out changeset 0ec74176f8de (bug 1165515)
Backed out changeset 5b928dd10d71 (bug 1165515)
2015-06-01 17:57:58 -07:00
Eric Rahm
f82c0e7caf Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-01 14:31:01 -07:00
Eric Rahm
dc090e3fe5 Bug 1165515 - Part 3: Convert PR_LOG_TEST to MOZ_LOG_TEST. r=froydnj 2015-06-01 14:31:00 -07:00
John Daggett
b07da7d9fe Bug 1167281 - sort scalable fonts first when resolving generic families under Linux. r=karlt 2015-05-27 16:19:27 +09:00
John Daggett
96dd93d2a6 Bug 1163491 - map local fontnames to fontconfig patterns. r=karlt 2015-05-27 16:19:19 +09:00