diff --git a/content/canvas/src/CanvasRenderingContext2D.h b/content/canvas/src/CanvasRenderingContext2D.h index 436196c03cdc..5480ac36e31b 100644 --- a/content/canvas/src/CanvasRenderingContext2D.h +++ b/content/canvas/src/CanvasRenderingContext2D.h @@ -143,7 +143,8 @@ public: nsHTMLCanvasElement* GetCanvas() const { - return mCanvasElement; + // corresponds to changes to the old bindings made in bug 745025 + return mCanvasElement->GetOriginalCanvas(); } void Save(); diff --git a/content/html/content/public/nsHTMLCanvasElement.h b/content/html/content/public/nsHTMLCanvasElement.h index 9c5cf5feb1f1..5a9b50f4009b 100644 --- a/content/html/content/public/nsHTMLCanvasElement.h +++ b/content/html/content/public/nsHTMLCanvasElement.h @@ -173,7 +173,7 @@ protected: void CallPrintCallback(); nsString mCurrentContextId; - nsCOMPtr mOriginalCanvas; + nsRefPtr mOriginalCanvas; nsCOMPtr mPrintCallback; nsCOMPtr mCurrentContext; nsCOMPtr mPrintState; @@ -193,7 +193,7 @@ public: void ResetPrintCallback(); - nsIDOMHTMLCanvasElement* GetOriginalCanvas(); + nsHTMLCanvasElement* GetOriginalCanvas(); }; inline nsISupports* diff --git a/content/html/content/src/nsHTMLCanvasElement.cpp b/content/html/content/src/nsHTMLCanvasElement.cpp index 69cb4446f9c3..e02f83ec907b 100644 --- a/content/html/content/src/nsHTMLCanvasElement.cpp +++ b/content/html/content/src/nsHTMLCanvasElement.cpp @@ -307,7 +307,7 @@ nsHTMLCanvasElement::IsPrintCallbackDone() return mPrintState->mIsDone; } -nsIDOMHTMLCanvasElement* +nsHTMLCanvasElement* nsHTMLCanvasElement::GetOriginalCanvas() { return mOriginalCanvas ? mOriginalCanvas.get() : this;