diff options
Diffstat (limited to 'WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp')
-rw-r--r-- | WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp | 12 |
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) |