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

7599 Коммитов

Автор SHA1 Сообщение Дата
Xidorn Quan 98bfde7521 Bug 1458159 - Use rounding instead of ceiling on max{Ascent,Descent} for DWriteFont. r=jfkthame
The ceiling was introduced in bug 549190 for improve the consistency of
underline positioning. However, removing ceiling now doesn't seem to
regress the testcases in that bug, probably thanks to improvement in
other part.

The ceiling here causes us to have different font metrics than other
browsers on Windows, and can lead to webcompat issue. We also don't do
this for other backends. So it's probably better removing it in favor
of rounding.

There are several test changes:

* min-intrinsic-with-percents-across-elements.html changes result due to
  height of wrapping div in reference page depends on line height, so a
  fixed line height is set to work around the issue.

* 368020-1.html changes result because a slightly different line-height
  triggers bug 1462514. It is changed to use fixed line-height to work
  around the issue.

* 456147.xul is disabled because it compares XUL against HTML page, but
  XUL has different approach to position text in its elements than HTML.
  Specifically, XUL elements don't seem to respect line height while
  HTML elements do. The original line height in the file was probably
  chosen to make the HTML match XUL, so it seems to be non-trivial to
  fix it in a platform-independent way.

* sizing-orthog-{vlr,vrl}-in-htb-{008,020}.xht fails due to text in <p>
  after the testing block shifts 1px up for unknown reason.

MozReview-Commit-ID: 2WJG1AigWl1

--HG--
extra : rebase_source : 540e68ffff618a6dc3c14b3702b2c042988061a3
2018-05-01 15:18:55 +10:00
Andreea Pavel 5298f758aa Backed out changeset 5352d48512f7 (bug 1458159) for failing reftest min-intrinsic-with-percents-across-elements.html == min-intrinsic-with-percents-across-elements-ref.html on a CLOSED TREE 2018-05-21 13:00:19 +03:00
Andreea Pavel 8940bb6982 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-05-21 12:48:54 +03:00
sotaro 05f073e8e4 Bug 1462555 - Remove gfxWindowsPlatform::mFeatureLevels r=jrmuizel 2018-05-21 10:11:52 +09:00
Martin Stransky fe32ede1ef Bug 1462622 - [Gtk/Linux] Don't use GLXVsyncSource() on non-X11 displays, r=lsalzman
MozReview-Commit-ID: BBtnNLWqSiq

--HG--
extra : rebase_source : acfa0304f51291a7c1eed57a56d48f961b9dc42d
2018-05-18 14:44:30 +02:00
Xidorn Quan d8a44ee949 Bug 1458159 - Use rounding instead of ceiling on max{Ascent,Descent} for DWriteFont. r=jfkthame
The ceiling was introduced in bug 549190 for improve the consistency of
underline positioning. However, removing ceiling now doesn't seem to
regress the testcases in that bug, probably thanks to improvement in
other part.

The ceiling here causes us to have different font metrics than other
browsers on Windows, and can lead to webcompat issue. We also don't do
this for other backends. So it's probably better removing it in favor
of rounding.

There are several test changes:

* min-intrinsic-with-percents-across-elements.html changes result due to
  height of wrapping div in reference page depends on line height, so a
  fixed line height is set to work around the issue.

* 368020-1.html changes result because a slightly different line-height
  triggers bug 1462514. It is changed to use fixed line-height to work
  around the issue.

* 456147.xul is disabled because it compares XUL against HTML page, but
  XUL has different approach to position text in its elements than HTML.
  Specifically, XUL elements don't seem to respect line height while
  HTML elements do. The original line height in the file was probably
  chosen to make the HTML match XUL, so it seems to be non-trivial to
  fix it in a platform-independent way.

* sizing-orthog-{vlr,vrl}-in-htb-{008,020}.xht fails due to text in <p>
  after the testing block shifts 1px up for unknown reason.

MozReview-Commit-ID: 2WJG1AigWl1

--HG--
extra : rebase_source : 6c61fa95a3b01e7b439be46a2498b4f893d8b84b
2018-05-01 15:18:55 +10:00
Jonathan Kew a482ff352e Bug 1412882 - Rework gfxFontUtils::MapCharToGlyphFormat4 to be more robust. r=lsalzman 2018-05-19 08:32:22 +01:00
Ryan Hunt fff38caff1 Bug 1458480 - Add a skia memory reporter and report on font cache usage. r=lsalzman, r=njn
--HG--
extra : rebase_source : 399b5be69d5c56d48bc15447f447f9c79c116c04
extra : amend_source : 3ccaab165dd48064366ed50bc3688d348362010a
extra : histedit_source : c606b880ac8dabbc4e824323146918ea4e5073ae
2018-05-14 16:47:01 -05:00
Jonathan Kew a4df82c15c Bug 1460858 - Fix serialization/deserialization of SlantStyle for the Android startupCache, to ensure proper styled face selection. r=jwatt 2018-05-17 14:44:37 +01:00
Narcis Beleuzu 2a7f77fea4 Backed out changeset 4d6aa78bf59d (bug 1460858) for Android mochitest failures on test_font_whitelist.html. CLOSED TREE 2018-05-17 18:53:28 +03:00
Jonathan Kew 39f95c038d Bug 1460858 - Fix serialization/deserialization of SlantStyle for the Android startupCache, to ensure proper styled face selection. r=jwatt 2018-05-17 14:44:37 +01:00
sotaro 196c70b995 Bug 1437334 - Block DX NV12 on SandyBridge for old graphics drivers r=jrmuizel 2018-05-17 12:07:20 +09:00
Ryan Hunt 95f916f190 Bug 1461775 - Create paint worker threads in response to a device reset instead of preemptively. r=bas
--HG--
extra : rebase_source : 83f98d01b416c8ac52c36809416be92d94120463
2018-05-15 13:36:11 -05:00
Jan-Ivar Bruaroey ab5ccac300 Bug 1463230 - Fix compile error on abs(float). Use std::abs() instead. r=jfkthame
MozReview-Commit-ID: 16wgbMcFjeT

--HG--
extra : rebase_source : 4c68184255714c5021fb11df409c6b5e047e1a4c
2018-05-21 15:18:09 -04:00
Jonathan Kew 2579d09699 Bug 1458301 followup #2, also use explicit namespace for std::isinf. r=preemptive bustage fix on CLOSED TREE 2018-05-15 15:37:45 +01:00
Jonathan Kew 35c8691c6f Bug 1458301 followup, use explicit namespace for std::isfinite to fix build failure on some platforms. r=bustage fix on CLOSED TREE 2018-05-15 15:32:33 +01:00
Jonathan Kew 94bd85ef62 Bug 1460764 - patch 2 - Include variationSettings in the gfxFontStyle hash value. r=jwatt 2018-05-15 14:59:26 +01:00
Jonathan Kew 54a3761450 Bug 1460764 - patch 1 - Avoid undefined behavior in gfxFontStyle::Hash() when sizeAdjust is -1.0f. r=jwatt 2018-05-15 14:59:26 +01:00
Jonathan Kew 526ed0b391 Bug 1457417 - Work around Core Text mishandling of 'opsz' axis when set to the font's default, by adjusting to a fractionally-different setting. r=jwatt 2018-05-15 14:59:26 +01: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
Csoregi Natalia 334f27e152 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-05-15 12:56:29 +03:00
Jonathan Kew e97648d28e Bug 1461452 - Clear the cached emoji font-list pref in response to a pref change or font-list rebuild. r=m_kato 2018-05-15 10:17:12 +01:00
Adrian Wielgosik 4fca802957 Bug 1460940 - Convert NS_NewDOMDocument to use nsIDocument. r=bz
MozReview-Commit-ID: GoJ30YZGRhq

--HG--
extra : rebase_source : 0995705c2c31c1a779c22c8336482d4c7e89e319
2018-05-11 19:46:15 +02:00
Jonathan Kew dba372ac43 Bug 1396450 - Don't apply ToLowerCase to font feature identifiers used in @font-feature-values rules, as the spec says they're case sensitive. r=xidorn 2018-05-14 10:05:25 +01:00
Jed Davis bfc90a5627 Bug 1401776 - Raise fd limit to 4096 on Unix. r=glandium,mcmanus
This is to accommodate non-networking fd usage (IPC transports, various
databases, .xpi files, etc.), so it's separate from Necko's existing
manipulation of the fd limit, which is tied into Necko's internal limits
on how many sockets it will try to poll at once.

Note that resource limits are inherited by child processes, so this needs
to be done only in the parent.

This patch also removes similar code used on Solaris and Mac OS X.  The
Mac case (bug 1036682) refers to fd use by graphics textures, which
shouldn't be consuming fds anymore (even transiently) as of bug 1161166.

MozReview-Commit-ID: 2uodrkW5sUn

--HG--
extra : rebase_source : 5306f4995000459b89bed048ecafba3c262bbbdf
2018-05-10 17:36:32 -06:00
Margareta Eliza Balazs b51d5aed5d Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-05-11 12:44:53 +03:00
Margareta Eliza Balazs 4f9a2ba08e Merge inbound to mozilla-central. a=merge 2018-05-11 12:36:02 +03: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
YUKI "Piro" Hiroshi dd7b3aab39 Bug 1457395 - Fix typo "proces" in comments. r=milan
--HG--
extra : amend_source : 36cf036803ff9bffaebb66fc31ff7b960f0c7509
2018-05-10 16:56:09 +09:00
Brendan Dahl 0cc1c8ec9b Bug 221706 - Use unwritable region when printing on Windows. r=jimm
Read more information from the printing device to setup the unwritable region.
Translate the printing context's coordinate system so that the point (0,0)
refers to the top-left of the physical paper instead of the top-left of the
printable region.

MozReview-Commit-ID: 9ei2FgEUDyO

--HG--
extra : rebase_source : c2e2715f47499538035101a285152eca2aba3202
2018-03-28 17:13:10 -07:00
Dorel Luca 2f3e1241e7 Merge mozilla-central to autoland. CLOSED TREE
--HG--
extra : amend_source : b3e2947586dd2ed9dbe52aabb06808d4ac8dbfff
2018-05-11 01:02:37 +03:00
Jonathan Kew 47a41be37b Bug 1460543 - Check for null (default) style parameter in gfxDWriteFontEntry::CreateFontFace before dereferencing it. r=jwatt 2018-05-10 14:45:19 +01:00
YUKI "Piro" Hiroshi 3983d5f82f Bug 1457400 - Fix typo "ELG" to "EGL", r=milan
There is misspelled "GLContextProviderELG".
2018-05-10 16:48:07 +09:00
Kartikaya Gupta 6eea99c630 Bug 1432515 - Restrict gfx.webrender.{all,enabled} to nightly, and only allow enabling via .all.qualified on beta and release. r=milan
This ensures that only people with qualified hardware can flip prefs to
enable WebRender on beta and release. Nightly users will still be able
enable WebRender on unqualified hardware.

MozReview-Commit-ID: E5sgzZhuX4p

--HG--
extra : rebase_source : a4e85e71e4d85b5d9f1e17c1413ca9690349f75a
2018-05-09 15:24:38 -04:00
Jonathan Kew 9c8f263093 Bug 1458004 - Link font-style values italic / oblique to the appropriate variation-font axes or synthetic styling. r=jwatt 2018-05-09 13:49:24 +01:00
Andrew Osmond d19566e09c Bug 1454149 - Do not advance animated images which are not displayed. r=tnikkel
All animated images on a page are currently registered with the refresh
driver and advance with the tick refresh. These animations may not even
be in view, and if they are large and thus cause redecoding, cause a
marked increase in CPU usage for no benefit to the user.

This patch adds an additional flag, mCompositedFrameRequested, to the
AnimationState used by FrameAnimator. It is set to true each time the
current animated image frame is requested via
FrameAnimator::GetCompositedFrame. It is set to false each time the
frame is advanced in FrameAnimator::AdvanceFrame (via
FrameAnimator::RequestRefresh). If it is true when
FrameAnimator::RequestRefresh is called, then it will advance the
animation according to the normal rules. If it is false, then it will
set the current animation time to the current time instead of advancing.

