Граф коммитов

613 Коммитов

Автор SHA1 Сообщение Дата
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