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

108 Коммитов

Автор SHA1 Сообщение Дата
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
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
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
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 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
Andrew Osmond 675137dd9f Bug 1419767 - Remove gfxPlatform::CanRenderContentToDataSurface. r=nical
Factory::DoesBackendSupportDataDrawtarget already fulfills the same
purpose and we should use that instead, as imgFrame is the only user of
the former API. It has the added bonus of allowing us to use shared
surfaces on Linux with WebRender, and using volatile surfaces on Windows
when D2D is disabled.
2017-11-24 08:10:03 -05: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
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
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
Jonathan Kew eb88ca57ad Bug 1314932 - Reduce content-process startup time on MacOSX by passing the system font list from chrome to content process via the GetXPCOMProcessAttributes message. r=mstange 2016-11-15 13:58:29 +00:00
Carsten "Tomcat" Book fd0ff57dbb Backed out changeset bc0e63d09f83 (bug 1314932) for causing merge conflicts with mozilla-central/autoland and so blocking m-i to m-c merge 2016-11-16 14:51:16 +01:00
Jonathan Kew 48a1d6a49a Bug 1314932 - Reduce content-process startup time on MacOSX by passing the system font list from chrome to content process via the GetXPCOMProcessAttributes message. r=mstange 2016-11-15 13:58:29 +00:00
stefanh@inbox.com 13348e25c7 Bug 1280827 - Remove some obsolete OS X version checks in gfx/. r=jrmuizel. 2016-07-10 13:11:33 +02:00
Jonathan Kew c60f6a1ae4 Bug 1266391 - Introduce an enum class mozilla::unicode::Script, and use this instead of bare integers to specify script codes for better type checking. r=masayuki 2016-04-21 18:58:59 +01:00
Markus Stange 0466d2c67d Bug 1265568 - Don't require component alpha layers for text with -moz-osx-font-smoothing:grayscale. r=jfkthame,mattwoodrow
MozReview-Commit-ID: KujmkbgadPo

--HG--
extra : rebase_source : df1db96206175e846652f3d5b247978fb5005bd2
2016-04-18 19:41:50 -04:00
Masatoshi Kimura 66f8a469ef Bug 1255973 - Remove redundant overrides from gfxPlatform subclasses. r=jfkthame 2016-03-18 21:43:38 +09:00
Milan Sreckovic 9ca74932b6 Bug 1249640: Part 3 Update Mac to use the new blocking. r=mchang 2016-02-24 10:25:00 +01:00
Sebastian Hengst 38e8f42dfb Backed out changeset 8151f4102646 (bug 1249640) 2016-02-24 19:01:50 +01:00
Milan Sreckovic ef6d814a88 Bug 1249640: Part 3 Update Mac to use the new blocking. r=mchang 2016-02-19 14:40:00 +01:00
Milan Sreckovic c0c9e1c9f0 Bug 1249312: UseAcceleratedCanvas on Mac should really be UseAcceleratedSkiaCanvas. r=mchang 2016-02-18 14:00:53 -05:00
Markus Stange 258bcc1298 Bug 1187322 - Don't require accelerated OpenGL contexts for BasicCompositor on OS X. r=jrmuizel
--HG--
extra : commitid : D8wNlw49VVb
extra : rebase_source : f0c93866f09de396e835a2920d5db54efe53ffda
extra : amend_source : 7ed5dda1bd555ecc353137bfc9b00b10992a86a1
2015-12-23 16:22:55 +01:00
John Daggett b788233f65 Bug 1213280 - fix OSX font selection under 10.11. r=jfkthame 2015-11-20 22:01:12 +09:00
John Daggett f4458274bd Bug 543715 p1 - distinguish between italic and oblique. r=jfkthame 2015-10-19 11:16:43 +09:00
Phil Ringnalda adfbc1f710 Back out 2 changesets (bug 543715) because Mulet is why we can't have nice things
Backed out changeset 2d1d8e9b095c (bug 543715)
Backed out changeset bc90276ec090 (bug 543715)
2015-10-18 11:22:22 -07:00
John Daggett 72b6bcd6d6 Bug 543715 p1 - distinguish between italic and oblique. r=jfkthame 2015-10-18 22:17:46 +09:00
John Daggett 1b7d8ac5fd Bug 1201318 - revise OSX system font handling. r=mstange
Rework system font lookup under OSX so that the style system passes around the same "meta" name used by Webkit, -apple-system. This makes it so that the hidden system fonts used aren't exposed to authors. It also allows us to handle the two optical sizes of font families used under OSX 10.11, which uses San Francisco as the new UI font, with one family for text sizes and another for larger, display sizes. The patch here:

  - moves system font lookup into gfxMacPlatformFontList
  - assigns the font family name to "-apple-system"
  - derives FindFamily to take a gfxFontStyle parameter to allow size-based lookups
  - maintains a list of hidden system font families (not exposed to authors)
  - maintains a mapping from -apple-system to the underlying hidden font families
2015-10-08 15:04:08 +09:00
John Daggett 06366cd453 Bug 1203809 - pass textperf obj into gfxFontGroup constructor. r=m_kato
--HG--
extra : rebase_source : c9e9f4765b710937b046941a15e82eaf83c86b03
2015-09-11 13:24:33 +09:00
David Anderson 65475c97d0 Move compositor backend decisions into gfxPlatform. (bug 1179051 part 3, r=mattwoodrow)
--HG--
extra : rebase_source : 43cdb0e1b5d464f8d6a0cc7a0b2e36d1b34e8595
2015-07-16 15:18:05 -07:00
Birunthan Mohanathas a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Lee Salzman dfce3fe4ef Bug 1170390 - Make gfxPlatform::CreateOffscreenSurface use explicit format rather than guess. r=jrmuizel 2015-07-06 21:21:47 -04:00
Nathan Froyd 974d8120f2 Bug 1161627 - part 2 - machine-convert TemporaryRef<T> to already_AddRefed<T>; r=ehsan
This conversion was done with the script:

  find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl' | \
    egrep -v 'cairo-win32-refptr.h|RefPtr.h|TestRefPtr.cpp' | \
    xargs sed -i -e 's/mozilla::TemporaryRef</already_AddRefed</g' \
                 -e 's/TemporaryRef</already_AddRefed</g'

Manual fixups were performed in the following instances:

- We handled mfbt/RefPtr.h manually so as to not convert TemporaryRef itself
  into already_AddRefed.

- The following files had explicit Move() calls added to make up for the lack
  of a copy constructor on already_AddRefed:

  dom/base/ImageEncoder.cpp
  dom/media/MediaTaskQueue.{h,cpp}
  dom/media/webaudio/PannerNode.cpp

- A redundant overload for MediaTaskQueue::Dispatch was deleted.

- A few manual fixups were required in mfbt/tests/TestRefPtr.cpp.

- Comments, using declarations, and forward declarations relating to
  TemporaryRef in dom/canvas/ and gfx/layers/ were changed to refer to
  already_AddRefed.
2015-06-17 10:00:52 -04:00
David Anderson da020904ab Show APZ wheel support in about:support on Mac OS X. (bug 1155881, r=mstange)
--HG--
extra : rebase_source : 5fdf05418fd70e4a13f17afcf8ca8cc43c5d61d9
2015-04-19 16:12:14 -04:00
Ehsan Akhgari 883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Ehsan Akhgari ffb386847f Bug 1118419 - Mark virtual overridden functions as MOZ_OVERRIDE in graphics; r=jrmuizel 2015-01-07 10:09:17 -05:00