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

203 Коммитов

Автор SHA1 Сообщение Дата
Kartikaya Gupta 688791ad90 Bug 1630912. Add a simple way to observe vsync on the mainthread. r=jrmuizel
I had to mess with the refcounting of Display (and hence destructors) because we create a NewRunnableMethod inside Display that holds a pointer to |this|. There are versions of NewRunnableMethod that don't take a ref but I'm not sure of the lifetime of Display, so easier to just take a ref since several of the subclasses are already refcounted.

Differential Revision: https://phabricator.services.mozilla.com/D71303
2020-05-08 23:19:31 +00:00
Razvan Maries 2632be905a Backed out 6 changesets (bug 1630912) for build bustages on gfxAndroidPlatform.cpp. CLOSED TREE
Backed out changeset 21dc02bc12b9 (bug 1630912)
Backed out changeset 08a6a1f1c4c7 (bug 1630912)
Backed out changeset 108b1a07929b (bug 1630912)
Backed out changeset e202ddeb4e40 (bug 1630912)
Backed out changeset f7d9852a3d09 (bug 1630912)
Backed out changeset e6cd2ceab183 (bug 1630912)
2020-05-05 09:04:37 +03:00
Kartikaya Gupta 7908209483 Bug 1630912. Add a simple way to observe vsync on the mainthread. r=jrmuizel
I had to mess with the refcounting of Display (and hence destructors) because we create a NewRunnableMethod inside Display that holds a pointer to |this|. There are versions of NewRunnableMethod that don't take a ref but I'm not sure of the lifetime of Display, so easier to just take a ref since several of the subclasses are already refcounted.

Differential Revision: https://phabricator.services.mozilla.com/D71303
2020-05-01 23:32:30 +00:00
Chris Martin 64e1fb7a45 Bug 1540776 - Have parent send color profile to child during launch r=aosmond,jld,jfkthame,florian
For Win32k lockdown, we need to remove the content processes' ability to
call GetICMProfileW(). Since it needs this to retrieve the output color
profile, a new synchronous call is added that allows it to request the
parent process to read this file on its behalf.

The contents of the file are now being cached as well, as this should help
ease some of the increased parent process I/O caused by the children not
being able to do this in their process anymore.

For performance reasons, during launch this information is passed directly
to the child through the SetXPCOMProcessAttributes call

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

--HG--
extra : moz-landing-system : lando
2020-04-02 15:42:15 +00:00
Jonathan Kew db5bae5fe8 Bug 1626844 - Prefer Helvetica over Menlo as fallback font for Georgian on macOS. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D69334

--HG--
extra : moz-landing-system : lando
2020-04-02 16:44:26 +00:00
Dorel Luca ed4bab52bc Backed out changeset b9b3d4f3f430 (bug 1626844) for WR failures in marker-text-matches-georgian.html. CLOSED TREE
--HG--
extra : amend_source : ad81e149675bf77a253fb94c66d1a47bdd066c2a
2020-04-02 19:03:15 +03:00
Jonathan Kew 128000c5eb Bug 1626844 - Prefer Helvetica over Menlo as fallback font for Georgian on macOS. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D69334

--HG--
extra : moz-landing-system : lando
2020-04-02 12:55:05 +00:00
Jonathan Kew c8c463d812 Bug 1621232 - Devirtualize and merge CreateFontGroup implementations, as there is no longer any platform dependency. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D66197

--HG--
extra : moz-landing-system : lando
2020-03-10 13:20:37 +00:00
Chris Martin 726cba0bb5 Bug 1540776 - Change CMSOutputProfile functions to return nsArray r=gcp
Currently, the GetCMSOutputProfile() and related methods pass their output
using the old C-style "ptr, len" parameters. This makes them more difficult
to deal with later in this change when they need to be safely passed over IPC.

This refactors them to return nsTArray<uint8_t> results instead. I also
removed some old cruft and refactored the existing code.

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

--HG--
extra : moz-landing-system : lando
2020-02-21 21:27:53 +00:00
Timothy Nikkel f3312286c6 Bug 1577507. Disable GPU process on mac even if prefs try to enable it. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D63537

--HG--
extra : moz-landing-system : lando
2020-02-21 11:40:31 +00:00
Jonathan Kew 1a33263ff8 Bug 1607672 - Improve font fallback for Dingbats block on macOS. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D59312

