diff --git a/dom/base/ImageEncoder.cpp b/dom/base/ImageEncoder.cpp index 03a39c0528cc..f69d02bcfcb2 100644 --- a/dom/base/ImageEncoder.cpp +++ b/dom/base/ImageEncoder.cpp @@ -285,11 +285,11 @@ nsresult ImageEncoder::ExtractDataAsync( nsresult ImageEncoder::GetInputStream(int32_t aWidth, int32_t aHeight, uint8_t* aImageBuffer, int32_t aFormat, imgIEncoder* aEncoder, - const char16_t* aEncoderOptions, + const nsAString& aEncoderOptions, nsIInputStream** aStream) { nsresult rv = aEncoder->InitFromData(aImageBuffer, aWidth * aHeight * 4, aWidth, aHeight, aWidth * 4, aFormat, - nsDependentString(aEncoderOptions)); + aEncoderOptions); NS_ENSURE_SUCCESS(rv, rv); nsCOMPtr encoder(aEncoder); @@ -319,16 +319,14 @@ nsresult ImageEncoder::ExtractDataInternal( rv = ImageEncoder::GetInputStream( aSize.width, aSize.height, aImageBuffer, aFormat, aEncoder, - nsPromiseFlatString(aOptions).get(), getter_AddRefs(imgStream)); + aOptions, getter_AddRefs(imgStream)); } else if (aContext && !aUsePlaceholder) { NS_ConvertUTF16toUTF8 encoderType(aType); - rv = aContext->GetInputStream(encoderType.get(), - nsPromiseFlatString(aOptions).get(), + rv = aContext->GetInputStream(encoderType.get(), aOptions, getter_AddRefs(imgStream)); } else if (aRenderer && !aUsePlaceholder) { NS_ConvertUTF16toUTF8 encoderType(aType); - rv = aRenderer->GetInputStream(encoderType.get(), - nsPromiseFlatString(aOptions).get(), + rv = aRenderer->GetInputStream(encoderType.get(), aOptions, getter_AddRefs(imgStream)); } else if (aImage && !aUsePlaceholder) { // It is safe to convert PlanarYCbCr format from YUV to RGB off-main-thread. diff --git a/dom/base/ImageEncoder.h b/dom/base/ImageEncoder.h index 54164fd8d4eb..fb6a8b181392 100644 --- a/dom/base/ImageEncoder.h +++ b/dom/base/ImageEncoder.h @@ -78,7 +78,7 @@ class ImageEncoder { static nsresult GetInputStream(int32_t aWidth, int32_t aHeight, uint8_t* aImageBuffer, int32_t aFormat, imgIEncoder* aEncoder, - const char16_t* aEncoderOptions, + const nsAString& aEncoderOptions, nsIInputStream** aStream); private: diff --git a/dom/canvas/CanvasRenderingContext2D.cpp b/dom/canvas/CanvasRenderingContext2D.cpp index 232a5e518b68..274a871c499a 100644 --- a/dom/canvas/CanvasRenderingContext2D.cpp +++ b/dom/canvas/CanvasRenderingContext2D.cpp @@ -1648,7 +1648,7 @@ nsString CanvasRenderingContext2D::GetHitRegion( NS_IMETHODIMP CanvasRenderingContext2D::GetInputStream(const char* aMimeType, - const char16_t* aEncoderOptions, + const nsAString& aEncoderOptions, nsIInputStream** aStream) { nsCString enccid("@mozilla.org/image/encoder;2?type="); enccid += aMimeType; diff --git a/dom/canvas/CanvasRenderingContext2D.h b/dom/canvas/CanvasRenderingContext2D.h index 23490a336088..a2f0218a250d 100644 --- a/dom/canvas/CanvasRenderingContext2D.h +++ b/dom/canvas/CanvasRenderingContext2D.h @@ -405,7 +405,7 @@ class CanvasRenderingContext2D final : public nsICanvasRenderingContextInternal, nsIDocShell* aShell, NotNull aTarget) override; NS_IMETHOD GetInputStream(const char* aMimeType, - const char16_t* aEncoderOptions, + const nsAString& aEncoderOptions, nsIInputStream** aStream) override; already_AddRefed GetSurfaceSnapshot( diff --git a/dom/canvas/ImageBitmapRenderingContext.cpp b/dom/canvas/ImageBitmapRenderingContext.cpp index 43683efb6025..eea92e9662f2 100644 --- a/dom/canvas/ImageBitmapRenderingContext.cpp +++ b/dom/canvas/ImageBitmapRenderingContext.cpp @@ -139,7 +139,7 @@ mozilla::UniquePtr ImageBitmapRenderingContext::GetImageBuffer( NS_IMETHODIMP ImageBitmapRenderingContext::GetInputStream(const char* aMimeType, - const char16_t* aEncoderOptions, + const nsAString& aEncoderOptions, nsIInputStream** aStream) { nsCString enccid("@mozilla.org/image/encoder;2?type="); enccid += aMimeType; diff --git a/dom/canvas/ImageBitmapRenderingContext.h b/dom/canvas/ImageBitmapRenderingContext.h index 1ac72fa3b8fd..4da36a271c9c 100644 --- a/dom/canvas/ImageBitmapRenderingContext.h +++ b/dom/canvas/ImageBitmapRenderingContext.h @@ -62,7 +62,7 @@ class ImageBitmapRenderingContext final virtual mozilla::UniquePtr GetImageBuffer( int32_t* aFormat) override; NS_IMETHOD GetInputStream(const char* aMimeType, - const char16_t* aEncoderOptions, + const nsAString& aEncoderOptions, nsIInputStream** aStream) override; virtual already_AddRefed GetSurfaceSnapshot( diff --git a/dom/canvas/WebGLContext.cpp b/dom/canvas/WebGLContext.cpp index 9a8c4ff4b53e..c564064abc6d 100644 --- a/dom/canvas/WebGLContext.cpp +++ b/dom/canvas/WebGLContext.cpp @@ -1069,7 +1069,7 @@ UniquePtr WebGLContext::GetImageBuffer(int32_t* out_format) { NS_IMETHODIMP WebGLContext::GetInputStream(const char* mimeType, - const char16_t* encoderOptions, + const nsAString& encoderOptions, nsIInputStream** out_stream) { NS_ASSERTION(gl, "GetInputStream on invalid context?"); if (!gl) return NS_ERROR_FAILURE; diff --git a/dom/canvas/WebGLContext.h b/dom/canvas/WebGLContext.h index c37781a7a78f..23fd60b075f6 100644 --- a/dom/canvas/WebGLContext.h +++ b/dom/canvas/WebGLContext.h @@ -369,7 +369,7 @@ class WebGLContext : public nsICanvasRenderingContextInternal, virtual UniquePtr GetImageBuffer(int32_t* out_format) override; NS_IMETHOD GetInputStream(const char* mimeType, - const char16_t* encoderOptions, + const nsAString& encoderOptions, nsIInputStream** out_stream) override; virtual already_AddRefed GetSurfaceSnapshot( diff --git a/dom/canvas/nsICanvasRenderingContextInternal.h b/dom/canvas/nsICanvasRenderingContextInternal.h index 606c42873463..a6a15d91fd0b 100644 --- a/dom/canvas/nsICanvasRenderingContextInternal.h +++ b/dom/canvas/nsICanvasRenderingContextInternal.h @@ -112,7 +112,7 @@ class nsICanvasRenderingContextInternal : public nsISupports, // is false, alpha will be discarded and the result will be the image // composited on black. NS_IMETHOD GetInputStream(const char* mimeType, - const char16_t* encoderOptions, + const nsAString& encoderOptions, nsIInputStream** stream) = 0; // This gets an Azure SourceSurface for the canvas, this will be a snapshot diff --git a/gfx/layers/AsyncCanvasRenderer.cpp b/gfx/layers/AsyncCanvasRenderer.cpp index 0808c21b08dc..94d2738efa89 100644 --- a/gfx/layers/AsyncCanvasRenderer.cpp +++ b/gfx/layers/AsyncCanvasRenderer.cpp @@ -242,7 +242,7 @@ already_AddRefed AsyncCanvasRenderer::GetSurface() { } nsresult AsyncCanvasRenderer::GetInputStream(const char* aMimeType, - const char16_t* aEncoderOptions, + const nsAString& aEncoderOptions, nsIInputStream** aStream) { MOZ_ASSERT(NS_IsMainThread()); RefPtr surface = GetSurface(); diff --git a/gfx/layers/AsyncCanvasRenderer.h b/gfx/layers/AsyncCanvasRenderer.h index 286b056b5c69..2d24acd5ee31 100644 --- a/gfx/layers/AsyncCanvasRenderer.h +++ b/gfx/layers/AsyncCanvasRenderer.h @@ -89,7 +89,7 @@ class AsyncCanvasRenderer final { // function called GetSurface implicitly and GetSurface handles only get // called in the main thread. So this function can be called in main thread. nsresult GetInputStream(const char* aMimeType, - const char16_t* aEncoderOptions, + const nsAString& aEncoderOptions, nsIInputStream** aStream); gfx::IntSize GetSize() const { return gfx::IntSize(mWidth, mHeight); } diff --git a/gfx/thebes/gfxUtils.cpp b/gfx/thebes/gfxUtils.cpp index 2e52124e729c..58e8f339319c 100644 --- a/gfx/thebes/gfxUtils.cpp +++ b/gfx/thebes/gfxUtils.cpp @@ -1343,7 +1343,7 @@ void gfxUtils::CopyAsDataURI(DrawTarget* aDT) { nsresult gfxUtils::GetInputStream(gfx::DataSourceSurface* aSurface, bool aIsAlphaPremultiplied, const char* aMimeType, - const char16_t* aEncoderOptions, + const nsAString& aEncoderOptions, nsIInputStream** outStream) { nsCString enccid("@mozilla.org/image/encoder;2?type="); enccid += aMimeType; diff --git a/gfx/thebes/gfxUtils.h b/gfx/thebes/gfxUtils.h index 54ad7afc9937..7d98691d8e3b 100644 --- a/gfx/thebes/gfxUtils.h +++ b/gfx/thebes/gfxUtils.h @@ -295,7 +295,7 @@ class gfxUtils { static nsresult GetInputStream(DataSourceSurface* aSurface, bool aIsAlphaPremultiplied, const char* aMimeType, - const char16_t* aEncoderOptions, + const nsAString& aEncoderOptions, nsIInputStream** outStream); static nsresult ThreadSafeGetFeatureStatus(