Commit Graph

257 Commits

Author SHA1 Message Date
Tooru Fujisawa
7983faeb5d Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
Benjamin Bouvier
a7f1d173a0 Bug 1511383: Update vim modelines after clang-format; r=sylvestre
- modify line wrap up to 80 chars; (tw=80)
- modify size of tab to 2 chars everywhere; (sts=2, sw=2)

--HG--
extra : rebase_source : 7eedce0311b340c9a5a1265dc42d3121cc0f32a0
extra : amend_source : 9cb4ffdd5005f5c4c14172390dd00b04b2066cd7
2018-11-30 16:39:55 +01:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Ehsan Akhgari
ca162bee20 Bug 1508472 - Part 4: Fourth batch of comment fix-ups in preparation for the tree reformat r=sylvestre
This is a best effort attempt at ensuring that the adverse impact of
reformatting the entire tree over the comments would be minimal.  I've used a
combination of strategies including disabling of formatting, some manual
formatting and some changes to formatting to work around some clang-format
limitations.

Differential Revision: https://phabricator.services.mozilla.com/D13193

--HG--
extra : moz-landing-system : lando
2018-11-28 09:16:55 +00:00
Jeff Muizelaar
eb4806b6a3 Bug 1507021. Add a SnappedClip function to gfxContext. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D11839
2018-11-20 08:56:35 -05:00
Jeff Muizelaar
5624b1e36e Bug 1507021. Use SnappedRectangle in more places. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D11840

--HG--
extra : moz-landing-system : lando
2018-11-19 23:03:32 +00:00
Andreea Pavel
6a58f5fcea Backed out 2 changesets (bug 1507021) for android build bustages on a CLOSED TREE
Backed out changeset 026f135a667f (bug 1507021)
Backed out changeset 1b87eb56e462 (bug 1507021)

--HG--
extra : amend_source : 4d51378a27f24f3d87d9b7a206c78ff962e3b663
2018-11-15 06:35:54 +02:00
Jeff Muizelaar
9ad890c762 Bug 1507021. Add a SnappedClip function to gfxContext. r=mattwoodrow
Depends on D11840

Differential Revision: https://phabricator.services.mozilla.com/D11839

--HG--
extra : moz-landing-system : lando
2018-11-14 22:47:10 +00:00
Jeff Muizelaar
1d2422df54 Bug 1507021. Use SnappedRectangle in more places. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D11840

--HG--
extra : moz-landing-system : lando
2018-11-14 22:47:35 +00:00
Jonathan Kew
35689e0d1a Bug 1493743 - Make BuildFontList robust against an invalid FontFamilyName record with no name atom. r=lsalzman 2018-10-30 12:55:35 +00:00
Jonathan Kew
6f427d1a33 Bug 1493743 - Make AddFamilyToFontList return safely if passed a null font-family. r=lsalzman 2018-10-24 21:52:33 +01:00
Jonathan Kew
0d4dbd1e37 Bug 1490997 - Use nsAtom instead of nsString for font family name in the FontFamilyName struct, and switch its methods from 16-bit to 8-bit strings. r=lsalzman 2018-09-18 09:34:21 +01:00
Jonathan Kew
6f42f167fb Bug 1490402 - Use UTF-8 strings (in place of UTF-16) for font family/face names in the system font list, to reduce memory footprint. r=lsalzman 2018-09-12 20:34:57 +01:00
David Major
a9e8069a9b Bug 1479456: Fix some non-unified bustage in gfx/thebes. r=jrmuizel 2018-08-01 13:02:18 -04:00
Xidorn Quan
1f2e5ca9b2 Bug 1472386 - Take overflow-wrap into account when calculating min-content intrinsic size. r=jfkthame
MozReview-Commit-ID: Fu6Gbmxs4PN

--HG--
extra : rebase_source : b90c58f16c5cad717961b586fc0a6574343a5692
2018-07-09 14:54:34 +10:00
Jonathan Kew
1e3aec53f9 Bug 1422530 - Don't initiate new font downloads for a fontGroup where we've already set mSkipDrawing because we're waiting on a resource to be available. r=heycam 2018-06-27 16:12:42 +01:00
Jonathan Kew
d4b7d95206 Bug 1464400 - Keep track of CSS generics when resolving to actual font families and faces, and expose as a new CSSGeneric attribute on InspectorFontFace. r=jwatt 2018-05-25 14:07:57 +01:00
Brindusan Cristian
2c5b7db570 Backed out changeset f8dbb1d2d07c (bug 1464400) for mochitest failures on test_font_whitelist.html. CLOSED TREE 2018-06-01 19:07:24 +03:00
Jonathan Kew
0cc7412d4f Bug 1464400 - Keep track of CSS generics when resolving to actual font families and faces, and expose as a new CSSGeneric attribute on InspectorFontFace. r=jwatt 2018-05-25 14:07:57 +01:00
Emilio Cobos Álvarez
fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Jonathan Kew
a311568f05 Bug 1458301 - Unify font face selection methods to consistently use WeightStyleStretchDistance to evaluate the closeness of an available resource to a requested style. r=jwatt 2018-05-15 14:59:25 +01:00
Jonathan Kew
de265e92c7 Bug 1427660 - patch 2 - In gfxFontGroup::ComputeRanges, allow font run to include multiple match-types to avoid unnecessary interruption of font shaping. r=lsalzman 2018-05-11 08:56:25 +01:00
Jonathan Kew
288d62fe84 Bug 1427660 - patch 1 - Make gfxTextRange::MatchType an enum class for stronger type checking (no functional change). r=lsalzman 2018-05-11 08:56:12 +01:00
Chris Peterson
71422dcaa9 Bug 1457813 - Part 2: Replace non-asserting NS_PRECONDITIONs with MOZ_ASSERTs. r=froydnj
s/NS_PRECONDITION/MOZ_ASSERT/ and reindent