--HG--
extra : moz-landing-system : lando
2020-01-09 12:53:15 +00:00
Markus Stange 0f70058b6f Bug 1592044 - Reduce the frequency of IOSurface and framebuffer creation and destruction with the help of a surface pool. r=jgilbert
There are multiple SurfacePools: Main thread painting and the non-WebRender compositors create a new pool per window, and WebRender creates one shared pool across all windows. The non-WebRender users set the pool size limit to zero, i.e. no recycling across paints. This preserves the pre-existing behavior.
WebRender's pool size is configurable with the gfx.webrender.compositor.surface-pool-size pref.
Every window holds on to a SurfacePoolHandle. A SurfacePoolHandle has an owning reference to the pool, via a surface pool wrapper. Once all handles are gone, the surface pool goes away, too.
The SurfacePool holds on to IOSurfaces and MozFramebuffers. Both are created on demand, independently, but are associated with each other.
A given NativeLayer uses only one surface pool handle during its lifetime. The native layer no longer influences which GLContext its framebuffers are created for; the GL context is now managed by the surface pool handle.
As a result, a NativeLayer can no longer change which GLContext its framebuffers are created by.
So in the future, if we ever need to migrate a window frome one GLContext to another, we will need to recreate the NativeLayers inside it. I think that's ok.

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

--HG--
extra : moz-landing-system : lando
2019-12-18 21:01:51 +00:00
Jonathan Kew 411f10a849 Bug 1586218 - Use a better default fallback font for Mongolian on macOS. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D49780

--HG--
extra : moz-landing-system : lando
2019-10-21 20:34:43 +00:00
Steven Michaud a57ff23303 Bug 1201401 - Work around a crash in CVCGDisplayLink::getDisplayTimes. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D45426

--HG--
extra : moz-landing-system : lando
2019-09-11 16:49:45 +00:00
Steven Michaud 574a2cd354 Bug 1201401 - Work around a crash in CVCGDisplayLink::getDisplayTimes. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D44525

--HG--
extra : moz-landing-system : lando
2019-09-05 15:49:21 +00:00
Markus Stange 979634bacb Bug 1565717 - Remove all dynamic loading of IOSurface functions. r=mattwoodrow
These functions were made public in 10.6. The oldest version we support is 10.9.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 11:06:22 +00:00
Barret Rennie 06f829cc25 Bug 1289211 - Rename InfallibleTArray to nsTArray in gfx/thebes/ r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D36955

--HG--
extra : moz-landing-system : lando
2019-07-10 03:29:40 +00:00
Jean-Yves Avenard 11ac9e9cf8 Bug 1540581 - P6. Tidy some C++ declarations in gfx/. r=gerald,jrmuizel
* Remove redundant virtual keywords
* Mark all destructors of inheriting classes as virtual for clarity
* Mark all classes without virtual destructor as final (exposed errors)
* Make destructor virtual where it needed to be (some were missing)
* Replace empty ({}) code declaration in header with = default
* Remove virtual unused methods

I probably missed some, it quickly became a rabbit hole.

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

--HG--
extra : moz-landing-system : lando
2019-04-11 12:36:51 +00:00
Ryan Hunt 85ff4bdc33 Bug 1523969 part 8 - Move method definition inline comments to new line in 'gfx/'. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D21108

--HG--
extra : rebase_source : 48a4586f507891f3a2f0f970e9b9a0b15f0f3d61
2019-02-25 16:07:19 -06:00
Emilio Cobos Álvarez 323b5be77a Bug 1526294 - Should not need a pres context to get a system font. r=jfkthame
The only caller wants CSS pixels, no need to go back and forth.

This is the last dependency on the pres context, I think, from the style system
font code.

Differential Revision: https://phabricator.services.mozilla.com/D19147
2019-02-15 01:35:13 +01:00
Tooru Fujisawa 7983faeb5d Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Jonathan Kew 6f42f167fb Bug 1490402 - Use UTF-8 strings (in place of UTF-16) for font family/face names in the system font list, to reduce memory footprint. r=lsalzman 2018-09-12 20:34:57 +01:00
Miko Mynttinen 4c85ef17cc Bug 1465060 - Part 1: Fix warnings for std::move() use r=froydnj
MozReview-Commit-ID: HpdFXqQdIOO

--HG--
extra : rebase_source : 1e7eea4f2d4ec16ec0c559a8afb26976ddbf4d07
2018-06-01 17:59:07 +02:00
arthur.iakab 7e765f798b Backed out 2 changesets (bug 1465060) for build bustages on security/sandbox/linux/reporter/SandboxReporter.cpp
Backed out changeset 7c8905b6b226 (bug 1465060)
Backed out changeset 10446073eca8 (bug 1465060)
2018-06-03 19:25:41 +03:00
Miko Mynttinen 8d9dc85cd4 Bug 1465060 - Part 1: Fix warnings for std::move() use r=froydnj
MozReview-Commit-ID: HpdFXqQdIOO

