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

154 Коммитов

Автор SHA1 Сообщение Дата
Andrew Osmond d639d2c5ac Bug 1435586 - Use static gfxPlatform methods directly instead of requiring initialization. r=kats
gfxPlatform::GetSourceSurfaceForSurface and CreateDrawTargetForSurface
are both static methods that we sometimes use via the pattern
gfxPlatform::GetPlatform()->... This is problematic because this forces
gfxPlatform to be initialized in the process, and in the GPU process, we
don't support this. It should be safe to call these methods without
initializing gfxPlatform, so this patch removes the GetPlatform() call.

GetSourceSurfaceForSurface may end up initializing gfxPlatform anyways,
depending on whether or not a DrawTarget was given. This should not be a
concern for the crashes observed in bug 1435586.

Differential Revision: https://phabricator.services.mozilla.com/D33785
2019-06-05 12:40:26 -04:00
Sylvestre Ledru e226046cb8 Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan
# ignore-this-changeset

Depends on D28954

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

--HG--
extra : moz-landing-system : lando
2019-05-01 08:47:10 +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
Ehsan Akhgari e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +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
Ehsan Akhgari ca162bee20 Bug 1508472 - Part 4: Fourth batch of comment fix-ups in preparation for the tree reformat r=sylvestre
This is a best effort attempt at ensuring that the adverse impact of
reformatting the entire tree over the comments would be minimal.  I've used a
combination of strategies including disabling of formatting, some manual
formatting and some changes to formatting to work around some clang-format
limitations.

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

--HG--
extra : moz-landing-system : lando
2018-11-28 09:16:55 +00:00
Chris Peterson 2afd829d0f Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.

MozReview-Commit-ID: 5UQVHElSpCr

--HG--
extra : rebase_source : 4c1b2fc32b269342f07639266b64941e2270e9c4
extra : source : 907543f6eae716f23a6de52b1ffb1c82908d158a
2018-06-17 22:43:11 -07:00
Kris Maglione 27a5a12045 Bug 1356317: Part 1 - Mark SurfaceMemoryReporter refcounting as threadsafe. r=njn
MozReview-Commit-ID: 9U5KLMyKSbk

--HG--
extra : rebase_source : e59990f3e52cf5cb6d552a8844d61f7fc5fbdfb4
2017-05-29 22:04:30 -07:00
Jonathan Watt d8c9421010 Bug 1359155, part 4 - Remove gfxASurface::FormatStrideForWidth. r=mstange
MozReview-Commit-ID: KmFvlWgmq8f
2017-03-30 15:58:31 +01:00
Wes Kocher 0ce994139e Backed out 2 changesets (bug 1359155) for failures in test_getUserMedia_basicTabshare.html a=backout
Backed out changeset 2e2e2ba5ecb2 (bug 1359155)
Backed out changeset b695217bbfa7 (bug 1359155)

MozReview-Commit-ID: HlCufP7I1cC

--HG--
extra : rebase_source : d4014380423ba6ff4a4daa5a7e4e1893b0c9cba2
2017-04-24 15:24:11 -07:00
Jonathan Watt fa7e506fa5 Bug 1359155, part 2 - Convert gfxASurface::FormatStrideForWidth callers to Moz2D's StrideForFormatAndWidth. r=mstange 2017-03-30 15:58:31 +01:00
Sylvestre Ledru 6d3ed37df9 Bug 1338086 - Remove useless else blocks in order to reduce complexity in gfx/ r=nical
MozReview-Commit-ID: H9zZd19V4Ww

--HG--
extra : rebase_source : e0d736b23d81a9ae511fc230f01103ea772f651a
2017-02-09 13:39:27 +01:00
Andi-Bogdan Postelnicu eb85517996 Bug 1317637 - Replace default bodies of special member functions with = default; in gfx/. r=jrmuizel
MozReview-Commit-ID: EWUpBvj5i6Z

--HG--
extra : rebase_source : 9639ddfbd21183870fe48bc946a6164a2d5ec530
2016-11-15 11:04:18 +02:00
Edwin Flores d6dab74e60 Bug 1305234 - Back out changeset f7aeb4b3ccb1 (bug 1279398) for causing top crashes. r=edwin DONTBUILD
--HG--
extra : rebase_source : 17ccf89223eeca1bc08c3e45ec7e22d3456c2d00
extra : source : 5285464565a804f3766f273b20fb7147f92db53e
2016-09-27 19:52:17 +01:00
Ryan VanderMeulen 99dc13308f Backed out changeset 5285464565a8 for landing with the wrong bug number in the commit message.
--HG--
extra : rebase_source : 9aff59b0badc1d7fb1a173471fb829f9320e311d
2016-09-27 17:31:59 -04:00
Edwin Flores 2e88e8e508 Bug 1306234 - Back out changeset f7aeb4b3ccb1 (bug 1279398) for causing top crashes. r=edwin
--HG--
extra : rebase_source : 24aee74e09242f1cae18a1df48654268a2e91769
2016-09-27 19:52:17 +01:00
Nicholas Nethercote c2306345d5 Bug 1297658 - Avoid unnecessary checking in memory reporters. r=erahm.
This patch removes checking of all the callback calls in memory reporter
CollectReport() functions, because it's not useful.

