| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc.
All rights reserved. | 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc.
All rights reserved. |
| 3 * Copyright (C) 2008, 2010 Nokia Corporation and/or its subsidiary(-ies) | 3 * Copyright (C) 2008, 2010 Nokia Corporation and/or its subsidiary(-ies) |
| 4 * Copyright (C) 2007 Alp Toker <alp@atoker.com> | 4 * Copyright (C) 2007 Alp Toker <alp@atoker.com> |
| 5 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> | 5 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> |
| 6 * Copyright (C) 2008 Dirk Schulze <krit@webkit.org> | 6 * Copyright (C) 2008 Dirk Schulze <krit@webkit.org> |
| 7 * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved. | 7 * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved. |
| 8 * Copyright (C) 2012 Intel Corporation. All rights reserved. | 8 * Copyright (C) 2012 Intel Corporation. All rights reserved. |
| 9 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. | 9 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. |
| 10 * | 10 * |
| (...skipping 1171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1182 { | 1182 { |
| 1183 return FloatRect(min(rect.x(), rect.maxX()), | 1183 return FloatRect(min(rect.x(), rect.maxX()), |
| 1184 min(rect.y(), rect.maxY()), | 1184 min(rect.y(), rect.maxY()), |
| 1185 max(rect.width(), -rect.width()), | 1185 max(rect.width(), -rect.width()), |
| 1186 max(rect.height(), -rect.height())); | 1186 max(rect.height(), -rect.height())); |
| 1187 } | 1187 } |
| 1188 | 1188 |
| 1189 void CanvasRenderingContext2D::drawImage(HTMLImageElement* image, float x, float
y, ExceptionCode& ec) | 1189 void CanvasRenderingContext2D::drawImage(HTMLImageElement* image, float x, float
y, ExceptionCode& ec) |
| 1190 { | 1190 { |
| 1191 if (!image) { | 1191 if (!image) { |
| 1192 ec = TYPE_MISMATCH_ERR; | 1192 ec = TypeMismatchError; |
| 1193 return; | 1193 return; |
| 1194 } | 1194 } |
| 1195 LayoutSize s = size(image); | 1195 LayoutSize s = size(image); |
| 1196 drawImage(image, x, y, s.width(), s.height(), ec); | 1196 drawImage(image, x, y, s.width(), s.height(), ec); |
| 1197 } | 1197 } |
| 1198 | 1198 |
| 1199 void CanvasRenderingContext2D::drawImage(HTMLImageElement* image, | 1199 void CanvasRenderingContext2D::drawImage(HTMLImageElement* image, |
| 1200 float x, float y, float width, float height, ExceptionCode& ec) | 1200 float x, float y, float width, float height, ExceptionCode& ec) |
| 1201 { | 1201 { |
| 1202 if (!image) { | 1202 if (!image) { |
| 1203 ec = TYPE_MISMATCH_ERR; | 1203 ec = TypeMismatchError; |
| 1204 return; | 1204 return; |
| 1205 } | 1205 } |
| 1206 LayoutSize s = size(image); | 1206 LayoutSize s = size(image); |
| 1207 drawImage(image, FloatRect(0, 0, s.width(), s.height()), FloatRect(x, y, wid
th, height), ec); | 1207 drawImage(image, FloatRect(0, 0, s.width(), s.height()), FloatRect(x, y, wid
th, height), ec); |
| 1208 } | 1208 } |
| 1209 | 1209 |
| 1210 void CanvasRenderingContext2D::drawImage(HTMLImageElement* image, | 1210 void CanvasRenderingContext2D::drawImage(HTMLImageElement* image, |
| 1211 float sx, float sy, float sw, float sh, | 1211 float sx, float sy, float sw, float sh, |
| 1212 float dx, float dy, float dw, float dh, ExceptionCode& ec) | 1212 float dx, float dy, float dw, float dh, ExceptionCode& ec) |
| 1213 { | 1213 { |
| 1214 drawImage(image, FloatRect(sx, sy, sw, sh), FloatRect(dx, dy, dw, dh), ec); | 1214 drawImage(image, FloatRect(sx, sy, sw, sh), FloatRect(dx, dy, dw, dh), ec); |
| 1215 } | 1215 } |
| 1216 | 1216 |
| 1217 void CanvasRenderingContext2D::drawImage(HTMLImageElement* image, const FloatRec
t& srcRect, const FloatRect& dstRect, ExceptionCode& ec) | 1217 void CanvasRenderingContext2D::drawImage(HTMLImageElement* image, const FloatRec
t& srcRect, const FloatRect& dstRect, ExceptionCode& ec) |
| 1218 { | 1218 { |
| 1219 drawImage(image, srcRect, dstRect, state().m_globalComposite, state().m_glob
alBlend, ec); | 1219 drawImage(image, srcRect, dstRect, state().m_globalComposite, state().m_glob
alBlend, ec); |
| 1220 } | 1220 } |
| 1221 | 1221 |
| 1222 void CanvasRenderingContext2D::drawImage(HTMLImageElement* image, const FloatRec
t& srcRect, const FloatRect& dstRect, const CompositeOperator& op, const BlendMo
de& blendMode, ExceptionCode& ec) | 1222 void CanvasRenderingContext2D::drawImage(HTMLImageElement* image, const FloatRec
t& srcRect, const FloatRect& dstRect, const CompositeOperator& op, const BlendMo
de& blendMode, ExceptionCode& ec) |
| 1223 { | 1223 { |
| 1224 if (!image) { | 1224 if (!image) { |
| 1225 ec = TYPE_MISMATCH_ERR; | 1225 ec = TypeMismatchError; |
| 1226 return; | 1226 return; |
| 1227 } | 1227 } |
| 1228 | 1228 |
| 1229 ec = 0; | 1229 ec = 0; |
| 1230 | 1230 |
| 1231 if (!std::isfinite(dstRect.x()) || !std::isfinite(dstRect.y()) || !std::isfi
nite(dstRect.width()) || !std::isfinite(dstRect.height()) | 1231 if (!std::isfinite(dstRect.x()) || !std::isfinite(dstRect.y()) || !std::isfi
nite(dstRect.width()) || !std::isfinite(dstRect.height()) |
| 1232 || !std::isfinite(srcRect.x()) || !std::isfinite(srcRect.y()) || !std::i
sfinite(srcRect.width()) || !std::isfinite(srcRect.height())) | 1232 || !std::isfinite(srcRect.x()) || !std::isfinite(srcRect.y()) || !std::i
sfinite(srcRect.width()) || !std::isfinite(srcRect.height())) |
| 1233 return; | 1233 return; |
| 1234 | 1234 |
| 1235 if (!dstRect.width() || !dstRect.height()) | 1235 if (!dstRect.width() || !dstRect.height()) |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1300 float sx, float sy, float sw, float sh, | 1300 float sx, float sy, float sw, float sh, |
| 1301 float dx, float dy, float dw, float dh, ExceptionCode& ec) | 1301 float dx, float dy, float dw, float dh, ExceptionCode& ec) |
| 1302 { | 1302 { |
| 1303 drawImage(sourceCanvas, FloatRect(sx, sy, sw, sh), FloatRect(dx, dy, dw, dh)
, ec); | 1303 drawImage(sourceCanvas, FloatRect(sx, sy, sw, sh), FloatRect(dx, dy, dw, dh)
, ec); |
| 1304 } | 1304 } |
| 1305 | 1305 |
| 1306 void CanvasRenderingContext2D::drawImage(HTMLCanvasElement* sourceCanvas, const
FloatRect& srcRect, | 1306 void CanvasRenderingContext2D::drawImage(HTMLCanvasElement* sourceCanvas, const
FloatRect& srcRect, |
| 1307 const FloatRect& dstRect, ExceptionCode& ec) | 1307 const FloatRect& dstRect, ExceptionCode& ec) |
| 1308 { | 1308 { |
| 1309 if (!sourceCanvas) { | 1309 if (!sourceCanvas) { |
| 1310 ec = TYPE_MISMATCH_ERR; | 1310 ec = TypeMismatchError; |
| 1311 return; | 1311 return; |
| 1312 } | 1312 } |
| 1313 | 1313 |
| 1314 FloatRect srcCanvasRect = FloatRect(FloatPoint(), sourceCanvas->size()); | 1314 FloatRect srcCanvasRect = FloatRect(FloatPoint(), sourceCanvas->size()); |
| 1315 | 1315 |
| 1316 if (!srcCanvasRect.width() || !srcCanvasRect.height()) { | 1316 if (!srcCanvasRect.width() || !srcCanvasRect.height()) { |
| 1317 ec = INVALID_STATE_ERR; | 1317 ec = InvalidStateError; |
| 1318 return; | 1318 return; |
| 1319 } | 1319 } |
| 1320 | 1320 |
| 1321 if (!srcRect.width() || !srcRect.height()) { | 1321 if (!srcRect.width() || !srcRect.height()) { |
| 1322 ec = IndexSizeError; | 1322 ec = IndexSizeError; |
| 1323 return; | 1323 return; |
| 1324 } | 1324 } |
| 1325 | 1325 |
| 1326 ec = 0; | 1326 ec = 0; |
| 1327 | 1327 |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1360 didDrawEntireCanvas(); | 1360 didDrawEntireCanvas(); |
| 1361 } else { | 1361 } else { |
| 1362 c->drawImageBuffer(buffer, dstRect, srcRect, state().m_globalComposite,
state().m_globalBlend); | 1362 c->drawImageBuffer(buffer, dstRect, srcRect, state().m_globalComposite,
state().m_globalBlend); |
| 1363 didDraw(dstRect); | 1363 didDraw(dstRect); |
| 1364 } | 1364 } |
| 1365 } | 1365 } |
| 1366 | 1366 |
| 1367 void CanvasRenderingContext2D::drawImage(HTMLVideoElement* video, float x, float
y, ExceptionCode& ec) | 1367 void CanvasRenderingContext2D::drawImage(HTMLVideoElement* video, float x, float
y, ExceptionCode& ec) |
| 1368 { | 1368 { |
| 1369 if (!video) { | 1369 if (!video) { |
| 1370 ec = TYPE_MISMATCH_ERR; | 1370 ec = TypeMismatchError; |
| 1371 return; | 1371 return; |
| 1372 } | 1372 } |
| 1373 IntSize s = size(video); | 1373 IntSize s = size(video); |
| 1374 drawImage(video, x, y, s.width(), s.height(), ec); | 1374 drawImage(video, x, y, s.width(), s.height(), ec); |
| 1375 } | 1375 } |
| 1376 | 1376 |
| 1377 void CanvasRenderingContext2D::drawImage(HTMLVideoElement* video, | 1377 void CanvasRenderingContext2D::drawImage(HTMLVideoElement* video, |
| 1378 float x, float y, float width, float he
ight, ExceptionCode& ec) | 1378 float x, float y, float width, float he
ight, ExceptionCode& ec) |
| 1379 { | 1379 { |
| 1380 if (!video) { | 1380 if (!video) { |
| 1381 ec = TYPE_MISMATCH_ERR; | 1381 ec = TypeMismatchError; |
| 1382 return; | 1382 return; |
| 1383 } | 1383 } |
| 1384 IntSize s = size(video); | 1384 IntSize s = size(video); |
| 1385 drawImage(video, FloatRect(0, 0, s.width(), s.height()), FloatRect(x, y, wid
th, height), ec); | 1385 drawImage(video, FloatRect(0, 0, s.width(), s.height()), FloatRect(x, y, wid
th, height), ec); |
| 1386 } | 1386 } |
| 1387 | 1387 |
| 1388 void CanvasRenderingContext2D::drawImage(HTMLVideoElement* video, | 1388 void CanvasRenderingContext2D::drawImage(HTMLVideoElement* video, |
| 1389 float sx, float sy, float sw, float sh, | 1389 float sx, float sy, float sw, float sh, |
| 1390 float dx, float dy, float dw, float dh, ExceptionCode& ec) | 1390 float dx, float dy, float dw, float dh, ExceptionCode& ec) |
| 1391 { | 1391 { |
| 1392 drawImage(video, FloatRect(sx, sy, sw, sh), FloatRect(dx, dy, dw, dh), ec); | 1392 drawImage(video, FloatRect(sx, sy, sw, sh), FloatRect(dx, dy, dw, dh), ec); |
| 1393 } | 1393 } |
| 1394 | 1394 |
| 1395 void CanvasRenderingContext2D::drawImage(HTMLVideoElement* video, const FloatRec
t& srcRect, const FloatRect& dstRect, | 1395 void CanvasRenderingContext2D::drawImage(HTMLVideoElement* video, const FloatRec
t& srcRect, const FloatRect& dstRect, |
| 1396 ExceptionCode& ec) | 1396 ExceptionCode& ec) |
| 1397 { | 1397 { |
| 1398 if (!video) { | 1398 if (!video) { |
| 1399 ec = TYPE_MISMATCH_ERR; | 1399 ec = TypeMismatchError; |
| 1400 return; | 1400 return; |
| 1401 } | 1401 } |
| 1402 | 1402 |
| 1403 ec = 0; | 1403 ec = 0; |
| 1404 | 1404 |
| 1405 if (video->readyState() == HTMLMediaElement::HAVE_NOTHING || video->readySta
te() == HTMLMediaElement::HAVE_METADATA) | 1405 if (video->readyState() == HTMLMediaElement::HAVE_NOTHING || video->readySta
te() == HTMLMediaElement::HAVE_METADATA) |
| 1406 return; | 1406 return; |
| 1407 | 1407 |
| 1408 FloatRect videoRect = FloatRect(FloatPoint(), size(video)); | 1408 FloatRect videoRect = FloatRect(FloatPoint(), size(video)); |
| 1409 if (!srcRect.width() || !srcRect.height()) { | 1409 if (!srcRect.width() || !srcRect.height()) { |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1620 } | 1620 } |
| 1621 | 1621 |
| 1622 RefPtr<CanvasGradient> gradient = CanvasGradient::create(FloatPoint(x0, y0),
r0, FloatPoint(x1, y1), r1); | 1622 RefPtr<CanvasGradient> gradient = CanvasGradient::create(FloatPoint(x0, y0),
r0, FloatPoint(x1, y1), r1); |
| 1623 return gradient.release(); | 1623 return gradient.release(); |
| 1624 } | 1624 } |
| 1625 | 1625 |
| 1626 PassRefPtr<CanvasPattern> CanvasRenderingContext2D::createPattern(HTMLImageEleme
nt* image, | 1626 PassRefPtr<CanvasPattern> CanvasRenderingContext2D::createPattern(HTMLImageEleme
nt* image, |
| 1627 const String& repetitionType, ExceptionCode& ec) | 1627 const String& repetitionType, ExceptionCode& ec) |
| 1628 { | 1628 { |
| 1629 if (!image) { | 1629 if (!image) { |
| 1630 ec = TYPE_MISMATCH_ERR; | 1630 ec = TypeMismatchError; |
| 1631 return 0; | 1631 return 0; |
| 1632 } | 1632 } |
| 1633 bool repeatX, repeatY; | 1633 bool repeatX, repeatY; |
| 1634 ec = 0; | 1634 ec = 0; |
| 1635 CanvasPattern::parseRepetitionType(repetitionType, repeatX, repeatY, ec); | 1635 CanvasPattern::parseRepetitionType(repetitionType, repeatX, repeatY, ec); |
| 1636 if (ec) | 1636 if (ec) |
| 1637 return 0; | 1637 return 0; |
| 1638 | 1638 |
| 1639 if (!image->complete()) | 1639 if (!image->complete()) |
| 1640 return 0; | 1640 return 0; |
| 1641 | 1641 |
| 1642 CachedImage* cachedImage = image->cachedImage(); | 1642 CachedImage* cachedImage = image->cachedImage(); |
| 1643 Image* imageForRendering = cachedImage ? cachedImage->imageForRenderer(image
->renderer()) : 0; | 1643 Image* imageForRendering = cachedImage ? cachedImage->imageForRenderer(image
->renderer()) : 0; |
| 1644 if (!imageForRendering) | 1644 if (!imageForRendering) |
| 1645 return CanvasPattern::create(Image::nullImage(), repeatX, repeatY, true)
; | 1645 return CanvasPattern::create(Image::nullImage(), repeatX, repeatY, true)
; |
| 1646 | 1646 |
| 1647 // We need to synthesize a container size if a renderer is not available to
provide one. | 1647 // We need to synthesize a container size if a renderer is not available to
provide one. |
| 1648 if (!image->renderer() && imageForRendering->usesContainerSize()) | 1648 if (!image->renderer() && imageForRendering->usesContainerSize()) |
| 1649 imageForRendering->setContainerSize(imageForRendering->size()); | 1649 imageForRendering->setContainerSize(imageForRendering->size()); |
| 1650 | 1650 |
| 1651 bool originClean = isOriginClean(cachedImage, canvas()->securityOrigin()); | 1651 bool originClean = isOriginClean(cachedImage, canvas()->securityOrigin()); |
| 1652 return CanvasPattern::create(imageForRendering, repeatX, repeatY, originClea
n); | 1652 return CanvasPattern::create(imageForRendering, repeatX, repeatY, originClea
n); |
| 1653 } | 1653 } |
| 1654 | 1654 |
| 1655 PassRefPtr<CanvasPattern> CanvasRenderingContext2D::createPattern(HTMLCanvasElem
ent* canvas, | 1655 PassRefPtr<CanvasPattern> CanvasRenderingContext2D::createPattern(HTMLCanvasElem
ent* canvas, |
| 1656 const String& repetitionType, ExceptionCode& ec) | 1656 const String& repetitionType, ExceptionCode& ec) |
| 1657 { | 1657 { |
| 1658 if (!canvas) { | 1658 if (!canvas) { |
| 1659 ec = TYPE_MISMATCH_ERR; | 1659 ec = TypeMismatchError; |
| 1660 return 0; | 1660 return 0; |
| 1661 } | 1661 } |
| 1662 if (!canvas->width() || !canvas->height()) { | 1662 if (!canvas->width() || !canvas->height()) { |
| 1663 ec = INVALID_STATE_ERR; | 1663 ec = InvalidStateError; |
| 1664 return 0; | 1664 return 0; |
| 1665 } | 1665 } |
| 1666 | 1666 |
| 1667 bool repeatX, repeatY; | 1667 bool repeatX, repeatY; |
| 1668 ec = 0; | 1668 ec = 0; |
| 1669 CanvasPattern::parseRepetitionType(repetitionType, repeatX, repeatY, ec); | 1669 CanvasPattern::parseRepetitionType(repetitionType, repeatX, repeatY, ec); |
| 1670 if (ec) | 1670 if (ec) |
| 1671 return 0; | 1671 return 0; |
| 1672 return CanvasPattern::create(canvas->copiedImage(), repeatX, repeatY, canvas
->originClean()); | 1672 return CanvasPattern::create(canvas->copiedImage(), repeatX, repeatY, canvas
->originClean()); |
| 1673 } | 1673 } |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1780 PassRefPtr<ImageData> CanvasRenderingContext2D::webkitGetImageDataHD(float sx, f
loat sy, float sw, float sh, ExceptionCode& ec) const | 1780 PassRefPtr<ImageData> CanvasRenderingContext2D::webkitGetImageDataHD(float sx, f
loat sy, float sw, float sh, ExceptionCode& ec) const |
| 1781 { | 1781 { |
| 1782 return getImageData(ImageBuffer::BackingStoreCoordinateSystem, sx, sy, sw, s
h, ec); | 1782 return getImageData(ImageBuffer::BackingStoreCoordinateSystem, sx, sy, sw, s
h, ec); |
| 1783 } | 1783 } |
| 1784 | 1784 |
| 1785 PassRefPtr<ImageData> CanvasRenderingContext2D::getImageData(ImageBuffer::Coordi
nateSystem coordinateSystem, float sx, float sy, float sw, float sh, ExceptionCo
de& ec) const | 1785 PassRefPtr<ImageData> CanvasRenderingContext2D::getImageData(ImageBuffer::Coordi
nateSystem coordinateSystem, float sx, float sy, float sw, float sh, ExceptionCo
de& ec) const |
| 1786 { | 1786 { |
| 1787 if (!canvas()->originClean()) { | 1787 if (!canvas()->originClean()) { |
| 1788 DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Unable to get
image data from canvas because the canvas has been tainted by cross-origin data
."))); | 1788 DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Unable to get
image data from canvas because the canvas has been tainted by cross-origin data
."))); |
| 1789 canvas()->document()->addConsoleMessage(SecurityMessageSource, ErrorMess
ageLevel, consoleMessage); | 1789 canvas()->document()->addConsoleMessage(SecurityMessageSource, ErrorMess
ageLevel, consoleMessage); |
| 1790 ec = SECURITY_ERR; | 1790 ec = SecurityError; |
| 1791 return 0; | 1791 return 0; |
| 1792 } | 1792 } |
| 1793 | 1793 |
| 1794 if (!sw || !sh) { | 1794 if (!sw || !sh) { |
| 1795 ec = IndexSizeError; | 1795 ec = IndexSizeError; |
| 1796 return 0; | 1796 return 0; |
| 1797 } | 1797 } |
| 1798 if (!std::isfinite(sx) || !std::isfinite(sy) || !std::isfinite(sw) || !std::
isfinite(sh)) { | 1798 if (!std::isfinite(sx) || !std::isfinite(sy) || !std::isfinite(sw) || !std::
isfinite(sh)) { |
| 1799 ec = NotSupportedError; | 1799 ec = NotSupportedError; |
| 1800 return 0; | 1800 return 0; |
| (...skipping 24 matching lines...) Expand all Loading... |
| 1825 RefPtr<Uint8ClampedArray> byteArray = buffer->getUnmultipliedImageData(image
DataRect, coordinateSystem); | 1825 RefPtr<Uint8ClampedArray> byteArray = buffer->getUnmultipliedImageData(image
DataRect, coordinateSystem); |
| 1826 if (!byteArray) | 1826 if (!byteArray) |
| 1827 return 0; | 1827 return 0; |
| 1828 | 1828 |
| 1829 return ImageData::create(imageDataRect.size(), byteArray.release()); | 1829 return ImageData::create(imageDataRect.size(), byteArray.release()); |
| 1830 } | 1830 } |
| 1831 | 1831 |
| 1832 void CanvasRenderingContext2D::putImageData(ImageData* data, float dx, float dy,
ExceptionCode& ec) | 1832 void CanvasRenderingContext2D::putImageData(ImageData* data, float dx, float dy,
ExceptionCode& ec) |
| 1833 { | 1833 { |
| 1834 if (!data) { | 1834 if (!data) { |
| 1835 ec = TYPE_MISMATCH_ERR; | 1835 ec = TypeMismatchError; |
| 1836 return; | 1836 return; |
| 1837 } | 1837 } |
| 1838 putImageData(data, dx, dy, 0, 0, data->width(), data->height(), ec); | 1838 putImageData(data, dx, dy, 0, 0, data->width(), data->height(), ec); |
| 1839 } | 1839 } |
| 1840 | 1840 |
| 1841 void CanvasRenderingContext2D::webkitPutImageDataHD(ImageData* data, float dx, f
loat dy, ExceptionCode& ec) | 1841 void CanvasRenderingContext2D::webkitPutImageDataHD(ImageData* data, float dx, f
loat dy, ExceptionCode& ec) |
| 1842 { | 1842 { |
| 1843 if (!data) { | 1843 if (!data) { |
| 1844 ec = TYPE_MISMATCH_ERR; | 1844 ec = TypeMismatchError; |
| 1845 return; | 1845 return; |
| 1846 } | 1846 } |
| 1847 webkitPutImageDataHD(data, dx, dy, 0, 0, data->width(), data->height(), ec); | 1847 webkitPutImageDataHD(data, dx, dy, 0, 0, data->width(), data->height(), ec); |
| 1848 } | 1848 } |
| 1849 | 1849 |
| 1850 void CanvasRenderingContext2D::putImageData(ImageData* data, float dx, float dy,
float dirtyX, float dirtyY, | 1850 void CanvasRenderingContext2D::putImageData(ImageData* data, float dx, float dy,
float dirtyX, float dirtyY, |
| 1851 float dirtyWidth, float dirtyHeight,
ExceptionCode& ec) | 1851 float dirtyWidth, float dirtyHeight,
ExceptionCode& ec) |
| 1852 { | 1852 { |
| 1853 putImageData(data, ImageBuffer::LogicalCoordinateSystem, dx, dy, dirtyX, dir
tyY, dirtyWidth, dirtyHeight, ec); | 1853 putImageData(data, ImageBuffer::LogicalCoordinateSystem, dx, dy, dirtyX, dir
tyY, dirtyWidth, dirtyHeight, ec); |
| 1854 } | 1854 } |
| 1855 | 1855 |
| 1856 void CanvasRenderingContext2D::webkitPutImageDataHD(ImageData* data, float dx, f
loat dy, float dirtyX, float dirtyY, float dirtyWidth, float dirtyHeight, Except
ionCode& ec) | 1856 void CanvasRenderingContext2D::webkitPutImageDataHD(ImageData* data, float dx, f
loat dy, float dirtyX, float dirtyY, float dirtyWidth, float dirtyHeight, Except
ionCode& ec) |
| 1857 { | 1857 { |
| 1858 putImageData(data, ImageBuffer::BackingStoreCoordinateSystem, dx, dy, dirtyX
, dirtyY, dirtyWidth, dirtyHeight, ec); | 1858 putImageData(data, ImageBuffer::BackingStoreCoordinateSystem, dx, dy, dirtyX
, dirtyY, dirtyWidth, dirtyHeight, ec); |
| 1859 } | 1859 } |
| 1860 | 1860 |
| 1861 void CanvasRenderingContext2D::putImageData(ImageData* data, ImageBuffer::Coordi
nateSystem coordinateSystem, float dx, float dy, float dirtyX, float dirtyY, | 1861 void CanvasRenderingContext2D::putImageData(ImageData* data, ImageBuffer::Coordi
nateSystem coordinateSystem, float dx, float dy, float dirtyX, float dirtyY, |
| 1862 float dirtyWidth, float dirtyHeight,
ExceptionCode& ec) | 1862 float dirtyWidth, float dirtyHeight,
ExceptionCode& ec) |
| 1863 { | 1863 { |
| 1864 if (!data) { | 1864 if (!data) { |
| 1865 ec = TYPE_MISMATCH_ERR; | 1865 ec = TypeMismatchError; |
| 1866 return; | 1866 return; |
| 1867 } | 1867 } |
| 1868 if (!std::isfinite(dx) || !std::isfinite(dy) || !std::isfinite(dirtyX) || !s
td::isfinite(dirtyY) || !std::isfinite(dirtyWidth) || !std::isfinite(dirtyHeight
)) { | 1868 if (!std::isfinite(dx) || !std::isfinite(dy) || !std::isfinite(dirtyX) || !s
td::isfinite(dirtyY) || !std::isfinite(dirtyWidth) || !std::isfinite(dirtyHeight
)) { |
| 1869 ec = NotSupportedError; | 1869 ec = NotSupportedError; |
| 1870 return; | 1870 return; |
| 1871 } | 1871 } |
| 1872 | 1872 |
| 1873 ImageBuffer* buffer = canvas()->buffer(); | 1873 ImageBuffer* buffer = canvas()->buffer(); |
| 1874 if (!buffer) | 1874 if (!buffer) |
| 1875 return; | 1875 return; |
| (...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2228 } | 2228 } |
| 2229 | 2229 |
| 2230 PassRefPtr<Canvas2DContextAttributes> CanvasRenderingContext2D::getContextAttrib
utes() const | 2230 PassRefPtr<Canvas2DContextAttributes> CanvasRenderingContext2D::getContextAttrib
utes() const |
| 2231 { | 2231 { |
| 2232 RefPtr<Canvas2DContextAttributes> attributes = Canvas2DContextAttributes::cr
eate(); | 2232 RefPtr<Canvas2DContextAttributes> attributes = Canvas2DContextAttributes::cr
eate(); |
| 2233 attributes->setAlpha(m_hasAlpha); | 2233 attributes->setAlpha(m_hasAlpha); |
| 2234 return attributes.release(); | 2234 return attributes.release(); |
| 2235 } | 2235 } |
| 2236 | 2236 |
| 2237 } // namespace WebCore | 2237 } // namespace WebCore |
| OLD | NEW |