summaryrefslogtreecommitdiffstats
path: root/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp')
-rw-r--r--WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp b/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp
index e3f5a4e..3bbe9c7 100644
--- a/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp
+++ b/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp
@@ -195,10 +195,14 @@ JSValue JSCanvasRenderingContext2D::drawImage(ExecState* exec)
// Composite operation is specified with globalCompositeOperation.
// The img parameter can be a <img> or <canvas> element.
JSValue value = exec->argument(0);
+ if (value.isNull()) {
+ setDOMException(exec, TYPE_MISMATCH_ERR);
+ return jsUndefined();
+ }
if (!value.isObject())
return throwTypeError(exec);
+
JSObject* o = asObject(value);
-
ExceptionCode ec = 0;
if (o->inherits(&JSHTMLImageElement::s_info)) {
HTMLImageElement* imgElt = static_cast<HTMLImageElement*>(static_cast<JSHTMLElement*>(o)->impl());
@@ -267,9 +271,9 @@ JSValue JSCanvasRenderingContext2D::drawImage(ExecState* exec)
}
#endif
} else
- return throwTypeError(exec);
-
- return jsUndefined();
+ return throwTypeError(exec);
+
+ return jsUndefined();
}
JSValue JSCanvasRenderingContext2D::drawImageFromRect(ExecState* exec)