MozReview-Commit-ID: KuUsnVe2h8L

--HG--
extra : source : c14655ab3df2c9b1465dd8102b9d25683359a37b
2018-04-28 12:50:58 -07:00
Lee Salzman
e223d1147b Bug 1457154 - use fallback for color glyphs with transparency in WR. r=gankro
MozReview-Commit-ID: 3Z00aJs26DV
2018-05-03 22:53:55 -04:00
Jonathan Kew
e92b9e44cf Bug 1449605 - part 1 - Rearrange thebes font code so that the decision whether to apply synthetic-bold is deferred until actually instantiating a font, not made during the font-matching process. r=jwatt
This rearranges how synthetic-bold use is determined in the font selection
& rendering code. Previously, we would decide during the font-selection
algorithm whether we need to apply synthetic-bold to the chosen face, and
then pass that decision through the fontgroup (storing it in the FamilyFace
entries of the mFonts array there) down to the actual rendering code that
instantiates fonts from the faces (font entries) we've selected.

That became a problem for variation fonts because in the case of a user
font, we may not have downloaded the resource yet, so we just have a "user
font container" entry, which carries the descriptors from the @font-face
rule and will fetch the actual resource when needed. But in the case of a
@font-face rule without a weight descriptor, we don't actually know at
font-selection time whether the face will support "true" bold (via a
variation axis) or not, so we can't reliably make the right decision about
applying synthetic bold.

So we now defer that decision until we actually instantiate a platform font
object to shape/measure/draw text. At that point, we have the requested
style and we also have the real font resource, so we can easily determine
whether fake-bold is required.

(This patch should not result in any visible behavior change; that will
come in a second patch now that the architecture supports it.)
2018-05-01 10:30:50 +01:00
Ciure Andrei
33e644e1da Merge inbound to mozilla-central. a=merge 2018-04-24 04:14:21 +03:00
Alexis Beingessner
4303ce985c Bug 1403261 - enable native webrender handling of partial ligatures. r=jrmuizel,mstange
The clipping code uses gfxContext::GetClipExtents which calls gfxContext::GetDeviceOffset
and DrawTarget::GetSize. The former was previously not being intialized, while the latter
was explicitly unimplemented. This patch fixes both of those facts.

Otherwise, enabling this functionality has been made trivial by several upstream patches
in webrender (the most recent being glenn's work on unifying shadows which eliminated
the buggy text-shadow shader code that was blocking this).

MozReview-Commit-ID: B1AlG3o4XQS

--HG--
extra : rebase_source : 2043c9c781f507c5d02041420145b1a5c59c0bb2
2018-04-16 23:05:48 -04:00
Jonathan Watt
1e7f76576a Bug 1436048 part 1 - Use a user defined type for font weight everywhere. r=jfkthame,emilio
--HG--
extra : rebase_source : 2e267ff99de6f52484e34ac15c39e5ca8b473394
2018-04-13 20:34:37 +01:00
Jonathan Watt
156c4af1ec Bug 1436048: Use user defined types for font-stretch / font-style. r=jfkthame,jwatt
Co-authored-by: Emilio Cobos Álvarez <emilio@crisal.io>

MozReview-Commit-ID: 7ONYtICeAqb
2018-04-23 18:22:05 +02:00
Jonathan Watt
52623f7cef Bug 1452466 - Get rid of gfxFontStyle::ComputeWeight. r=jfkthame 2018-04-09 10:39:17 +01:00
Jonathan Kew
195f35adee Bug 253143 - Do not add letter-spacing after zero-width format controls such as ZWSP. r=jwatt 2018-03-05 21:57:57 +00:00
Jonathan Kew
cf67f1fa00 Bug 1436535 - Attempt intra-family fallback even when the first-matched face was Normal style, as other weights may have a different character repertoire. r=m_kato 2018-02-12 10:20:51 +00:00
Jonathan Kew
d477a069f3 Bug 1431305 - Handle fallback (rotated) rendering of characters with Vertical_Orientation=Tr when the font does not support them via 'vert', nor is there a vertical presentation form encoded in Unicode. r=m_kato 2018-01-19 10:46:53 +00:00
shindli
6399f1f1af Backed out changeset 33571130ef67 (bug 1431305) for failing in /text-orientation-mixed-vlr-100-ref.html on a CLOSED TREE 2018-01-19 17:56:20 +02:00
Jonathan Kew
6aa84ed3ae Bug 1431305 - Handle fallback (rotated) rendering of characters with Vertical_Orientation=Tr when the font does not support them via 'vert', nor is there a vertical presentation form encoded in Unicode. r=m_kato 2018-01-19 10:46:53 +00:00
Milan Sreckovic
099cfc4242 Bug 1423570: Use BaseRect access methods instead of member variables in gfx/ r=bas.schouten
MozReview-Commit-ID: ZGySgc9oP3

