34 Commits

Author SHA1 Message Date
Jonathan Kew
4b5525bbf7 Bug 1362167 - Use strongly-typed enum classes instead of generic uint16_t fields for the gfxShapedText and gfxTextRun flags. r=jrmuizel 2017-05-04 22:27:05 +01:00
Jonathan Kew
6fc5313103 Bug 1362167 - Split gfxShapedText.mFlags into two 16-bit flags fields, and arrange storage more compactly to reduce size of gfxShapedWord and gfxTextRun objects. r=jrmuizel 2017-05-04 22:25:16 +01:00
Jonathan Kew
95a82f84cc Bug 1280887 - patch 2 - Make gfxTextRun refcounted, replace usage of UniquePtr<> with RefPtr<> for textruns, and make nsTextFrame hold a strong reference to its run(s). r=mats 2016-08-19 13:14:22 +01: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
040843e80f Bug 1266341 - Pass the right kind of enum constants for script codes. r=masayuki 2016-04-21 16:31:46 +01:00
Jonathan Kew
cb1c20b3c3 Bug 1265459 - Replace uses of nsAutoPtr<gfxTextRun> with UniquePtr, and let MakeTextRun and similar methods return a UniquePtr. r=jrmuizel 2016-04-19 17:13:28 +01:00
Xidorn Quan
60bcaa5c0b Bug 1257121 part 4 - Use return value rather than out param to return font metrics. r=jfkthame
MozReview-Commit-ID: 6xrHYbgHGVd

--HG--
extra : rebase_source : 4d0cea24689588d8a1daa1869502e31ac7c3dc56
2016-03-17 13:55:48 +08:00
Xidorn Quan
f4ef02b391 Bug 1257121 part 1 - Use struct for passing some params of font metrics. r=jfkthame
MozReview-Commit-ID: FTJlYS3bbTa

--HG--
extra : rebase_source : f3df5f8ebe3f223abc62dc1ae1bf5f7830d63ab8
2016-03-21 11:59:36 +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
Carsten "Tomcat" Book
b9f86983b1 Backed out changeset bf004c055beb (bug 1251995) 2016-03-07 12:18:19 +01: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
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
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
Cameron McCormack
af83082186 Bug 1067755 - Store relevant style data rather than style context pointers on transformed text runs. r=jdaggett 2015-02-10 21:30:25 +11:00
Carsten "Tomcat" Book
f760432a03 Backed out changeset cab2c930fa02 (bug 1067755) for static analysis build bustage 2015-02-10 11:15:33 +01:00
Cameron McCormack
40ade93e4b Bug 1067755 - Store relevant style data rather than style context pointers on transformed text runs. r=jdaggett 2015-02-10 20:35:59 +11:00
Frédéric Wang
b60cd30c4b Bug 619521 - Part 3: Send a notification for missing math fonts. r=jkitch 2014-11-11 02:37:00 -05: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
Jonathan Kew
a896eab424 Bug 1108616 - part 2 - Add an explicitLanguage field to gfxFontStyle, and pass it down from callers. r=dbaron 2014-12-23 12:50:10 +00:00
James Kitchener
391052cbf2 Bug 1002526 - Part 3 - MathMLTextRunFactory needs to now about font inflation. r=roc 2014-11-05 11:58:00 +01:00
Ehsan Akhgari
ee4122c03a Bug 1079324 - Fix some more bad implicit constructors in layout; r=dholbert 2014-09-24 09:16:53 -04:00
Jonathan Kew
4a06c41b0a Bug 1065002 pt 2 - Add an orientation field to nsFontMetrics. r=jdaggett 2014-09-30 07:38:35 +01:00
Jonathan Kew
87cc3a2642 Bug 727276 - Use emoji-style variation selector to help GetCommonFallbackFonts make an appropriate choice. r=roc 2014-09-30 07:27:55 +01:00
James Kitchener
8caa56278b Bug 1069929 - Apply dtls font feature setting for <mover> elements. r=roc 2014-09-24 04:38:00 -04:00
Georg Fritzsche
83f0c5bfb7 Bug 1067989 - Unify some more binary search uses. r=waldo 2014-09-17 15:46:24 +02:00
James Kitchener
b2fb4cec97 Bug 1043358 - Fix up font caching in MathMLTextRunFactory. r=roc 2014-08-22 03:48:00 -04:00
John Daggett
7ff1a8d144 Bug 975744 - unprefix font-feature-settings and font-language-override in tests. r=jfkthame 2014-08-20 16:54:37 +09:00
James Kitchener
612aae5f53 Bug 1027354 - Fix fontweight and fontstyle on single char <mi>. r=roc 2014-06-25 05:20:00 -04:00
Frédéric Wang
2ec405ffcc Bug 930504 - When possible, use character substitution for basic mathvariants. r=karlt 2014-05-15 02:50:00 -04:00
James Kitchener
3a014bfa5f Bug 442637 - Apply ssty font feature setting to appropriate MathML elements. r=roc
--HG--
rename : layout/generic/MathVariantTextRunFactory.cpp => layout/generic/MathMLTextRunFactory.cpp
rename : layout/generic/MathVariantTextRunFactory.h => layout/generic/MathMLTextRunFactory.h
2014-01-15 09:49:20 -05:00