Bug 1508099 Part 2 - Record refcount changes for image decoders and decoding tasks, r=tnikkel.
authorBrian Hackett <bhackett1024@gmail.com>
Sat, 17 Nov 2018 12:55:12 -1000
changeset 504621 98430e6d541b8e5ffd0492d84afd5c031eb79905
parent 504620 456275c5ddac8e6c7cd9a71a4f10ed56c0f1bfc3
child 504622 70f4239b2fab7f622de52ba287e6eaa105dd604d
push id10290
push userffxbld-merge
push dateMon, 03 Dec 2018 16:23:23 +0000
treeherdermozilla-beta@700bed2445e6 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstnikkel
bugs1508099
milestone65.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1508099 Part 2 - Record refcount changes for image decoders and decoding tasks, r=tnikkel.
image/Decoder.h
image/IDecodingTask.h
--- a/image/Decoder.h
+++ b/image/Decoder.h
@@ -109,17 +109,17 @@ public:
    * @returns The recycled frame, if any is available.
    */
   virtual RawAccessFrameRef RecycleFrame(gfx::IntRect& aRecycleRect) = 0;
 };
 
 class Decoder
 {
 public:
-  NS_INLINE_DECL_THREADSAFE_REFCOUNTING(Decoder)
+  NS_INLINE_DECL_THREADSAFE_REFCOUNTING_RECORDED(Decoder)
 
   explicit Decoder(RasterImage* aImage);
 
   /**
    * Initialize an image decoder. Decoders may not be re-initialized.
    *
    * @return NS_OK if the decoder could be initialized successfully.
    */
--- a/image/IDecodingTask.h
+++ b/image/IDecodingTask.h
@@ -70,17 +70,17 @@ private:
 
 
 /**
  * An IDecodingTask implementation for metadata decodes of images.
  */
 class MetadataDecodingTask final : public IDecodingTask
 {
 public:
-  NS_INLINE_DECL_THREADSAFE_REFCOUNTING(MetadataDecodingTask, override)
+  NS_INLINE_DECL_THREADSAFE_REFCOUNTING_RECORDED(MetadataDecodingTask, override)
 
   explicit MetadataDecodingTask(NotNull<Decoder*> aDecoder);
 
   void Run() override;
 
   // Metadata decodes are very fast (since they only need to examine an image's
   // header) so there's no reason to refuse to run them synchronously if the
   // caller will allow us to.
@@ -102,17 +102,17 @@ private:
 
 /**
  * An IDecodingTask implementation for anonymous decoders - that is, decoders
  * with no associated Image object.
  */
 class AnonymousDecodingTask final : public IDecodingTask
 {
 public:
-  NS_INLINE_DECL_THREADSAFE_REFCOUNTING(AnonymousDecodingTask, override)
+  NS_INLINE_DECL_THREADSAFE_REFCOUNTING_RECORDED(AnonymousDecodingTask, override)
 
   explicit AnonymousDecodingTask(NotNull<Decoder*> aDecoder,
                                  bool aResumable);
 
   void Run() override;
 
   bool ShouldPreferSyncRun() const override { return true; }
   TaskPriority Priority() const override { return TaskPriority::eLow; }