This should not cause the animation to fall behind anymore or skip
frames more than it does today. This is because if
FrameAnimator::GetCompositedFrame is not called, then the internal state
of the animation is advancing ahead of what the user sees. Once it is
called, the new frame is far ahead of the previously displayed frame.
The only difference now is that we will display the previous frame for
slightly longer until the next refresh tick.

Note that if an animated image is layerized (should not happen today) or
otherwise uses an ImageContainer, this optimization fails. While we know
whether or not we have an image container, we do not know if anything is
actively using it.
2018-05-09 08:04:20 -04:00
Jonathan Kew e6b971d44f Bug 1458003 - speculative fix: make a local copy of the face list in CheckForLegacyFamilyNames, in case mAvailableFonts is mutated during this function. r=lsalzman 2018-05-08 20:54:02 +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
Xidorn Quan f62e2a947a Bug 1406552 - Only update max ascent / descent with em ones when ascent and descent are zero. r=jfkthame
The original code was added in bug 385263 for fixing bug 279032 that a
single font provides zero for max ascent / descent in its HHEA table
which caused Firefox to crash.

Unconditionally picking the maximum of max ascent / descent and their
em correspondents doesn't seem to be essential for working around that
case, so this patch changes it to just use the em ascent / descent when
both max ascent and descent are zero.

This fixes a webcompat problem related to Roboto font on Linux (and
presumably also Android given it uses FreeType backend as well).

MozReview-Commit-ID: EpKrfiOwnZt

--HG--
extra : rebase_source : 0619abf992fb1e1a1f3068ab172880913ebff1f1
2018-05-03 19:43:46 +10:00
Jonathan Kew 5182b6ad11 Bug 1459158 - Don't apply variation values from CSS font-weight/font-stretch properties if the font's variation axes appear to use a non-CSS-like scale. r=jwatt 2018-05-04 17:36:01 +01:00
Jonathan Kew 034384a62d Bug 1459163 - When variation fonts are disabled, gfxFontEntry::GetVariationsForStyle should just return without attempting to map CSS properties to variation axes. r=jwatt 2018-05-04 17:35:38 +01:00
Milan Sreckovic 4712274b69 Bug 1455696: gfx.webrender.all.qualified preference to default to WR for non-blocked devices/hardware. gfx.webrender.all will still force it on. r=milan
--HG--
extra : rebase_source : 173f06f702ccc4eb93d0e4533316056cb07c88af
2018-05-03 13:02:00 +03:00
Jonathan Kew c8b02be077 Bug 1449605 - part 2 - Rename gfxFontEntry::IsBold() to SupportsBold() and make it smarter about variable fonts, to avoid inappropriate use of synthetic-bold effect. r=jwatt 2018-05-04 10:19:55 +01: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 Watt b6f1371d94 Bug 1458218 - Rename gfxGDIFont::mNeedsBold to mNeedsSyntheticBold. r=jfkthame 2018-04-26 12:46:18 +01:00
Ryan Hunt c2b8279a9f Bug 1458462 - Create paint workers if it's possible we could switch to tiling in the future. r=nical
On windows it's possible for us to fallback from D2D to Skia rendering at any time due to a device reset.
If this happens with `enable-tiles-if-skia-pomtp` enabled we could begin to use tiling. This can cause a
crash if we never created the worker threads because at initialization time we weren't using tiling.

Another way to fix this would be to dynamically create the worker threads in UpdateRenderMode if we
have switched to skia. That's a larger change and more might be required, so I'd rather just fix the
crash for now.

This commit also fixes a pref that should be `Once` instead of `Live`.

MozReview-Commit-ID: JQidXPjI7ER

--HG--
extra : amend_source : ba9a3746faea3a7355251b7e97e3f7c5dc1ba06b
2018-05-02 09:21:13 -05:00
Ryan Hunt 5516d12e7b Bug 1457007 - Add about:support information on if tiling is used in the content process. r=nical
MozReview-Commit-ID: 1JewsArgmZz

--HG--
extra : rebase_source : 85e8e1101ca852baee9e1448267e59b19c9d84e1
2018-04-30 15:05:19 -05:00
Jonathan Kew 007b53464f Bug 1458158 - Correct the weight-difference factor in CalcStyleMatch to favor closer weights, not further ones. r=jwatt 2018-05-01 15:56:04 +01: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
Ryan Hunt 77c38b12c0 Bug 1454978 - Make OMTP feature detection not depend on tiling. r=bas
There's a circular dependency between `UsesTiling` and `InitOMTPConfig` because
we try to disable OMTP if we will be using tiling and edge padding is enabled.
Now that edge padding is disabled everywhere except android it should be safe
to assume that if edge padding is enabled then we'll be using tiling as well
and should disable OMTP.

This commit also removes a check on `UsesTiling` from CalculateWorkerCount
as it is redundant.

MozReview-Commit-ID: 1ruWPwXfLwO

--HG--
extra : rebase_source : d489c52c728d2ff356d2413b9b1044dfa3f63135
2018-04-25 16:27:02 -05:00
Ryan Hunt 40d71f783f Bug 1454978 - Cleanup tiling prefs in all.js. r=bas
This moves all the tiling prefs into one spot and organizes them a bit. It also fixes a common issue
with `edge-padding` being enabled on windows because it wouldn't be defined in all.js and defaulting
to enabled. Note that `worker-threads` is switched to `-1` by default here instead of just for OSX.
This should have no affect because we don't actually create the threads unless we are tiling, which
only happens right now on OSX.

MozReview-Commit-ID: D8HOs3yv7w0

--HG--
extra : rebase_source : 9b5d2d228af743ea4facd076dfa2f370ea93ebc8
2018-04-25 16:21:26 -05:00
Jonathan Kew 5e9926e820 Bug 1457505 - Fix the check for variation-font support in gfxWindowsPlatform: cannot depend on checking mUsingDirectWrite, as the fontlist is not yet set up. r=lsalzman 2018-04-28 09:17:47 +01:00
Botond Ballo 67bc5921a7 Bug 1448439 - Expose some of the tunable parameters in AndroidFlingPhysics as prefs. r=kats
MozReview-Commit-ID: J4QRmMdGE0l

--HG--
extra : rebase_source : 9acdec2fff2f95057cf2fc4da9fc8e86de4912f0
2018-04-20 18:55:08 -04:00
Botond Ballo a7f61a775c Bug 1448439 - Add a pref to get APZ to use the Chrome fling physics on Android. r=kats
MozReview-Commit-ID: HDLDlwjov82

--HG--
extra : rebase_source : c454a6769ccd0ca9951c41ef2ea9990c24208373
2018-04-20 18:44:18 -04:00
Jonathan Kew d384879f12 Bug 1457103 - patch 3 - Make gfxFontEntry::GetVariationAxes and GetVariationInstances pure virtual, and provide missing subclass implementations. r=jwatt 2018-04-26 17:08:18 +01:00
Jonathan Kew 61950f81db Bug 1457103 - patch 2 - Refactor logic from gfxFontconfigFontEntry implementations of GetVariationAxes and GetVariationInstances to gfxFT2Utils, where it can be shared by the gfxFT2Fonts backend. r=jwatt 2018-04-26 17:08:18 +01:00
Jonathan Kew 6ad9a5ee43 Bug 1457103 - patch 1 - Make gfxFontEntry::HasVariations a pure-virtual method, and fill in missing subclass implementations, particularly in FT2FontEntry. r=jwatt 2018-04-26 17:08:18 +01:00
Emilio Cobos Álvarez 0faef276ec Bug 1455885: Make the SVG context paint not use a node property, but a member in SVGDocument. r=jwatt
MozReview-Commit-ID: H6SRTsDL5Rh
2018-04-26 17:07:39 +02:00
Jonathan Kew 5485dd0a02 Bug 1456547 - When weight/stretch/style descriptor is omitted from a @font-face rule, the corresponding variation axis should not be clamped to the 'normal' value. r=jwatt 2018-04-26 15:32:36 +01:00
Jonathan Kew 4ca43a081e Bug 1456820 - patch 4 - Reorder fields in gfxFont for better packing. r=lsalzman 2018-04-25 18:54:03 +01:00
Jonathan Kew 7820fa0d7a Bug 1456820 - patch 3 - Reorder fields in gfxFontEntry for better packing. r=lsalzman 2018-04-25 18:54:03 +01:00
Jonathan Kew 7a753409a8 Bug 1456820 - patch 2 - Reorder fields in gfxFontStyle for better packing. r=lsalzman 2018-04-25 18:54:03 +01:00
Jonathan Kew 2a3d1d4598 Bug 1454598 - part 4 - Disable font variations on macOS Sierra due to Core Text unreliability. r=jwatt 2018-04-25 14:03:44 +01:00
Jonathan Kew c57f185cd9 Bug 1454598 - part 3 - Use WeightRange more extensively in place of FontWeight throughout user-font handling and font-entry creation, and handle Stretch and SlantStyle similarly. r=jwatt 2018-04-25 07:18:23 +01:00
Jonathan Kew 9872150acc Bug 1454598 - part 2 - Allow variation fonts to record a weight range in gfxFontEntry, and update font-matching to handle ranges. r=jwatt 2018-04-25 07:18:23 +01:00
Jonathan Kew 13a7aab50e Bug 1454598 - part 2.1 - For system-installed fonts, query FC_VARIABLE to determine if a face has variations rather than instantiating a FT_Face. r=lsalzman 2018-04-25 07:18:23 +01:00
Jonathan Kew b19488bd47 Bug 1454598 - part 1 - Make gfxFcPlatformFontList::GetFTLibrary work before font system is fully up and running, so that the global FT_Library can be used during initialization of the font list itself. r=lsalzman 2018-04-17 21:45:29 +01:00
Jonathan Kew 7e27ba83c3 Backed out 4 changesets from bug 1454598 (26e036b1c703, bc910e36a7d7, bac001216577, 5af215d265b6) due to macOS 10.12 font issues. 2018-04-25 10:18:07 +01:00
Jonathan Kew 8489323f79 Bug 1454598 - part 3 - Use WeightRange more extensively in place of FontWeight throughout user-font handling and font-entry creation, and handle Stretch and SlantStyle similarly. r=jwatt 2018-04-25 07:18:23 +01:00
Jonathan Kew 6ca182d055 Bug 1454598 - part 2 - Allow variation fonts to record a weight range in gfxFontEntry, and update font-matching to handle ranges. r=jwatt 2018-04-25 07:18:23 +01:00
Jonathan Kew c75bb6f48d Bug 1454598 - part 2.1 - For system-installed fonts, query FC_VARIABLE to determine if a face has variations rather than instantiating a FT_Face. r=lsalzman 2018-04-25 07:18:23 +01:00
Jonathan Kew 8ff8fafa15 Bug 1454598 - part 1 - Make gfxFcPlatformFontList::GetFTLibrary work before font system is fully up and running, so that the global FT_Library can be used during initialization of the font list itself. r=lsalzman 2018-04-17 21:45:29 +01:00
sotaro 1787768767 Bug 1454878 - Update WrExternalLogHandler as to use env_logger r=jrmuizel 2018-04-25 12:05:26 +09:00
Ciure Andrei 33e644e1da Merge inbound to mozilla-central. a=merge 2018-04-24 04:14:21 +03:00
Jonathan Kew 6fe5024795 Bug 1436048 followup, fix for Windows build bustage. r=emilio(irc) on a CLOSED TREE 2018-04-23 18:42:49 +01: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 Kew 4b2b2d4c9f Bug 1455569 - Handle variation settings of system-installed variation fonts when creating CTFont from CGFont on High Sierra. r=lsalzman 2018-04-20 17:18:03 +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
Andrew Osmond 3db22ac912 Bug 1453801 - Part 3. Fix race condition shutting down the render thread and shared surfaces. r=sotaro 2018-04-23 07:57:17 -04:00
Cosmin Sabou a024f6e7c8 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-04-20 06:50:57 +03:00
Cosmin Sabou dcacfcfc71 Backed out 2 changesets (bug 1454598) as requested by Mossop in developers channel. a=backout
Backed out changeset b673e87d6134 (bug 1454598)
Backed out changeset 072dc1504ce6 (bug 1454598)
2018-04-20 06:45:39 +03:00
Cosmin Sabou 5e9d16a446 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-04-20 01:37:07 +03:00
Kartikaya Gupta cee64af762 Bug 1391318 - Automatically enable async scene building with webrender.all. r=jrmuizel
MozReview-Commit-ID: IRXZq8ynrdt

