This constructor creates a BitmapImage from a platform specific NativeImagePtr. It sets m_frame of the first frame to the given NativeImagePtr. The BitmapImage created does not need decoding because decoding is already done. So, it is proper to set m_isComplete to true. Currently, only OpenVG port sets m_isComplete to true. This change is needed for parallel image decoders. Currently, BitmapImage checks only m_frame in order to determine whether decoding is needed or not. But after parallel image decoders are landed, BitmapImage also needs to check m_isComplete. If m_isComplete is false, BitmapImage will try to decode again, and it can't actually decode because the BitmapImage created from a NativeImagePtr does not have encoded data.
Created attachment 157185 [details] Patch
I suggest we take down the review flag at the moment. It is unclear why we need this because refactoring for ImageSource and BitmapImage hasn't landed yet. We'll also need test for this change.
(In reply to comment #2) > I suggest we take down the review flag at the moment. It is unclear why we need this because refactoring for ImageSource and BitmapImage hasn't landed yet. We'll also need test for this change. I came close to turn on the review flag of parallel image decoders and RetainedModeBitmapImage. I agreed on you.