Commit Graph

146 Commits

Author SHA1 Message Date
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
Jonathan Watt
72dfb5131d Bug 1019681 - Remove gfxASurface's MovePixels() and FastMovePixels() methods and their overrides. r=Bas
--HG--
extra : rebase_source : 49445275b3b6ad94ffb2f9f4375e6a81ebf2842c
2014-06-05 01:03:07 +01:00
Matt Woodrow
3a50192fe9 Bug 1003707 - Retain size information for similar surfaces if we can. r=roc 2014-06-03 17:18:25 +12:00
Matt Woodrow
42a1b01ffc Bug 1003707 - Pass surfaces sizes in to CreateSourceSurfaceFromNativeSurface instead of trying to extract it from cairo. r=Bas 2014-05-08 11:23:44 +12:00
Benoit Girard
65088bbd8a Bug 1004898 - WriteAsPNG should use fprintf_stderr. r=mattwoodrow 2014-05-02 01:33:02 -04:00
Birunthan Mohanathas
5f1fde8824 Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj 2014-04-27 03:06:00 -04:00
Jonathan Watt
cddedd8d2b Bug 985049 - Remove gfxPlatform::SupportsAzureContent() and kill of the resulting dead code. r=mattwoodrow 2014-03-19 10:36:58 +08:00
L. David Baron
03ba2e465b Bug 976350 patch 1: Move the contents of nsTraceRefcnt.h into nsISupportsImpl.h. r=bsmedberg
This makes sense since the file no longer contains anything with the
nsTraceRefcnt name in it, and it will allow renaming nsTraceRefcntImpl
back to nsTraceRefcnt.
2014-02-26 13:36:35 -08:00
Birunthan Mohanathas
02d0812720 Bug 828300 - Replace NS_ARRAY_LENGTH with mozilla::ArrayLength/MOZ_ARRAY_LENGTH. r=ehsan 2014-01-30 13:26:54 -05:00