--HG--
extra : rebase_source : b34691d952138f442fd376cbc5a79f9742e26f6b
2018-04-19 14:10:36 -04:00
Noemi Erli 875e5ed0a1 Merge inbound to mozilla-central. a=merge 2018-04-19 12:53:30 +03:00
Kartikaya Gupta becb26798a Bug 1454465 - Turn some override prefs back into regular prefs. r=jrmuizel
These prefs are on by default now, and so there's no point in keeping them as
override prefs.

MozReview-Commit-ID: Gzs65oS9koD

--HG--
extra : rebase_source : 89d52f7992a0e87f60673f3b7bd6efad627fd040
2018-04-18 15:30:03 -04:00
Jonathan Kew 6f1e2a29b3 Bug 1454598 - part 2 - Allow variation fonts to record a weight range in gfxFontEntry, and update font-matching to handle ranges. r=jwatt 2018-04-19 13:28:13 +01:00
Jonathan Kew 6b0c3d90d8 Bug 1454598 - part 1 - Make gfxFcPlatformFontList::GetFTLibrary work before font system is fully up and running, so that the global FT_Library can be used during initialization of the font list itself. 2018-04-17 21:45:29 +01:00
Nicholas Nethercote 51f2b494ea Bug 1448222 - Remove MediaPrefs. r=jya
This patch converts all the prefs in MediaPrefs to the new StaticPrefs system.

Note that the "media.wmf.skip-blacklist" pref was present in both MediaPrefs
and gfxPrefs. The copy in MediaPrefs was never used; this explains why this
patch does not add an entry for it to StaticPrefList.h.

Note also that the patch removes themedia.rust.mp4parser pref, because it's
unused.

MozReview-Commit-ID: IfHP37NbIjY

--HG--
extra : rebase_source : df84ea813b7c366d7be663c696891325610149c8
2018-03-20 09:48:56 +11:00
Jonathan Kew 7b924dade9 Bug 1436048 part 2 - Store FontWeight as a fixed-point value to support fractional font-weight values. r=jwatt 2018-04-16 20:26:08 +01:00
Ryan Hunt d1e87928b5 Bug 1438551 - Add a pref for enabling tiles when we are using skia with parallel painting. r=nical
MozReview-Commit-ID: JVIFr2wUWHD

--HG--
extra : rebase_source : 67cf74011993a971d66d9a7350171f0190ec08cd
2018-04-10 11:29:14 -05:00
Ryan Hunt 4f2811fcda Bug 1438551 - Don't discard the back buffer when we reuse the front buffer. r=nical
It can happen often where we reuse the front buffer for a long paint, and then
the next frame we see that it is still locked, and need to allocate a new buffer
from the texture pool. If this happens we don't need to repaint the new buffer
because the old buffer is still around, but we do need to copy it over and
upload it to texture sources. It seems better to just hold onto the back buffer
and let it accumulate more invalid regions.

MozReview-Commit-ID: 2DQjwAX7ZmM

--HG--
extra : rebase_source : 3077952d3ef56deea6af68492f71bb114d96d84a
2018-04-10 09:27:09 -05:00
Jonathan Kew 94238d9823 Bug 1452973 - Update NS_FONT_STRETCH_* constants to values based on the percentage definitions in css fonts 4. r=jwatt 2018-04-16 10:00:57 +01:00
Andreea Pavel 01f50bc3d8 Merge mozilla-inbound to mozilla-central. a=merge 2018-04-14 00:56:30 +03: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 cd28f53640 Bug 1453924 - Remove bogus multiplication by 100 in GDIFontEntry::TestCharacterMap. r=jfkthame
--HG--
extra : rebase_source : 0556f0f51557dc87e458c1d48d142ee679d98403
2018-04-11 21:15:48 +01:00
Markus Stange 98c6ff684d Bug 1444430 - Extend the API of gfxUtils::EncodeSourceSurface to support encoding into a string. r=jrmuizel
MozReview-Commit-ID: KxXkOmat9RU

--HG--
extra : rebase_source : e8eed1a6330fcad42c78c8d8115ff41fc7e6a5f0
2018-04-12 15:20:14 -04:00
Markus Stange f4bfb59a34 Bug 1444430 - Remove a copy in EncodeSourceSurfaceInternal. r=jrmuizel
MozReview-Commit-ID: 5iNEd4RKIyn

--HG--
extra : rebase_source : 2ae9ad954be266c652fec3caa3b604027f09c9b0
2018-03-26 23:04:04 -04:00
Sebastian Hengst 0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tristan Bourvon a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Kartikaya Gupta 4a07281ed3 Bug 1449982 - Introduce pref to control async scene building. r=nical
Until all the pieces are in place, turning on this pref will probably
break horribly. But we need the pref so we can add the rest of the
pieces without enabling them by default.

MozReview-Commit-ID: 7DkcwZgXwhx

--HG--
extra : rebase_source : e1fdef2e9a682028df524f51f767a4d2187410b1
2018-04-10 12:29:55 -04:00
Jonathan Watt 52623f7cef Bug 1452466 - Get rid of gfxFontStyle::ComputeWeight. r=jfkthame 2018-04-09 10:39:17 +01:00
Jonathan Kew 309329c3c0 Bug 1450209 - Avoid use of CTFontGetAdvancesForGlyphs with variation fonts due to possible Core Text crash. r=mstange 2018-04-06 19:44:05 +01:00
Ted Campbell ce6621e562 Bug 1451878 - Add memory reporting for gfxDWriteFontFileLoader. r=lsalzman
MozReview-Commit-ID: 9EBXTiNfRrA
2018-04-06 12:44:07 -04:00
Jonathan Kew c66fb1e660 Bug 1451296 - Make enabling of font-variation-settings and font-optical-sizing properties dependent on adequate platform support at runtime. r=lsalzman 2018-04-05 18:53:56 +01:00
Jonathan Kew ee9b08a330 Bug 1341088 - Enable validation of opentype variation tables in downloadable fonts, and replace the keep_variation_tables pref with validate_variation_tables (default=true). r=jrmuizel 2018-04-04 10:08:05 +01:00
Emilio Cobos Álvarez edd18bcc35 Bug 1420680: Remove the user font cache generation, which is also unused now. r=jfkthame
MozReview-Commit-ID: HuQg4RopOmX
2018-04-03 16:22:56 +02:00
Emilio Cobos Álvarez a4433a4de8 Bug 1420680: Rework how the loadability of font-faces is computed. r=jfkthame,bz
This reworks bug 1440561 so that we only precompute loads that belong to our
user font set, avoiding messing up with fonts in the cache that belong to other
pages.

The loadability of a font is precomputed in PreTraverse in the same way as we
did, but only for the fonts that we may end up loading. This is stored in
FontFaceSet now.

Also, the principal shenanigans that this code did are reworked to be explicit
about when the document principal changes in ResetToURI, instead of having a
member around and a mutable variable. This makes the code easier to follow.

MozReview-Commit-ID: 9ofTbaLDUF7
2018-04-03 16:22:43 +02:00
smswessem 3814c98b00 Bug 1358240 - Replace EmojiOne with Twemoji, r=jfkthame, timdream
--HG--
extra : rebase_source : cb1d370dc4fbff33f6022acf393126e0965089de
2018-03-08 18:23:19 -06:00
Jonathan Kew c2f3f60125 Bug 1430820 - Cache any required feature-modified Core Text font instances in gfxCoreTextShaper, rather than re-creating them for each shaping call. r=jrmuizel 2018-03-29 21:53:55 +01:00
sotaro 19a32411ca Bug 1191971 part 2 - Add capatiblity to enable DComp r=bas 2018-03-29 11:23:31 +09:00
Gurzau Raul 8d268c6ce7 Merge mozilla-central to inbound. a=merge CLOSED TREE
--HG--
rename : toolkit/components/extensions/ext-permissions.js => toolkit/components/extensions/parent/ext-permissions.js
2018-03-29 01:00:42 +03:00
Tom Ritter 449237fc51 Bug 1378552 - Reduce the liklihood of inadvertently misusing NullPrincipal::Create(). r=ckerschb
NullPrincipal::Create() (will null OA) may cause an OriginAttributes bypass.
We change Create() so OriginAttributes is no longer optional, and rename
Create() with no arguments to make it more explicit about what the caller is doing.

MozReview-Commit-ID: 7DQGlgh1tgJ
2018-03-22 13:36:20 -05:00
Markus Stange a52e472ae7 Bug 1449271 - Add a pref called gfx.compositor.glcontext.opaque that defaults to false and can be set to true in order to force the use of an opaque OpenGL context for the window on Mac. r=jrmuizel
MozReview-Commit-ID: InOKiLXGL7o

--HG--
extra : rebase_source : f21566cfb6c084ceb726e9a0331f430b6a72e4c6
2018-03-27 14:43:38 -04:00
Jeff Muizelaar d07c300116 Bug 1388842. Add blob invalidation. r=mstange
MozReview-Commit-ID: 5xwqlULUbZe
2018-03-27 17:31:04 -04:00
Nathan Froyd 6b66af17ae Bug 1448019 - make various graphics constructors explicit; r=snorp
Attempting to stand up the static analysis for Android builds revealed
that we weren't being explicit enough.
2018-03-27 10:51:32 -04:00
Coroiu Cristina 446b02e5b2 Merge mozilla-central to autoland a=merge on a CLOSED TREE 2018-03-27 00:49:14 +03:00
Jonathan Kew c0a406064e Bug 1448180 - Don't mask complex-script ranges from the cmap for downloadable fonts; assume the author knows what they're doing and use the font as provided. r=jrmuizel
--HG--
rename : layout/reftests/text/arabic-fallback-4-notref.html => layout/reftests/text/arabic-fallback-4-ref.html
2018-03-26 13:25:11 +01:00
Jeff Muizelaar 9cc13080c9 Bug 1447834. Remove gfxContext::CurrentPoint. r=mstange
MozReview-Commit-ID: 8QEFG5aSPZY

--HG--
extra : rebase_source : 147ea86d0ffa711a249149e4dff5ffd6b9f59558
2018-03-21 18:54:32 -04:00
arthur.iakab 5e8092339a Merge mozilla-central to inbound
--HG--
rename : browser/base/content/test/general/bug364677-data.xml => browser/components/feeds/test/bug364677-data.xml
rename : browser/base/content/test/general/bug364677-data.xml^headers^ => browser/components/feeds/test/bug364677-data.xml^headers^
rename : browser/base/content/test/general/test_bug364677.html => browser/components/feeds/test/test_bug364677.html
rename : services/sync/tps/extensions/tps/bootstrap.js => services/sync/tps/extensions/tps/components/tps-cmdline.js
rename : testing/talos/talos/pageloader/bootstrap.js => testing/talos/talos/pageloader/components/tp-cmdline.js
rename : testing/talos/talos/startup_test/sessionrestore/addon/bootstrap.js => testing/talos/talos/startup_test/sessionrestore/addon/SessionRestoreTalosTest.js
rename : testing/talos/talos/talos-powers/bootstrap.js => testing/talos/talos/talos-powers/components/TalosPowersService.js
rename : tools/quitter/bootstrap.js => tools/quitter/QuitterObserver.js
extra : rebase_source : 5801e95a945b54754f27571e7b211e1eac132d67
2018-03-21 22:27:21 +02:00
Miko Mynttinen 65c6bee9d6 Bug 1445302 - Replace TArray.RemoveElementAt(TArray.Length() - 1) pattern with TArray.RemoveLastElement() or TArray.PopLastElement() r=froydnj
MozReview-Commit-ID: rGjabnP2iz