--HG--
extra : rebase_source : 619d0e0ff63a2453c80f0c4d9beb906d43fa9b01
2018-06-01 17:59:07 +02:00
Emilio Cobos Álvarez fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

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

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

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

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Jonathan Kew 1171052be1 Bug 1425812 - Rely on native Core Text support for COLR/CPAL fonts on High Sierra. r=lsalzman 2018-05-29 17:07:48 +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
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 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 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
sotaro 0cc1972d14 Bug 1432039 - Improve assumption of content process's back-end prefs r=jrmuizel 2018-03-15 14:48:54 +09: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
Makoto Kato 153c591749 Bug 1032671 - Part 4. Font fallback should detect emoji range for color emoji font. r=jfkthame
MozReview-Commit-ID: AeqSLUU9GRH

--HG--
extra : rebase_source : 3a3d0c70072b990d83b1304eb527f30307f6e944
2017-11-12 16:36:24 +09:00
Jonathan Kew a889197da2 Bug 1412090 - patch 2 - Rework the fontconfig-based platform font list implementation to pass the list of available font patterns from chrome to content, instead of letting the content process get it directly from fontconfig. r=lsalzman 2017-11-02 20:29:33 +00:00
Jonathan Kew c28cae074c Bug 1412090 - patch 1 - Wrap the font family record used to pass font info from chrome to content on macOS in a union, in preparation for using the same mechanism with a different type of font record on Linux. (No functional change here, just the added union type and some renamings from 'font family list' to 'font list' to be more generic.) r=lsalzman 2017-11-02 17:23:16 +00:00
Jonathan Kew 7036cc5f85 Backed out changesets 75e7f32c3365, eec946b59360, 72a6f5f3512c, ea8ee40ed426 (bug 1412090) for apparently breaking all system-installed fonts on some Linux systems. r=backout 2017-11-10 16:05:33 +00:00
Jonathan Kew 0ba9f9c57b Bug 1412090 - patch 2 - Rework the fontconfig-based platform font list implementation to pass the list of available font patterns from chrome to content, instead of letting the content process get it directly from fontconfig. r=lsalzman 2017-11-02 20:29:33 +00:00
Jonathan Kew 90bf3da506 Bug 1412090 - patch 1 - Wrap the font family record used to pass font info from chrome to content on macOS in a union, in preparation for using the same mechanism with a different type of font record on Linux. (No functional change here, just the added union type and some renamings from 'font family list' to 'font list' to be more generic.) r=lsalzman 2017-11-02 17:23:16 +00: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
Lee Salzman a21ad6d19e Bug 1385029 - require implementation of gfxFont::GetScaledFont and remove unnecessary gfxPlatform::GetScaledFontForFont. r=jfkthame
MozReview-Commit-ID: GP1Aekecb0s
2017-08-07 16:20:44 -04:00
Jonathan Kew 10934e3b01 Bug 1381471 - Refactor gfxPlatform::IsFontFormatSupported implementations to put all the cross-platform behavior in the base class and remove most overrides. r=heycam 2017-07-20 09:57:00 +01:00
Cameron McCormack c770a5a921 Bug 1376964 - Part 7: Remove unused nsIURI argument from gfxPlatform::IsFontFormatSupported. r=jfkthame
MozReview-Commit-ID: LJ6nnZEGz7D

--HG--
extra : rebase_source : 9f47d839aa4572ed2fc2d15a4986c8bc30d3f2ca
2017-07-08 14:17:23 +08:00
Carsten "Tomcat" Book a269ba0e44 Backed out changeset aafb719b4379 (bug 1376964) 2017-07-12 12:41:29 +02:00
Cameron McCormack ab22ddb3c6 Bug 1376964 - Part 7: Remove unused nsIURI argument from gfxPlatform::IsFontFormatSupported. r=jfkthame
MozReview-Commit-ID: LJ6nnZEGz7D

--HG--
extra : rebase_source : a12c270beb85467955c044c9c068d22de5db8f45
2017-07-12 16:36:15 +08:00
Carsten "Tomcat" Book 3a6a347356 Backed out changeset a60731cb1a7f (bug 1376964) 2017-07-12 10:32:15 +02:00
Cameron McCormack c4d27f68a0 Bug 1376964 - Part 7: Remove unused nsIURI argument from gfxPlatform::IsFontFormatSupported. r=jfkthame
MozReview-Commit-ID: LJ6nnZEGz7D

--HG--
extra : rebase_source : 1636e695ca025e6fbcade8258746ffb38adc5b26
2017-07-12 13:03:35 +08:00
Bill McCloskey 224d56eb18 Bug 1377222 - Eliminate nsITimer::InitWithFuncCallback in favor of InitWithNamedFuncCallback (r=froydnj)
MozReview-Commit-ID: 9zN9aAd7daA
2017-07-03 16:19:56 -07:00
Andi-Bogdan Postelnicu 98ef2aa49c Bug 1317637 - Use C++11's override and remove virtual where applicable in gfx/. r=jrmuizel
MozReview-Commit-ID: 2nzBWEAu2wt

--HG--
extra : rebase_source : 0fffd208a79f8d72bc36d77600ba925cbe254a7c
2016-11-15 11:16:29 +02:00