Title: [132295] trunk/Source/WebCore
Revision
132295
Author
p...@google.com
Date
2012-10-23 20:21:10 -0700 (Tue, 23 Oct 2012)

Log Message

Add extra check for data() in PageSerializer.
https://bugs.webkit.org/show_bug.cgi?id=99102

Reviewed by Eric Seidel.

The image returned from imageForRenderer() does not contain the raw SVG data
so this patch adds a check for image->image()->data() before writing SVG
in PageSerializer::addImageToResources.

Covered by existing test WebPageNewSerializeTest.SVGImageDontCrash.

* page/PageSerializer.cpp:
(WebCore::PageSerializer::addImageToResources):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (132294 => 132295)


--- trunk/Source/WebCore/ChangeLog	2012-10-24 02:53:12 UTC (rev 132294)
+++ trunk/Source/WebCore/ChangeLog	2012-10-24 03:21:10 UTC (rev 132295)
@@ -1,3 +1,19 @@
+2012-10-23  Philip Rogers  <p...@google.com>
+
+        Add extra check for data() in PageSerializer.
+        https://bugs.webkit.org/show_bug.cgi?id=99102
+
+        Reviewed by Eric Seidel.
+
+        The image returned from imageForRenderer() does not contain the raw SVG data
+        so this patch adds a check for image->image()->data() before writing SVG
+        in PageSerializer::addImageToResources.
+
+        Covered by existing test WebPageNewSerializeTest.SVGImageDontCrash.
+
+        * page/PageSerializer.cpp:
+        (WebCore::PageSerializer::addImageToResources):
+
 2012-10-23  Kent Tamura  <tk...@chromium.org>
 
         Move appendAsLDMLLiteral in LocaleWin.cpp to a common place

Modified: trunk/Source/WebCore/page/PageSerializer.cpp (132294 => 132295)


--- trunk/Source/WebCore/page/PageSerializer.cpp	2012-10-24 02:53:12 UTC (rev 132294)
+++ trunk/Source/WebCore/page/PageSerializer.cpp	2012-10-24 03:21:10 UTC (rev 132295)
@@ -298,12 +298,15 @@
     if (!image || image->image() == Image::nullImage())
         return;
 
-    RefPtr<SharedBuffer> data = "" ? image->imageForRenderer(imageRenderer)->data() : image->image()->data();
+    RefPtr<SharedBuffer> data = "" ? image->imageForRenderer(imageRenderer)->data() : 0;
+    if (!data)
+        data = ""
+
     if (!data) {
-        // SVG images don't return data at this point. Bug 99102.
         LOG_ERROR("No data for image %s", url.string().utf8().data());
         return;
     }
+
     String mimeType = image->response().mimeType();
     m_resources->append(Resource(url, mimeType, data));
     m_resourceURLs.add(url);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to