--HG--
extra : rebase_source : 1ef6c5ce028ac9ebd9f3176d57835c43fe46bada
2018-03-13 14:51:33 +01:00
sotaro 57a55d1c2d Bug 1411481- Enable SkiaGL canvas usage on Mac r=jrmuizel 2018-03-21 08:59:38 +09:00
Cosmin Sabou e997286c08 Backed out 3 changesets (bug 1439960) for build bustages on APZInputBridgeChild.cpp and FrameBuilder.cpp. CLOSED TREE
Backed out changeset b8057c06fc4c (bug 1439960)
Backed out changeset c8d6b0fa1447 (bug 1439960)
Backed out changeset e6bd6ebc8597 (bug 1439960)
2018-03-20 23:18:44 +02:00
Ryan Hunt e34eeaaa86 Remove DisplayItemLayer and corresponding layers.advanced prefs. (bug 1439960, r=mstange)
MozReview-Commit-ID: FAWTC1Llu31

--HG--
extra : rebase_source : 05bda872389db5cc61e805c3eb48e70eb5d95cbe
2018-02-21 09:29:49 -06:00
Ryan Hunt 1fe1a843f9 Remove DisplayItemLayer and corresponding layers.advanced prefs. (bug 1439960, r=mstange)
MozReview-Commit-ID: FAWTC1Llu31

--HG--
extra : rebase_source : 447e835dc664549a8bdbd4097d42773acf523f08
extra : histedit_source : d98b0f0654c2214a368313de84f11160a3fa7030
2018-02-21 09:29:49 -06:00
Jonathan Kew aaa8afd3af Bug 1435472 - Discard and re-create mAzureScaledFont if it was created with the wrong sUseClearType setting. r=bas 2018-03-20 13:46:40 +00:00
shindli 55e9f63bac Merge inbound to mozilla-central. a=merge 2018-03-20 12:11:27 +02:00
sotaro 184652d442 Bug 1413392 - Reenable d2d canvas with WebRender r=jrmuizel 2018-03-20 08:07:26 +09:00
Zibi Braniecki 8264ecd92f Bug 1345957 - Update the use of LocaleService API in gfxPlatformFontList. r=jfkthame
MozReview-Commit-ID: Lj7H2DwlS91

--HG--
extra : rebase_source : 17e8304eb8d2d6640cd44816f1e3e825e26b57d4
2018-03-06 18:55:22 -08:00
sotaro 0cc1972d14 Bug 1432039 - Improve assumption of content process's back-end prefs r=jrmuizel 2018-03-15 14:48:54 +09:00
Kearwood Gilbert d0b2b8da65 Bug 1436791 - Implement gfxVRExternal,r=rbarker
- gfxVRExternal Enables other processes to present
  real or simulated VR hardware to Firefox.
- This functionality is disabled by default, under
  dom.vr.external.enabled.
- VRDisplayInfo, VRControllerInfo, and associated
  structs have been restructured to ensure internal
  state is not exposed via shmem interface.
- Some refactoring to convert structs to
  POD types, enabling them to be located
  in shmem and be memcpy'd.
- Work needed before unpreffing marked
  with "TODO" comments.
MozReview-Commit-ID: FbsusbxuoQ8

--HG--
extra : rebase_source : 8a448169c3f47411c705a4d9fd462a1f9363dfd9
extra : amend_source : e6702549527292e2850d16e8f503f0be9848159f
2018-03-13 17:09:54 -07:00
Nicholas Nethercote d41188c796 Bug 1445117 - Remove duplicates from nsGkAtoms. r=froydnj
In each case, the atom had an obvious name and a weird name. Where possible, I
kept the obvious name and commented out the weird name, viz:

- `mixed` over `_mixed` for "mixed"
- `el` over `el_` for "el"
- `other` over `other_` for "other"
- `remote` over `Remote` for "remote"

But for several of them I didn't do that, because the weird name is used
within the HTML5 parser -- which is a huge pain to modify because it involves
code generated by code from another repo -- so I kept the weird name and
commented out the obvious name, viz:

- `list_` over `list` for "list"
- `svgSwitch` over `_switch` for "switch"
- `set_` over `set` for "set"

MozReview-Commit-ID: Jp3CpdWXNDm

--HG--
extra : rebase_source : 421ce5316772f1951488307e81f2ceee696d363d
2018-03-14 10:27:25 +11:00
Kartikaya Gupta c9ab45d675 Bug 1188955 - Turn the MAX_TAP_TIME into a preffable value. r=botond
MozReview-Commit-ID: HCiCd7vxTnF

--HG--
extra : rebase_source : 33f9222e3e9510ed669a9335900c945af463599a
2018-03-19 16:58:33 -04:00
Lee Salzman 5eb6435f7a Bug 1444506 - part 2 - Moz2D fixes for Skia m66 update. r=jrmuizel 2018-03-12 16:37:10 -04:00
Kartikaya Gupta 99522f2154 Bug 1258238 - Remove code that displays visibility visualization on the APZ minimap. r=mattwoodrow
This code was originally added to debug the frame visibility code.
However it wasn't architected correctly and makes the compositor use an
untrusted layers id from content. Instead of fixing this I'd rather just
delete it, since it's a big pile of code that is basically a debugging
tool that nobody owns anymore.

MozReview-Commit-ID: nPZqVeYsFp
2018-03-12 14:17:34 -04:00
Robert Longson 7709e9b3e1 Bug 1444666 - get rid of nsSVGUtils version of GetStrokeDashData and replace by SVGContentUtils::GetStrokeOptions r=jwatt 2018-03-11 16:11:24 +00: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 Watt 88c85e4536 Bug 499025 - Don't open an error pop-up if the user cancels printing. r=bobowen
This fixes PrintTargetWindows::BeginPrinting to detect when the
user cancels and have it return NS_ERROR_ABORT in that case.

The rest of the changes are simply making sure that the various
call points up the call stack don't print a warning message if
NS_ERROR_ABORT is returned up from
PrintTargetWindows::BeginPrinting.

MozReview-Commit-ID: 6xZ5SPje6TT
2018-02-06 20:14:47 +00:00
Jonathan Kew d405368c27 Bug 1435692 - patch 1 - Add support in gfx for automatic application of the optical size axis in variation fonts that support it. r=jwatt 2018-03-03 22:12:10 +01:00
Andrew Osmond d41a50c664 Bug 1421818 - Disable D2D backend if WebRender is enabled. r=jrmuizel 2018-03-02 13:16:26 -05:00
Jonathan Kew 464c469099 Bug 1440938 - Fall back to cairo's glyph metrics API if FreeType fails in some way, or if we're not using a variation font. r=lsalzman 2018-02-28 22:02:25 +00:00
Andrew Osmond 2088409e88 Bug 523950 - Part 3. Add preferences to control animated image decoding behaviour. r=tnikkel
image.animated.decode-on-demand.threshold-kb is the maximum size in kB
that the aggregate frames of an animation can use before it starts to
discard already displayed frames, and redecode them as necessary. The
lower it is set to, the less overall memory we will consume at the
expense of execution time for as long as the tab with the animation(s)
above the threshold are kept open.

image.animated.decode-on-demand.batch-size is the minimum number of
frames we want to have buffered ahead of an animation's currently
displayed frame. The decoding will request this number of frames at a
time to maximize use of memory caching. Note that this is related to the
above preference as well; increasing the batch size will in effect raise
what the minimum threshold. This simplifies the logic in patches later
in the series.
2018-02-28 13:34:52 -05:00
Andreea Pavel fa0861e443 Merge mozilla-inbound to mozilla-central. a=merge on a CLOSED TREE 2018-02-28 00:24:02 +02:00
Emilio Cobos Álvarez c03ffd9c62 Bug 1425759: Simplify the style backend type setup. r=bholley
Now that what we use to decide whether a document is styled by Servo are only
prefs and the doc principal, we don't need to inherit the style backend type,
since unless the pref has changed, the result will be the same.

MozReview-Commit-ID: KBmeBn1cRne
2018-02-27 12:39:20 +01:00
Eric Rahm 7337adec45 Bug 1439047 - Part 1: Make StartupCache::PutBuffer take ownership of the buffer. r=froydnj
This avoids a redundant alloc and copy in `PutBuffer`. All existing callers
were destroying the passed in buffer after the call.

--HG--
extra : rebase_source : 065505219d70d26bad49c7eba2cec8edf0e9939d
extra : amend_source : 118eddad4dc901da02817c788fb98f6f4c85a3f0
extra : source : 7f0cedfb4bd85bfe1a523168019864c9c6c0e665
2018-02-16 15:30:47 -08:00
Jonathan Kew 2c5f2dc22f Bug 1439937 - For font-matching reftests that test localized names, force the font-name loader to run eagerly so that we aren't dependent on how long the browser has been running. r=jrmuizel 2018-02-23 09:43:32 +00:00
Andrew Osmond b18fc05e36 Bug 1427639 - Part 1. Add preferences to control image frame allocations in volatile memory or the heap. r=tnikkel
image.mem.volatile.min_threshold_kb is the minimum buffer allocation for
an image frame in KB before it will use volatile memory. If it is less
than it will use the heap. This only is set to > 0 on Android.

image.mem.animated.use_heap forces image frames to use the heap if it is
for an animated image. This is only enabled for Android, and was
previously a compile time option also for Android.
2018-02-22 14:26:29 -05:00
Jonathan Kew 10215d3497 Bug 1440411 - Remove the obsolete gfx.font_loader.families_per_slice pref (no longer used by any code). r=jrmuizel 2018-02-22 20:55:39 +00:00
Jonathan Kew d9de89cb70 Bug 1439954 - Make gfxPlatform::ForceGlobalReflow when called in a content process trigger reflows only within that process; it should not try (and fail, with an assertion) to affect the parent or other content processes. r=jrmuizel 2018-02-22 20:55:36 +00:00
Masatoshi Kimura dea129ada5 Bug 1428258 - Stop using GetNativePath in gfx/. r=jrmuizel
MozReview-Commit-ID: EdcKDRQeGXg

--HG--
extra : rebase_source : 8a6f93091e7f7cf96f998a3b8a5ce518c822f112
extra : intermediate-source : 77d4d136028337085cebdb59201302676a2ec521
extra : source : 477624377a9796459ada93719df68ba152587781
2017-12-17 00:13:30 +09:00
Emilio Cobos Álvarez 432d45b460 Bug 1439027: Simplify PresShell::Initialize. r=bz
Most of the callers pass the already-existing pres-context visible area. The few
that don't can set it themselves.

MozReview-Commit-ID: KRi4ShrgOrE
2018-02-21 12:42:17 +01:00
Chris Peterson fe5cd3d5d9 Bug 1436263 - Part 3: Remove `virtual` from final virtual function declarations. r=froydnj
MozReview-Commit-ID: 8pjYjEvQF42

--HG--
extra : rebase_source : 5eb0bea2ef5f06a811b4f3daf57ce8720f12dd07
2018-02-08 21:22:43 -08:00
Chris Peterson 0129d900f3 Bug 1436263 - Part 2: Replace `override final` virtual function specifiers with just `final`. r=froydnj
MozReview-Commit-ID: 70gt5SUu4Dv

--HG--
extra : rebase_source : 71912c6bde22aaed01e70615a4ee794a36e70d0e
extra : source : 1c22d4c65d70b797ee3e963ec426c90e1f89b5e3
2018-02-05 22:50:00 -08:00
Chris Peterson d09123f248 Bug 1436263 - Part 1: Replace `final override` virtual function specifiers with just `final`. r=froydnj
MozReview-Commit-ID: DE5HkIhsZ6D

