<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[166582] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/166582">166582</a></dd>
<dt>Author</dt> <dd>zalan@apple.com</dd>
<dt>Date</dt> <dd>2014-04-01 07:17:58 -0700 (Tue, 01 Apr 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Subpixel rendering: Transition class Image (and its dependencies) from int to float to enable subpixel positioned/sized images.
https://bugs.webkit.org/show_bug.cgi?id=130643

Reviewed by Simon Fraser.

This is in preparation to support subpixel positioned/sized background images. While 1x bitmap images can't take
subpixel sizing on hidpi resolutions, both generated and hidpi images can.
This patch does not change Image behavior in general as both position and size are still snapped to integral values.

No change in behavior.

Source/WebCore:

* WebCore.exp.in:
* css/CSSCrossfadeValue.cpp:
(WebCore::CSSCrossfadeValue::fixedSize):
* css/CSSFilterImageValue.cpp:
(WebCore::CSSFilterImageValue::fixedSize):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::drawImageIntoBuffer):
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::imageSizeForRenderer):
* page/EventHandler.cpp:
(WebCore::EventHandler::selectCursor):
* platform/Cursor.cpp:
(WebCore::determineHotSpot):
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::size):
(WebCore::BitmapImage::currentFrameSize):
* platform/graphics/BitmapImage.h:
* platform/graphics/CrossfadeGeneratedImage.cpp:
(WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
(WebCore::drawCrossfadeSubimage):
(WebCore::CrossfadeGeneratedImage::drawCrossfade):
* platform/graphics/CrossfadeGeneratedImage.h:
* platform/graphics/GeneratedImage.h:
* platform/graphics/Gradient.cpp:
(WebCore::Gradient::adjustParametersForTiledDrawing):
* platform/graphics/Gradient.h:
* platform/graphics/GradientImage.cpp:
(WebCore::GradientImage::drawPattern):
* platform/graphics/GradientImage.h:
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::createCompatibleBuffer):
* platform/graphics/GraphicsContext.h:
* platform/graphics/Image.cpp:
(WebCore::Image::adjustSourceRectForDownSampling):
* platform/graphics/Image.h:
(WebCore::Image::setContainerSize):
(WebCore::Image::rect):
(WebCore::Image::width):
(WebCore::Image::height):
* platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::createCompatibleBuffer):
* platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::create):
* platform/graphics/IntPoint.cpp:
(WebCore::IntPoint::IntPoint):
* platform/graphics/IntPoint.h:
* platform/graphics/IntSize.cpp:
(WebCore::IntSize::IntSize):
* platform/graphics/IntSize.h:
* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/cairo/ImageCairo.cpp:
(WebCore::Image::drawPattern):
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/cg/ImageBufferDataCG.cpp:
* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::size):
(WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
(WebCore::applyRotationForPainting):
* platform/graphics/cg/PDFDocumentImage.h:
* platform/graphics/cg/PatternCG.cpp:
(WebCore::Pattern::createPlatformPattern):
* platform/graphics/mac/GraphicsContextMac.mm:
* platform/graphics/mac/IconMac.mm:
* platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
(WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
* platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
(WebCore::CoordinatedImageBacking::update):
* platform/graphics/win/ImageCGWin.cpp:
(WebCore::BitmapImage::getHBITMAPOfSize):
(WebCore::BitmapImage::drawFrameMatchingSourceSize):
* platform/graphics/win/ImageCairoWin.cpp:
(WebCore::BitmapImage::getHBITMAPOfSize):
(WebCore::BitmapImage::drawFrameMatchingSourceSize):
* platform/mac/DragImageMac.mm:
(WebCore::createDragImageFromImage):
* platform/win/DragImageCGWin.cpp:
(WebCore::createDragImageFromImage):
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::writeImage):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageSizeForError):
(WebCore::RenderImage::paintReplaced):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::drawPlatformResizerImage):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::setContainerSize):
* svg/graphics/SVGImage.h:
* svg/graphics/SVGImageCache.cpp:
(WebCore::SVGImageCache::imageSizeForRenderer):
* svg/graphics/SVGImageCache.h:
* svg/graphics/SVGImageForContainer.cpp:
(WebCore::SVGImageForContainer::size):
* svg/graphics/SVGImageForContainer.h:
* svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::externalRepresentation):
* testing/Internals.cpp:
(WebCore::Internals::getCurrentCursorInfo):

Source/WebKit:

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit2:

* Shared/WebCoreArgumentCoders.cpp:
(IPC::encodeImage):
* UIProcess/API/efl/EwkView.cpp:
(EwkView::updateCursor):

LayoutTests:

* platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt:
* platform/mac/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt:
* svg/custom/feDisplacementMap-01-expected.txt:
* svg/filters/feImage-change-target-id-expected.txt:
* svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.txt:
* svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.txt:
* svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.txt:
* svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.txt:
* svg/filters/feImage-late-indirect-update-expected.txt:
* svg/filters/feImage-multiple-targets-id-change-expected.txt:
* svg/filters/feImage-position-expected.txt:
* svg/filters/feImage-preserveAspectRatio-all-expected.txt:
* svg/filters/feImage-preserveAspectratio-expected.txt:
* svg/filters/feImage-reference-invalidation-expected.txt:
* svg/filters/feImage-reference-svg-primitive-expected.txt:
* svg/filters/feImage-remove-target-expected.txt:
* svg/filters/feImage-subregions-expected.txt:
* svg/filters/feImage-subregions-preseveAspectRatio-none-expected.txt:
* svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox-expected.txt:
* svg/filters/feImage-target-add-to-document-expected.txt:
* svg/filters/feImage-target-attribute-change-expected.txt:
* svg/filters/feImage-target-attribute-change-with-use-indirection-2-expected.txt:
* svg/filters/feImage-target-attribute-change-with-use-indirection-expected.txt:
* svg/filters/feImage-target-changes-id-expected.txt:
* svg/filters/feImage-target-id-change-expected.txt:
* svg/filters/feImage-target-inline-style-change-expected.txt:
* svg/filters/feImage-target-property-change-expected.txt:
* svg/filters/feImage-target-reappend-to-document-expected.txt:
* svg/filters/feImage-target-remove-from-document-expected.txt:
* svg/filters/feImage-target-style-change-expected.txt:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11filterscomposite02bexpectedtxt">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11filtersdisplace01fexpectedtxt">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11filtersimage01bexpectedtxt">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11SEfiltersimage03fexpectedtxt">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11SEfiltersimage05fexpectedtxt">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgcustomfeDisplacementMap01expectedtxt">trunk/LayoutTests/svg/custom/feDisplacementMap-01-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagechangetargetidexpectedtxt">trunk/LayoutTests/svg/filters/feImage-change-target-id-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagefilterUnitsobjectBoundingBoxprimitiveUnitsobjectBoundingBoxexpectedtxt">trunk/LayoutTests/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagefilterUnitsobjectBoundingBoxprimitiveUnitsuserSpaceOnUseexpectedtxt">trunk/LayoutTests/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagefilterUnitsuserSpaceOnUseprimitiveUnitsobjectBoundingBoxexpectedtxt">trunk/LayoutTests/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagefilterUnitsuserSpaceOnUseprimitiveUnitsuserSpaceOnUseexpectedtxt">trunk/LayoutTests/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagelateindirectupdateexpectedtxt">trunk/LayoutTests/svg/filters/feImage-late-indirect-update-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagemultipletargetsidchangeexpectedtxt">trunk/LayoutTests/svg/filters/feImage-multiple-targets-id-change-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagepositionexpectedtxt">trunk/LayoutTests/svg/filters/feImage-position-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagepreserveAspectRatioallexpectedtxt">trunk/LayoutTests/svg/filters/feImage-preserveAspectRatio-all-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagepreserveAspectratioexpectedtxt">trunk/LayoutTests/svg/filters/feImage-preserveAspectratio-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagereferenceinvalidationexpectedtxt">trunk/LayoutTests/svg/filters/feImage-reference-invalidation-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagereferencesvgprimitiveexpectedtxt">trunk/LayoutTests/svg/filters/feImage-reference-svg-primitive-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImageremovetargetexpectedtxt">trunk/LayoutTests/svg/filters/feImage-remove-target-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagesubregionsexpectedtxt">trunk/LayoutTests/svg/filters/feImage-subregions-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagesubregionspreseveAspectRationoneexpectedtxt">trunk/LayoutTests/svg/filters/feImage-subregions-preseveAspectRatio-none-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagesubregionspreseveAspectRationonewithviewBoxexpectedtxt">trunk/LayoutTests/svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagetargetaddtodocumentexpectedtxt">trunk/LayoutTests/svg/filters/feImage-target-add-to-document-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagetargetattributechangeexpectedtxt">trunk/LayoutTests/svg/filters/feImage-target-attribute-change-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagetargetattributechangewithuseindirection2expectedtxt">trunk/LayoutTests/svg/filters/feImage-target-attribute-change-with-use-indirection-2-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagetargetattributechangewithuseindirectionexpectedtxt">trunk/LayoutTests/svg/filters/feImage-target-attribute-change-with-use-indirection-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagetargetchangesidexpectedtxt">trunk/LayoutTests/svg/filters/feImage-target-changes-id-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagetargetidchangeexpectedtxt">trunk/LayoutTests/svg/filters/feImage-target-id-change-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagetargetinlinestylechangeexpectedtxt">trunk/LayoutTests/svg/filters/feImage-target-inline-style-change-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagetargetpropertychangeexpectedtxt">trunk/LayoutTests/svg/filters/feImage-target-property-change-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagetargetreappendtodocumentexpectedtxt">trunk/LayoutTests/svg/filters/feImage-target-reappend-to-document-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagetargetremovefromdocumentexpectedtxt">trunk/LayoutTests/svg/filters/feImage-target-remove-from-document-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgfiltersfeImagetargetstylechangeexpectedtxt">trunk/LayoutTests/svg/filters/feImage-target-style-change-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreWebCoreexpin">trunk/Source/WebCore/WebCore.exp.in</a></li>
<li><a href="#trunkSourceWebCorecssCSSCrossfadeValuecpp">trunk/Source/WebCore/css/CSSCrossfadeValue.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSFilterImageValuecpp">trunk/Source/WebCore/css/CSSFilterImageValue.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGLRenderingContextcpp">trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedImagecpp">trunk/Source/WebCore/loader/cache/CachedImage.cpp</a></li>
<li><a href="#trunkSourceWebCorepageEventHandlercpp">trunk/Source/WebCore/page/EventHandler.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformCursorcpp">trunk/Source/WebCore/platform/Cursor.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsBitmapImagecpp">trunk/Source/WebCore/platform/graphics/BitmapImage.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsBitmapImageh">trunk/Source/WebCore/platform/graphics/BitmapImage.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsCrossfadeGeneratedImagecpp">trunk/Source/WebCore/platform/graphics/CrossfadeGeneratedImage.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsCrossfadeGeneratedImageh">trunk/Source/WebCore/platform/graphics/CrossfadeGeneratedImage.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsGeneratedImageh">trunk/Source/WebCore/platform/graphics/GeneratedImage.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsGradientcpp">trunk/Source/WebCore/platform/graphics/Gradient.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsGradienth">trunk/Source/WebCore/platform/graphics/Gradient.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsGradientImagecpp">trunk/Source/WebCore/platform/graphics/GradientImage.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsGradientImageh">trunk/Source/WebCore/platform/graphics/GradientImage.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsGraphicsContextcpp">trunk/Source/WebCore/platform/graphics/GraphicsContext.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsGraphicsContexth">trunk/Source/WebCore/platform/graphics/GraphicsContext.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsImagecpp">trunk/Source/WebCore/platform/graphics/Image.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsImageh">trunk/Source/WebCore/platform/graphics/Image.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsImageBuffercpp">trunk/Source/WebCore/platform/graphics/ImageBuffer.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsImageBufferh">trunk/Source/WebCore/platform/graphics/ImageBuffer.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsIntPointcpp">trunk/Source/WebCore/platform/graphics/IntPoint.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsIntPointh">trunk/Source/WebCore/platform/graphics/IntPoint.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsIntSizecpp">trunk/Source/WebCore/platform/graphics/IntSize.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsIntSizeh">trunk/Source/WebCore/platform/graphics/IntSize.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscairoImageBufferCairocpp">trunk/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscairoImageCairocpp">trunk/Source/WebCore/platform/graphics/cairo/ImageCairo.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscgImageBufferCGcpp">trunk/Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscgImageBufferDataCGcpp">trunk/Source/WebCore/platform/graphics/cg/ImageBufferDataCG.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscgPDFDocumentImagecpp">trunk/Source/WebCore/platform/graphics/cg/PDFDocumentImage.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscgPDFDocumentImageh">trunk/Source/WebCore/platform/graphics/cg/PDFDocumentImage.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscgPatternCGcpp">trunk/Source/WebCore/platform/graphics/cg/PatternCG.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsmacGraphicsContextMacmm">trunk/Source/WebCore/platform/graphics/mac/GraphicsContextMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsmacIconMacmm">trunk/Source/WebCore/platform/graphics/mac/IconMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicstexmapTextureMapperTiledBackingStorecpp">trunk/Source/WebCore/platform/graphics/texmap/TextureMapperTiledBackingStore.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicstexmapcoordinatedCoordinatedImageBackingcpp">trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicswinImageCGWincpp">trunk/Source/WebCore/platform/graphics/win/ImageCGWin.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicswinImageCairoWincpp">trunk/Source/WebCore/platform/graphics/win/ImageCairoWin.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformmacDragImageMacmm">trunk/Source/WebCore/platform/mac/DragImageMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformwinDragImageCGWincpp">trunk/Source/WebCore/platform/win/DragImageCGWin.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformwinPasteboardWincpp">trunk/Source/WebCore/platform/win/PasteboardWin.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderImagecpp">trunk/Source/WebCore/rendering/RenderImage.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayercpp">trunk/Source/WebCore/rendering/RenderLayer.cpp</a></li>
<li><a href="#trunkSourceWebCoresvggraphicsSVGImagecpp">trunk/Source/WebCore/svg/graphics/SVGImage.cpp</a></li>
<li><a href="#trunkSourceWebCoresvggraphicsSVGImageh">trunk/Source/WebCore/svg/graphics/SVGImage.h</a></li>
<li><a href="#trunkSourceWebCoresvggraphicsSVGImageCachecpp">trunk/Source/WebCore/svg/graphics/SVGImageCache.cpp</a></li>
<li><a href="#trunkSourceWebCoresvggraphicsSVGImageCacheh">trunk/Source/WebCore/svg/graphics/SVGImageCache.h</a></li>
<li><a href="#trunkSourceWebCoresvggraphicsSVGImageForContainercpp">trunk/Source/WebCore/svg/graphics/SVGImageForContainer.cpp</a></li>
<li><a href="#trunkSourceWebCoresvggraphicsSVGImageForContainerh">trunk/Source/WebCore/svg/graphics/SVGImageForContainer.h</a></li>
<li><a href="#trunkSourceWebCoresvggraphicsfiltersSVGFEImagecpp">trunk/Source/WebCore/svg/graphics/filters/SVGFEImage.cpp</a></li>
<li><a href="#trunkSourceWebCoretestingInternalscpp">trunk/Source/WebCore/testing/Internals.cpp</a></li>
<li><a href="#trunkSourceWebKitChangeLog">trunk/Source/WebKit/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitWebKitvcxprojWebKitExportGeneratorWebKitExportsdefin">trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2SharedWebCoreArgumentCoderscpp">trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPIeflEwkViewcpp">trunk/Source/WebKit2/UIProcess/API/efl/EwkView.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/ChangeLog        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -1,3 +1,50 @@
</span><ins>+2014-04-01  Zalan Bujtas  &lt;zalan@apple.com&gt;
+
+        Subpixel rendering: Transition class Image (and its dependencies) from int to float to enable subpixel positioned/sized images.
+        https://bugs.webkit.org/show_bug.cgi?id=130643
+
+        Reviewed by Simon Fraser.
+
+        This is in preparation to support subpixel positioned/sized background images. While 1x bitmap images can't take
+        subpixel sizing on hidpi resolutions, both generated and hidpi images can.
+        This patch does not change Image behavior in general as both position and size are still snapped to integral values.  
+
+        No change in behavior.
+
+        * platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt:
+        * svg/custom/feDisplacementMap-01-expected.txt:
+        * svg/filters/feImage-change-target-id-expected.txt:
+        * svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.txt:
+        * svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.txt:
+        * svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.txt:
+        * svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.txt:
+        * svg/filters/feImage-late-indirect-update-expected.txt:
+        * svg/filters/feImage-multiple-targets-id-change-expected.txt:
+        * svg/filters/feImage-position-expected.txt:
+        * svg/filters/feImage-preserveAspectRatio-all-expected.txt:
+        * svg/filters/feImage-preserveAspectratio-expected.txt:
+        * svg/filters/feImage-reference-invalidation-expected.txt:
+        * svg/filters/feImage-reference-svg-primitive-expected.txt:
+        * svg/filters/feImage-remove-target-expected.txt:
+        * svg/filters/feImage-subregions-expected.txt:
+        * svg/filters/feImage-subregions-preseveAspectRatio-none-expected.txt:
+        * svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox-expected.txt:
+        * svg/filters/feImage-target-add-to-document-expected.txt:
+        * svg/filters/feImage-target-attribute-change-expected.txt:
+        * svg/filters/feImage-target-attribute-change-with-use-indirection-2-expected.txt:
+        * svg/filters/feImage-target-attribute-change-with-use-indirection-expected.txt:
+        * svg/filters/feImage-target-changes-id-expected.txt:
+        * svg/filters/feImage-target-id-change-expected.txt:
+        * svg/filters/feImage-target-inline-style-change-expected.txt:
+        * svg/filters/feImage-target-property-change-expected.txt:
+        * svg/filters/feImage-target-reappend-to-document-expected.txt:
+        * svg/filters/feImage-target-remove-from-document-expected.txt:
+        * svg/filters/feImage-target-style-change-expected.txt:
+
</ins><span class="cx"> 2014-03-31  Alexey Proskuryakov  &lt;ap@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Crashes in PageConsole::addMessage
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11filterscomposite02bexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -10,52 +10,52 @@
</span><span class="cx">         RenderSVGPath {path} at (15,0) size 150x90 [fill={[type=SOLID] [color=#FF00FF] [opacity=0.50]}] [data=&quot;M 0 0 L 0 150 L 150 0 Z&quot;]
</span><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;over&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><span class="cx">           [feComposite operation=&quot;OVER&quot;]
</span><del>-            [feImage image-size=&quot;150x150&quot;]
-            [feImage image-size=&quot;150x150&quot;]
</del><ins>+            [feImage image-size=&quot;150.00x150.00&quot;]
+            [feImage image-size=&quot;150.00x150.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;over50&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><span class="cx">           [feComposite operation=&quot;OVER&quot;]
</span><del>-            [feImage image-size=&quot;150x150&quot;]
-            [feImage image-size=&quot;150x150&quot;]
</del><ins>+            [feImage image-size=&quot;150.00x150.00&quot;]
+            [feImage image-size=&quot;150.00x150.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;in&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><span class="cx">           [feComposite operation=&quot;IN&quot;]
</span><del>-            [feImage image-size=&quot;150x150&quot;]
-            [feImage image-size=&quot;150x150&quot;]
</del><ins>+            [feImage image-size=&quot;150.00x150.00&quot;]
+            [feImage image-size=&quot;150.00x150.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;in50&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><span class="cx">           [feComposite operation=&quot;IN&quot;]
</span><del>-            [feImage image-size=&quot;150x150&quot;]
-            [feImage image-size=&quot;150x150&quot;]
</del><ins>+            [feImage image-size=&quot;150.00x150.00&quot;]
+            [feImage image-size=&quot;150.00x150.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;out&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><span class="cx">           [feComposite operation=&quot;OUT&quot;]
</span><del>-            [feImage image-size=&quot;150x150&quot;]
-            [feImage image-size=&quot;150x150&quot;]
</del><ins>+            [feImage image-size=&quot;150.00x150.00&quot;]
+            [feImage image-size=&quot;150.00x150.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;out50&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><span class="cx">           [feComposite operation=&quot;OUT&quot;]
</span><del>-            [feImage image-size=&quot;150x150&quot;]
-            [feImage image-size=&quot;150x150&quot;]
</del><ins>+            [feImage image-size=&quot;150.00x150.00&quot;]
+            [feImage image-size=&quot;150.00x150.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;atop&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><span class="cx">           [feComposite operation=&quot;ATOP&quot;]
</span><del>-            [feImage image-size=&quot;150x150&quot;]
-            [feImage image-size=&quot;150x150&quot;]
</del><ins>+            [feImage image-size=&quot;150.00x150.00&quot;]
+            [feImage image-size=&quot;150.00x150.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;atop50&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><span class="cx">           [feComposite operation=&quot;ATOP&quot;]
</span><del>-            [feImage image-size=&quot;150x150&quot;]
-            [feImage image-size=&quot;150x150&quot;]
</del><ins>+            [feImage image-size=&quot;150.00x150.00&quot;]
+            [feImage image-size=&quot;150.00x150.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;xor&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><span class="cx">           [feComposite operation=&quot;XOR&quot;]
</span><del>-            [feImage image-size=&quot;150x150&quot;]
-            [feImage image-size=&quot;150x150&quot;]
</del><ins>+            [feImage image-size=&quot;150.00x150.00&quot;]
+            [feImage image-size=&quot;150.00x150.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;xor50&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><span class="cx">           [feComposite operation=&quot;XOR&quot;]
</span><del>-            [feImage image-size=&quot;150x150&quot;]
-            [feImage image-size=&quot;150x150&quot;]
</del><ins>+            [feImage image-size=&quot;150.00x150.00&quot;]
+            [feImage image-size=&quot;150.00x150.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;arithmetic&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><span class="cx">           [feComposite operation=&quot;ARITHMETIC&quot; k1=&quot;0.50&quot; k2=&quot;0.50&quot; k3=&quot;0.50&quot; k4=&quot;0.50&quot;]
</span><del>-            [feImage image-size=&quot;150x150&quot;]
-            [feImage image-size=&quot;150x150&quot;]
</del><ins>+            [feImage image-size=&quot;150.00x150.00&quot;]
+            [feImage image-size=&quot;150.00x150.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;arithmetic50&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><span class="cx">           [feComposite operation=&quot;ARITHMETIC&quot; k1=&quot;0.50&quot; k2=&quot;0.50&quot; k3=&quot;0.50&quot; k4=&quot;0.50&quot;]
</span><del>-            [feImage image-size=&quot;150x150&quot;]
-            [feImage image-size=&quot;150x150&quot;]
</del><ins>+            [feImage image-size=&quot;150.00x150.00&quot;]
+            [feImage image-size=&quot;150.00x150.00&quot;]
</ins><span class="cx">       RenderSVGContainer {g} at (19,9) size 442x292 [transform={m=((0.40,0.00)(0.00,0.40)) t=(5.00,70.00)}]
</span><span class="cx">         RenderSVGRect {rect} at (19,9) size 442x292 [stroke={[type=SOLID] [color=#0000FF]}] [x=1.00] [y=1.00] [width=1098.00] [height=723.00]
</span><span class="cx">         RenderSVGText {text} at (100,14) size 765x74 contains 1 chunk(s)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11filtersdisplace01fexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -5,19 +5,19 @@
</span><span class="cx">     RenderSVGContainer {g} at (15,15) size 415x333
</span><span class="cx">       RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;DispMapChecker&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;256x256&quot;]
</del><ins>+          [feImage image-size=&quot;256.00x256.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;RotateMap&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;128x128&quot;]
</del><ins>+          [feImage image-size=&quot;128.00x128.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;SphereMap&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;128x128&quot;]
</del><ins>+          [feImage image-size=&quot;128.00x128.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;RotateMapTest&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><span class="cx">           [feDisplacementMap scale=&quot;64.00&quot; xChannelSelector=&quot;RED&quot; yChannelSelector=&quot;GREEN&quot;]
</span><del>-            [feImage image-size=&quot;256x256&quot;]
-            [feImage image-size=&quot;128x128&quot;]
</del><ins>+            [feImage image-size=&quot;256.00x256.00&quot;]
+            [feImage image-size=&quot;128.00x128.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;SphereMapTest&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><span class="cx">           [feDisplacementMap scale=&quot;64.00&quot; xChannelSelector=&quot;RED&quot; yChannelSelector=&quot;GREEN&quot;]
</span><del>-            [feImage image-size=&quot;256x256&quot;]
-            [feImage image-size=&quot;128x128&quot;]
</del><ins>+            [feImage image-size=&quot;256.00x256.00&quot;]
+            [feImage image-size=&quot;128.00x128.00&quot;]
</ins><span class="cx">       RenderSVGContainer {g} at (15,15) size 415x333
</span><span class="cx">         RenderSVGRect {rect} at (15,15) size 128x128 [fill={[type=SOLID] [color=#000000]}] [x=15.00] [y=15.00] [width=128.00] [height=128.00]
</span><span class="cx">           [filter=&quot;DispMapChecker&quot;] RenderSVGResourceFilter {filter} at (15,15) size 128x128
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11filtersimage01bexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -5,7 +5,7 @@
</span><span class="cx">     RenderSVGContainer {g} at (0,0) size 480x360
</span><span class="cx">       RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;image&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;503x503&quot;]
</del><ins>+          [feImage image-size=&quot;503.00x503.00&quot;]
</ins><span class="cx">       RenderSVGText {text} at (147,9) size 186x14 contains 1 chunk(s)
</span><span class="cx">         RenderSVGInlineText {#text} at (0,0) size 185x14
</span><span class="cx">           chunk 1 (middle anchor) text run 1 at (147.50,20.00) startOffset 0 endOffset 37 width 185.00: &quot;Basic test of feImage filter support.&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11SEfiltersimage03fexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -6,23 +6,23 @@
</span><span class="cx">     RenderSVGContainer {g} at (59,99) size 352x152
</span><span class="cx">       RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;default&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;all_specified_relative&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;all_specified_absolute&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;x_specified&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;y_specified&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;width_specified&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;height_specified&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;width_height_specified&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;x_y_specified&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGContainer {g} at (59,99) size 352x152 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,100.00)}]
</span><span class="cx">         RenderSVGRect {rect} at (60,100) size 50x50 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=50.00] [height=50.00]
</span><span class="cx">           [filter=&quot;default&quot;] RenderSVGResourceFilter {filter} at (0,0) size 50x50
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11SEfiltersimage05fexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -6,43 +6,43 @@
</span><span class="cx">     RenderSVGContainer {g} at (10,15) size 420x280
</span><span class="cx">       RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;default&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;xMinYMinMeet&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;xMidYMinMeet&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;xMaxYMinMeet&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;xMinYMidMeet&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;xMidYMidMeet&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;xMaxYMidMeet&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;xMinYMaxMeet&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;xMidYMaxMeet&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;xMaxYMaxMeet&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;xMinYMinSlice&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;xMidYMinSlice&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;xMaxYMinSlice&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;xMinYMidSlice&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;xMidYMidSlice&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;xMaxYMidSlice&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;xMinYMaxSlice&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;xMidYMaxSlice&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;xMaxYMaxSlice&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-          [feImage image-size=&quot;100x100&quot;]
</del><ins>+          [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGContainer {g} at (10,15) size 420x280 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,30.00)}]
</span><span class="cx">         RenderSVGText {text} at (63,-15) size 354x19 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 354x18
</span></span></pre></div>
<a id="trunkLayoutTestssvgcustomfeDisplacementMap01expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/custom/feDisplacementMap-01-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/custom/feDisplacementMap-01-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/custom/feDisplacementMap-01-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -6,8 +6,8 @@
</span><span class="cx">       RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">         RenderSVGResourceFilter {filter} [id=&quot;ResultImage&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><span class="cx">           [feDisplacementMap scale=&quot;100.00&quot; xChannelSelector=&quot;RED&quot; yChannelSelector=&quot;GREEN&quot;]
</span><del>-            [feImage image-size=&quot;100x100&quot;]
-            [feImage image-size=&quot;100x100&quot;]
</del><ins>+            [feImage image-size=&quot;100.00x100.00&quot;]
+            [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGRect {rect} at (0,0) size 111x111 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">         [filter=&quot;ResultImage&quot;] RenderSVGResourceFilter {filter} at (-10,-10) size 120x120
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 101x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagechangetargetidexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-change-target-id-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-change-target-id-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-change-target-id-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -5,6 +5,6 @@
</span><span class="cx">     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;0x0&quot;]
</del><ins>+        [feImage image-size=&quot;0.00x0.00&quot;]
</ins><span class="cx">     RenderSVGRect {rect} at (0,0) size 111x111 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       [filter=&quot;filter&quot;] RenderSVGResourceFilter {filter} at (-10,-10) size 120x120
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagefilterUnitsobjectBoundingBoxprimitiveUnitsobjectBoundingBoxexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -5,13 +5,13 @@
</span><span class="cx">     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">       RenderSVGEllipse {circle} at (200,200) size 400x400 [fill={[type=SOLID] [color=#008000]}] [cx=400.00] [cy=400.00] [r=200.00]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter1a-rel&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
</span><del>-        [feImage image-size=&quot;400x400&quot;]
</del><ins>+        [feImage image-size=&quot;400.00x400.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter1b-rel&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
</span><del>-        [feImage image-size=&quot;400x400&quot;]
</del><ins>+        [feImage image-size=&quot;400.00x400.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter2a-rel&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
</span><del>-        [feImage image-size=&quot;400x400&quot;]
</del><ins>+        [feImage image-size=&quot;400.00x400.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter2b-rel&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
</span><del>-        [feImage image-size=&quot;400x400&quot;]
</del><ins>+        [feImage image-size=&quot;400.00x400.00&quot;]
</ins><span class="cx">     RenderSVGContainer {g} at (0,0) size 350x200
</span><span class="cx">       RenderSVGRect {rect} at (49,49) size 102x102 [stroke={[type=SOLID] [color=#FF0000]}] [x=50.00] [y=50.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 200x200 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=200.00] [height=200.00]
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagefilterUnitsobjectBoundingBoxprimitiveUnitsuserSpaceOnUseexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -6,21 +6,21 @@
</span><span class="cx">       RenderSVGEllipse {circle} at (200,200) size 400x400 [fill={[type=SOLID] [color=#008000]}] [cx=400.00] [cy=400.00] [r=200.00]
</span><span class="cx">       RenderSVGEllipse {circle} at (50,50) size 100x100 [fill={[type=SOLID] [color=#008000]}] [cx=100.00] [cy=100.00] [r=50.00]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter1a-rel&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;400x400&quot;]
</del><ins>+        [feImage image-size=&quot;400.00x400.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter1b-rel&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;400x400&quot;]
</del><ins>+        [feImage image-size=&quot;400.00x400.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter2a-rel&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;400x400&quot;]
</del><ins>+        [feImage image-size=&quot;400.00x400.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter2b-rel&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;400x400&quot;]
</del><ins>+        [feImage image-size=&quot;400.00x400.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter1a-abs&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter1b-abs&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter2a-abs&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter2b-abs&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">     RenderSVGContainer {g} at (0,0) size 650x200
</span><span class="cx">       RenderSVGRect {rect} at (49,49) size 102x102 [stroke={[type=SOLID] [color=#FF0000]}] [x=50.00] [y=50.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 200x200 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=200.00] [height=200.00]
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagefilterUnitsuserSpaceOnUseprimitiveUnitsobjectBoundingBoxexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -5,13 +5,13 @@
</span><span class="cx">     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">       RenderSVGEllipse {circle} at (200,200) size 400x400 [fill={[type=SOLID] [color=#008000]}] [cx=400.00] [cy=400.00] [r=200.00]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter1a-rel&quot;] [filterUnits=userSpaceOnUse] [primitiveUnits=objectBoundingBox]
</span><del>-        [feImage image-size=&quot;400x400&quot;]
</del><ins>+        [feImage image-size=&quot;400.00x400.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter1b-rel&quot;] [filterUnits=userSpaceOnUse] [primitiveUnits=objectBoundingBox]
</span><del>-        [feImage image-size=&quot;400x400&quot;]
</del><ins>+        [feImage image-size=&quot;400.00x400.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter2a-rel&quot;] [filterUnits=userSpaceOnUse] [primitiveUnits=objectBoundingBox]
</span><del>-        [feImage image-size=&quot;400x400&quot;]
</del><ins>+        [feImage image-size=&quot;400.00x400.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter2b-rel&quot;] [filterUnits=userSpaceOnUse] [primitiveUnits=objectBoundingBox]
</span><del>-        [feImage image-size=&quot;400x400&quot;]
</del><ins>+        [feImage image-size=&quot;400.00x400.00&quot;]
</ins><span class="cx">     RenderSVGContainer {g} at (0,0) size 350x200
</span><span class="cx">       RenderSVGRect {rect} at (49,49) size 102x102 [stroke={[type=SOLID] [color=#FF0000]}] [x=50.00] [y=50.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 200x200 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=200.00] [height=200.00]
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagefilterUnitsuserSpaceOnUseprimitiveUnitsuserSpaceOnUseexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -6,21 +6,21 @@
</span><span class="cx">       RenderSVGEllipse {circle} at (200,200) size 400x400 [fill={[type=SOLID] [color=#008000]}] [cx=400.00] [cy=400.00] [r=200.00]
</span><span class="cx">       RenderSVGEllipse {circle} at (50,50) size 100x100 [fill={[type=SOLID] [color=#008000]}] [cx=100.00] [cy=100.00] [r=50.00]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter1a-rel&quot;] [filterUnits=userSpaceOnUse] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;400x400&quot;]
</del><ins>+        [feImage image-size=&quot;400.00x400.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter1b-rel&quot;] [filterUnits=userSpaceOnUse] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;400x400&quot;]
</del><ins>+        [feImage image-size=&quot;400.00x400.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter2a-rel&quot;] [filterUnits=userSpaceOnUse] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;400x400&quot;]
</del><ins>+        [feImage image-size=&quot;400.00x400.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter2b-rel&quot;] [filterUnits=userSpaceOnUse] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;400x400&quot;]
</del><ins>+        [feImage image-size=&quot;400.00x400.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter1a-abs&quot;] [filterUnits=userSpaceOnUse] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter1b-abs&quot;] [filterUnits=userSpaceOnUse] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter2a-abs&quot;] [filterUnits=userSpaceOnUse] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter2b-abs&quot;] [filterUnits=userSpaceOnUse] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">     RenderSVGContainer {g} at (0,0) size 650x200
</span><span class="cx">       RenderSVGRect {rect} at (49,49) size 102x102 [stroke={[type=SOLID] [color=#FF0000]}] [x=50.00] [y=50.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 200x200 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=200.00] [height=200.00]
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagelateindirectupdateexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-late-indirect-update-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-late-indirect-update-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-late-indirect-update-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -6,7 +6,7 @@
</span><span class="cx">       RenderSVGResourceLinearGradient {linearGradient} [id=&quot;gradient&quot;] [gradientUnits=objectBoundingBox] [start=(0,0)] [end=(1,1)]
</span><span class="cx">         RenderSVGGradientStop {stop} [offset=0.00] [color=#008000]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;400x300&quot;]
</del><ins>+        [feImage image-size=&quot;400.00x300.00&quot;]
</ins><span class="cx">       RenderSVGEllipse {ellipse} at (200,150) size 400x300 [fill={[type=LINEAR-GRADIENT] [id=&quot;gradient&quot;]}] [cx=400.00] [cy=300.00] [rx=200.00] [ry=150.00]
</span><span class="cx">     RenderSVGRect {rect} at (0,0) size 800x600 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=800.00] [height=600.00]
</span><span class="cx">       [filter=&quot;filter&quot;] RenderSVGResourceFilter {filter} at (-80,-60) size 960x720
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagemultipletargetsidchangeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-multiple-targets-id-change-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-multiple-targets-id-change-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-multiple-targets-id-change-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -5,9 +5,9 @@
</span><span class="cx">     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;image1&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;image2&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">     RenderSVGRect {rect} at (0,0) size 56x111 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=50.00] [height=100.00]
</span><span class="cx">       [filter=&quot;image1&quot;] RenderSVGResourceFilter {filter} at (-5,-10) size 60x120
</span><span class="cx">     RenderSVGRect {rect} at (45,0) size 60x111 [fill={[type=SOLID] [color=#000000]}] [x=50.00] [y=0.00] [width=50.00] [height=100.00]
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagepositionexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-position-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-position-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-position-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -5,6 +5,6 @@
</span><span class="cx">     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">     RenderSVGRect {rect} at (0,0) size 441x221 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=400.00] [height=200.00]
</span><span class="cx">       [filter=&quot;filter&quot;] RenderSVGResourceFilter {filter} at (-40,-20) size 480x240
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagepreserveAspectRatioallexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-preserveAspectRatio-all-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-preserveAspectRatio-all-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-preserveAspectRatio-all-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -4,19 +4,19 @@
</span><span class="cx">   RenderSVGRoot {svg} at (0,0) size 800x333
</span><span class="cx">     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;none&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;slice_mid&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;slice_max&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;slice_min&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;meet_mid&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;meet_max&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;meet_min&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">     RenderSVGRect {rect} at (0,0) size 800x333 [stroke={[type=SOLID] [color=#0000FF]}] [x=1.00] [y=1.00] [width=1198.00] [height=498.00]
</span><span class="cx">     RenderSVGContainer {g} at (20,3) size 760x311
</span><span class="cx">       RenderSVGRect {rect} at (26,3) size 81x161 [fill={[type=SOLID] [color=#000000]}] [x=50.00] [y=25.00] [width=100.00] [height=200.00]
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagepreserveAspectratioexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-preserveAspectratio-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-preserveAspectratio-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-preserveAspectratio-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -4,11 +4,11 @@
</span><span class="cx">   RenderSVGRoot {svg} at (0,0) size 600x250
</span><span class="cx">     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;Default&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;Fitted&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;Shifted&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">     RenderSVGRect {rect} at (0,0) size 600x250 [stroke={[type=SOLID] [color=#0000FF]}] [x=1.00] [y=1.00] [width=598.00] [height=248.00]
</span><span class="cx">     RenderSVGContainer {g} at (40,5) size 520x241
</span><span class="cx">       RenderSVGRect {rect} at (40,5) size 120x241 [fill={[type=SOLID] [color=#000000]}] [x=50.00] [y=25.00] [width=100.00] [height=200.00]
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagereferenceinvalidationexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-reference-invalidation-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-reference-invalidation-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-reference-invalidation-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -6,6 +6,6 @@
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;image&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">     RenderSVGRect {rect} at (0,0) size 111x111 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       [filter=&quot;image&quot;] RenderSVGResourceFilter {filter} at (-10,-10) size 120x120
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagereferencesvgprimitiveexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-reference-svg-primitive-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-reference-svg-primitive-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-reference-svg-primitive-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -4,7 +4,7 @@
</span><span class="cx">   RenderSVGRoot {svg} at (85,0) size 330x315
</span><span class="cx">     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;image&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;200x200&quot;]
</del><ins>+        [feImage image-size=&quot;200.00x200.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;flood&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><span class="cx">         [feFlood flood-color=&quot;#008000&quot; flood-opacity=&quot;1.00&quot;]
</span><span class="cx">       RenderSVGEllipse {circle} at (0,0) size 250x150 [fill={[type=SOLID] [color=#0000FF]}] [cx=0.00] [cy=0.00] [r=100.00]
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImageremovetargetexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-remove-target-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-remove-target-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-remove-target-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -4,6 +4,6 @@
</span><span class="cx">   RenderSVGRoot {svg} at (0,0) size 111x111
</span><span class="cx">     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;0x0&quot;]
</del><ins>+        [feImage image-size=&quot;0.00x0.00&quot;]
</ins><span class="cx">     RenderSVGRect {rect} at (0,0) size 111x111 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       [filter=&quot;filter&quot;] RenderSVGResourceFilter {filter} at (-10,-10) size 120x120
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagesubregionsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-subregions-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-subregions-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-subregions-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -5,13 +5,13 @@
</span><span class="cx">     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter1&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter2&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter3&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter4&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">     RenderSVGContainer {g} at (10,0) size 481x480 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,10.00)}]
</span><span class="cx">       RenderSVGRect {rect} at (10,0) size 481x231 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=400.00] [height=200.00]
</span><span class="cx">         [filter=&quot;filter1&quot;] RenderSVGResourceFilter {filter} at (-40,-20) size 480x240
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagesubregionspreseveAspectRationoneexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-subregions-preseveAspectRatio-none-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-subregions-preseveAspectRatio-none-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-subregions-preseveAspectRatio-none-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -5,13 +5,13 @@
</span><span class="cx">     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter1&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter2&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter3&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter4&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">     RenderSVGContainer {g} at (10,0) size 481x480 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,10.00)}]
</span><span class="cx">       RenderSVGRect {rect} at (10,0) size 481x231 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=400.00] [height=200.00]
</span><span class="cx">         [filter=&quot;filter1&quot;] RenderSVGResourceFilter {filter} at (-40,-20) size 480x240
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagesubregionspreseveAspectRationonewithviewBoxexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -5,13 +5,13 @@
</span><span class="cx">     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">       RenderSVGRect {rect} at (0,100) size 50x50 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter1&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter2&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter3&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter4&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">     RenderSVGContainer {g} at (5,95) size 241x245 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,10.00)}]
</span><span class="cx">       RenderSVGRect {rect} at (5,95) size 241x120 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=400.00] [height=200.00]
</span><span class="cx">         [filter=&quot;filter1&quot;] RenderSVGResourceFilter {filter} at (-40,-20) size 480x240
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagetargetaddtodocumentexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-target-add-to-document-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-target-add-to-document-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-target-add-to-document-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -6,6 +6,6 @@
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">     RenderSVGRect {rect} at (0,0) size 111x111 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       [filter=&quot;filter&quot;] RenderSVGResourceFilter {filter} at (-10,-10) size 120x120
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagetargetattributechangeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-target-attribute-change-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-target-attribute-change-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-target-attribute-change-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -5,6 +5,6 @@
</span><span class="cx">     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">     RenderSVGRect {rect} at (0,0) size 111x111 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       [filter=&quot;filter&quot;] RenderSVGResourceFilter {filter} at (-10,-10) size 120x120
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagetargetattributechangewithuseindirection2expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-target-attribute-change-with-use-indirection-2-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-target-attribute-change-with-use-indirection-2-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-target-attribute-change-with-use-indirection-2-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -7,6 +7,6 @@
</span><span class="cx">       RenderSVGContainer {use} at (0,0) size 100x100 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
</span><span class="cx">         RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#008000]}] [x=-50.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">     RenderSVGRect {rect} at (0,0) size 111x111 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       [filter=&quot;filter&quot;] RenderSVGResourceFilter {filter} at (-10,-10) size 120x120
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagetargetattributechangewithuseindirectionexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-target-attribute-change-with-use-indirection-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-target-attribute-change-with-use-indirection-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-target-attribute-change-with-use-indirection-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -7,6 +7,6 @@
</span><span class="cx">       RenderSVGContainer {use} at (0,0) size 100x100
</span><span class="cx">         RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">     RenderSVGRect {rect} at (0,0) size 111x111 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       [filter=&quot;filter&quot;] RenderSVGResourceFilter {filter} at (-10,-10) size 120x120
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagetargetchangesidexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-target-changes-id-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-target-changes-id-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-target-changes-id-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -5,6 +5,6 @@
</span><span class="cx">     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">     RenderSVGRect {rect} at (0,0) size 111x111 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       [filter=&quot;filter&quot;] RenderSVGResourceFilter {filter} at (-10,-10) size 120x120
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagetargetidchangeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-target-id-change-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-target-id-change-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-target-id-change-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -5,6 +5,6 @@
</span><span class="cx">     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">     RenderSVGRect {rect} at (0,0) size 111x111 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       [filter=&quot;filter&quot;] RenderSVGResourceFilter {filter} at (-10,-10) size 120x120
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagetargetinlinestylechangeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-target-inline-style-change-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-target-inline-style-change-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-target-inline-style-change-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -5,6 +5,6 @@
</span><span class="cx">     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">     RenderSVGRect {rect} at (0,0) size 111x111 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       [filter=&quot;filter&quot;] RenderSVGResourceFilter {filter} at (-10,-10) size 120x120
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagetargetpropertychangeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-target-property-change-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-target-property-change-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-target-property-change-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -5,6 +5,6 @@
</span><span class="cx">     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">     RenderSVGRect {rect} at (0,0) size 111x111 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       [filter=&quot;filter&quot;] RenderSVGResourceFilter {filter} at (-10,-10) size 120x120
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagetargetreappendtodocumentexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-target-reappend-to-document-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-target-reappend-to-document-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-target-reappend-to-document-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -6,6 +6,6 @@
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">     RenderSVGRect {rect} at (0,0) size 111x111 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       [filter=&quot;filter&quot;] RenderSVGResourceFilter {filter} at (-10,-10) size 120x120
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagetargetremovefromdocumentexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-target-remove-from-document-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-target-remove-from-document-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-target-remove-from-document-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -6,6 +6,6 @@
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">     RenderSVGRect {rect} at (0,0) size 111x111 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       [filter=&quot;filter&quot;] RenderSVGResourceFilter {filter} at (-10,-10) size 120x120
</span></span></pre></div>
<a id="trunkLayoutTestssvgfiltersfeImagetargetstylechangeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/filters/feImage-target-style-change-expected.txt (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/filters/feImage-target-style-change-expected.txt        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/LayoutTests/svg/filters/feImage-target-style-change-expected.txt        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -5,6 +5,6 @@
</span><span class="cx">     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">       RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       RenderSVGResourceFilter {filter} [id=&quot;filter&quot;] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
</span><del>-        [feImage image-size=&quot;100x100&quot;]
</del><ins>+        [feImage image-size=&quot;100.00x100.00&quot;]
</ins><span class="cx">     RenderSVGRect {rect} at (0,0) size 111x111 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
</span><span class="cx">       [filter=&quot;filter&quot;] RenderSVGResourceFilter {filter} at (-10,-10) size 120x120
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/ChangeLog        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -1,3 +1,116 @@
</span><ins>+2014-04-01  Zalan Bujtas  &lt;zalan@apple.com&gt;
+
+        Subpixel rendering: Transition class Image (and its dependencies) from int to float to enable subpixel positioned/sized images.
+        https://bugs.webkit.org/show_bug.cgi?id=130643
+
+        Reviewed by Simon Fraser.
+
+        This is in preparation to support subpixel positioned/sized background images. While 1x bitmap images can't take
+        subpixel sizing on hidpi resolutions, both generated and hidpi images can.
+        This patch does not change Image behavior in general as both position and size are still snapped to integral values.  
+
+        No change in behavior.
+
+        * WebCore.exp.in:
+        * css/CSSCrossfadeValue.cpp:
+        (WebCore::CSSCrossfadeValue::fixedSize):
+        * css/CSSFilterImageValue.cpp:
+        (WebCore::CSSFilterImageValue::fixedSize):
+        * html/canvas/WebGLRenderingContext.cpp:
+        (WebCore::WebGLRenderingContext::drawImageIntoBuffer):
+        * loader/cache/CachedImage.cpp:
+        (WebCore::CachedImage::imageSizeForRenderer):
+        * page/EventHandler.cpp:
+        (WebCore::EventHandler::selectCursor):
+        * platform/Cursor.cpp:
+        (WebCore::determineHotSpot):
+        * platform/graphics/BitmapImage.cpp:
+        (WebCore::BitmapImage::size):
+        (WebCore::BitmapImage::currentFrameSize):
+        * platform/graphics/BitmapImage.h:
+        * platform/graphics/CrossfadeGeneratedImage.cpp:
+        (WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
+        (WebCore::drawCrossfadeSubimage):
+        (WebCore::CrossfadeGeneratedImage::drawCrossfade):
+        * platform/graphics/CrossfadeGeneratedImage.h:
+        * platform/graphics/GeneratedImage.h:
+        * platform/graphics/Gradient.cpp:
+        (WebCore::Gradient::adjustParametersForTiledDrawing):
+        * platform/graphics/Gradient.h:
+        * platform/graphics/GradientImage.cpp:
+        (WebCore::GradientImage::drawPattern):
+        * platform/graphics/GradientImage.h:
+        * platform/graphics/GraphicsContext.cpp:
+        (WebCore::GraphicsContext::createCompatibleBuffer):
+        * platform/graphics/GraphicsContext.h:
+        * platform/graphics/Image.cpp:
+        (WebCore::Image::adjustSourceRectForDownSampling):
+        * platform/graphics/Image.h:
+        (WebCore::Image::setContainerSize):
+        (WebCore::Image::rect):
+        (WebCore::Image::width):
+        (WebCore::Image::height):
+        * platform/graphics/ImageBuffer.cpp:
+        (WebCore::ImageBuffer::createCompatibleBuffer):
+        * platform/graphics/ImageBuffer.h:
+        (WebCore::ImageBuffer::create):
+        * platform/graphics/IntPoint.cpp:
+        (WebCore::IntPoint::IntPoint):
+        * platform/graphics/IntPoint.h:
+        * platform/graphics/IntSize.cpp:
+        (WebCore::IntSize::IntSize):
+        * platform/graphics/IntSize.h:
+        * platform/graphics/cairo/ImageBufferCairo.cpp:
+        (WebCore::ImageBuffer::ImageBuffer):
+        * platform/graphics/cairo/ImageCairo.cpp:
+        (WebCore::Image::drawPattern):
+        * platform/graphics/cg/ImageBufferCG.cpp:
+        (WebCore::ImageBuffer::ImageBuffer):
+        * platform/graphics/cg/ImageBufferDataCG.cpp:
+        * platform/graphics/cg/PDFDocumentImage.cpp:
+        (WebCore::PDFDocumentImage::size):
+        (WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
+        (WebCore::applyRotationForPainting):
+        * platform/graphics/cg/PDFDocumentImage.h:
+        * platform/graphics/cg/PatternCG.cpp:
+        (WebCore::Pattern::createPlatformPattern):
+        * platform/graphics/mac/GraphicsContextMac.mm:
+        * platform/graphics/mac/IconMac.mm:
+        * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
+        (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
+        * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
+        (WebCore::CoordinatedImageBacking::update):
+        * platform/graphics/win/ImageCGWin.cpp:
+        (WebCore::BitmapImage::getHBITMAPOfSize):
+        (WebCore::BitmapImage::drawFrameMatchingSourceSize):
+        * platform/graphics/win/ImageCairoWin.cpp:
+        (WebCore::BitmapImage::getHBITMAPOfSize):
+        (WebCore::BitmapImage::drawFrameMatchingSourceSize):
+        * platform/mac/DragImageMac.mm:
+        (WebCore::createDragImageFromImage):
+        * platform/win/DragImageCGWin.cpp:
+        (WebCore::createDragImageFromImage):
+        * platform/win/PasteboardWin.cpp:
+        (WebCore::Pasteboard::writeImage):
+        * rendering/RenderImage.cpp:
+        (WebCore::RenderImage::imageSizeForError):
+        (WebCore::RenderImage::paintReplaced):
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::drawPlatformResizerImage):
+        * svg/graphics/SVGImage.cpp:
+        (WebCore::SVGImage::setContainerSize):
+        * svg/graphics/SVGImage.h:
+        * svg/graphics/SVGImageCache.cpp:
+        (WebCore::SVGImageCache::imageSizeForRenderer):
+        * svg/graphics/SVGImageCache.h:
+        * svg/graphics/SVGImageForContainer.cpp:
+        (WebCore::SVGImageForContainer::size):
+        * svg/graphics/SVGImageForContainer.h:
+        * svg/graphics/filters/SVGFEImage.cpp:
+        (WebCore::FEImage::externalRepresentation):
+        * testing/Internals.cpp:
+        (WebCore::Internals::getCurrentCursorInfo):
+
</ins><span class="cx"> 2014-04-01  Ryuan Choi  &lt;ryuan.choi@samsung.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Unreviewed build fix when disabled ACCESSIBILITY
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCoreexpin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.exp.in (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.exp.in        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/WebCore.exp.in        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -1305,8 +1305,10 @@
</span><span class="cx"> __ZN7WebCore9FloatRect9intersectERKS0_
</span><span class="cx"> __ZN7WebCore9FloatRectC1ERK6CGRect
</span><span class="cx"> __ZN7WebCore9FloatRectC1ERKNS_7IntRectE
</span><ins>+__ZNK7WebCore9FloatRect8containsERKNS_10FloatPointENS0_12ContainsModeE
</ins><span class="cx"> __ZN7WebCore9FloatSizeC1ERK6CGSize
</span><span class="cx"> __ZN7WebCore9FloatSizeC1ERKNS_7IntSizeE
</span><ins>+__ZN7WebCore7IntSizeC1ERKNS_9FloatSizeE
</ins><span class="cx"> __ZN7WebCore9FontCache10invalidateEv
</span><span class="cx"> __ZN7WebCore9FontCache13fontDataCountEv
</span><span class="cx"> __ZN7WebCore9FontCache21inactiveFontDataCountEv
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSCrossfadeValuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSCrossfadeValue.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSCrossfadeValue.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/css/CSSCrossfadeValue.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -90,13 +90,13 @@
</span><span class="cx">     if (!cachedFromImage || !cachedToImage)
</span><span class="cx">         return IntSize();
</span><span class="cx"> 
</span><del>-    IntSize fromImageSize = cachedFromImage-&gt;imageForRenderer(renderer)-&gt;size();
-    IntSize toImageSize = cachedToImage-&gt;imageForRenderer(renderer)-&gt;size();
</del><ins>+    FloatSize fromImageSize = cachedFromImage-&gt;imageForRenderer(renderer)-&gt;size();
+    FloatSize toImageSize = cachedToImage-&gt;imageForRenderer(renderer)-&gt;size();
</ins><span class="cx"> 
</span><span class="cx">     // Rounding issues can cause transitions between images of equal size to return
</span><span class="cx">     // a different fixed size; avoid performing the interpolation if the images are the same size.
</span><span class="cx">     if (fromImageSize == toImageSize)
</span><del>-        return fromImageSize;
</del><ins>+        return IntSize(fromImageSize);
</ins><span class="cx"> 
</span><span class="cx">     return IntSize(fromImageSize.width() * inversePercentage + toImageSize.width() * percentage,
</span><span class="cx">         fromImageSize.height() * inversePercentage + toImageSize.height() * percentage);
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSFilterImageValuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSFilterImageValue.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSFilterImageValue.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/css/CSSFilterImageValue.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx">     if (!cachedImage)
</span><span class="cx">         return IntSize();
</span><span class="cx"> 
</span><del>-    return cachedImage-&gt;imageForRenderer(renderer)-&gt;size();
</del><ins>+    return IntSize(cachedImage-&gt;imageForRenderer(renderer)-&gt;size());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool CSSFilterImageValue::isPending() const
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGLRenderingContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -3880,8 +3880,8 @@
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    IntRect srcRect(IntPoint(), image-&gt;size());
-    IntRect destRect(IntPoint(), size);
</del><ins>+    FloatRect srcRect(FloatPoint(), image-&gt;size());
+    FloatRect destRect(FloatPoint(), size);
</ins><span class="cx">     buf-&gt;context()-&gt;drawImage(image, ColorSpaceDeviceRGB, destRect, srcRect);
</span><span class="cx">     return buf-&gt;copyImage(ImageBuffer::fastCopyImageMode());
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedImagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedImage.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedImage.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/loader/cache/CachedImage.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -276,7 +276,7 @@
</span><span class="cx">     ASSERT(!isPurgeable());
</span><span class="cx"> 
</span><span class="cx">     if (!m_image)
</span><del>-        return IntSize();
</del><ins>+        return LayoutSize();
</ins><span class="cx"> 
</span><span class="cx">     LayoutSize imageSize(m_image-&gt;size());
</span><span class="cx"> 
</span><span class="lines">@@ -284,24 +284,24 @@
</span><span class="cx">     if (renderer &amp;&amp; m_image-&gt;isBitmapImage()) {
</span><span class="cx">         ImageOrientationDescription orientationDescription(renderer-&gt;shouldRespectImageOrientation(), renderer-&gt;style().imageOrientation());
</span><span class="cx">         if (orientationDescription.respectImageOrientation() == RespectImageOrientation)
</span><del>-            imageSize = toBitmapImage(m_image.get())-&gt;sizeRespectingOrientation(orientationDescription);
</del><ins>+            imageSize = LayoutSize(toBitmapImage(m_image.get())-&gt;sizeRespectingOrientation(orientationDescription));
</ins><span class="cx">     }
</span><span class="cx"> #else
</span><span class="cx">     if (m_image-&gt;isBitmapImage() &amp;&amp; (renderer &amp;&amp; renderer-&gt;shouldRespectImageOrientation() == RespectImageOrientation))
</span><span class="cx"> #if !PLATFORM(IOS)
</span><del>-        imageSize = toBitmapImage(m_image.get())-&gt;sizeRespectingOrientation();
</del><ins>+        imageSize = LayoutSize(toBitmapImage(m_image.get())-&gt;sizeRespectingOrientation());
</ins><span class="cx"> #else
</span><span class="cx">     {
</span><span class="cx">         // On iOS, the image may have been subsampled to accommodate our size restrictions. However
</span><span class="cx">         // we should tell the renderer what the original size was.
</span><del>-        imageSize = toBitmapImage(m_image.get())-&gt;originalSizeRespectingOrientation();
</del><ins>+        imageSize = LayoutSize(toBitmapImage(m_image.get())-&gt;originalSizeRespectingOrientation());
</ins><span class="cx">     } else if (m_image-&gt;isBitmapImage())
</span><del>-        imageSize = toBitmapImage(m_image.get())-&gt;originalSize();
</del><ins>+        imageSize = LayoutSize(toBitmapImage(m_image.get())-&gt;originalSize());
</ins><span class="cx"> #endif // !PLATFORM(IOS)
</span><span class="cx"> #endif // ENABLE(CSS_IMAGE_ORIENTATION)
</span><span class="cx"> 
</span><span class="cx">     else if (m_image-&gt;isSVGImage() &amp;&amp; sizeType == UsedSize) {
</span><del>-        imageSize = m_svgImageCache-&gt;imageSizeForRenderer(renderer);
</del><ins>+        imageSize = LayoutSize(m_svgImageCache-&gt;imageSizeForRenderer(renderer));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (multiplier == 1.0f)
</span></span></pre></div>
<a id="trunkSourceWebCorepageEventHandlercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/EventHandler.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/EventHandler.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/page/EventHandler.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -1361,7 +1361,7 @@
</span><span class="cx">             // Get hotspot and convert from logical pixels to physical pixels.
</span><span class="cx">             IntPoint hotSpot = (*cursors)[i].hotSpot();
</span><span class="cx">             hotSpot.scale(scale, scale);
</span><del>-            IntSize size = cachedImage-&gt;imageForRenderer(renderer)-&gt;size();
</del><ins>+            FloatSize size = cachedImage-&gt;imageForRenderer(renderer)-&gt;size();
</ins><span class="cx">             if (cachedImage-&gt;errorOccurred())
</span><span class="cx">                 continue;
</span><span class="cx">             // Limit the size of cursors (in UI pixels) so that they cannot be
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformCursorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/Cursor.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/Cursor.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/Cursor.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -27,6 +27,7 @@
</span><span class="cx"> #include &quot;Cursor.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Image.h&quot;
</span><ins>+#include &quot;IntRect.h&quot;
</ins><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -37,7 +38,7 @@
</span><span class="cx">         return IntPoint();
</span><span class="cx"> 
</span><span class="cx">     // Hot spot must be inside cursor rectangle.
</span><del>-    IntRect imageRect = image-&gt;rect();
</del><ins>+    IntRect imageRect = IntRect(image-&gt;rect());
</ins><span class="cx">     if (imageRect.contains(specifiedHotSpot))
</span><span class="cx">         return specifiedHotSpot;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsBitmapImagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/BitmapImage.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/BitmapImage.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/BitmapImage.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -247,7 +247,7 @@
</span><span class="cx">     didDecodeProperties();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntSize BitmapImage::size() const
</del><ins>+FloatSize BitmapImage::size() const
</ins><span class="cx"> {
</span><span class="cx">     updateSize();
</span><span class="cx">     return m_size;
</span><span class="lines">@@ -276,7 +276,7 @@
</span><span class="cx"> IntSize BitmapImage::currentFrameSize() const
</span><span class="cx"> {
</span><span class="cx">     if (!m_currentFrame || m_hasUniformFrameSize)
</span><del>-        return size();
</del><ins>+        return IntSize(size());
</ins><span class="cx">     IntSize frameSize = m_source.frameSizeAtIndex(m_currentFrame);
</span><span class="cx">     didDecodeProperties();
</span><span class="cx">     return frameSize;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsBitmapImageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/BitmapImage.h (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/BitmapImage.h        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/BitmapImage.h        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -134,7 +134,8 @@
</span><span class="cx"> 
</span><span class="cx">     virtual bool hasSingleSecurityOrigin() const override;
</span><span class="cx"> 
</span><del>-    virtual IntSize size() const override;
</del><ins>+    // FloatSize due to override.
+    virtual FloatSize size() const override;
</ins><span class="cx">     IntSize sizeRespectingOrientation(ImageOrientationDescription = ImageOrientationDescription()) const;
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     virtual IntSize originalSize() const;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsCrossfadeGeneratedImagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/CrossfadeGeneratedImage.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/CrossfadeGeneratedImage.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/CrossfadeGeneratedImage.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-CrossfadeGeneratedImage::CrossfadeGeneratedImage(Image* fromImage, Image* toImage, float percentage, IntSize crossfadeSize, const IntSize&amp; size)
</del><ins>+CrossfadeGeneratedImage::CrossfadeGeneratedImage(Image* fromImage, Image* toImage, float percentage, const FloatSize&amp; crossfadeSize, const FloatSize&amp; size)
</ins><span class="cx">     : m_fromImage(fromImage)
</span><span class="cx">     , m_toImage(toImage)
</span><span class="cx">     , m_percentage(percentage)
</span><span class="lines">@@ -41,9 +41,9 @@
</span><span class="cx">     setContainerSize(size);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static void drawCrossfadeSubimage(GraphicsContext* context, Image* image, CompositeOperator operation, float opacity, IntSize targetSize)
</del><ins>+static void drawCrossfadeSubimage(GraphicsContext* context, Image* image, CompositeOperator operation, float opacity, const FloatSize&amp; targetSize)
</ins><span class="cx"> {
</span><del>-    IntSize imageSize = image-&gt;size();
</del><ins>+    FloatSize imageSize = image-&gt;size();
</ins><span class="cx"> 
</span><span class="cx">     // SVGImage resets the opacity when painting, so we have to use transparency layers to accurately paint one at a given opacity.
</span><span class="cx">     bool useTransparencyLayer = image-&gt;isSVGImage();
</span><span class="lines">@@ -58,8 +58,7 @@
</span><span class="cx">         context-&gt;setAlpha(opacity);
</span><span class="cx"> 
</span><span class="cx">     if (targetSize != imageSize)
</span><del>-        context-&gt;scale(FloatSize(static_cast&lt;float&gt;(targetSize.width()) / imageSize.width(),
-            static_cast&lt;float&gt;(targetSize.height()) / imageSize.height()));
</del><ins>+        context-&gt;scale(FloatSize(targetSize.width() / imageSize.width(), targetSize.height() / imageSize.height()));
</ins><span class="cx">     context-&gt;drawImage(image, ColorSpaceDeviceRGB, IntPoint());
</span><span class="cx"> 
</span><span class="cx">     if (useTransparencyLayer)
</span><span class="lines">@@ -74,7 +73,7 @@
</span><span class="cx"> 
</span><span class="cx">     GraphicsContextStateSaver stateSaver(*context);
</span><span class="cx"> 
</span><del>-    context-&gt;clip(IntRect(IntPoint(), m_crossfadeSize));
</del><ins>+    context-&gt;clip(FloatRect(FloatPoint(), m_crossfadeSize));
</ins><span class="cx">     context-&gt;beginTransparencyLayer(1);
</span><span class="cx"> 
</span><span class="cx">     drawCrossfadeSubimage(context, m_fromImage, CompositeSourceOver, 1 - m_percentage, m_crossfadeSize);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsCrossfadeGeneratedImageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/CrossfadeGeneratedImage.h (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/CrossfadeGeneratedImage.h        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/CrossfadeGeneratedImage.h        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -26,10 +26,10 @@
</span><span class="cx"> #ifndef CrossfadeGeneratedImage_h
</span><span class="cx"> #define CrossfadeGeneratedImage_h
</span><span class="cx"> 
</span><ins>+#include &quot;FloatSize.h&quot;
</ins><span class="cx"> #include &quot;GeneratedImage.h&quot;
</span><span class="cx"> #include &quot;Image.h&quot;
</span><span class="cx"> #include &quot;ImageObserver.h&quot;
</span><del>-#include &quot;IntSize.h&quot;
</del><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -38,23 +38,23 @@
</span><span class="cx"> 
</span><span class="cx"> class CrossfadeGeneratedImage final : public GeneratedImage {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;CrossfadeGeneratedImage&gt; create(Image* fromImage, Image* toImage, float percentage, IntSize crossfadeSize, const IntSize&amp; size)
</del><ins>+    static PassRefPtr&lt;CrossfadeGeneratedImage&gt; create(Image* fromImage, Image* toImage, float percentage, const FloatSize&amp; crossfadeSize, const FloatSize&amp; size)
</ins><span class="cx">     {
</span><span class="cx">         return adoptRef(new CrossfadeGeneratedImage(fromImage, toImage, percentage, crossfadeSize, size));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual void setContainerSize(const IntSize&amp;) override { }
</del><ins>+    virtual void setContainerSize(const FloatSize&amp;) override { }
</ins><span class="cx">     virtual bool usesContainerSize() const override { return false; }
</span><span class="cx">     virtual bool hasRelativeWidth() const override { return false; }
</span><span class="cx">     virtual bool hasRelativeHeight() const override { return false; }
</span><span class="cx"> 
</span><del>-    virtual IntSize size() const override { return m_crossfadeSize; }
</del><ins>+    virtual FloatSize size() const override { return m_crossfadeSize; }
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="cx">     virtual void draw(GraphicsContext*, const FloatRect&amp; dstRect, const FloatRect&amp; srcRect, ColorSpace styleColorSpace, CompositeOperator, BlendMode, ImageOrientationDescription) override;
</span><span class="cx">     virtual void drawPattern(GraphicsContext*, const FloatRect&amp; srcRect, const AffineTransform&amp; patternTransform, const FloatPoint&amp; phase, ColorSpace styleColorSpace, CompositeOperator, const FloatRect&amp; dstRect, BlendMode) override;
</span><span class="cx"> 
</span><del>-    CrossfadeGeneratedImage(Image* fromImage, Image* toImage, float percentage, IntSize crossfadeSize, const IntSize&amp;);
</del><ins>+    CrossfadeGeneratedImage(Image* fromImage, Image* toImage, float percentage, const FloatSize&amp; crossfadeSize, const FloatSize&amp;);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     void drawCrossfade(GraphicsContext*);
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx">     Image* m_toImage;
</span><span class="cx"> 
</span><span class="cx">     float m_percentage;
</span><del>-    IntSize m_crossfadeSize;
</del><ins>+    FloatSize m_crossfadeSize;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsGeneratedImageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/GeneratedImage.h (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/GeneratedImage.h        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/GeneratedImage.h        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -26,9 +26,9 @@
</span><span class="cx"> #ifndef GeneratedImage_h
</span><span class="cx"> #define GeneratedImage_h
</span><span class="cx"> 
</span><ins>+#include &quot;FloatSize.h&quot;
</ins><span class="cx"> #include &quot;Image.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;IntSize.h&quot;
</del><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -37,13 +37,13 @@
</span><span class="cx"> public:
</span><span class="cx">     virtual bool hasSingleSecurityOrigin() const override { return true; }
</span><span class="cx"> 
</span><del>-    virtual void setContainerSize(const IntSize&amp; size) override { m_size = size; }
</del><ins>+    virtual void setContainerSize(const FloatSize&amp; size) override { m_size = size; }
</ins><span class="cx">     virtual bool usesContainerSize() const override { return true; }
</span><span class="cx">     virtual bool hasRelativeWidth() const override { return true; }
</span><span class="cx">     virtual bool hasRelativeHeight() const override { return true; }
</span><span class="cx">     virtual void computeIntrinsicDimensions(Length&amp; intrinsicWidth, Length&amp; intrinsicHeight, FloatSize&amp; intrinsicRatio) override;
</span><span class="cx"> 
</span><del>-    virtual IntSize size() const override { return m_size; }
</del><ins>+    virtual FloatSize size() const override { return m_size; }
</ins><span class="cx"> 
</span><span class="cx">     // Assume that generated content has no decoded data we need to worry about
</span><span class="cx">     virtual void destroyDecodedData(bool /*destroyAll*/ = true) override { }
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx">     GeneratedImage() { }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    IntSize m_size;
</del><ins>+    FloatSize m_size;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsGradientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Gradient.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Gradient.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/Gradient.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -69,7 +69,7 @@
</span><span class="cx">     platformDestroy();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Gradient::adjustParametersForTiledDrawing(IntSize&amp; size, FloatRect&amp; srcRect)
</del><ins>+void Gradient::adjustParametersForTiledDrawing(FloatSize&amp; size, FloatRect&amp; srcRect)
</ins><span class="cx"> {
</span><span class="cx">     if (m_radial)
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsGradienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Gradient.h (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Gradient.h        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/Gradient.h        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -150,7 +150,7 @@
</span><span class="cx">         AffineTransform gradientSpaceTransform() { return m_gradientSpaceTransformation; }
</span><span class="cx"> 
</span><span class="cx">         void fill(GraphicsContext*, const FloatRect&amp;);
</span><del>-        void adjustParametersForTiledDrawing(IntSize&amp;, FloatRect&amp;);
</del><ins>+        void adjustParametersForTiledDrawing(FloatSize&amp;, FloatRect&amp;);
</ins><span class="cx"> 
</span><span class="cx">         void setPlatformGradientSpaceTransform(const AffineTransform&amp; gradientSpaceTransformation);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsGradientImagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/GradientImage.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/GradientImage.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/GradientImage.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx">     const FloatPoint&amp; phase, ColorSpace styleColorSpace, CompositeOperator compositeOp, const FloatRect&amp; destRect, BlendMode blendMode)
</span><span class="cx"> {
</span><span class="cx">     // Allow the generator to provide visually-equivalent tiling parameters for better performance.
</span><del>-    IntSize adjustedSize = size();
</del><ins>+    FloatSize adjustedSize = size();
</ins><span class="cx">     FloatRect adjustedSrcRect = srcRect;
</span><span class="cx">     m_gradient-&gt;adjustParametersForTiledDrawing(adjustedSize, adjustedSrcRect);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsGradientImageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/GradientImage.h (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/GradientImage.h        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/GradientImage.h        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -26,18 +26,18 @@
</span><span class="cx"> #ifndef GradientImage_h
</span><span class="cx"> #define GradientImage_h
</span><span class="cx"> 
</span><ins>+#include &quot;FloatSize.h&quot;
</ins><span class="cx"> #include &quot;GeneratedImage.h&quot;
</span><span class="cx"> #include &quot;Gradient.h&quot;
</span><span class="cx"> #include &quot;Image.h&quot;
</span><span class="cx"> #include &quot;ImageBuffer.h&quot;
</span><del>-#include &quot;IntSize.h&quot;
</del><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class GradientImage final : public GeneratedImage {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;GradientImage&gt; create(PassRefPtr&lt;Gradient&gt; generator, const IntSize&amp; size)
</del><ins>+    static PassRefPtr&lt;GradientImage&gt; create(PassRefPtr&lt;Gradient&gt; generator, const FloatSize&amp; size)
</ins><span class="cx">     {
</span><span class="cx">         return adoptRef(new GradientImage(generator, size));
</span><span class="cx">     }
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx">     virtual void drawPattern(GraphicsContext*, const FloatRect&amp; srcRect, const AffineTransform&amp; patternTransform,
</span><span class="cx">         const FloatPoint&amp; phase, ColorSpace styleColorSpace, CompositeOperator, const FloatRect&amp; destRect, BlendMode) override;
</span><span class="cx"> 
</span><del>-    GradientImage(PassRefPtr&lt;Gradient&gt; generator, const IntSize&amp; size)
</del><ins>+    GradientImage(PassRefPtr&lt;Gradient&gt; generator, const FloatSize&amp; size)
</ins><span class="cx">         : m_gradient(generator)
</span><span class="cx">     {
</span><span class="cx">         setContainerSize(size);
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx"> private:
</span><span class="cx">     RefPtr&lt;Gradient&gt; m_gradient;
</span><span class="cx">     std::unique_ptr&lt;ImageBuffer&gt; m_cachedImageBuffer;
</span><del>-    IntSize m_cachedAdjustedSize;
</del><ins>+    FloatSize m_cachedAdjustedSize;
</ins><span class="cx">     unsigned m_cachedGeneratorHash;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsGraphicsContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/GraphicsContext.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/GraphicsContext.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/GraphicsContext.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -880,21 +880,20 @@
</span><span class="cx">     return a.xScale() == b.xScale() &amp;&amp; a.yScale() == b.yScale();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-std::unique_ptr&lt;ImageBuffer&gt; GraphicsContext::createCompatibleBuffer(const IntSize&amp; size, bool hasAlpha) const
</del><ins>+std::unique_ptr&lt;ImageBuffer&gt; GraphicsContext::createCompatibleBuffer(const FloatSize&amp; size, bool hasAlpha) const
</ins><span class="cx"> {
</span><span class="cx">     // Make the buffer larger if the context's transform is scaling it so we need a higher
</span><span class="cx">     // resolution than one pixel per unit. Also set up a corresponding scale factor on the
</span><span class="cx">     // graphics context.
</span><span class="cx"> 
</span><span class="cx">     AffineTransform transform = getCTM(DefinitelyIncludeDeviceScale);
</span><del>-    IntSize scaledSize(static_cast&lt;int&gt;(ceil(size.width() * transform.xScale())), static_cast&lt;int&gt;(ceil(size.height() * transform.yScale())));
</del><ins>+    FloatSize scaledSize(static_cast&lt;int&gt;(ceil(size.width() * transform.xScale())), static_cast&lt;int&gt;(ceil(size.height() * transform.yScale())));
</ins><span class="cx"> 
</span><span class="cx">     std::unique_ptr&lt;ImageBuffer&gt; buffer = ImageBuffer::createCompatibleBuffer(scaledSize, 1, ColorSpaceDeviceRGB, this, hasAlpha);
</span><span class="cx">     if (!buffer)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    buffer-&gt;context()-&gt;scale(FloatSize(static_cast&lt;float&gt;(scaledSize.width()) / size.width(),
-        static_cast&lt;float&gt;(scaledSize.height()) / size.height()));
</del><ins>+    buffer-&gt;context()-&gt;scale(FloatSize(scaledSize.width() / size.width(), scaledSize.height() / size.height()));
</ins><span class="cx"> 
</span><span class="cx">     return buffer;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsGraphicsContexth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/GraphicsContext.h (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/GraphicsContext.h        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/GraphicsContext.h        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -447,7 +447,7 @@
</span><span class="cx"> #endif
</span><span class="cx">         // Create an image buffer compatible with this context, with suitable resolution
</span><span class="cx">         // for drawing into the buffer and then into this context.
</span><del>-        std::unique_ptr&lt;ImageBuffer&gt; createCompatibleBuffer(const IntSize&amp;, bool hasAlpha = true) const;
</del><ins>+        std::unique_ptr&lt;ImageBuffer&gt; createCompatibleBuffer(const FloatSize&amp;, bool hasAlpha = true) const;
</ins><span class="cx">         bool isCompatibleWithBuffer(ImageBuffer*) const;
</span><span class="cx"> 
</span><span class="cx">         // This function applies the device scale factor to the context, making the context capable of
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsImagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Image.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Image.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/Image.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> #include &quot;BitmapImage.h&quot;
</span><span class="cx"> #include &quot;GraphicsContext.h&quot;
</span><span class="cx"> #include &quot;ImageObserver.h&quot;
</span><del>-#include &quot;IntRect.h&quot;
</del><span class="cx"> #include &quot;Length.h&quot;
</span><span class="cx"> #include &quot;MIMETypeRegistry.h&quot;
</span><span class="cx"> #include &quot;SharedBuffer.h&quot;
</span><span class="lines">@@ -233,7 +232,7 @@
</span><span class="cx"> #if ENABLE(IMAGE_DECODER_DOWN_SAMPLING)
</span><span class="cx"> FloatRect Image::adjustSourceRectForDownSampling(const FloatRect&amp; srcRect, const IntSize&amp; scaledSize) const
</span><span class="cx"> {
</span><del>-    const IntSize unscaledSize = size();
</del><ins>+    const FloatSize unscaledSize = size();
</ins><span class="cx">     if (unscaledSize == scaledSize)
</span><span class="cx">         return srcRect;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsImageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Image.h (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Image.h        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/Image.h        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Color.h&quot;
</span><span class="cx"> #include &quot;ColorSpace.h&quot;
</span><ins>+#include &quot;FloatRect.h&quot;
</ins><span class="cx"> #include &quot;FloatSize.h&quot;
</span><span class="cx"> #include &quot;GraphicsTypes.h&quot;
</span><span class="cx"> #include &quot;ImageOrientation.h&quot;
</span><span class="lines">@@ -62,7 +63,6 @@
</span><span class="cx"> 
</span><span class="cx"> class AffineTransform;
</span><span class="cx"> class FloatPoint;
</span><del>-class FloatRect;
</del><span class="cx"> class FloatSize;
</span><span class="cx"> class GraphicsContext;
</span><span class="cx"> class SharedBuffer;
</span><span class="lines">@@ -92,16 +92,16 @@
</span><span class="cx">     static Image* nullImage();
</span><span class="cx">     bool isNull() const { return size().isEmpty(); }
</span><span class="cx"> 
</span><del>-    virtual void setContainerSize(const IntSize&amp;) { }
</del><ins>+    virtual void setContainerSize(const FloatSize&amp;) { }
</ins><span class="cx">     virtual bool usesContainerSize() const { return false; }
</span><span class="cx">     virtual bool hasRelativeWidth() const { return false; }
</span><span class="cx">     virtual bool hasRelativeHeight() const { return false; }
</span><span class="cx">     virtual void computeIntrinsicDimensions(Length&amp; intrinsicWidth, Length&amp; intrinsicHeight, FloatSize&amp; intrinsicRatio);
</span><span class="cx"> 
</span><del>-    virtual IntSize size() const = 0;
-    IntRect rect() const { return IntRect(IntPoint(), size()); }
-    int width() const { return size().width(); }
-    int height() const { return size().height(); }
</del><ins>+    virtual FloatSize size() const = 0;
+    FloatRect rect() const { return FloatRect(FloatPoint(), size()); }
+    float width() const { return size().width(); }
+    float height() const { return size().height(); }
</ins><span class="cx">     virtual bool getHotSpot(IntPoint&amp;) const { return false; }
</span><span class="cx"> 
</span><span class="cx">     bool setData(PassRefPtr&lt;SharedBuffer&gt; data, bool allDataReceived);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsImageBuffercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ImageBuffer.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ImageBuffer.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/ImageBuffer.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -110,7 +110,7 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-std::unique_ptr&lt;ImageBuffer&gt; ImageBuffer::createCompatibleBuffer(const IntSize&amp; size, float resolutionScale, ColorSpace colorSpace, const GraphicsContext* context, bool)
</del><ins>+std::unique_ptr&lt;ImageBuffer&gt; ImageBuffer::createCompatibleBuffer(const FloatSize&amp; size, float resolutionScale, ColorSpace colorSpace, const GraphicsContext* context, bool)
</ins><span class="cx"> {
</span><span class="cx">     return create(size, resolutionScale, colorSpace, context-&gt;isAcceleratedContext() ? Accelerated : Unaccelerated);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsImageBufferh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ImageBuffer.h (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ImageBuffer.h        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/ImageBuffer.h        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -78,7 +78,7 @@
</span><span class="cx">         WTF_MAKE_NONCOPYABLE(ImageBuffer); WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx">     public:
</span><span class="cx">         // Will return a null pointer on allocation failure.
</span><del>-        static std::unique_ptr&lt;ImageBuffer&gt; create(const IntSize&amp; size, float resolutionScale = 1, ColorSpace colorSpace = ColorSpaceDeviceRGB, RenderingMode renderingMode = Unaccelerated)
</del><ins>+        static std::unique_ptr&lt;ImageBuffer&gt; create(const FloatSize&amp; size, float resolutionScale = 1, ColorSpace colorSpace = ColorSpaceDeviceRGB, RenderingMode renderingMode = Unaccelerated)
</ins><span class="cx">         {
</span><span class="cx">             bool success = false;
</span><span class="cx">             std::unique_ptr&lt;ImageBuffer&gt; buffer(new ImageBuffer(size, resolutionScale, colorSpace, renderingMode, success));
</span><span class="lines">@@ -87,7 +87,7 @@
</span><span class="cx">             return buffer;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        static std::unique_ptr&lt;ImageBuffer&gt; createCompatibleBuffer(const IntSize&amp;, float resolutionScale, ColorSpace, const GraphicsContext*, bool hasAlpha);
</del><ins>+        static std::unique_ptr&lt;ImageBuffer&gt; createCompatibleBuffer(const FloatSize&amp;, float resolutionScale, ColorSpace, const GraphicsContext*, bool hasAlpha);
</ins><span class="cx"> 
</span><span class="cx">         ~ImageBuffer();
</span><span class="cx"> 
</span><span class="lines">@@ -160,7 +160,7 @@
</span><span class="cx"> 
</span><span class="cx">         // This constructor will place its success into the given out-variable
</span><span class="cx">         // so that create() knows when it should return failure.
</span><del>-        ImageBuffer(const IntSize&amp;, float resolutionScale, ColorSpace, RenderingMode, bool&amp; success);
</del><ins>+        ImageBuffer(const FloatSize&amp;, float resolutionScale, ColorSpace, RenderingMode, bool&amp; success);
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx"> #if USE(CG)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsIntPointcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/IntPoint.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/IntPoint.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/IntPoint.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;IntPoint.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;FloatPoint.h&quot;
</ins><span class="cx"> #include &lt;wtf/PrintStream.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -35,4 +36,10 @@
</span><span class="cx">     out.printf(&quot;(%d, %d)&quot;, x(), y());
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+IntPoint::IntPoint(const FloatPoint&amp; p)
+    : m_x(clampToInteger(p.x()))
+    , m_y(clampToInteger(p.y()))
+{
</ins><span class="cx"> }
</span><ins>+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsIntPointh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/IntPoint.h (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/IntPoint.h        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/IntPoint.h        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -53,11 +53,14 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><ins>+class FloatPoint;
+
</ins><span class="cx"> class IntPoint {
</span><span class="cx"> public:
</span><span class="cx">     IntPoint() : m_x(0), m_y(0) { }
</span><span class="cx">     IntPoint(int x, int y) : m_x(x), m_y(y) { }
</span><span class="cx">     explicit IntPoint(const IntSize&amp; size) : m_x(size.width()), m_y(size.height()) { }
</span><ins>+    explicit IntPoint(const FloatPoint&amp;); // don't do this implicitly since it's lossy
</ins><span class="cx"> 
</span><span class="cx">     static IntPoint zero() { return IntPoint(); }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsIntSizecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/IntSize.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/IntSize.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/IntSize.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;IntSize.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;FloatSize.h&quot;
</ins><span class="cx"> #include &lt;wtf/PrintStream.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -35,4 +36,10 @@
</span><span class="cx">     out.printf(&quot;(%d x %d)&quot;, width(), height());
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+IntSize::IntSize(const FloatSize&amp; s)
+    : m_width(clampToInteger(s.width()))
+    , m_height(clampToInteger(s.height()))
+{
</ins><span class="cx"> }
</span><ins>+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsIntSizeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/IntSize.h (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/IntSize.h        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/IntSize.h        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -56,10 +56,13 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><ins>+class FloatSize;
+
</ins><span class="cx"> class IntSize {
</span><span class="cx"> public:
</span><span class="cx">     IntSize() : m_width(0), m_height(0) { }
</span><span class="cx">     IntSize(int width, int height) : m_width(width), m_height(height) { }
</span><ins>+    explicit IntSize(const FloatSize&amp;); // don't do this implicitly since it's lossy
</ins><span class="cx">     
</span><span class="cx">     int width() const { return m_width; }
</span><span class="cx">     int height() const { return m_height; }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscairoImageBufferCairocpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -91,8 +91,8 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-ImageBuffer::ImageBuffer(const IntSize&amp; size, float /* resolutionScale */, ColorSpace, RenderingMode renderingMode, bool&amp; success)
-    : m_data(size)
</del><ins>+ImageBuffer::ImageBuffer(const FloatSize&amp; size, float /* resolutionScale */, ColorSpace, RenderingMode renderingMode, bool&amp; success)
+    : m_data(IntSize(size))
</ins><span class="cx">     , m_size(size)
</span><span class="cx">     , m_logicalSize(size)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscairoImageCairocpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/cairo/ImageCairo.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cairo/ImageCairo.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/cairo/ImageCairo.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     cairo_t* cr = context-&gt;platformContext()-&gt;cr();
</span><del>-    drawPatternToCairoContext(cr, surface.get(), size(), tileRect, patternTransform, phase, toCairoOperator(op), destRect);
</del><ins>+    drawPatternToCairoContext(cr, surface.get(), IntSize(size()), tileRect, patternTransform, phase, toCairoOperator(op), destRect);
</ins><span class="cx"> 
</span><span class="cx">     if (imageObserver())
</span><span class="cx">         imageObserver()-&gt;didDraw(this);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscgImageBufferCGcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -32,6 +32,7 @@
</span><span class="cx"> #include &quot;GraphicsContext.h&quot;
</span><span class="cx"> #include &quot;GraphicsContextCG.h&quot;
</span><span class="cx"> #include &quot;ImageData.h&quot;
</span><ins>+#include &quot;IntRect.h&quot;
</ins><span class="cx"> #include &quot;MIMETypeRegistry.h&quot;
</span><span class="cx"> #include &lt;math.h&gt;
</span><span class="cx"> #include &lt;CoreGraphics/CoreGraphics.h&gt;
</span><span class="lines">@@ -42,7 +43,6 @@
</span><span class="cx"> #include &lt;wtf/RetainPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/text/Base64.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><del>-
</del><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx"> #include &quot;WebCoreSystemInterface.h&quot;
</span><span class="cx"> #endif
</span><span class="lines">@@ -124,8 +124,8 @@
</span><span class="cx">     return FloatSize(logicalSize.width() * xMagnification, logicalSize.height() * yMagnification);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ImageBuffer::ImageBuffer(const IntSize&amp; size, float resolutionScale, ColorSpace imageColorSpace, RenderingMode renderingMode, bool&amp; success)
-    : m_data(size) // NOTE: The input here isn't important as ImageBufferDataCG's constructor just ignores it.
</del><ins>+ImageBuffer::ImageBuffer(const FloatSize&amp; size, float resolutionScale, ColorSpace imageColorSpace, RenderingMode renderingMode, bool&amp; success)
+    : m_data(IntSize(size)) // NOTE: The input here isn't important as ImageBufferDataCG's constructor just ignores it.
</ins><span class="cx">     , m_logicalSize(size)
</span><span class="cx">     , m_resolutionScale(resolutionScale)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscgImageBufferDataCGcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/cg/ImageBufferDataCG.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cg/ImageBufferDataCG.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/cg/ImageBufferDataCG.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;ImageBufferData.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;IntRect.h&quot;
</ins><span class="cx"> #include &lt;CoreGraphics/CoreGraphics.h&gt;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscgPDFDocumentImagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/cg/PDFDocumentImage.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cg/PDFDocumentImage.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/cg/PDFDocumentImage.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -39,6 +39,7 @@
</span><span class="cx"> #include &quot;GraphicsContext.h&quot;
</span><span class="cx"> #include &quot;ImageBuffer.h&quot;
</span><span class="cx"> #include &quot;ImageObserver.h&quot;
</span><ins>+#include &quot;IntRect.h&quot;
</ins><span class="cx"> #include &quot;Length.h&quot;
</span><span class="cx"> #include &quot;SharedBuffer.h&quot;
</span><span class="cx"> #include &lt;CoreGraphics/CGContext.h&gt;
</span><span class="lines">@@ -69,9 +70,9 @@
</span><span class="cx">     return &quot;pdf&quot;;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntSize PDFDocumentImage::size() const
</del><ins>+FloatSize PDFDocumentImage::size() const
</ins><span class="cx"> {
</span><del>-    IntSize expandedCropBoxSize = expandedIntSize(m_cropBox.size());
</del><ins>+    FloatSize expandedCropBoxSize = FloatSize(expandedIntSize(m_cropBox.size()));
</ins><span class="cx"> 
</span><span class="cx">     if (m_rotationDegrees == 90 || m_rotationDegrees == 270)
</span><span class="cx">         return expandedCropBoxSize.transposedSize();
</span><span class="lines">@@ -149,7 +150,7 @@
</span><span class="cx">     bool useLowQualityInterpolation = interpolationQuality == InterpolationNone || interpolationQuality == InterpolationLow;
</span><span class="cx"> 
</span><span class="cx">     if (!m_cachedImageBuffer || (!cacheParametersMatch(context, dstRect, srcRect) &amp;&amp; !useLowQualityInterpolation)) {
</span><del>-        m_cachedImageBuffer = context-&gt;createCompatibleBuffer(enclosingIntRect(dstRect).size());
</del><ins>+        m_cachedImageBuffer = context-&gt;createCompatibleBuffer(FloatRect(enclosingIntRect(dstRect)).size());
</ins><span class="cx">         if (!m_cachedImageBuffer)
</span><span class="cx">             return;
</span><span class="cx">         GraphicsContext* bufferContext = m_cachedImageBuffer-&gt;context();
</span><span class="lines">@@ -234,7 +235,7 @@
</span><span class="cx">     return CGPDFDocumentGetNumberOfPages(m_document.get());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static void applyRotationForPainting(GraphicsContext* context, IntSize size, int rotationDegrees)
</del><ins>+static void applyRotationForPainting(GraphicsContext* context, FloatSize size, int rotationDegrees)
</ins><span class="cx"> {
</span><span class="cx">     if (rotationDegrees == 90)
</span><span class="cx">         context-&gt;translate(0, size.height());
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscgPDFDocumentImageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/cg/PDFDocumentImage.h (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cg/PDFDocumentImage.h        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/cg/PDFDocumentImage.h        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx">     virtual void destroyDecodedData(bool /*destroyAll*/ = true) override;
</span><span class="cx"> 
</span><span class="cx">     virtual void computeIntrinsicDimensions(Length&amp; intrinsicWidth, Length&amp; intrinsicHeight, FloatSize&amp; intrinsicRatio) override;
</span><del>-    virtual IntSize size() const override;
</del><ins>+    virtual FloatSize size() const override;
</ins><span class="cx"> 
</span><span class="cx">     virtual void draw(GraphicsContext*, const FloatRect&amp; dstRect, const FloatRect&amp; srcRect, ColorSpace styleColorSpace, CompositeOperator, BlendMode, ImageOrientationDescription) override;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscgPatternCGcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/cg/PatternCG.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cg/PatternCG.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/cg/PatternCG.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx"> 
</span><span class="cx"> CGPatternRef Pattern::createPlatformPattern(const AffineTransform&amp; userSpaceTransformation) const
</span><span class="cx"> {
</span><del>-    IntRect tileRect = tileImage()-&gt;rect();
</del><ins>+    FloatRect tileRect = tileImage()-&gt;rect();
</ins><span class="cx"> 
</span><span class="cx">     AffineTransform patternTransform = userSpaceTransformation * m_patternSpaceTransformation;
</span><span class="cx">     patternTransform.scaleNonUniform(1, -1);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsmacGraphicsContextMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/mac/GraphicsContextMac.mm (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/mac/GraphicsContextMac.mm        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/mac/GraphicsContextMac.mm        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #import &quot;GraphicsContextCG.h&quot;
</span><span class="cx"> #import &quot;GraphicsContextPlatformPrivateCG.h&quot;
</span><ins>+#import &quot;IntRect.h&quot;
</ins><span class="cx"> #if USE(APPKIT)
</span><span class="cx"> #import &lt;AppKit/AppKit.h&gt;
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsmacIconMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/mac/IconMac.mm (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/mac/IconMac.mm        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/mac/IconMac.mm        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -24,6 +24,7 @@
</span><span class="cx"> #import &quot;Icon.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #import &quot;GraphicsContext.h&quot;
</span><ins>+#import &quot;IntRect.h&quot;
</ins><span class="cx"> #import &quot;LocalCurrentGraphicsContext.h&quot;
</span><span class="cx"> #import &lt;wtf/PassRefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicstexmapTextureMapperTiledBackingStorecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/texmap/TextureMapperTiledBackingStore.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/texmap/TextureMapperTiledBackingStore.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/texmap/TextureMapperTiledBackingStore.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx">     if (!m_image)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    updateContents(textureMapper, m_image.get(), m_image-&gt;size(), m_image-&gt;rect(), BitmapTexture::UpdateCannotModifyOriginalImageData);
</del><ins>+    updateContents(textureMapper, m_image.get(), m_image-&gt;size(), enclosingIntRect(m_image-&gt;rect()), BitmapTexture::UpdateCannotModifyOriginalImageData);
</ins><span class="cx">     m_image.clear();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicstexmapcoordinatedCoordinatedImageBackingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -120,13 +120,13 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    m_surface = CoordinatedSurface::create(m_image-&gt;size(), !m_image-&gt;currentFrameKnownToBeOpaque() ? CoordinatedSurface::SupportsAlpha : CoordinatedSurface::NoFlags);
</del><ins>+    m_surface = CoordinatedSurface::create(IntSize(m_image-&gt;size()), !m_image-&gt;currentFrameKnownToBeOpaque() ? CoordinatedSurface::SupportsAlpha : CoordinatedSurface::NoFlags);
</ins><span class="cx">     if (!m_surface) {
</span><span class="cx">         m_isDirty = false;
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    IntRect rect(IntPoint::zero(), m_image-&gt;size());
</del><ins>+    IntRect rect(IntPoint::zero(), IntSize(m_image-&gt;size()));
</ins><span class="cx"> 
</span><span class="cx">     ImageBackingSurfaceClient surfaceClient(m_image.get(), rect);
</span><span class="cx">     m_surface-&gt;paintToSurface(rect, &amp;surfaceClient);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicswinImageCGWincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/win/ImageCGWin.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/win/ImageCGWin.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/win/ImageCGWin.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx">   
</span><span class="cx">     GraphicsContext gc(cgContext);
</span><span class="cx"> 
</span><del>-    IntSize imageSize = BitmapImage::size();
</del><ins>+    FloatSize imageSize = BitmapImage::size();
</ins><span class="cx">     if (size)
</span><span class="cx">         drawFrameMatchingSourceSize(&amp;gc, FloatRect(0.0f, 0.0f, bmpInfo.bmWidth, bmpInfo.bmHeight), *size, ColorSpaceDeviceRGB, CompositeCopy);
</span><span class="cx">     else
</span><span class="lines">@@ -101,7 +101,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // No image of the correct size was found, fallback to drawing the current frame
</span><del>-    IntSize imageSize = BitmapImage::size();
</del><ins>+    FloatSize imageSize = BitmapImage::size();
</ins><span class="cx">     draw(ctxt, dstRect, FloatRect(0.0f, 0.0f, imageSize.width(), imageSize.height()), styleColorSpace, compositeOp, BlendModeNormal, ImageOrientationDescription());
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicswinImageCairoWincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/win/ImageCairoWin.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/win/ImageCairoWin.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/graphics/win/ImageCairoWin.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -77,7 +77,7 @@
</span><span class="cx"> 
</span><span class="cx">     GraphicsContext gc(targetRef);
</span><span class="cx"> 
</span><del>-    IntSize imageSize = BitmapImage::size();
</del><ins>+    FloatSize imageSize = BitmapImage::size();
</ins><span class="cx">     if (size)
</span><span class="cx">         drawFrameMatchingSourceSize(&amp;gc, FloatRect(0.0f, 0.0f, bmpInfo.bmWidth, bmpInfo.bmHeight), *size, ColorSpaceDeviceRGB, CompositeCopy);
</span><span class="cx">     else
</span><span class="lines">@@ -107,7 +107,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // No image of the correct size was found, fallback to drawing the current frame
</span><del>-    IntSize imageSize = BitmapImage::size();
</del><ins>+    FloatSize imageSize = BitmapImage::size();
</ins><span class="cx">     draw(ctxt, dstRect, FloatRect(0.0f, 0.0f, imageSize.width(), imageSize.height()), ColorSpaceDeviceRGB, compositeOp, BlendModeNormal, ImageOrientationDescription());
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmacDragImageMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mac/DragImageMac.mm (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mac/DragImageMac.mm        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/mac/DragImageMac.mm        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -82,7 +82,7 @@
</span><span class="cx">         
</span><span class="cx"> RetainPtr&lt;NSImage&gt; createDragImageFromImage(Image* image, ImageOrientationDescription description)
</span><span class="cx"> {
</span><del>-    IntSize size = image-&gt;size();
</del><ins>+    FloatSize size = image-&gt;size();
</ins><span class="cx"> 
</span><span class="cx">     if (image-&gt;isBitmapImage()) {
</span><span class="cx">         ImageOrientation orientation;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformwinDragImageCGWincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/win/DragImageCGWin.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/win/DragImageCGWin.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/win/DragImageCGWin.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -124,13 +124,13 @@
</span><span class="cx">         return 0;
</span><span class="cx"> 
</span><span class="cx">     CGContextRef drawContext = 0;
</span><del>-    auto hbmp = allocImage(workingDC.get(), img-&gt;size(), &amp;drawContext);
</del><ins>+    auto hbmp = allocImage(workingDC.get(), IntSize(img-&gt;size()), &amp;drawContext);
</ins><span class="cx">     if (!hbmp || !drawContext)
</span><span class="cx">         return 0;
</span><span class="cx"> 
</span><span class="cx">     CGImageRef srcImage = img-&gt;getCGImageRef();
</span><span class="cx">     CGRect rect;
</span><del>-    rect.size = img-&gt;size();
</del><ins>+    rect.size = IntSize(img-&gt;size());
</ins><span class="cx">     rect.origin.x = 0;
</span><span class="cx">     rect.origin.y = -rect.size.height;
</span><span class="cx">     static const CGFloat white [] = {1.0, 1.0, 1.0, 1.0};
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformwinPasteboardWincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/win/PasteboardWin.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/win/PasteboardWin.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/platform/win/PasteboardWin.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -745,7 +745,7 @@
</span><span class="cx">     auto resultBitmap = adoptGDIObject(::CreateCompatibleBitmap(dc, image-&gt;width(), image-&gt;height()));
</span><span class="cx">     HGDIOBJ oldBitmap = ::SelectObject(compatibleDC.get(), resultBitmap.get());
</span><span class="cx"> 
</span><del>-    BitmapInfo bmInfo = BitmapInfo::create(image-&gt;size());
</del><ins>+    BitmapInfo bmInfo = BitmapInfo::create(IntSize(image-&gt;size()));
</ins><span class="cx"> 
</span><span class="cx">     auto coreBitmap = adoptGDIObject(::CreateDIBSection(dc, &amp;bmInfo, DIB_RGB_COLORS, 0, 0, 0));
</span><span class="cx">     HGDIOBJ oldSource = ::SelectObject(sourceDC.get(), coreBitmap.get());
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderImagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderImage.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderImage.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/rendering/RenderImage.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -165,7 +165,7 @@
</span><span class="cx">     ASSERT_ARG(newImage, newImage);
</span><span class="cx">     ASSERT_ARG(newImage, newImage-&gt;imageForRenderer(this));
</span><span class="cx"> 
</span><del>-    IntSize imageSize;
</del><ins>+    FloatSize imageSize;
</ins><span class="cx">     if (newImage-&gt;willPaintBrokenImage()) {
</span><span class="cx">         std::pair&lt;Image*, float&gt; brokenImageAndImageScaleFactor = newImage-&gt;brokenImage(document().deviceScaleFactor());
</span><span class="cx">         imageSize = brokenImageAndImageScaleFactor.first-&gt;size();
</span><span class="lines">@@ -424,7 +424,7 @@
</span><span class="cx">                 // Call brokenImage() explicitly to ensure we get the broken image icon at the appropriate resolution.
</span><span class="cx">                 std::pair&lt;Image*, float&gt; brokenImageAndImageScaleFactor = imageResource().cachedImage()-&gt;brokenImage(document().deviceScaleFactor());
</span><span class="cx">                 image = brokenImageAndImageScaleFactor.first;
</span><del>-                IntSize imageSize = image-&gt;size();
</del><ins>+                FloatSize imageSize = image-&gt;size();
</ins><span class="cx">                 imageSize.scale(1 / brokenImageAndImageScaleFactor.second);
</span><span class="cx">                 // Center the error image, accounting for border and padding.
</span><span class="cx">                 LayoutUnit centerX = (usableWidth - imageSize.width()) / 2;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayer.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -3457,7 +3457,7 @@
</span><span class="cx"> void RenderLayer::drawPlatformResizerImage(GraphicsContext* context, const LayoutRect&amp; resizerCornerRect)
</span><span class="cx"> {
</span><span class="cx">     RefPtr&lt;Image&gt; resizeCornerImage;
</span><del>-    IntSize cornerResizerSize;
</del><ins>+    FloatSize cornerResizerSize;
</ins><span class="cx">     if (renderer().document().deviceScaleFactor() &gt;= 2) {
</span><span class="cx">         DEPRECATED_DEFINE_STATIC_LOCAL(Image*, resizeCornerImageHiRes, (Image::loadPlatformResource(&quot;textAreaResizeCorner@2x&quot;).leakRef()));
</span><span class="cx">         resizeCornerImage = resizeCornerImageHiRes;
</span></span></pre></div>
<a id="trunkSourceWebCoresvggraphicsSVGImagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/graphics/SVGImage.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/graphics/SVGImage.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/svg/graphics/SVGImage.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -81,7 +81,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SVGImage::setContainerSize(const IntSize&amp; size)
</del><ins>+void SVGImage::setContainerSize(const FloatSize&amp; size)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_page || !usesContainerSize())
</span><span class="cx">         return;
</span><span class="lines">@@ -96,7 +96,7 @@
</span><span class="cx">     FrameView* view = frameView();
</span><span class="cx">     view-&gt;resize(this-&gt;containerSize());
</span><span class="cx"> 
</span><del>-    renderer-&gt;setContainerSize(size);
</del><ins>+    renderer-&gt;setContainerSize(IntSize(size));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> IntSize SVGImage::containerSize() const
</span></span></pre></div>
<a id="trunkSourceWebCoresvggraphicsSVGImageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/graphics/SVGImage.h (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/graphics/SVGImage.h        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/svg/graphics/SVGImage.h        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx">     FrameView* frameView() const;
</span><span class="cx"> 
</span><span class="cx">     virtual bool isSVGImage() const override { return true; }
</span><del>-    virtual IntSize size() const override { return m_intrinsicSize; }
</del><ins>+    virtual FloatSize size() const override { return m_intrinsicSize; }
</ins><span class="cx"> 
</span><span class="cx">     void setURL(const URL&amp; url) { m_url = url; }
</span><span class="cx"> 
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx"> 
</span><span class="cx">     virtual String filenameExtension() const override;
</span><span class="cx"> 
</span><del>-    virtual void setContainerSize(const IntSize&amp;) override;
</del><ins>+    virtual void setContainerSize(const FloatSize&amp;) override;
</ins><span class="cx">     IntSize containerSize() const;
</span><span class="cx">     virtual bool usesContainerSize() const override { return true; }
</span><span class="cx">     virtual void computeIntrinsicDimensions(Length&amp; intrinsicWidth, Length&amp; intrinsicHeight, FloatSize&amp; intrinsicRatio) override;
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx"> 
</span><span class="cx">     std::unique_ptr&lt;SVGImageChromeClient&gt; m_chromeClient;
</span><span class="cx">     std::unique_ptr&lt;Page&gt; m_page;
</span><del>-    IntSize m_intrinsicSize;
</del><ins>+    FloatSize m_intrinsicSize;
</ins><span class="cx">     URL m_url;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvggraphicsSVGImageCachecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/graphics/SVGImageCache.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/graphics/SVGImageCache.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/svg/graphics/SVGImageCache.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -62,9 +62,9 @@
</span><span class="cx">     m_imageForContainerMap.set(client, SVGImageForContainer::create(m_svgImage, containerSizeWithoutZoom, containerZoom));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntSize SVGImageCache::imageSizeForRenderer(const RenderObject* renderer) const
</del><ins>+FloatSize SVGImageCache::imageSizeForRenderer(const RenderObject* renderer) const
</ins><span class="cx"> {
</span><del>-    IntSize imageSize = m_svgImage-&gt;size();
</del><ins>+    FloatSize imageSize = m_svgImage-&gt;size();
</ins><span class="cx">     if (!renderer)
</span><span class="cx">         return imageSize;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvggraphicsSVGImageCacheh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/graphics/SVGImageCache.h (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/graphics/SVGImageCache.h        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/svg/graphics/SVGImageCache.h        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx">     void removeClientFromCache(const CachedImageClient*);
</span><span class="cx"> 
</span><span class="cx">     void setContainerSizeForRenderer(const CachedImageClient*, const IntSize&amp;, float);
</span><del>-    IntSize imageSizeForRenderer(const RenderObject*) const;
</del><ins>+    FloatSize imageSizeForRenderer(const RenderObject*) const;
</ins><span class="cx"> 
</span><span class="cx">     Image* imageForRenderer(const RenderObject*);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvggraphicsSVGImageForContainercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/graphics/SVGImageForContainer.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/graphics/SVGImageForContainer.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/svg/graphics/SVGImageForContainer.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -28,11 +28,11 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-IntSize SVGImageForContainer::size() const
</del><ins>+FloatSize SVGImageForContainer::size() const
</ins><span class="cx"> {
</span><span class="cx">     FloatSize scaledContainerSize(m_containerSize);
</span><span class="cx">     scaledContainerSize.scale(m_zoom);
</span><del>-    return roundedIntSize(scaledContainerSize);
</del><ins>+    return FloatSize(roundedIntSize(scaledContainerSize));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void SVGImageForContainer::draw(GraphicsContext* context, const FloatRect&amp; dstRect,
</span></span></pre></div>
<a id="trunkSourceWebCoresvggraphicsSVGImageForContainerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/graphics/SVGImageForContainer.h (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/graphics/SVGImageForContainer.h        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/svg/graphics/SVGImageForContainer.h        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx"> 
</span><span class="cx">     virtual bool isSVGImage() const override { return true; }
</span><span class="cx"> 
</span><del>-    virtual IntSize size() const override;
</del><ins>+    virtual FloatSize size() const override;
</ins><span class="cx"> 
</span><span class="cx">     void setURL(const URL&amp; url) { m_image-&gt;setURL(url); }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvggraphicsfiltersSVGFEImagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/graphics/filters/SVGFEImage.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/graphics/filters/SVGFEImage.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/svg/graphics/filters/SVGFEImage.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -150,7 +150,7 @@
</span><span class="cx"> 
</span><span class="cx"> TextStream&amp; FEImage::externalRepresentation(TextStream&amp; ts, int indent) const
</span><span class="cx"> {
</span><del>-    IntSize imageSize;
</del><ins>+    FloatSize imageSize;
</ins><span class="cx">     if (m_image)
</span><span class="cx">         imageSize = m_image-&gt;size();
</span><span class="cx">     else if (RenderObject* renderer = referencedRenderer())
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebCore/testing/Internals.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -2015,7 +2015,7 @@
</span><span class="cx">     result.append(&quot;,&quot;);
</span><span class="cx">     result.appendNumber(cursor.hotSpot().y());
</span><span class="cx">     if (cursor.image()) {
</span><del>-        IntSize size = cursor.image()-&gt;size();
</del><ins>+        FloatSize size = cursor.image()-&gt;size();
</ins><span class="cx">         result.append(&quot; image=&quot;);
</span><span class="cx">         result.appendNumber(size.width());
</span><span class="cx">         result.append(&quot;x&quot;);
</span></span></pre></div>
<a id="trunkSourceWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ChangeLog (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ChangeLog        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebKit/ChangeLog        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2014-04-01  Zalan Bujtas  &lt;zalan@apple.com&gt;
+
+        Subpixel rendering: Transition class Image (and its dependencies) from int to float to enable subpixel positioned/sized images.
+        https://bugs.webkit.org/show_bug.cgi?id=130643
+
+        Reviewed by Simon Fraser.
+
+        This is in preparation to support subpixel positioned/sized background images. While 1x bitmap images can't take
+        subpixel sizing on hidpi resolutions, both generated and hidpi images can.
+        This patch does not change Image behavior in general as both position and size are still snapped to integral values.  
+
+        No change in behavior.
+
+        * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
+
</ins><span class="cx"> 2014-03-31  Andreas Kling  &lt;akling@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Blind Windows build fix. Check my mangle-fu.
</span></span></pre></div>
<a id="trunkSourceWebKitWebKitvcxprojWebKitExportGeneratorWebKitExportsdefin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -372,7 +372,7 @@
</span><span class="cx">         symbolWithPointer(?currentFrameKnownToBeOpaque@BitmapImage@WebCore@@UAE_NXZ, ?currentFrameKnownToBeOpaque@BitmapImage@WebCore@@UEAA_NXZ)
</span><span class="cx">         symbolWithPointer(?hasSingleSecurityOrigin@BitmapImage@WebCore@@UBE_NXZ, ?hasSingleSecurityOrigin@BitmapImage@WebCore@@UEBA_NXZ)
</span><span class="cx">         symbolWithPointer(?computeIntrinsicDimensions@Image@WebCore@@UAEXAAULength@2@0AAVFloatSize@2@@Z, ?computeIntrinsicDimensions@Image@WebCore@@UEAAXAEAULength@2@0AEAVFloatSize@2@@Z)
</span><del>-        symbolWithPointer(?size@BitmapImage@WebCore@@UBE?AVIntSize@2@XZ, ?size@BitmapImage@WebCore@@UEBA?AVIntSize@2@XZ)
</del><ins>+        symbolWithPointer(?size@BitmapImage@WebCore@@UBE?AVFloatSize@2@XZ, ?size@BitmapImage@WebCore@@UEBA?AVFloatSize@2@XZ)
</ins><span class="cx">         symbolWithPointer(?getHotSpot@BitmapImage@WebCore@@UBE_NAAVIntPoint@2@@Z, ?getHotSpot@BitmapImage@WebCore@@UEBA_NAEAVIntPoint@2@@Z)
</span><span class="cx">         symbolWithPointer(?dataChanged@BitmapImage@WebCore@@UAE_N_N@Z, ?dataChanged@BitmapImage@WebCore@@UEAA_N_N@Z)
</span><span class="cx">         symbolWithPointer(?filenameExtension@BitmapImage@WebCore@@UBE?AVString@WTF@@XZ, ?filenameExtension@BitmapImage@WebCore@@UEBA?AVString@WTF@@XZ)
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebKit2/ChangeLog        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -1,3 +1,21 @@
</span><ins>+2014-04-01  Zalan Bujtas  &lt;zalan@apple.com&gt;
+
+        Subpixel rendering: Transition class Image (and its dependencies) from int to float to enable subpixel positioned/sized images.
+        https://bugs.webkit.org/show_bug.cgi?id=130643
+
+        Reviewed by Simon Fraser.
+
+        This is in preparation to support subpixel positioned/sized background images. While 1x bitmap images can't take
+        subpixel sizing on hidpi resolutions, both generated and hidpi images can.
+        This patch does not change Image behavior in general as both position and size are still snapped to integral values.  
+
+        No change in behavior.
+
+        * Shared/WebCoreArgumentCoders.cpp:
+        (IPC::encodeImage):
+        * UIProcess/API/efl/EwkView.cpp:
+        (EwkView::updateCursor):
+
</ins><span class="cx"> 2014-04-01  Joonghun Park  &lt;jh718.park@samsung.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [EFL][WK2] Fix and update the existing test case for ewk_database_manager_origins_async_get API
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedWebCoreArgumentCoderscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -491,7 +491,7 @@
</span><span class="cx"> 
</span><span class="cx"> static void encodeImage(ArgumentEncoder&amp; encoder, Image* image)
</span><span class="cx"> {
</span><del>-    RefPtr&lt;ShareableBitmap&gt; bitmap = ShareableBitmap::createShareable(image-&gt;size(), ShareableBitmap::SupportsAlpha);
</del><ins>+    RefPtr&lt;ShareableBitmap&gt; bitmap = ShareableBitmap::createShareable(IntSize(image-&gt;size()), ShareableBitmap::SupportsAlpha);
</ins><span class="cx">     bitmap-&gt;createGraphicsContext()-&gt;drawImage(image, ColorSpaceDeviceRGB, IntPoint());
</span><span class="cx"> 
</span><span class="cx">     ShareableBitmap::Handle handle;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPIeflEwkViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/efl/EwkView.cpp (166581 => 166582)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/efl/EwkView.cpp        2014-04-01 13:45:58 UTC (rev 166581)
+++ trunk/Source/WebKit2/UIProcess/API/efl/EwkView.cpp        2014-04-01 14:17:58 UTC (rev 166582)
</span><span class="lines">@@ -430,7 +430,7 @@
</span><span class="cx">         if (!cursorObject)
</span><span class="cx">             return;
</span><span class="cx"> 
</span><del>-        IntSize cursorSize = cursorImage-&gt;size();
</del><ins>+        IntSize cursorSize = IntSize(cursorImage-&gt;size());
</ins><span class="cx">         // Resize cursor.
</span><span class="cx">         evas_object_resize(cursorObject.get(), cursorSize.width(), cursorSize.height());
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>