Bug 1286444 - Store uint32_t's in VideoPlaybackQuality - r=kinetik draft
authorGerald Squelart <gsquelart@mozilla.com>
Thu, 14 Jul 2016 14:31:12 +1000
changeset 387543 ed1e745c7d69babe6875677e3c8a16a9d6f3172c
parent 387427 5fd14a66be3191e5628af3cfb0a456dd70f179b8
child 387544 f8d673db0cd45d2b3ae03c092dff217e5d7ebbee
push id22984
push usergsquelart@mozilla.com
push dateThu, 14 Jul 2016 07:12:57 +0000
reviewerskinetik
bugs1286444
milestone50.0a1
Bug 1286444 - Store uint32_t's in VideoPlaybackQuality - r=kinetik Because VideoPlaybackQuality attributes are exposed as 'unsigned long' (aka uint32_t) in the webidl interface, it would be dangerous to accept and store them as uint64_t in the class. MozReview-Commit-ID: EhX4lhTbA3c
dom/media/VideoPlaybackQuality.cpp
dom/media/VideoPlaybackQuality.h
--- a/dom/media/VideoPlaybackQuality.cpp
+++ b/dom/media/VideoPlaybackQuality.cpp
@@ -11,19 +11,19 @@
 #include "nsCycleCollectionParticipant.h"
 #include "nsWrapperCache.h"
 
 namespace mozilla {
 namespace dom {
 
 VideoPlaybackQuality::VideoPlaybackQuality(HTMLMediaElement* aElement,
                                            DOMHighResTimeStamp aCreationTime,
-                                           uint64_t aTotalFrames,
-                                           uint64_t aDroppedFrames,
-                                           uint64_t aCorruptedFrames)
+                                           uint32_t aTotalFrames,
+                                           uint32_t aDroppedFrames,
+                                           uint32_t aCorruptedFrames)
   : mElement(aElement)
   , mCreationTime(aCreationTime)
   , mTotalFrames(aTotalFrames)
   , mDroppedFrames(aDroppedFrames)
   , mCorruptedFrames(aCorruptedFrames)
 {
 }
 
--- a/dom/media/VideoPlaybackQuality.h
+++ b/dom/media/VideoPlaybackQuality.h
@@ -16,50 +16,52 @@ namespace mozilla {
 namespace dom {
 
 class VideoPlaybackQuality final : public nsWrapperCache
 {
 public:
   NS_INLINE_DECL_CYCLE_COLLECTING_NATIVE_REFCOUNTING(VideoPlaybackQuality)
   NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_NATIVE_CLASS(VideoPlaybackQuality)
 
-  VideoPlaybackQuality(HTMLMediaElement* aElement, DOMHighResTimeStamp aCreationTime,
-                       uint64_t aTotalFrames, uint64_t aDroppedFrames,
-                       uint64_t aCorruptedFrames);
+  VideoPlaybackQuality(HTMLMediaElement* aElement,
+                       DOMHighResTimeStamp aCreationTime,
+                       uint32_t aTotalFrames,
+                       uint32_t aDroppedFrames,
+                       uint32_t aCorruptedFrames);
 
   HTMLMediaElement* GetParentObject() const;
 
   JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
 
   DOMHighResTimeStamp CreationTime() const
   {
     return mCreationTime;
   }
 
-  uint64_t TotalVideoFrames()
+  uint32_t TotalVideoFrames()
   {
     return mTotalFrames;
   }
 
-  uint64_t DroppedVideoFrames()
+  uint32_t DroppedVideoFrames()
   {
     return mDroppedFrames;
   }
 
-  uint64_t CorruptedVideoFrames()
+  uint32_t CorruptedVideoFrames()
   {
     return mCorruptedFrames;
   }
 
 private:
   ~VideoPlaybackQuality() {}
 
   RefPtr<HTMLMediaElement> mElement;
   DOMHighResTimeStamp mCreationTime;
-  uint64_t mTotalFrames;
-  uint64_t mDroppedFrames;
-  uint64_t mCorruptedFrames;
+  uint32_t mTotalFrames;
+  uint32_t mDroppedFrames;
+  uint32_t mCorruptedFrames;
 };
 
 } // namespace dom
 } // namespace mozilla
 
 #endif /* mozilla_dom_VideoPlaybackQuality_h_ */