The patch also does some associated clean-up.

- Replaces some uses of nsIMemoryReporterCallback with the preferred
  nsIHandleReportCallback typedef.

- Replaces aCallback/aCb/aClosure with aHandleRepor/aData for CollectReports()
  parameter names, for consistency.

- Adds MOZ_MUST_USE/[must_use] in a few places in nsIMemoryReporter.idl.

- Uses the MOZ_COLLECT_REPORT macro in all suitable places.

Overall the patch reduces code size by ~300 lines and reduces the size of
libxul by about 37 KiB on my Linux64 builds.

--HG--
extra : rebase_source : e94323614bd10463a0c5134a7276238a7ca1cf23
2016-08-24 15:23:45 +10:00
Jinank Jain f2776091ea Bug 712936 - Convert users of PR_STATIC_ASSERT to C++11 static_assert(). r=Ms2ger
--HG--
extra : rebase_source : b3e4c3e7c81799f2b1f3ec62ba3ff3b5d3adba27
2016-08-23 11:24:54 -04:00
Lee Salzman 16ca3223d9 Bug 1286317 - part 1 - remove Qt widget usage from gfx. r=jrmuizel 2016-07-12 20:27:57 -04:00
Jonathan Watt 53d1069004 Backed out changeset 248457986c11 (bug 1279789) 2016-06-16 17:25:54 +01:00
Jonathan Watt 5c1ec02e49 Bug 1279789 - Remove the printing methods from gfxASurface. r=eflores 2016-06-14 19:26:40 +01:00
Jonathan Watt 04a5c746ec Bug 1279398 - Remove gfxUnknownSurface. r=eflores 2016-06-13 09:27:23 +01:00
Jonathan Watt 0368b7ba6c Bug 1279397 - Remove gfxQPainterSurface. r=eflores 2016-06-13 09:27:23 +01:00
Jonathan Watt 483ce4fb50 Bug 1279628, part 3 - Replace the last gfxASurface::CheckSurfaceSize call, and remove gfxASurface::CheckSurfaceSize. r=mstange 2016-06-10 13:32:01 +01:00
Phil Ringnalda 1cce1f61f8 Back out 2 changesets (bug 1279628) for reftest bustage
CLOSED TREE

Backed out changeset 07e4432bd6b3 (bug 1279628)
Backed out changeset 416fa9aeec55 (bug 1279628)
2016-06-11 00:44:51 -07:00
Jonathan Watt 8ea6b72d47 Bug 1279628, part 2 - Replace all gfxASurface::CheckSurfaceSize calls with Factory::CheckSurfaceSize and remove gfxASurface::CheckSurfaceSize. r=mstange
--HG--
extra : rebase_source : 314cf522b5760e63e176418ae170301fafa80f89
2016-06-09 15:31:24 +01:00
Jonathan Watt 64d4c555b7 Bug 1279473 - Remove more dead gfxASurface code. r=mstange 2016-06-08 20:26:56 +01:00
Jonathan Watt c8d5762f34 Bug 1278239 - Remove gfxQuartzImageSurface. r=Bas 2016-05-27 19:43:34 +01:00
Nicholas Nethercote 88696a303a Bug 1209812 (part 6) - Convert all gfxImageFormat values to SurfaceFormat equivalents. r=jrmuizel.
This patch:

- Makes the following substitutions (plus necessary namespace qualifiers:

    gfxImageFormat::ARGB32      --> SurfaceFormat::A8R8G8B8_UINT32
    gfxImageFormat::RGB24       --> SurfaceFormat::X8R8G8B8_UINT32
    gfxImageFormat::A8          --> SurfaceFormat::A8
    gfxImageFormat::RGB16_565   --> SurfaceFormat::R5G6B5_UINT16
    gfxImageFormat::Unknown     --> SurfaceFormat::UNKNOWN

- Changes gfxImageFormat to be a typedef to gfx::SurfaceFormat. This will be
  removed soon.

- Removes gfxCairoFormatToImageFormat() and gfxImageFormatToCairoFormat() and
  replace calls to them with CairoFormatToGfxFormat() and
  GfxFormatToCairoFormat().

- Removes ParamTraits<gfxImageFormat>.

- Add namespace qualifiers to SurfaceFormat instances where necessary.

--HG--
extra : rebase_source : f56e92b1593957a9e4e00171100bc7605816e696
2016-01-07 20:57:38 -08:00
Bogdan Postelnicu eb629aa171 Bug 1230929 - modified the logic in order to prvent null pointer dereference. r=jmuizelaar 2015-12-07 07:36:00 +01:00
Nicholas Nethercote abeada522e Bug 1209812 (part 2) - Remove gfxImageFormat::A1. r=nical.
This value is never written anywhere, so it's not needed, and gfx::Surface
doesn't have an equivalent.

--HG--
extra : rebase_source : 721db7717644b32e47d5698a750463394a9895ae
2015-09-28 12:07:44 -07:00
Nicholas Nethercote 6673e03780 Bug 1209812 (part 1) - Remove casts between cairo_format_t and gfxImageFormat. r=nical.
cairo_format_t and gfxImageFormat have their equivalent constants in the same
order, so you can just cast between them, which is kind of nasty.

This patch replaces all such casts with explicit conversions via calls to new
conversion functions. These functions will be removed in a subsequent patch.

--HG--
extra : rebase_source : ca11568fc06ac48f0e7ca409d4dc01b9192c9e83
2015-09-28 21:11:52 -07:00
Nathan Froyd 01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nathan Froyd 583afa0965 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Nathan Froyd e622b5e3e8 Bug 1132966 - use relaxed Atomic integers for tracking graphics surface memory usage; r=njn
Graphics surface memory usage tracking is done manually, with a global
array containing the number of bytes per each type of surface used.
Since the members of the array can be touched by several different
threads, dynamic race checkers such as TSan complain about To assuage
TSan's sensibilities, we need to use atomics with relaxed memory
consistency; this change generates code identical to what we had before,
but the atomic type assures TSan that it's OK to access members on
multiple threads.  We use the relaxed memory consistency to avoid memory
barriers in the generated code.
2015-07-31 22:43:24 -04:00
Nicholas Nethercote de6e01187a Bug 1188705 (part 1) - Remove gfxASurface::GetMemoryLocation(). r=seth.
It's unused.

--HG--
extra : rebase_source : 4f2458e27ef61c2d611ecb7e0c936ae23d7921ca
2015-07-28 18:33:41 -07:00
Lee Salzman 2a81190d40 Bug 1170390 - Add gfxASurface::GetSurfaceFormat for retrieving precise surface format where necessary. r=jrmuizel 2015-07-06 22:11:38 -04:00
Lee Salzman 97d3a0fc71 Bug 1180246 - Part 1 - remove dependencies on gfxD2DSurface. r=bas
--HG--
extra : rebase_source : 199520a80f8d904f2034fa39d9640d271078a6ac
2015-07-02 08:02:51 -04:00
Milan Sreckovic 50bc2f0ddc Bug 1019063 - Check for ::CreateDCW failing when printing. r=dvander 2015-06-18 08:18:00 +02:00
Amanda Sambath 44c2163525 Bug 1158120 - Replace nsIntSize by mozilla::gfx::IntSize in gfx/thebes. r=nical 2015-05-28 15:00:17 +02:00
Amanda Sambath c023bf2139 Bug 1158120 - Replace gfxIntSize by mozilla::gfx::IntSize in gfx/thebes part 1. r=nical 2015-06-01 10:26:19 +02: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
Jeff Walden 7f77ce6fe8 Bug 953296 - Convert ScopedDeletePtr to UniquePtr in various bits of canvas/graphics/GL code. r=jgilbert
--HG--
extra : rebase_source : cd1e332837ff49199d62805f554bf1123eea334f
2014-01-06 09:49:03 -06:00
Jonathan Watt 29353d8391 Bug 1031079 - Get rid of the Thebes backed gfxContexts in gfxASurface, removing gfxASurface::WriteAsPNG_internal and its consumers. r=mattwoodrow 2014-06-27 12:19:40 +01:00
Jonathan Watt 0a412a04d6 Bug 1031055 - Get rid of the Thebes backed gfxContexts in FrameLayerBuilder.cpp, and get rid of gfxASurface::DumpAsDataURL. r=mattwoodrow 2014-06-27 12:19:40 +01:00
Benoit Jacob 360bdb42d9 Bug 1028588 - Fix dangerous public destructors in gfx - r=jrmuizel 2014-06-23 14:49:07 -04:00
Nicholas Nethercote aaf6fb2124 Bug 1010064 - Allow memory reports to be anonymized. r=bsmedberg.
--HG--
extra : rebase_source : 5eb756b17a97e751deb0f47e909fdb35533cb23b
2014-05-20 23:06:54 -07:00
Jonathan Watt 16136e4067 Bug 1025491 - Remove the DumpAsPNG() code in FilterNodeSoftware.cpp. r=mstange 2014-06-15 01:34:01 +01:00