<!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>[185395] 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/185395">185395</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2015-06-09 17:45:58 -0700 (Tue, 09 Jun 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>SVG Fragment is not rendered if it is the css background image of an HTML element
https://bugs.webkit.org/show_bug.cgi?id=91790

Patch by Said Abou-Hallawa &lt;sabouhallawa@apple.com&gt; on 2015-06-09
Reviewed by Darin Adler.

Source/WebCore:

To show an SVG fragment, the SVGImage has to scrollToFragment() using
the resource url. The changes http://trac.webkit.org/changeset/164804
and http://trac.webkit.org/changeset/164983 set the url of SVGImage to
to be used later in SVGImage::draw(). The problem is the SVGImage url
is only set when it is the src of an &lt;img&gt; tag. We did not do the same
thing when the SVGImage is the css background image of an HTML element.

The fix is to set the url of the SVGImage always when it's created by
the CachedImage. The CachedImage must have a valid url when the SVGImage
is created.

Test: svg/css/svg-resource-fragment-identifier-background.html

* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::load):
(WebCore::CachedImage::checkShouldPaintBrokenImage):
Replace the calls resourceRequest().url() and m_resourceRequest.url() by
calling url() since they are all the same.

(WebCore::CachedImage::createImage): Pass the resource url to SVGImage
and change ImageObserver&amp; by ImageObserver*, since null is not legal.

* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::SVGImage):
* svg/graphics/SVGImage.h: Add a url parameter to SVGImage constructor.

* svg/graphics/SVGImageCache.cpp:
(WebCore::SVGImageCache::findImageForRenderer): Add a new helper function.

(WebCore::SVGImageCache::imageSizeForRenderer):
(WebCore::SVGImageCache::imageForRenderer): Code clean up.

* svg/graphics/SVGImageCache.h: Make imageForRenderer() const.

* svg/graphics/SVGImageForContainer.cpp: Remove unneeded header file.

LayoutTests:

* svg/css/svg-resource-fragment-identifier-background-expected.html: Added.
* svg/css/svg-resource-fragment-identifier-background.html: Added.
Ensure that the SVG fragment is displayed correctly when it's used as a
css background image.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedImagecpp">trunk/Source/WebCore/loader/cache/CachedImage.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>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestssvgcsssvgresourcefragmentidentifierbackgroundexpectedhtml">trunk/LayoutTests/svg/css/svg-resource-fragment-identifier-background-expected.html</a></li>
<li><a href="#trunkLayoutTestssvgcsssvgresourcefragmentidentifierbackgroundhtml">trunk/LayoutTests/svg/css/svg-resource-fragment-identifier-background.html</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (185394 => 185395)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2015-06-10 00:43:05 UTC (rev 185394)
+++ trunk/LayoutTests/ChangeLog        2015-06-10 00:45:58 UTC (rev 185395)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2015-06-09  Said Abou-Hallawa  &lt;sabouhallawa@apple.com&gt;
+
+        SVG Fragment is not rendered if it is the css background image of an HTML element
+        https://bugs.webkit.org/show_bug.cgi?id=91790
+
+        Reviewed by Darin Adler.
+
+        * svg/css/svg-resource-fragment-identifier-background-expected.html: Added.
+        * svg/css/svg-resource-fragment-identifier-background.html: Added.
+        Ensure that the SVG fragment is displayed correctly when it's used as a
+        css background image.
+
</ins><span class="cx"> 2015-06-09  Darin Adler  &lt;darin@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Takes two delete key presses to delete pasted emoji up-pointing index finger with skin tone
</span></span></pre></div>
<a id="trunkLayoutTestssvgcsssvgresourcefragmentidentifierbackgroundexpectedhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/svg/css/svg-resource-fragment-identifier-background-expected.html (0 => 185395)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/css/svg-resource-fragment-identifier-background-expected.html                                (rev 0)
+++ trunk/LayoutTests/svg/css/svg-resource-fragment-identifier-background-expected.html        2015-06-10 00:45:58 UTC (rev 185395)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+&lt;html&gt;
+&lt;head&gt;
+&lt;style&gt;
+  div {
+    width: 100px;
+    height: 100px;
+    margin: 10px;
+    display: inline-block;
+  }
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+  &lt;div style=&quot;background-color: red&quot;&gt;&lt;/div&gt;
+  &lt;div style=&quot;background-color: green&quot;&gt;&lt;/div&gt;
+  &lt;div style=&quot;background-color: blue&quot;&gt;&lt;/div&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestssvgcsssvgresourcefragmentidentifierbackgroundhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/svg/css/svg-resource-fragment-identifier-background.html (0 => 185395)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/css/svg-resource-fragment-identifier-background.html                                (rev 0)
+++ trunk/LayoutTests/svg/css/svg-resource-fragment-identifier-background.html        2015-06-10 00:45:58 UTC (rev 185395)
</span><span class="lines">@@ -0,0 +1,19 @@
</span><ins>+&lt;html&gt;
+&lt;head&gt;
+&lt;style&gt;
+  button {
+    width:  100px;
+    height: 100px;
+    border: 0;
+    margin: 10px;
+  }
+  button.icon-red { background: url('resources/fragment-identifiers.svg#red'); }
+  button.icon-green { background: url('resources/fragment-identifiers.svg#green'); }
+  button.icon-blue { background: url('resources/fragment-identifiers.svg#blue'); }
+&lt;/style&gt;
+&lt;body&gt;
+  &lt;button class=&quot;icon-red&quot;&gt;&lt;/button&gt;
+  &lt;button class=&quot;icon-green&quot;&gt;&lt;/button&gt;
+  &lt;button class=&quot;icon-blue&quot;&gt;&lt;/button&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (185394 => 185395)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-06-10 00:43:05 UTC (rev 185394)
+++ trunk/Source/WebCore/ChangeLog        2015-06-10 00:45:58 UTC (rev 185395)
</span><span class="lines">@@ -1,3 +1,46 @@
</span><ins>+2015-06-09  Said Abou-Hallawa  &lt;sabouhallawa@apple.com&gt;
+
+        SVG Fragment is not rendered if it is the css background image of an HTML element
+        https://bugs.webkit.org/show_bug.cgi?id=91790
+
+        Reviewed by Darin Adler.
+
+        To show an SVG fragment, the SVGImage has to scrollToFragment() using
+        the resource url. The changes http://trac.webkit.org/changeset/164804
+        and http://trac.webkit.org/changeset/164983 set the url of SVGImage to
+        to be used later in SVGImage::draw(). The problem is the SVGImage url
+        is only set when it is the src of an &lt;img&gt; tag. We did not do the same
+        thing when the SVGImage is the css background image of an HTML element.
+        
+        The fix is to set the url of the SVGImage always when it's created by 
+        the CachedImage. The CachedImage must have a valid url when the SVGImage
+        is created.
+
+        Test: svg/css/svg-resource-fragment-identifier-background.html
+
+        * loader/cache/CachedImage.cpp:
+        (WebCore::CachedImage::load):
+        (WebCore::CachedImage::checkShouldPaintBrokenImage):
+        Replace the calls resourceRequest().url() and m_resourceRequest.url() by
+        calling url() since they are all the same.
+        
+        (WebCore::CachedImage::createImage): Pass the resource url to SVGImage
+        and change ImageObserver&amp; by ImageObserver*, since null is not legal.
+        
+        * svg/graphics/SVGImage.cpp:
+        (WebCore::SVGImage::SVGImage):
+        * svg/graphics/SVGImage.h: Add a url parameter to SVGImage constructor.
+        
+        * svg/graphics/SVGImageCache.cpp:
+        (WebCore::SVGImageCache::findImageForRenderer): Add a new helper function.
+        
+        (WebCore::SVGImageCache::imageSizeForRenderer):
+        (WebCore::SVGImageCache::imageForRenderer): Code clean up.
+        
+        * svg/graphics/SVGImageCache.h: Make imageForRenderer() const.
+
+        * svg/graphics/SVGImageForContainer.cpp: Remove unneeded header file.
+
</ins><span class="cx"> 2015-06-09  Matt Rajca  &lt;mrajca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Add support for toggling playback in MediaSessions and MediaSessionManagers.
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedImagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedImage.cpp (185394 => 185395)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedImage.cpp        2015-06-10 00:43:05 UTC (rev 185394)
+++ trunk/Source/WebCore/loader/cache/CachedImage.cpp        2015-06-10 00:45:58 UTC (rev 185395)
</span><span class="lines">@@ -109,7 +109,7 @@
</span><span class="cx"> 
</span><span class="cx"> void CachedImage::load(CachedResourceLoader&amp; cachedResourceLoader, const ResourceLoaderOptions&amp; options)
</span><span class="cx"> {
</span><del>-    if (cachedResourceLoader.shouldPerformImageLoad(resourceRequest().url()))
</del><ins>+    if (cachedResourceLoader.shouldPerformImageLoad(url()))
</ins><span class="cx">         CachedResource::load(cachedResourceLoader, options);
</span><span class="cx">     else
</span><span class="cx">         setLoading(false);
</span><span class="lines">@@ -320,7 +320,7 @@
</span><span class="cx">     if (!m_loader || m_loader-&gt;reachedTerminalState())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_shouldPaintBrokenImage = m_loader-&gt;frameLoader()-&gt;client().shouldPaintBrokenImage(m_resourceRequest.url());
</del><ins>+    m_shouldPaintBrokenImage = m_loader-&gt;frameLoader()-&gt;client().shouldPaintBrokenImage(url());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void CachedImage::clear()
</span><span class="lines">@@ -342,7 +342,7 @@
</span><span class="cx">         m_image = PDFDocumentImage::create(this);
</span><span class="cx"> #endif
</span><span class="cx">     else if (m_response.mimeType() == &quot;image/svg+xml&quot;) {
</span><del>-        RefPtr&lt;SVGImage&gt; svgImage = SVGImage::create(this);
</del><ins>+        RefPtr&lt;SVGImage&gt; svgImage = SVGImage::create(*this, url());
</ins><span class="cx">         m_svgImageCache = std::make_unique&lt;SVGImageCache&gt;(svgImage.get());
</span><span class="cx">         m_image = svgImage.release();
</span><span class="cx">     } else {
</span></span></pre></div>
<a id="trunkSourceWebCoresvggraphicsSVGImagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/graphics/SVGImage.cpp (185394 => 185395)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/graphics/SVGImage.cpp        2015-06-10 00:43:05 UTC (rev 185394)
+++ trunk/Source/WebCore/svg/graphics/SVGImage.cpp        2015-06-10 00:45:58 UTC (rev 185395)
</span><span class="lines">@@ -48,8 +48,9 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-SVGImage::SVGImage(ImageObserver* observer)
-    : Image(observer)
</del><ins>+SVGImage::SVGImage(ImageObserver&amp; observer, const URL&amp; url)
+    : Image(&amp;observer)
+    , m_url(url)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvggraphicsSVGImageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/graphics/SVGImage.h (185394 => 185395)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/graphics/SVGImage.h        2015-06-10 00:43:05 UTC (rev 185394)
+++ trunk/Source/WebCore/svg/graphics/SVGImage.h        2015-06-10 00:45:58 UTC (rev 185395)
</span><span class="lines">@@ -45,9 +45,9 @@
</span><span class="cx"> 
</span><span class="cx"> class SVGImage final : public Image {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;SVGImage&gt; create(ImageObserver* observer)
</del><ins>+    static Ref&lt;SVGImage&gt; create(ImageObserver&amp; observer, const URL&amp; url)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new SVGImage(observer));
</del><ins>+        return adoptRef(*new SVGImage(observer, url));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     RenderBox* embeddedContentBox() const;
</span><span class="lines">@@ -93,7 +93,7 @@
</span><span class="cx">     // FIXME: Implement this to be less conservative.
</span><span class="cx">     virtual bool currentFrameKnownToBeOpaque() override { return false; }
</span><span class="cx"> 
</span><del>-    SVGImage(ImageObserver*);
</del><ins>+    SVGImage(ImageObserver&amp;, const URL&amp;);
</ins><span class="cx">     virtual void draw(GraphicsContext*, const FloatRect&amp; fromRect, const FloatRect&amp; toRect, ColorSpace styleColorSpace, CompositeOperator, BlendMode, ImageOrientationDescription) override;
</span><span class="cx">     void drawForContainer(GraphicsContext*, const FloatSize, float, const FloatRect&amp;, const FloatRect&amp;, ColorSpace, CompositeOperator, BlendMode);
</span><span class="cx">     void drawPatternForContainer(GraphicsContext*, const FloatSize, float, const FloatRect&amp;, const AffineTransform&amp;, const FloatPoint&amp;, ColorSpace,
</span></span></pre></div>
<a id="trunkSourceWebCoresvggraphicsSVGImageCachecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/graphics/SVGImageCache.cpp (185394 => 185395)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/graphics/SVGImageCache.cpp        2015-06-10 00:43:05 UTC (rev 185394)
+++ trunk/Source/WebCore/svg/graphics/SVGImageCache.cpp        2015-06-10 00:45:58 UTC (rev 185395)
</span><span class="lines">@@ -23,7 +23,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;FrameView.h&quot;
</span><span class="cx"> #include &quot;GraphicsContext.h&quot;
</span><del>-#include &quot;HTMLImageElement.h&quot;
</del><span class="cx"> #include &quot;ImageBuffer.h&quot;
</span><span class="cx"> #include &quot;LayoutSize.h&quot;
</span><span class="cx"> #include &quot;Page.h&quot;
</span><span class="lines">@@ -63,43 +62,26 @@
</span><span class="cx">     m_imageForContainerMap.set(client, SVGImageForContainer::create(m_svgImage, containerSizeWithoutZoom, containerZoom));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-FloatSize SVGImageCache::imageSizeForRenderer(const RenderObject* renderer) const
</del><ins>+Image* SVGImageCache::findImageForRenderer(const RenderObject* renderer) const
</ins><span class="cx"> {
</span><del>-    FloatSize imageSize = m_svgImage-&gt;size();
-    if (!renderer)
-        return imageSize;
</del><ins>+    return renderer ? m_imageForContainerMap.get(renderer) : nullptr;
+}
</ins><span class="cx"> 
</span><del>-    ImageForContainerMap::const_iterator it = m_imageForContainerMap.find(renderer);
-    if (it == m_imageForContainerMap.end())
-        return imageSize;
-
-    RefPtr&lt;SVGImageForContainer&gt; imageForContainer = it-&gt;value;
-    ASSERT(!imageForContainer-&gt;size().isEmpty());
-    return imageForContainer-&gt;size();
</del><ins>+FloatSize SVGImageCache::imageSizeForRenderer(const RenderObject* renderer) const
+{
+    auto* image = findImageForRenderer(renderer);
+    return image ? image-&gt;size() : m_svgImage-&gt;size();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // FIXME: This doesn't take into account the animation timeline so animations will not
</span><span class="cx"> // restart on page load, nor will two animations in different pages have different timelines.
</span><del>-Image* SVGImageCache::imageForRenderer(const RenderObject* renderer)
</del><ins>+Image* SVGImageCache::imageForRenderer(const RenderObject* renderer) const
</ins><span class="cx"> {
</span><del>-    if (!renderer)
</del><ins>+    auto* image = findImageForRenderer(renderer);
+    if (!image)
</ins><span class="cx">         return Image::nullImage();
</span><del>-
-    ImageForContainerMap::iterator it = m_imageForContainerMap.find(renderer);
-    if (it == m_imageForContainerMap.end())
-        return Image::nullImage();
-
-    RefPtr&lt;SVGImageForContainer&gt; imageForContainer = it-&gt;value;
-    
-    Node* node = renderer-&gt;node();
-    if (is&lt;HTMLImageElement&gt;(node)) {
-        const AtomicString&amp; urlString = downcast&lt;HTMLImageElement&gt;(*node).imageSourceURL();
-        URL url = node-&gt;document().completeURL(urlString);
-        imageForContainer-&gt;setURL(url);
-    }
-        
-    ASSERT(!imageForContainer-&gt;size().isEmpty());
-    return imageForContainer.get();
</del><ins>+    ASSERT(!image-&gt;size().isEmpty());
+    return image;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoresvggraphicsSVGImageCacheh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/graphics/SVGImageCache.h (185394 => 185395)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/graphics/SVGImageCache.h        2015-06-10 00:43:05 UTC (rev 185394)
+++ trunk/Source/WebCore/svg/graphics/SVGImageCache.h        2015-06-10 00:45:58 UTC (rev 185395)
</span><span class="lines">@@ -47,9 +47,11 @@
</span><span class="cx">     void setContainerSizeForRenderer(const CachedImageClient*, const LayoutSize&amp;, float);
</span><span class="cx">     FloatSize imageSizeForRenderer(const RenderObject*) const;
</span><span class="cx"> 
</span><del>-    Image* imageForRenderer(const RenderObject*);
</del><ins>+    Image* imageForRenderer(const RenderObject*) const;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><ins>+    Image* findImageForRenderer(const RenderObject*) const;
+
</ins><span class="cx">     typedef HashMap&lt;const CachedImageClient*, RefPtr&lt;SVGImageForContainer&gt;&gt; ImageForContainerMap;
</span><span class="cx"> 
</span><span class="cx">     SVGImage* m_svgImage;
</span></span></pre></div>
<a id="trunkSourceWebCoresvggraphicsSVGImageForContainercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/graphics/SVGImageForContainer.cpp (185394 => 185395)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/graphics/SVGImageForContainer.cpp        2015-06-10 00:43:05 UTC (rev 185394)
+++ trunk/Source/WebCore/svg/graphics/SVGImageForContainer.cpp        2015-06-10 00:45:58 UTC (rev 185395)
</span><span class="lines">@@ -23,7 +23,6 @@
</span><span class="cx"> #include &quot;AffineTransform.h&quot;
</span><span class="cx"> #include &quot;FloatRect.h&quot;
</span><span class="cx"> #include &quot;FloatSize.h&quot;
</span><del>-#include &quot;FrameView.h&quot;
</del><span class="cx"> #include &quot;Image.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span></span></pre>
</div>
</div>

</body>
</html>