--HG--
extra : rebase_source : 94831c1e13a840dd2ea0600f64bcf70c2bf938d9
extra : source : cf9283bf1b0bca3a6311c98e227329d451f80ecb
2018-02-05 22:46:57 -08:00
Jonathan Kew f668fe528e Bug 1438674 - For non-OpenType/TrueType fonts, use synthesized glyph origin & advance for vertical shaping, rather than just refusing to use the font. r=dholbert 2018-02-16 12:40:43 +00:00
Andrew Osmond 6529a8c077 Bug 1437886 - Prevent shared surfaces from being used without WebRender. r=nical
Move the initialization of SharedSurfacesParent from the compositor
thread creation to mirror the other WebRender-specific components, such
as the render thread creation. Now it will only be created if WebRender
is in use. Also prevent shared surfaces from being used by the image
frame allocator, even if image.mem.shared is set -- there is no purpose
in allowing this at present. It was causing startup crashes for users
who requested image.mem.shared and/or WebRender via gfx.webrender.all
but did not actually get WebRender at all. Surfaces would get allocated
in the shared memory, try to register themselves with the WR render
thread, and then crash since that thread was never created.
2018-02-16 09:50:40 -05:00
Andrew Osmond 4318a7dc60 Bug 1436247 - Part 2. Shutdown idle image decoder threads after the configured timeout. r=tnikkel
The image decoding thread pool can grow to be quite large, up to 32
threads, depending on the number of processors on the system. If the
user is not actively browsing, these threads are occupying resources
which could be reused elsewhere. After the timeout period, it will
release up to half of the threads in the pool.
2018-02-13 06:43:31 -05:00
sotaro e32352899f Bug 1438408 - Shutdown RenderThread if it exists r=nical 2018-02-16 09:04:07 +09:00
Andrew Osmond 71ec66dad0 Backed out changeset 2ffed9c081fa (bug 1437886) for test bustage on a CLOSED TREE. r=backout 2018-02-15 10:03:42 -05:00
Andrew Osmond ddb7905e51 Bug 1437886 - Prevent shared surfaces from being used without WebRender. r=nical
Move the initialization of SharedSurfacesParent from the compositor
thread creation to mirror the other WebRender-specific components, such
as the render thread creation. Now it will only be created if WebRender
is in use. Also prevent shared surfaces from being used by the image
frame allocator, even if image.mem.shared is set -- there is no purpose
in allowing this at present. It was causing startup crashes for users
who requested image.mem.shared and/or WebRender via gfx.webrender.all
but did not actually get WebRender at all. Surfaces would get allocated
in the shared memory, try to register themselves with the WR render
thread, and then crash since that thread was never created.
2018-02-15 09:26:05 -05:00
Jonathan Kew 252d458bf8 Bug 1436997 - When variation-font support is enabled, accept new CSS Fonts 4 format-hint strings for variation fonts. r=jwatt 2018-02-15 10:56:42 +00:00
Dorel Luca 4234703a53 Merge mozilla-inbound to mozilla-central a=merge 2018-02-15 00:23:02 +02:00
Margareta Eliza Balazs 2fd871d8b3 Backed out 4 changesets (bug 1436247) for c2 failures in dom/events/test/test_DataTransferItemList.html on a CLOSED TREE
Backed out changeset 858d629f761d (bug 1436247)
Backed out changeset 4ce2bfe462a0 (bug 1436247)
Backed out changeset 3650631487c7 (bug 1436247)
Backed out changeset c32ead4e3525 (bug 1436247)
2018-02-13 19:56:26 +02:00
Andrew Osmond 94c773742a Bug 1436247 - Part 2. Shutdown idle image decoder threads after the configured timeout. r=tnikkel
The image decoding thread pool can grow to be quite large, up to 32
threads, depending on the number of processors on the system. If the
user is not actively browsing, these threads are occupying resources
which could be reused elsewhere. After the timeout period, it will
release up to half of the threads in the pool.
2018-02-13 06:43:31 -05:00
sotaro 7758865123 Bug 1437750 - Update debug flags in WebRenderDebugPrefChangeCallback() r=nical 2018-02-13 19:32:34 +09:00
Boris Zbarsky 9bdcffc985 Bug 1436902 part 3. Replace usage of NS_IMPL_ISUPPORTS_INHERITED0 with NS_INLINE_DECL_REFCOUNTING_INHERITED when possible. r=mccr8
The change to RootAccessible.cpp fixes an obvious bug introduced in bug 741707.

The visibility changes in gfx/thebes are because NS_DECL_ISUPPORTS has a
trailing "public:" that those classes were relying on to have public
constructors.

MozReview-Commit-ID: IeB8KIJCGhU
2018-02-12 15:44:40 -05:00
Ryan Hunt b796b12ab7 Add 'layers.omtp.dump-capture' for logging DrawTargetCapture (bug 1435938, r=bas)
MozReview-Commit-ID: GCyHRg8Dn6c

--HG--
extra : histedit_source : 297fbbc9defda0accc894fabdc30256a8484b4c4
2018-02-05 22:03:49 -06: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
Jeff Muizelaar 54461122d4 Bug 1437184. Inline FillAzure() r=bas
There's only one caller so let's just eliminate inline FillAzure into
Fill.

MozReview-Commit-ID: JYpAQMkhEcS

--HG--
extra : rebase_source : 962b046405949d435537a77baea50f631a8aee72
2018-02-10 10:54:54 -05:00
Miko Mynttinen a84d6e8626 Bug 1434243 - Part 4: Do not create unnecessary nsDisplayCompositorHitTestInfo items r=kats,mattwoodrow
MozReview-Commit-ID: CNXMMCFFBmc

--HG--
extra : rebase_source : 5c34cef710a5f18006485814a5d29e6a43216188
2018-02-05 18:39:52 +01:00
Miko Mynttinen c13c744de6 Bug 1434243 - Part 2: Add nsDisplayCompositorHitTestInfo support to FrameLayerBuilder r=mattwoodrow
MozReview-Commit-ID: 5RdFJDyB6RN

--HG--
extra : rebase_source : 364404b8f12397235b27a34ebe4b4492fc350ad5
2018-01-30 15:10:23 +01:00
Jonathan Kew ad1143ff1a Bug 1435984 - patch 8 - Apply variation settings from the font entry in the Linux (fontconfig) back-end on a CLOSED TREE. r=lsalzman
--HG--
extra : source : 581ff0f6798ec68aca359c5d8cc6ca38e75801e4
extra : amend_source : 951df3de667a70f09485f62efc1d9e83e2036c51
2018-02-14 22:02:05 +11:00
Jonathan Kew ee890ee757 Bug 1435984 - patch 7 - Apply variation settings from the font entry in the gfxFT2Fonts (Android) back-end. r=lsalzman
--HG--
extra : source : d4e3a21dc093c84530f28394089be13324915377
2018-02-14 22:02:05 +11:00
Jonathan Kew b3d0efd4a7 Bug 1435984 - patch 6 - Apply variation settings from the font entry when instantiation fonts for DirectWrite. r=lsalzman
--HG--
extra : source : a6b5ddcc7114f50042f783766cabb545f912d8c4
2018-02-14 22:02:05 +11:00
Jonathan Kew 8fe372bf90 Bug 1435984 - patch 5 - Apply variation settings from the font entry when instantiating fonts on macOS. r=lsalzman
--HG--
extra : source : ec70fb9a28ac4952b15f1acd4890d727067788ca
2018-02-14 22:02:05 +11:00
Jonathan Kew 5bb5607380 Bug 1435984 - patch 3 - Store variation settings from the @font-face rule in the gfxFontEntry for user fonts. r=jwatt
--HG--
extra : source : 66947639ccc3236ff3e81b535e6a4e5173a8e05f
2018-02-14 22:02:05 +11:00
Ryan Hunt 0b29c49678 Remove implicit fuzzy operator== from BaseMatrix (bug 1435406, r=mattwoodrow)
--HG--
extra : rebase_source : 2635f386b96644922a345cea3a8fca6e3614253f
extra : histedit_source : b7cc3424492f88cbd32f3f945c5af86ff43ca0d0
2018-02-02 15:14:08 -06:00
Andrea Marchesini 8cdf705535 Bug 1435174 - Remove the renaming 'using namespace workers', r=bkelly 2018-02-05 19:55:07 +01:00
Jonathan Watt 79f77de593 Bug 1435286 - Stop recording draw events for reference DrawTargets returned from PrintTarget. r=bobowen
MozReview-Commit-ID: 1cE71hBCGx5
2018-01-18 12:45:18 +00:00
Jonathan Kew c4f709831b Bug 1434697 - patch 2 - Implement variation font support in the Android (gfxFT2Fonts) backend. r=lsalzman 2018-01-31 17:07:49 +00:00
Jonathan Kew 5b9b689254 Bug 1434699 - Don't use dlsym() to look up FreeType functions when building with MOZ_TREE_FREETYPE. r=lsalzman 2018-02-01 15:28:09 +00:00
sotaro a5acc968ad Bug 1434524 - Add more check to D3D11Checks::DoesNV12Work() r=mattwoodrow 2018-02-01 18:00:09 +09:00
Bogdan Tara 1f15df5f24 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-01-31 12:11:39 +02:00
Andrea Marchesini 26352bfee1 Bug 1432963 - Fixing workers headers - part 17 - no LIBS=[workers] in moz.build files, r=smaug 2018-01-31 08:25:30 +01:00
Andrea Marchesini 2c7c69af24 Bug 1432963 - Fixing workers headers - part 14 - WorkerPrivate without workers namespace, r=smaug 2018-01-31 08:24:08 +01:00
Andrea Marchesini 063723a1f0 Bug 1432963 - Fixing workers headers - part 13 - WorkerHolder without workers namespace, r=smaug 2018-01-31 08:23:44 +01:00
Andrea Marchesini c4b257cdc6 Bug 1432963 - Fixing workers headers - part 12 - WorkerRunnable without workers namespace, r=smaug 2018-01-31 08:22:56 +01:00
arthur.iakab c4dd80eca3 Merge mozilla-central to autoland 2018-01-31 00:41:58 +02:00
Sebastian Hengst 732cb1d98b merge mozilla-inbound to mozilla-central. r=merge a=merge 2018-01-31 00:22:27 +02:00
Kartikaya Gupta 8db17de82f Bug 1421380 - Enable gfx.webrender.hit-test by default. r=jrmuizel
This causes some mochitests to fail.

MozReview-Commit-ID: J2AjM0qKVE5

--HG--
extra : rebase_source : 21102068e9eca65f56bafb76cb623dbdbf0bfb3a
2018-01-29 16:35:10 -05:00
Jim Chen ee3fc0952a Bug 1428182 - 4. Fix a gfx warning; r=jchen
MozReview-Commit-ID: L5NclHmqCE2

--HG--
extra : rebase_source : 3573f3138133e52000d192bace5aadf6f2242a72
2018-01-30 14:08:22 -05:00
Jonathan Kew 2a3cf53f91 Bug 1426146 - patch 2 - Support the paint-order property for HTML text (in addition to SVG); currently preffed-off by default. r=jwatt 2018-01-30 14:41:51 +00:00
Jonathan Kew 0ff35ea68b Bug 1426146 - patch 1 - Support GLYPH_STROKE_UNDERNEATH in the gfxFont painting code. r=jwatt 2018-01-30 14:41:30 +00:00
Gurzau Raul afe10a4af5 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-01-30 12:12:34 +02:00
Jonathan Kew 8ddd714a33 Bug 1280162 - patch 1 - Implement gfxFontEntry method to query font feature info for OpenType fonts. r=dholbert 2018-01-30 09:57:39 +00:00
Cosmin Sabou c6a0d55423 Backed out 11 changesets (bug 1428182) for build bustages on pixman-inlines.h:29:10 on a CLOSED TREE
Backed out changeset 84c767de6202 (bug 1428182)
Backed out changeset 429433caa78c (bug 1428182)
Backed out changeset c576e9d1f68f (bug 1428182)
Backed out changeset 092662eab5eb (bug 1428182)
Backed out changeset 4dd7eaff3ab5 (bug 1428182)
Backed out changeset fbbb0745b139 (bug 1428182)
Backed out changeset 1d1278b289b7 (bug 1428182)
Backed out changeset 55891ffb3768 (bug 1428182)
Backed out changeset 4655e1b1b237 (bug 1428182)
Backed out changeset 377eada51b3c (bug 1428182)
Backed out changeset 17c0e373d921 (bug 1428182)