--HG--
extra : rebase_source : 23aadc10e9885002290155684b2c495780d979ce
2017-12-19 15:48:39 -05:00
Makoto Kato
153c591749 Bug 1032671 - Part 4. Font fallback should detect emoji range for color emoji font. r=jfkthame
MozReview-Commit-ID: AeqSLUU9GRH

--HG--
extra : rebase_source : 3a3d0c70072b990d83b1304eb527f30307f6e944
2017-11-12 16:36:24 +09:00
Makoto Kato
d60606ea88 Bug 1032671 - Part 2. Use font.name-list.emoji preference for emoji presenration. r=jfkthame
MozReview-Commit-ID: DbrGeXzCpNT

--HG--
extra : rebase_source : 2a824295ff9c89b243cf49675e4c5c54a7a7259d
2017-11-12 16:24:58 +09:00
Jonathan Kew
af62b14db3 Bug 1403302 - patch 3 - Remove direct cairo dependency from gfxTextRun and gfxGlyphExtents. r=bas 2017-11-23 19:40:33 +00:00
Jonathan Kew
49c97adb4e Bug 1411625 - Remove the constructor from gfxShapedText::CompressedGlyph to make it a trivial class, and provide a couple of convenience "factory" methods to create simple and complex glyph values. r=andi 2017-11-11 15:32:58 +00:00
Markus Stange
06a44912a5 Bug 1414154 - Remove gfxContext::Set/GetFontSmoothingBackgroundColor and TextRunDrawParams::fontSmoothingBGColor. r=lsalzman
MozReview-Commit-ID: BXZP3maOJRi

--HG--
extra : rebase_source : 5ba8b50835d98f78cdf854d914d61f5508edf6e3
2017-11-02 22:31:15 -04:00
Jonathan Kew
1f0b3fb8e7 Bug 1411931 - Ignore the font-size tolerance for bitmap fonts when matching font style in GetDefaultFont, as even a poor size match is better than no usable font. r=lsalzman 2017-10-31 17:33:18 +00:00
Chris Peterson
73037a0f6a Bug 1412048 - Replace NS_RUNTIMEABORT(var) with MOZ_CRASH_UNSAFE_OOL(var). r=froydnj data-review=francois
And remove unreachable code after MOZ_CRASH_UNSAFE_OOL().

MOZ_CRASH_UNSAFE_OOL causes data collection because crash strings are annotated to crash-stats and are publicly visible. Firefox data stewards must do data review on usages of this macro. However, all the crash strings this patch collects with MOZ_CRASH_UNSAFE_OOL are already collected with NS_RUNTIMEABORT.

MozReview-Commit-ID: IHmJfuxXSqw

--HG--
extra : rebase_source : 031f30934b58a7b87f960e57179641d44aefe5c5
extra : source : fe9f638a56a53c8721eecc4273dcc074c988546e
2017-10-24 23:38:38 -07:00
Jonathan Kew
0aa24e331c Bug 1412355 - Replace the mXOffset/mYOffset fields in DetailedGlyph records with a gfx::Point that stores glyph offsets in line-orientation-relative coordinates. r=jrmuizel 2017-10-30 14:55:42 +00:00
Sebastian Hengst
8968724f1a Backed out changeset 4905048de8d1 (bug 1412355) for frequently failing reftest layout/reftests/writing-mode/1248248-1-orientation-break-glyphrun.html on Linux x64 debug and asan. r=backout
--HG--
extra : amend_source : 61e56c97354c788bfd03aa551e911a1aff14006e
2017-10-28 16:39:59 +02:00
Jonathan Kew
62f09f8b17 Bug 1407114 - part 4 - Handle fallback from styled to regular face if necessary when using font-families from preferences. r=jrmuizel 2017-10-23 22:32:58 +01:00
Jonathan Kew
bbbc9da9dd Bug 1407114 - part 1 - preliminary cleanup - Remove the (unused) runScript member from the GlobalFontMatch struct, and introduce gfxFontEntry::IsNormalStyle() helper method. r=jrmuizel 2017-10-28 13:21:38 +01:00
Jonathan Kew
8397a853b8 Bug 1412355 - Replace the mXOffset/mYOffset fields in DetailedGlyph records with a gfx::Point that stores glyph offsets in line-orientation-relative coordinates. r=jrmuizel 2017-10-28 11:37:35 +01:00
Jonathan Kew
793b63713b Bug 1408612 - patch 1 - Use single-precision floats more consistently for glyph position computations when drawing text. r=jrmuizel 2017-10-24 09:59:09 +01:00