Reviewed by Mitz.
authorap <ap@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 21 Mar 2007 19:06:02 +0000 (19:06 +0000)
committerap <ap@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 21 Mar 2007 19:06:02 +0000 (19:06 +0000)
        http://bugs.webkit.org/show_bug.cgi?id=13140
        Crash after loading SVG fragment with XMLHttpRequest (Yosemite Map Geology Layer)

        Test: svg/carto.net/frameless-svg-parse-error.html

        * ksvg2/misc/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::reportError): Added a null check.
        (WebCore::SVGDocumentExtensions::reportWarning): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20363 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/svg/carto.net/frameless-svg-parse-error-expected.txt [new file with mode: 0644]
LayoutTests/svg/carto.net/frameless-svg-parse-error.html [new file with mode: 0644]
WebCore/ChangeLog
WebCore/ksvg2/misc/SVGDocumentExtensions.cpp

index b5ef0f93c111faeb208502a950e216583c00ae6f..7cd19dd71f97eba8032e79541537fe66a222783b 100644 (file)
@@ -1,3 +1,13 @@
+2007-03-21  Alexey Proskuryakov  <ap@webkit.org>
+
+        Reviewed by Mitz.
+
+        http://bugs.webkit.org/show_bug.cgi?id=13140
+        Crash after loading SVG fragment with XMLHttpRequest (Yosemite Map Geology Layer)
+
+        * svg/carto.net/frameless-svg-parse-error-expected.txt: Added.
+        * svg/carto.net/frameless-svg-parse-error.html: Added.
+
 2007-03-20  Justin Garcia  <justin.garcia@apple.com>
 
         Reviewed by darin
diff --git a/LayoutTests/svg/carto.net/frameless-svg-parse-error-expected.txt b/LayoutTests/svg/carto.net/frameless-svg-parse-error-expected.txt
new file mode 100644 (file)
index 0000000..2e3b23c
--- /dev/null
@@ -0,0 +1,5 @@
+Test for bug 13140: Crash after loading SVG fragment with XMLHttpRequest (Yosemite Map Geology Layer).
+
+PASS == did not crash.
+
+
diff --git a/LayoutTests/svg/carto.net/frameless-svg-parse-error.html b/LayoutTests/svg/carto.net/frameless-svg-parse-error.html
new file mode 100644 (file)
index 0000000..73b9429
--- /dev/null
@@ -0,0 +1,11 @@
+<body>
+<p>Test for <a href="http://bugs.webkit.org/show_bug.cgi?id=13140">bug 13140</a>:
+Crash after loading SVG fragment with XMLHttpRequest (Yosemite Map Geology Layer).</p>
+<p>PASS == did not crash.</p>
+<script>
+   if (window.layoutTestController)
+       layoutTestController.dumpAsText();
+
+   svg = (new DOMParser).parseFromString('<g xmlns="http://www.w3.org/2000/svg"><g><path d="" /></g></g>', 'image/svg+xml');
+</script>
+</body>
index b1eb1d09daffbcbe7bfcad3f46774d27f46fac5a..c8efa26bf6eb7728d42389ba23340b3e492222ff 100644 (file)
@@ -1,3 +1,16 @@
+2007-03-21  Alexey Proskuryakov  <ap@webkit.org>
+
+        Reviewed by Mitz.
+
+        http://bugs.webkit.org/show_bug.cgi?id=13140
+        Crash after loading SVG fragment with XMLHttpRequest (Yosemite Map Geology Layer)
+
+        Test: svg/carto.net/frameless-svg-parse-error.html
+
+        * ksvg2/misc/SVGDocumentExtensions.cpp:
+        (WebCore::SVGDocumentExtensions::reportError): Added a null check.
+        (WebCore::SVGDocumentExtensions::reportWarning): Ditto.
+
 2007-03-21  Beth Dakin  <bdakin@apple.com>
 
         Reviewed by Geoff.
index 99f683fcd5454f74d63d9879750c17e13f641624..8b6dead973cd7b28f94d4fb5900baa635ae4652b 100644 (file)
@@ -95,14 +95,16 @@ void SVGDocumentExtensions::unpauseAnimations()
 
 void SVGDocumentExtensions::reportWarning(const String& message)
 {
-    if (Page* page = m_doc->frame()->page())
-        page->chrome()->addMessageToConsole("Warning: " + message, m_doc->tokenizer() ? m_doc->tokenizer()->lineNumber() : 1, String());
+    if (Frame* frame = m_doc->frame())
+        if (Page* page = frame->page())
+            page->chrome()->addMessageToConsole("Warning: " + message, m_doc->tokenizer() ? m_doc->tokenizer()->lineNumber() : 1, String());
 }
 
 void SVGDocumentExtensions::reportError(const String& message)
 {
-    if (Page* page = m_doc->frame()->page())
-        page->chrome()->addMessageToConsole("Error: " + message, m_doc->tokenizer() ? m_doc->tokenizer()->lineNumber() : 1, String());
+    if (Frame* frame = m_doc->frame())
+        if (Page* page = frame->page())
+            page->chrome()->addMessageToConsole("Error: " + message, m_doc->tokenizer() ? m_doc->tokenizer()->lineNumber() : 1, String());
 }
 
 void SVGDocumentExtensions::addPendingResource(const AtomicString& id, SVGStyledElement* obj)