--HG--
rename : ipc/chromium/src/third_party/libevent/patches/android-api-level.patch => ipc/chromium/src/third_party/libevent/patches/android-arc4random-buf.patch
2018-01-30 01:22:33 +02:00
Jim Chen d2f6bcce0c Bug 1428182 - 4. Fix a gfx warning; r=jchen
MozReview-Commit-ID: L5NclHmqCE2

--HG--
extra : rebase_source : e029eec173f00d2d9afb810f18767beebd485d6d
2018-01-29 17:38:13 -05:00
Cosmin Sabou 37bb870512 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-01-30 00:47:39 +02:00
Gerald Squelart a2ff96a775 Bug 1433850 - layout.display-list.retain.verify.order to also check RDL ordering - r=mattwoodrow
MozReview-Commit-ID: 2foGnuSCwUX

--HG--
extra : rebase_source : a46779e0db3d4452561b52e047daa3716280fde4
2018-01-29 18:23:14 +11:00
Jonathan Kew 4755d882f1 Bug 1432552 - patch 3 - DirectWrite and macOS font back-end implementation of getVariationInstances. r=dholbert 2018-01-29 13:24:11 +00:00
Jonathan Kew c70ab6cef4 Bug 1432552 - patch 2 - Linux font back-end implementation of getVariationInstances. r=dholbert 2018-01-29 13:24:11 +00:00
Jonathan Kew 9de316c207 Bug 1432552 - patch 1 - Add a getVariationInstances() method to InspectorFontFace. r=dholbert,bz 2018-01-29 13:24:11 +00:00
Jonathan Kew 82f83b9470 Bug 1433402 - Use the specific FT_Done_MM_Var function if available (on sufficiently recent freetype) to release the struct returned by FT_Get_MM_Var. r=jrmuizel 2018-01-29 13:24:11 +00:00
Masatoshi Kimura 6c38a639d3 Bug 685236 - Workaround Skia file path issue. r=jwatt
MozReview-Commit-ID: 7y3tNuOtWCv

--HG--
extra : source : 2bb5971b53139c4d2d40bf5b5a3d4a9136ab0233
extra : intermediate-source : 5799334bd14b096fc434ba198054f639e137413b
2017-12-17 00:19:51 +09:00
Jonathan Kew 5b401bc09e Bug 1433098 - Don't rename downloaded fonts (replacing the original 'name' table) when using DirectWrite backend. r=jrmuizel 2018-01-26 17:26:19 +00:00
Jonathan Kew 4b80ef584f Bug 1323743 - patch 5.2 - Implement gfxFontEntry::GetVariationAxes for the DirectWrite backend. r=lsalzman 2018-01-18 17:45:27 +00:00
Jonathan Kew 1c6ff769a1 Bug 1323743 - patch 5.1 - Factor out a GetEnglishOrFirstName helper to simplify DirectWrite font-name code. r=lsalzman 2018-01-18 17:45:26 +00:00
Jonathan Kew fbdc3ccec5 Bug 1323743 - patch 4 - Implement gfxFontEntry::GetVariationAxes for the Linux (fontconfig) backend. r=dholbert 2018-01-18 19:27:41 +00:00
Jonathan Kew 8b13b6b801 Bug 1323743 - patch 3 - macOS implementation of the gfxFontEntry::GetVariationAxes method. r=dholbert 2018-01-26 15:47:20 +00:00
Jonathan Kew 455fe3a96e Bug 1323743 - patch 1 - Add an API to gfxFontEntry to allow querying the available variation axes in a font face. (No actual implementation yet.) r=dholbert 2018-01-26 15:47:19 +00:00
Coroiu Cristina 44d458632a Backed out 1 changesets (bug 1421380) on request from kats
Backed out changeset 48cdd9ef5878 (bug 1421380)
2018-01-25 21:31:34 +02:00
Kartikaya Gupta 4af14dc29f Bug 1421380 - Enable gfx.webrender.hit-test by default. r=jrmuizel
This causes some mochitests to fail.

MozReview-Commit-ID: J2AjM0qKVE5

--HG--
extra : rebase_source : 0a5d21208c003a73dc83cf4dccca7ee5085f5604
2018-01-25 10:32:35 -05:00
Ryan Hunt bfcc9eea72 Add paint worker count to crash report notes. (bug 1432516, r=milan)
--HG--
extra : rebase_source : 2ab184a7b1bf757eb3b60c7e9c2433b99ad3d79e
extra : histedit_source : 03c859abbc704293af35049f330d31cd2454a0b1
2018-01-23 16:17:52 -06:00
Jonathan Kew 6856ae796f Bug 1431866 - Avoid risk of undefined behavior in gfxFontStyle::Hash() calculation. r=jrmuizel 2018-01-24 17:42:30 +00:00
Jonathan Kew 7ff4c1c33d Bug 1430446 - Prefer hinted glyph widths from FreeType, except when hinting is disabled or the font includes variations. r=lsalzman 2018-01-23 18:16:42 +00:00
Andrew Osmond f9a6aed383 Bug 1432472 - Do not assume CompositorBridgeChild is available for FlushAsyncPaints. r=rhunt
CompositorBridgeChild may be lost at any time due to a GPU process
crash. Additionally it may be already destroyed due to shutdown being
initiated. For FlushAsyncPaints, we can safely ignore the missing child
because the subsequent operations will generally fail and we will
recover when the GPU process is respawned (or switched to the UI
process).
2018-01-24 10:01:33 -05:00
sotaro 9ee2dd9629 Bug 1422288 - Disable d2d for canvas when ANGLE is disable with WebRender r=nical 2018-01-24 13:16:35 +09:00
Tom Ritter 40e0f3ea5e Bug 1432009 Fix MinGW build failure with d_write3.h r=jfkthame
Bump mingw version to get the newest commit and do not include the
un-needed dw-extras.h on MinGW (thanks Jacek!)

MozReview-Commit-ID: OjO93XHCxs

--HG--
extra : rebase_source : 933bbb385004988a23d1069c9cd3241b3a3b336e
2018-01-22 15:01:49 -06:00
Jonathan Kew 8334108f71 Bug 1433060 - Support font variations in Moz2d recording stream on Windows, so printing with variation fonts works properly. r=lsalzman
--HG--
rename : gfx/thebes/dw-extra.h => gfx/2d/dw-extra.h
2018-02-26 21:21:01 +00:00
Jonathan Kew 95ddc3b992 Bug 1440943 - Ensure we don't try to look up script tags for codes that are not supported by the system ICU version. r=m_kato 2018-02-27 10:34:25 +00:00
Jonathan Kew 8cc9d24a4f Bug 1454094 - Explicitly copy font variation settings from CGFont when creating a CTFont only on macOS Sierra; on HighSierra, rely on Core Text to automatically propagate the required settings. r=lsalzman 2018-04-18 22:08:41 +01:00
Jonathan Kew faf9bf0aac Bug 1430632 - Copy declarations of new DirectWrite interfaces into our code so it will build against the current Windows SDK and WINVER settings. r=lsalzman,froydnj 2018-01-18 17:45:25 +00:00
Jonathan Kew 483d8a0507 Bug 1430632 - Support OpenType variation fonts in the DirectWrite font back-end (on Win10 Fall Creators Update). r=lsalzman 2018-01-18 17:45:24 +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
Lee Salzman d7042b0a8f Bug 1400917 - render missing glyphs with WebRender. r=gankro 2018-01-18 16:10:14 -05:00
Dorel Luca a066bff27d Merge mozilla-inbound to mozilla-central r=merge a=merge 2018-01-18 11:43:47 +02:00
Tiberius Oros 0f3b1d6ace Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-01-18 00:28:57 +02:00
Lee Salzman 1a23b6eab1 Bug 1400384 - support text writing modes with WebRender. r=gankro 2018-01-17 07:51:20 -05:00
Jonathan Kew e164d9c087 Bug 1430552 - Handle possible freetype failures in gfxFT2FontBase::GetFTGlyphAdvance to avoid risk of crashes. r=lsalzman 2018-01-15 16:36:47 +00:00
Jonathan Kew 42e35bdbd0 Bug 1430216 - For non-scalable fonts, we can't use the linearHoriAdvance field from the glyph slot; use the advance field instead to get proper metrics. r=lsalzman 2018-01-13 15:16:44 +00:00
Chris Peterson 37efe4d0e6 Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj
MozReview-Commit-ID: DCPTnyBooIe

--HG--
extra : rebase_source : cfec2d96faeb11656d86d760a34e0a04cacddb13
extra : intermediate-source : 6176724d63788b0fe8caa3f91607c2d93dbaa7ec
extra : source : eebbb0600447f9b64aae3bcd47b4be66c02a51ea
2017-11-05 19:37:28 -08:00
Jeremy Chen d01f98efad Bug 1429977 - make comments for BreakAndMeasureText up-to-date (comment-only, DONTBUILD). r=jfkthame
MozReview-Commit-ID: ILWAnMT9Fdp

--HG--
extra : rebase_source : a7e70e90d32ce363efb2a927ddc4e83af80a53e3
2018-01-12 02:58:29 +00:00
Noemi Erli adbfbaab81 Merge inbound to mozilla-central r=merge a=merge 2018-01-11 23:54:07 +02:00
Milan Sreckovic e3960c6dce Bug 1429602: Rename BaseRect::IsZero to BaseRect::IsZeroArea. Also slip in some corrections to using BaseRect methods instead of direct member access. r=bas.schouten
MozReview-Commit-ID: H3ApaWesbKF

--HG--
extra : rebase_source : c4f73da113a604c14fbf0f1ef4c598d032d68792
2018-01-10 17:57:10 -05:00
Sylvestre Ledru 424664ff30 Bug 1278282 - Remove the 'MOZ_WIDGET_GTK == 2' defines r=karlt,lsalzman
MozReview-Commit-ID: 3v8D600g8St

--HG--
extra : rebase_source : 34ea6f9868c1b322076c24daa75dc33e27b6704e
2018-01-10 08:52:04 +01:00
Sylvestre Ledru f8b1d9ab46 Bug 1278282 - update of the moz.build files to remove gtk2 references r=lsalzman
MozReview-Commit-ID: FO1wEHzOkuN

--HG--
extra : rebase_source : ac7e61cf47d013de882048740c889735a0a7cad8
2018-01-10 10:04:59 +01:00
Ciure Andrei f7400ad72e Merge inbound to mozilla-central r=merge a=merge 2018-01-11 11:54:56 +02:00
Cameron McCormack c4663ea0f0 Bug 1427419 - Part 22: Move inIDOMUtils.getUsedFontFaces to InspectorUtils. r=bz
This also changes the function to return a sequence (JS Array) instead of
an nsFontFaceList object, and converts nsFontFace/nsIDOMFontFace into a
Web IDL implemented object too.

MozReview-Commit-ID: 1iAW3DYe5kO

--HG--
rename : layout/inspector/nsFontFace.cpp => layout/inspector/InspectorFontFace.cpp
2018-01-11 12:38:01 +08:00
Milan Sreckovic 51522de433 Bug 1425260: gfx.webrender.all turns on all preferences that are needed for webrender. r=kats
MozReview-Commit-ID: 9LKNB2HngMH

--HG--
extra : rebase_source : b9511be46d1bcb8ac41e51fd6d44176d1e6da4c6
2018-01-10 13:09:18 -05:00
Lee Salzman 7755d675bb Bug 1394568 - plumb synthetic italics flag through thebes and Moz2D into WebRender. r=gankro 2018-01-09 10:37:49 -05:00
Ryan Hunt fff3bf05d6 Create a PaintWorker thread pool and dispatch tiles to it (bug 1425056, r=bas)
This commit adds a paint worker thread pool to PaintThread, and dispatches
tiled paints to it. The thread pool is only created if tiling is enabled,
and its size is set by 'layers.omtp.paint-workers' and defaults to 1. If
-1 is specified, it will be sized to 'max((cpu_cores * 3) / 4, 1)'.

The one tricky part of dispatching tiled paints to a thread pool is the
AsyncEndLayerTransaction message that must execute once all paints are
finished. Previously, this runnable would be queued after all the paints
had been queued, ensuring it would be run after they had all completed.

