summaryrefslogtreecommitdiffstats
path: root/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp')
-rw-r--r--WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp b/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp
index a69696a..ae9115e 100644
--- a/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp
+++ b/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp
@@ -88,17 +88,21 @@ JSValue JSHTMLCanvasElement::getContext(ExecState* exec)
JSValue JSHTMLCanvasElement::toDataURL(ExecState* exec)
{
const String& type = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(0));
- double quality = 1.0;
+ HTMLCanvasElement* canvas = static_cast<HTMLCanvasElement*>(impl());
+ ExceptionCode ec = 0;
+
+ JSC::JSValue result;
+ double quality;
+ double* qualityPtr = 0;
if (exec->argumentCount() > 1) {
JSValue v = exec->argument(1);
- if (v.isNumber())
+ if (v.isNumber()) {
quality = v.toNumber(exec);
- if (!(0.0 <= quality && quality <= 1.0))
- quality = 1.0;
+ qualityPtr = &quality;
+ }
}
- HTMLCanvasElement* canvas = static_cast<HTMLCanvasElement*>(impl());
- ExceptionCode ec = 0;
- JSC::JSValue result = jsString(exec, canvas->toDataURL(type, quality, ec));
+
+ result = jsString(exec, canvas->toDataURL(type, qualityPtr, ec));
setDOMException(exec, ec);
return result;
}