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
Lee Salzman
6dc1932292
Bug 1394570 - request synthetic bold for Mac fonts with WR. r=gankro
...
MozReview-Commit-ID: JAmWZM9SOe0
2017-12-05 22:18:53 -05:00
Jeff Muizelaar
524b31d2ff
Bug 1421860. Remove unused gfxContext::SetSource.
...
This removes some state from AzureState which will
make gfxContext creation and save()/restore() cheaper
2017-11-29 23:51:52 -05: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
e264fbefb1
Bug 1416795 - Implement synthetic-oblique font rendering by applying a transform at gfxFont::Draw time, rather than setting it on the cairo font matrix. r=jrmuizel
2017-11-17 10:54:21 +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
Kartikaya Gupta
00ef028ed3
Bug 1416267 - Update gfxContext matrix functions to avoid flip-flopping between float and double matrices. r=jrmuizel
...
The core of this change is in gfxContext.*:
- change gfxContext::CurrentMatrix() and gfxContext::SetMatrix() to
return and take a Matrix respectively, instead of converting to
and from a gfxMatrix (which uses doubles). These functions therefore
will now match the native representation of the transform in gfxContext.
- add two new functions CurrentMatrixDouble() and SetMatrixDouble() that
do what the old CurrentMatrix() and SetMatrix() used to do, i.e.
convert between the float matrix and the double matrix.
The rest of the change is just updating the call sites to avoid round-
tripping between floats and doubles where possible. Call sites that are
hard to fix are migrated to the new XXXDouble functions which preserves
the existing behaviour.
MozReview-Commit-ID: 5sbBpLUus3U
2017-11-10 21:14:09 -05:00
Markus Stange
78303f13ce
Bug 1414154 - Remove GlyphRenderingOptions. r=lsalzman
...
MozReview-Commit-ID: JtwnTj1hhPV
--HG--
extra : rebase_source : 2a3e896eec8b6839097baf6e2cccc10eb162827b
2017-11-02 21:42:56 -04:00
Markus Stange
4be8be99f3
Bug 1414154 - Store the font smoothing background color on the ScaledFontMac. r=lsalzman
...
MozReview-Commit-ID: 9U6CXn1JlYT
--HG--
extra : rebase_source : eea215e1ef3345e06ea92fc150f83a4467eba31d
2017-11-02 21:02:30 -04: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
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
5ac85102ae
Bug 1408612 followup - Change a few more doubles to floats in the gfxFont drawing code paths. r=jrmuizel
2017-10-27 14:16:49 +01:00
Sebastian Hengst
c1cc60ba6f
Backed out changeset 0998d26202bd (bug 1408612) for reftest failures e.g. layout/reftests/svg/text-gradient-01.svg and layout/reftests/writing-mode/1193519-sideways-lr-decoration-1.html. r=backout on a CLOSED TREE
...
--HG--
extra : amend_source : 9939a46e37da653be63d9e9ba6a079a05851780d
2017-10-26 23:08:29 +02:00
Jonathan Kew
c9060d927c
Bug 1408612 followup - Change a few more doubles to floats in the gfxFont drawing code paths. r=jrmuizel
2017-10-26 21:00:22 +01:00
Jonathan Kew
d19ac5a103
Bug 1408612 - patch 3 - Take GlyphBufferAzure::Flush() out of the inner loop of DrawGlyphs by pre-allocating capacity for a run of glyphs to be appended. r=jrmuizel
2017-10-25 20:39:30 +01:00
Jonathan Kew
2660b7f4db
Bug 1408612 - patch 2 - Create templated gfxFont::DrawGlyphs and DrawOneGlyph methods to allow parts of their complexity to be optimized away at compile time for the most common cases (no color glyphs, no inter-glyph spacing). r=jrmuizel
2017-10-24 15:06:45 +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
Jonathan Kew
fef1726255
Bug 1361631 - patch 1 - Rearrange handling of textrun/glyph orientation so that we pass the resolved 'orientation' value of each glyph run from gfxFontGroup::InitScriptRun through to gfxFont::SplitAndInitTextRun, rather than just a boolean 'vertical' flag. (No functional change.) r=xidorn
2017-10-20 11:20:18 +01:00
Jonathan Kew
b33bbf81ff
Bug 1408611 - Use AlignedStorage2 to avoid zero-initializing the array of glyphs in GlyphBufferAzure. r=jrmuizel
2017-10-17 13:15:04 +01:00
Kris Maglione
9204ca3e99
Bug 1404198: Part 2h - Switch to NS_NewTimer* in gfx. r=njn
...
MozReview-Commit-ID: 3EUyHzdkbqH
--HG--
extra : rebase_source : 7d64b5b7ad0033e7ce6661be7993498fd9835060
2017-10-15 23:15:12 -07:00
Jonathan Kew
b5fd6b31a5
Bug 1390317 - Don't try to use the mozilla-specific cairo extension from bug 1377257 if we're building with system cairo. r=jrmuizel
2017-10-11 22:12:42 +01:00
Jonathan Kew
6cf848ce12
Bug 1402413 - If the TrueType 'hhea' table metrics resulted in negative maxDescent, assume they're probably broken and prefer metrics from the 'OS/2' table. r=jrmuizel
2017-10-11 22:12:42 +01:00
Nicholas Nethercote
d225f7151b
Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
...
(Path is actually r=froydnj.)
Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.
MozReview-Commit-ID: 91U22X2NydP
--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Alexis Beingessner
473825ab3c
Bug 1405765 - Only fallback on missing characters with size. r=jrmuizel
...
MozReview-Commit-ID: Aiae1HOXqi2
--HG--
extra : rebase_source : bc88a3555acfb2c37907cc0ee445e7a79b610f40
2017-10-04 13:55:28 -04:00
Cameron McCormack
369b0c2247
Bug 1397626 - Part 1: Add a SharedFontList class. r=xidorn
...
MozReview-Commit-ID: 9mx8HTc2CCO
--HG--
extra : rebase_source : b4f55c1071d647bc9aecb078dbe0c6c021cfca64
2017-10-02 10:21:20 +08:00
Alexis Beingessner
b5bacff9f8
Bug 1404370 - TextDrawTarget: add fallbacks for remaining cases, remove some hacks. r=jrmuizel
...
This adds fallbacks for:
* synthetic bold
* synthetic italics
* text-writing-modes
This also removes an old hack to make synthetic italics less broken.
This also prevents special opacity handling for color fonts so that webrender
gets that information.
MozReview-Commit-ID: DKiTUBR6hzy
--HG--
extra : rebase_source : 22b445d40ee46bb09d4325828a8e959d3da7a9c7
2017-09-29 12:05:34 -04:00
Alexis Beingessner
6803f63105
Bug 1400411 - text-layers: fallback if SVG fonts or tofu is found. r=jrmuizel
...
MozReview-Commit-ID: 9vUK5r5sKWB
--HG--
extra : rebase_source : 5e4c026cf6c802554772a99064898fde3b414ea8
2017-09-22 10:57:30 -04:00
Alexis Beingessner
9022c22b82
Bug 1400382 - Replace explicit TextDrawTarget passing with cast-based system. r=mstange
...
MozReview-Commit-ID: EQtFvLQCT2U
--HG--
extra : rebase_source : 1fff1b545c18d42403cf9c30172528e553a6af48
2017-09-21 15:15:58 -04:00
Alexis Beingessner
6b38993c8b
Bug 1399274 - Block invisible text optimizations when using WebRender. r=jrmuizel
...
Mostly just threading the TextDrawTarget deeper into the code to use a boolean.
A lot of places are trying to optimize away invisible text!
MozReview-Commit-ID: 89sDAwUv0HA
--HG--
extra : rebase_source : 8d800702232aec6626a33f2d6be893708d0bbfee
2017-09-13 14:05:51 -04:00
Bevis Tseng
c94ae9c213
Bug 1367497 - Part 2: Make gfxFontCache use an expiration tracker that can assert the Servo font metrics mutex is locked. r=bevis,jfkthame
...
--HG--
extra : source : 26e12505e1aebb4fff765f4248d60dac73a71c48
2017-08-15 10:04:32 +08:00
Sebastian Hengst
55ac9b6fc7
Backed out changeset 26e12505e1ae (bug 1367497)
2017-08-15 18:46:53 +02:00
Bevis Tseng
13f67fed92
Bug 1367497 - Part 2: Make gfxFontCache use an expiration tracker that can assert the Servo font metrics mutex is locked. r=bevis,jfkthame
2017-08-15 10:04:32 +08:00
Bevis Tseng
b82cc3550d
Backed out changeset 2ae749fba6a0
...
--HG--
extra : rebase_source : d111b3773db29497456484f535963f439283433b
2017-08-15 10:45:00 +08:00
Bevis Tseng
5c9d90a951
Bug 1367497 - Part 2: Make gfxFontCache use an expiration tracker that can assert the Servo font metrics mutex is locked. r=bevis,jfkthame
2017-08-15 10:04:32 +08:00
Mats Palmgren
dd2850e74c
Bug 1377257 part 2 - Use cairo_scaled_font_get_hint_metrics instead of cairo_scaled_font_get_font_options to avoid malloc/free associated with cairo_font_options_create/destroy. r=jfkthame
2017-08-14 12:35:34 +01:00
Mike Hommey
2d84a105fc
Bug 1389436 - Explicitly instantiate gfxFont::GetShapedWord<uint8_t> for its use in gfxTextRun.cpp. r=jfkthame
...
--HG--
extra : rebase_source : 5a24f298032abb0927c9daf521e7f936398958c9
2017-08-11 21:50:19 +09:00
cku
8aeea96caf
Bug 1379404 - Part 4. Prevent unnecessary AzureState copy in GlyphBufferAzure::Flush. r=mattwoodrow
...
~AzureState is expensive, especially in GlyphBufferAzure::Flush, which is a high
fan-in function.
MozReview-Commit-ID: 4JfjMje0Kgs
--HG--
extra : rebase_source : bbc2f06871d9bde9130ddb95d053d16a3f2a091d
2017-07-09 00:49:24 +08:00
cku
a647b78685
Bug 1379404 - Part 2. Prevent using gfxContext::Save/Restore in gfxFont. r=mattwoodrow
...
MozReview-Commit-ID: 7uIQDfK8gG2
--HG--
extra : rebase_source : 338a48b0c137d6b70101c5c72231d14a5100e183
2017-07-09 00:24:37 +08:00
Kartikaya Gupta
cad9534e69
Bug 1377090 - Turn gfxMatrix into a typedef for MatrixDouble. r=jrmuizel
...
Most of this patch is updating a few places that use gfxMatrix to use
the equivalent-but-differently-named functions on MatrixDouble:
- Translate/Rotate/Scale get turned into PreTranslate/PreRotate/PreScale
- Transform(Point) gets turned into TransformPoint(Point)
- gfxMatrix::TransformBounds(gfxRect) gets turned into
gfxRect::TransformBoundsBy(gfxMatrix).
- gfxMatrix::Transform(gfxRect) gets turned into
gfxRect::TransformBy(gfxMatrix).
The last two functions are added in this patch as convenience wrappers
to gfxRect instead of Matrix.h because we don't want Matrix.h to "know"
about gfxRect (to avoid adding gecko dependencies on Moz2D). Once we
turn gfxRect into a typedef for RectDouble these will be eliminated
anyway.
MozReview-Commit-ID: BnOjHzmOSKn
--HG--
extra : rebase_source : cf1692d1f0d44a4b05d684a66678739181a426d5
2017-07-05 11:18:49 -04:00
Jonathan Kew
5133782794
Bug 1364224 - Reduce refcount churn on gfxFont by using raw pointers where no strong ownership is needed. r=jrmuizel
2017-06-29 15:37:52 -07:00
Bill McCloskey
f115503a0b
Bug 1372405
- Provide names for all runnables in the tree (r=froydnj)
...
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Carsten "Tomcat" Book
8a1350b5a6
Backed out changeset 4f6302a98ae4 (bug 1372405
)
...
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bill McCloskey
6b3e84ed5f
Bug 1372405
- Provide names for all runnables in the tree (r=froydnj)
...
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book
ea1b86680c
Backed out changeset 9846de3bd954 (bug 1372405
)
...
--HG--
extra : rebase_source : 5d4a48e8ec394c329994689d938d2a6e9b2752b0
2017-06-20 08:27:02 +02:00
Bill McCloskey
4592152411
Bug 1372405
- Provide names for all runnables in the tree (r=froydnj)
...
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Jonathan Kew
fb4b3bc484
Bug 1364465 - Make shaped-word caches in gfxFont instances use fallible allocation, for a less drastic failure mode in the event of allocation failure. r=jrmuizel
2017-06-19 13:29:22 +01:00
Carsten "Tomcat" Book
b318c7dca7
merge mozilla-inbound to mozilla-central + UPGRADE_NSS_RELEASE a=merge
...
--HG--
rename : toolkit/components/extensions/test/xpcshell/xpcshell.ini => toolkit/components/extensions/test/xpcshell/xpcshell-common.ini
extra : amend_source : 458fd54fe8070ca3034ac441267ff7025adb5251
2017-05-30 11:37:46 +02:00
Xidorn Quan
ac6cc1d36a
Bug 1368418 part 3 - Remove nsCategoryImp. r=emk
...
MozReview-Commit-ID: 5qCoeqfM2s5
--HG--
extra : rebase_source : 6dc1693ce61bea4ec35469a3388c75a9fb64e5b3
2017-05-29 16:17:39 +10:00
Jonathan Kew
30cba7385b
Bug 1365278 - Remove WORD_CACHE_* telemetry probes that provide little value for their cost. r=milan
2017-05-29 16:19:36 +01:00