With a thread pool, there is no guarantee. Instead this commit, uses
a flag on CompositorBridgeChild to signify whether all of the paints
have been queued ('mOutstandingAsyncEndLayerTransaction'), and after
every tiled paint it is examined to see if that paint was the last
paint, and if it is to run AsyncEndLayerTransaction. In addition,
if the async paints complete before we even mark the end of the
layer transaction, we queue it like normal.

The profiler markers are also complicated by using a thread pool.
I don't know of a great way to keep them working as they are per
thread, so for now I've removed them. I may have been the only
one using them anyway.

MozReview-Commit-ID: 5LIJ9GWSfCn

--HG--
extra : rebase_source : 0c26806f337a1b4b1511945f9c72e787b426c5ba
2017-12-08 01:18:05 -06:00
Lee Salzman 8dfd9e72ac Bug 1428874 - pass gfxMacFont synthetic bold status to ScaledFontMac. r=gankro
MozReview-Commit-ID: Dn3l5UJlDQL
2018-01-08 15:43:46 -05:00
Jonathan Kew 6cf89ddd0e Bug 1427641 - patch 8 - Refactor gfxFT2FontBase glyph-width code so that we properly respect variations when getting character widths during InitMetrics. r=lsalzman 2018-01-02 13:29:54 +00:00
Jonathan Kew 7222178ff9 Bug 1427641 - patch 7 - Work around buggy FreeType metrics APIs when using variation fonts with FT versions prior to 2.8.2. r=lsalzman 2018-01-02 13:29:48 +00:00
Jonathan Kew 075a3b6980 Bug 1427641 - patch 6 - Tidy up and refactor code for creating FcPattern for an FT_Face and vice versa. r=lsalzman 2018-01-06 10:58:23 +00:00
Jonathan Kew 12da6cfb3e Bug 1427641 - patch 5 - Also for system-installed fonts, create a separate FcPattern and face for each instance when variations are present. r=lsalzman 2018-01-06 10:58:23 +00:00
Jonathan Kew fba67c901c Bug 1427641 - patch 4 - For downloadable fonts that have variations, create a separate FT_Face for each instance used. r=lsalzman 2017-12-10 14:01:32 +00:00
Jonathan Kew 88ac266967 Bug 1427641 - patch 3 - Add variation data to the cairo_ft_*_font objects, so they can properly track instances of the same font resource used with different variation parameters. r=lsalzman 2017-12-07 13:22:49 +00:00
Jonathan Kew 5080cdedd5 Bug 1427641 - patch 2 - Convert variation values into FreeType's data type, and apply them to the FT_Face. r=lsalzman 2017-12-06 14:42:42 +00:00
Jonathan Kew 7ef5a362b4 Bug 1427641 - patch 1 - Get glyph widths directly from the FreeType face, instead of via a cairo scaled_font wrapper. r=lsalzman 2017-12-06 13:51:39 +00:00
Jeff Gilbert df8e8db803 Bug 1427668 - Move the webgl backbuffer into webgl. - r=daoshengmu
MozReview-Commit-ID: 2WpG7mfMRQ8
2018-01-05 15:27:30 -08:00
jlogandavison d00bc034b2 Bug 1180865 - Implement pinch locking in APZC. r=botond
Mechanism for restricting pinch zooming when gesture is a two
finger pan. If the pinch span is below a given threshold and the
scroll distance above a given threshold then the zoom level is
maintained to allow for smooth panning with two fingers.

MozReview-Commit-ID: 62Fv0WeplOo

--HG--
extra : rebase_source : 71d7da4c4b4cc3a5adde13ad1a7c1fbf49856c35
2017-11-18 19:48:25 +00:00
Andreea Pavel 25357802c6 Merge mozilla-inbound to mozilla-central r=merge a=merge 2018-01-04 23:28:19 +02:00
Alexis Beingessner 42b068a0b3 Bug 1406231 - remove the TextLayer class, and all remaining traces of it. r=mattwoodrow
MozReview-Commit-ID: 5fmKfkO6hnO

--HG--
extra : rebase_source : 3572bba4d1aec75af2ef19d52351d7ea2137cc53
2017-12-07 17:13:05 -05:00
Jamie Nicol 59e9b39045 Bug 1421481 - Post-review follow-up for webgl context initialization. r=jgilbert
MozReview-Commit-ID: Ja3t0gcWHZS
2018-01-04 13:38:47 +00:00
Lee Salzman 0cfe444fcb Bug 1400384 - only invert oblique transform on missing glyph for vertical writing mode. r=me 2018-01-17 13:13:09 -05:00
Emilio Cobos Álvarez 141792488a Bug 1430608: Make nsMediaFeatures work with a document, not a pres context. r=heycam
Returning a zero-sized viewport in the case there's no shell / pres context.

For now, no other change yet. After this we can start tweaking the ShadowRoot
Stylist setup, and even try to return computed styles without a document \o/.

MozReview-Commit-ID: 3cT2PKQISri
2018-01-17 21:51:47 +01:00
Jonathan Kew 80ebb3e8d9 Bug 1428826 - Don't rely on FT_Get_Advance for glyph widths, get the advance from the glyph slot instead for better consistency with cairo metrics & rendering; update test expectations for minor changes in rendering. r=lsalzman 2018-01-09 17:36:37 +00:00
Matt Woodrow 6145974a31 Bug 1413546 - Add pref to allow retained display lists within the parent process. r=jet 2017-12-22 11:45:32 +13:00
Cameron McCormack 93b3403772 Bug 1425000 - Use a consistent window for CSP, etc. for FontFace loads. r=jfkthame
MozReview-Commit-ID: F2xhsgTBI1V

--HG--
extra : rebase_source : 4bf73e190ba4e90e1f3b828d1f8e1babf3a512c4
2017-12-21 14:07:31 -05:00
Kartikaya Gupta faa99bda0c Bug 1426191 - Update test_acceleration to check for webrender windows. r=dvander
MozReview-Commit-ID: gbBJs4OR9f

--HG--
extra : rebase_source : c165aa54e87dad2872b4eafdb8ca70b4ca6e994c
2017-12-21 09:25:07 -05:00
cku 379a01a859 Bug 1426523 - Add PrintTargetEMF.* only if MOZ_ENABLE_SKIA_PDF is enable. r=cjku
MozReview-Commit-ID: 1bcSHbfQK48

--HG--
extra : rebase_source : 384ff19974491683779847131569652430cc2670
2017-12-21 11:54:05 +08: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
sotaro b2e55186e4 Bug 1425791 - Update WebRenderDebugPref r=jrmuizel 2017-12-18 17:06:52 -08:00
Swapnil fff4bd7c7c Bug 785931 - Removed probes GRADIENT_DURATION, GRADIENT_RETENTION_TIME. r=chutten 2017-12-13 23:08:56 +05:30
cku 5a90745685 Bug 1424922 - Prevent calling PDFiumParent::Close twice. r=dvander
We call PDFiumParent::Close twice under certain conditions. Once in
PDFiumProcessParent::Delete, and once in PDFiumProcessParent's dtor. So we may
hit MOZ_ABORT which tell us that we are trying to close a closed channel.

This patch prevents hitting this abort by:
1. Only close the channel in PDFiumProcessParent::Delete, remove another call
   in PDFiumProcessParent's dtor. (Please see the change in
   PDFiumProcessParent.cpp).
2. Remove PDFiumParent::AbortConversion and relative code. We can just use
   PDFiumParent::EndConversion instead. When calling PDFiumParent::Close, we
   actually close the IPC channel *synchronously*, which means there is no need
   to register a callback by PDFiumParent::AbortConversion to receive
   actor-destroy callback.

MozReview-Commit-ID: 9i5j6t54J3h

--HG--
extra : rebase_source : 5f74ebc1ecc29e9983c30ca2dd63e0b49bd24a50
2017-12-13 12:42:59 +08:00
cku 780de75cf4 Bug 1399787 - Part 15. Detect and handle breakage of the IPC channel. r=jwatt
MozReview-Commit-ID: 6VfIbstJ6WN

--HG--
extra : rebase_source : 29c658959dc59234b2d59b89109ce56fb5929ffc
extra : source : 761e68aef93e9f6b2d914c81c638db588dec6fe5
2017-11-06 22:12:31 +08:00
cku 2716e0d75b Bug 1399787 - Part 13. Handle AbortDocument. r=jwatt
While aborting conversion, we need to make sure there is no coversion task
executing in the PDFium process before destroying it.

MozReview-Commit-ID: 3Iqhe8KmYv2

--HG--
extra : rebase_source : 70d9f0b2e2986499e3061823e0c29830aa81d232
extra : source : 753ed705666fd4c55da456fb80604e4552d6bd52
2017-11-05 15:34:54 +08:00
cku 3654a24e84 Bug 1399787 - Part 11.a. Use PrintTargetEMF to print content documents. r=jwatt
Before we introduce PrintTargetEMF, all PrintTargets finish page printing task
before the end of PrintTarget::EndPage(). Unlike others, a page printing
in PrintTargetEMF is done after receiving an async callback from the pdfium
process. So we have both async and sync page printing behavior now. This patch
is trying to make both of them work correctly while priting a content document.

MozReview-Commit-ID: 2PHJToFlvtu

--HG--
extra : rebase_source : 9d2d7cf7330a157a0e5c6a414c75de94ca3fb5a1
extra : source : f61eb00f83acf45511d8448922212dccb12b05aa
2017-11-05 04:36:37 +08:00
cku 6f25ba1878 Bug 1399787 - Part 10. Make PrintTargetEMF use the PDFium process to convert to EMF. r=jwatt
We integrate PrintTargetEMF with the PDFium process to convert PDF into EMF in
this patch.

MozReview-Commit-ID: 5F0setrL94n

--HG--
extra : rebase_source : 1e52adbbe7502ca081c7029a15e4b3f486beb284
extra : source : 28f1671230fa70125e6971c9a287cb0658b89496
2017-11-05 03:06:04 +08:00
cku b203ed0d71 Bug 1399787 - Part 7. Have PrintTargetEMF launch the PDFium process. r=jwatt
MozReview-Commit-ID: CVfB81ifV2p

--HG--
extra : rebase_source : fab6e106934a657f05538891ebf0c1d3043a2b33
2017-11-29 17:15:31 +08:00
cku 2a5886a1b7 Bug 1399787 - Part 6. Implement the bulk of a new PrintTargetEMF. r=jwatt
A new subclass of PrintTarget.
1. It uses PrintTargetSkPDF to generate one PDF FileDescriptor for one page.
2. In a later patch, it then passes that FD to PDFium process for converting
   a PDF page to EMF contents.

Implementation of integration with PDFium actor is added the subsequent patches.

MozReview-Commit-ID: EcuBJHRW8Wk

--HG--
extra : rebase_source : 838d798161e112952b5e148bbece730159cd49ca
2017-11-05 02:05:25 +08:00
cku eefa6c8ea6 Bug 1399787 - Part 1. Fix namespacing and include issues hidden by unified compilation. r=jwatt
We will create several new files in the following patches for IPC and a new
subprocess. Several already existed files will be shifted into new build units,
we will meet several compile errors because of it.

This patch fixes those compile error in advance.

MozReview-Commit-ID: 5hd0sNYfBu0

--HG--
extra : rebase_source : d4cca529623586188ffebffd858f53188d12bb50
2017-10-06 22:01:22 +08:00
Andreea Pavel 5ba2665757 Merge inbound to mozilla-central r=merge a=merge 2017-12-09 22:21:17 +02:00
Gurzau Raul 0fcc1a37e6 Merge mozilla-central to mozilla-inbound. r=merge a=merge CLOSED TREE 2017-12-09 00:57:59 +02:00
Ryan Hunt 3a2625f069 Disable OMTP only if edge padding is enabled and tiling is also enabled (bug 1424325, r=bas)
MozReview-Commit-ID: K1B7kTCMDDt

--HG--
extra : rebase_source : 57fdd280117bbbe6d47a93b1fc241e5b7e2b48b6
2017-12-08 14:58:56 -06:00
Kearwood "Kip" Gilbert 8e218cb777 Bug 1384279 - Oculus Rift Core 2.0 Adjustments r=daoshengmu
- Add pref to enable the ovrInit_Invisible flag for Oculus sessions, enabled by default.
- Ensure that the Oculus library is unloaded every time it is uninitialized,
  improving reliability of exiting and returning to WebVR.

MozReview-Commit-ID: 6VCugCJ2dUz

--HG--
extra : rebase_source : c6002bbaab650a86a31f62b63029f13ce2c8f614
2017-12-07 15:27:03 -08:00
Cosmin Sabou c191e25cf5 Merge mozilla-inbound to mozilla-central r=merge a=merge 2017-12-08 11:56:44 +02:00
Sylvestre Ledru 4591d82b23 Bug 1394734 - Replace CONFIG['CLANG*'] by CONFIG['CC_TYPE'] r=glandium
MozReview-Commit-ID: HbF5oT5HW6f

--HG--
extra : rebase_source : eca479b6ae4bff7f600d1cdb39e11ac2057e4e79
2017-12-07 22:09:38 +01:00
Cosmin Sabou 79d933ec34 Backed out 22 changesets (bug 1399787) for shutdown leaks on windows 7 debug tc-M without e10s r=backout on a CLOSED TREE
Backed out changeset 463d676df5da (bug 1399787)
Backed out changeset fc9776a2605d (bug 1399787)
Backed out changeset 2e91a90dfbc3 (bug 1399787)
Backed out changeset e82ab72f71ee (bug 1399787)
Backed out changeset d7fef200e8b9 (bug 1399787)
Backed out changeset a7d70f7f3335 (bug 1399787)
Backed out changeset 2800f9d20d96 (bug 1399787)
Backed out changeset 9dfa404abf9d (bug 1399787)
Backed out changeset 09b3c172a01e (bug 1399787)
Backed out changeset f9fd3e750636 (bug 1399787)
Backed out changeset 01284c55bf8a (bug 1399787)
Backed out changeset c2ab1b454283 (bug 1399787)
Backed out changeset e7bfa51404c5 (bug 1399787)
Backed out changeset 3fd2a734f887 (bug 1399787)
Backed out changeset ef21f295db3f (bug 1399787)
Backed out changeset c186893ce0fc (bug 1399787)
Backed out changeset 323da3bddaaa (bug 1399787)
Backed out changeset 3b89f189edff (bug 1399787)
Backed out changeset a47bd86c35ee (bug 1399787)
Backed out changeset 558526301a4c (bug 1399787)
Backed out changeset baa99fb50ba9 (bug 1399787)
Backed out changeset 6d82ed0ba805 (bug 1399787)
2017-12-08 13:09:56 +02:00
Cosmin Sabou 9937354d94 Backed out changeset 497efe3a096b (bug 1406231) for windows build bustages on build\build\src\obj-firefox\dist\include\mozilla/layers/ScrollingLayersHelper.h(48) r=backout on a CLOSED TREE 2017-12-08 13:04:05 +02:00
Alexis Beingessner 90d0f66f33 Bug 1406231 - remove the TextLayer class, and all remaining traces of it. r=mattwoodrow
MozReview-Commit-ID: 5fmKfkO6hnO

--HG--
extra : rebase_source : 4749bff0a8d799f7a81d9f6e32e40e14b9f24191
2017-12-07 17:13:05 -05:00
Brindusan Cristian 5b9ee89503 Merge mozilla-central to autoland a=merge r=merge on a CLOSED TREE 2017-12-08 12:06:24 +02:00
cku 98fa10feb8 Bug 1399787 - Part 15. Detect and handle breakage of the IPC channel. r=jwatt
MozReview-Commit-ID: 6VfIbstJ6WN

--HG--
extra : rebase_source : a9cf90c846f9f7d054317fee7bd16980862ffcfc
extra : source : 761e68aef93e9f6b2d914c81c638db588dec6fe5
2017-11-06 22:12:31 +08:00
cku 73e02d24cc Bug 1399787 - Part 13. Handle AbortDocument. r=jwatt
While aborting conversion, we need to make sure there is no coversion task
executing in the PDFium process before destroying it.

MozReview-Commit-ID: 3Iqhe8KmYv2

--HG--
extra : rebase_source : c4597de6c13d35024090ec1e851ad1db5b790c7a
extra : source : 753ed705666fd4c55da456fb80604e4552d6bd52
2017-11-05 15:34:54 +08:00
cku 8d5d5ad437 Bug 1399787 - Part 11.a. Use PrintTargetEMF to print content documents. r=jwatt
Before we introduce PrintTargetEMF, all PrintTargets finish page printing task
before the end of PrintTarget::EndPage(). Unlike others, a page printing
in PrintTargetEMF is done after receiving an async callback from the pdfium
process. So we have both async and sync page printing behavior now. This patch
is trying to make both of them work correctly while priting a content document.

MozReview-Commit-ID: 2PHJToFlvtu

--HG--
extra : rebase_source : ee691497bd439c6505f1f92898a667a9e972fff3
extra : source : f61eb00f83acf45511d8448922212dccb12b05aa
2017-11-05 04:36:37 +08:00
cku 0ac62e2331 Bug 1399787 - Part 10. Make PrintTargetEMF use the PDFium process to convert to EMF. r=jwatt
We integrate PrintTargetEMF with the PDFium process to convert PDF into EMF in
this patch.

MozReview-Commit-ID: 5F0setrL94n

--HG--
extra : rebase_source : 3dfc6ce64f4cdc7d5d7e95d1f064d956af909a26
extra : source : 28f1671230fa70125e6971c9a287cb0658b89496
2017-11-05 03:06:04 +08:00
cku 6fc6c63d6d Bug 1399787 - Part 7. Have PrintTargetEMF launch the PDFium process. r=jwatt
MozReview-Commit-ID: CVfB81ifV2p

--HG--
extra : rebase_source : 64aae1ffdd9a6dc109192a28e0350b72aa0e54b2
2017-11-29 17:15:31 +08:00
cku 5f60bfad5a Bug 1399787 - Part 6. Implement the bulk of a new PrintTargetEMF. r=jwatt
A new subclass of PrintTarget.
1. It uses PrintTargetSkPDF to generate one PDF FileDescriptor for one page.
2. In a later patch, it then passes that FD to PDFium process for converting
   a PDF page to EMF contents.

Implementation of integration with PDFium actor is added the subsequent patches.

MozReview-Commit-ID: EcuBJHRW8Wk

--HG--
extra : rebase_source : 459089204c023282a699bfd87b4db5b1783db98d
2017-11-05 02:05:25 +08:00
cku be80632ef9 Bug 1399787 - Part 1. Fix namespacing and include issues hidden by unified compilation. r=jwatt
We will create several new files in the following patches for IPC and a new
subprocess. Several already existed files will be shifted into new build units,
we will meet several compile errors because of it.

This patch fixes those compile error in advance.

MozReview-Commit-ID: 5hd0sNYfBu0

--HG--
extra : rebase_source : 0d85c823e4ead4f09175f2cc83df811b2b4081ec
2017-10-06 22:01:22 +08:00
Bogdan Tara e882c9b394 Backed out 22 changesets (bug 1399787) for failing on mozmake.EXE r=backout a=backout on a CLOSED TREE
Backed out changeset 0afbd07d8219 (bug 1399787)
Backed out changeset 80c062fd58fb (bug 1399787)
Backed out changeset b1457eabd34e (bug 1399787)
Backed out changeset d875e45f591e (bug 1399787)
Backed out changeset 8f600ac930ec (bug 1399787)
Backed out changeset c478fb75f5cb (bug 1399787)
Backed out changeset c995f4e18724 (bug 1399787)
Backed out changeset 0b75ef19e695 (bug 1399787)
Backed out changeset 2382a348a6c1 (bug 1399787)
Backed out changeset 93f9a5e253d8 (bug 1399787)
Backed out changeset 5c50bbde0950 (bug 1399787)
Backed out changeset 67e530c129c7 (bug 1399787)
Backed out changeset 682c60e52749 (bug 1399787)
Backed out changeset ff1436ae1ef7 (bug 1399787)
Backed out changeset cb3ae1dc20b2 (bug 1399787)
Backed out changeset bc52b1781641 (bug 1399787)
Backed out changeset d165846cb5e1 (bug 1399787)
Backed out changeset 185368267354 (bug 1399787)
Backed out changeset c385d0f60f8a (bug 1399787)
Backed out changeset 364b5b44932b (bug 1399787)
Backed out changeset 98758e79710d (bug 1399787)
Backed out changeset d56497aa5390 (bug 1399787)
2017-12-07 19:16:08 +02:00
cku 4b646fbaf3 Bug 1399787 - Part 15. Detect and handle breakage of the IPC channel. r=jwatt
MozReview-Commit-ID: 6VfIbstJ6WN

--HG--
extra : rebase_source : eb18bc02261f27043e04ad3e02ad7eab7fc8b59b
extra : source : 761e68aef93e9f6b2d914c81c638db588dec6fe5
2017-11-06 22:12:31 +08:00
cku b76d64f617 Bug 1399787 - Part 13. Handle AbortDocument. r=jwatt
While aborting conversion, we need to make sure there is no coversion task
executing in the PDFium process before destroying it.

MozReview-Commit-ID: 3Iqhe8KmYv2

--HG--
extra : rebase_source : b82fe3b7231d9c4a171d6a19cd22c0c7ff47b4bf
extra : source : 753ed705666fd4c55da456fb80604e4552d6bd52
2017-11-05 15:34:54 +08:00
cku bfe3b297fb Bug 1399787 - Part 11.a. Use PrintTargetEMF to print content documents. r=jwatt
Before we introduce PrintTargetEMF, all PrintTargets finish page printing task
before the end of PrintTarget::EndPage(). Unlike others, a page printing
in PrintTargetEMF is done after receiving an async callback from the pdfium
process. So we have both async and sync page printing behavior now. This patch
is trying to make both of them work correctly while priting a content document.

MozReview-Commit-ID: 2PHJToFlvtu

--HG--
extra : rebase_source : 3531dd6a100e9518d8cb9904326250a8318cdad2
extra : source : f61eb00f83acf45511d8448922212dccb12b05aa
2017-11-05 04:36:37 +08:00
cku 0088c161b3 Bug 1399787 - Part 10. Make PrintTargetEMF use the PDFium process to convert to EMF. r=jwatt
We integrate PrintTargetEMF with the PDFium process to convert PDF into EMF in
this patch.

MozReview-Commit-ID: 5F0setrL94n

--HG--
extra : rebase_source : 576e077f804785da20923620d9c4e3041936e835
extra : source : 28f1671230fa70125e6971c9a287cb0658b89496
2017-11-05 03:06:04 +08:00
cku 2615f0ab34 Bug 1399787 - Part 7. Have PrintTargetEMF launch the PDFium process. r=jwatt
MozReview-Commit-ID: CVfB81ifV2p

--HG--
extra : rebase_source : 88725db5962ce59282fc3df298f3224446c9e086
2017-11-29 17:15:31 +08:00
cku 2755ec8823 Bug 1399787 - Part 6. Implement the bulk of a new PrintTargetEMF. r=jwatt
A new subclass of PrintTarget.
1. It uses PrintTargetSkPDF to generate one PDF FileDescriptor for one page.
2. In a later patch, it then passes that FD to PDFium process for converting
   a PDF page to EMF contents.

Implementation of integration with PDFium actor is added the subsequent patches.

MozReview-Commit-ID: EcuBJHRW8Wk

--HG--
extra : rebase_source : f977e6863b9f2ee961648ddaf13f5e30a3659410
2017-11-05 02:05:25 +08:00
cku 86f919fdad Bug 1399787 - Part 1. Fix namespacing and include issues hidden by unified compilation. r=jwatt
We will create several new files in the following patches for IPC and a new
subprocess. Several already existed files will be shifted into new build units,
we will meet several compile errors because of it.

This patch fixes those compile error in advance.

MozReview-Commit-ID: 5hd0sNYfBu0

--HG--
extra : rebase_source : b6b8b069f8f2167ef87266ba9c95e8fe53cca6f6
2017-10-06 22:01:22 +08:00